@rubytech/create-maxy 1.0.433 → 1.0.434

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy",
3
- "version": "1.0.433",
3
+ "version": "1.0.434",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy": "./dist/index.js"
@@ -349,4 +349,4 @@ ${JSON.stringify(u.input,null,2)}`,f=de.get(i),p=o?void 0:f??e;return(0,L.jsx)(Z
349
349
 
350
350
  ---
351
351
 
352
- `)}function nT(e){let{selectionMode:t,selectedItems:n,copyToast:r,exitSelection:a,enterSelection:s,copySelected:l,showCopyToast:u,input:d,setInput:f,inputRef:p,pendingFiles:m,setPendingFiles:h,isDragOver:g,attachError:v,fileInputRef:y,addFiles:b,removeFile:x,onDragOver:w,onDragLeave:T,onDrop:O,isStreaming:k,wasPaused:A,messages:ee,messageQueueRef:te,setQueue:ne,sendMessage:re,stopStreaming:ie,disconnecting:ae,handleDisconnect:oe,claudeInfo:se,setClaudeInfo:ce,setShowClaudeInfo:le}=e,[M,ue]=(0,I.useState)(!1),N=(0,I.useRef)(null),[de,P]=(0,I.useState)(!1),F=(0,I.useRef)(null),fe=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{t||P(!1)},[t]),(0,I.useEffect)(()=>{if(!de)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||P(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[de]),(0,I.useEffect)(()=>{if(!M)return;let e=e=>{if(e.key===`Escape`){ue(!1);return}if(e.key===`Tab`&&N.current){let t=N.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{N.current&&!N.current.contains(e.target)&&ue(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[M]),t?(0,L.jsx)(`div`,{className:`chat-input-area`,children:(0,L.jsxs)(`div`,{className:`selection-bar`,children:[(0,L.jsxs)(`span`,{className:`selection-count`,children:[n.size,` Selected`]}),(0,L.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(de){P(!1);return}fe.current=!1,F.current=setTimeout(()=>{fe.current=!0,P(!0),F.current=null},500)},onPointerUp:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerLeave:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerCancel:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onClick:async()=>{fe.current||await l(e=>eT(ee,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,L.jsx)(i,{size:18}),(0,L.jsx)(`span`,{children:`Copy`})]}),de&&(0,L.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,L.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=tT(ee,e);t&&u(await o(t)),a()},children:t},e))})]}),(0,L.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:a,children:`Cancel`})]})}):(0,L.jsxs)(`div`,{className:`chat-input-area`,children:[(0,L.jsx)(`input`,{ref:y,type:`file`,multiple:!0,accept:$e,style:{display:`none`},onChange:e=>{e.target.files&&b([...e.target.files]),e.target.value=``}}),m.length>0&&(0,L.jsx)(`div`,{className:`attachment-strip`,children:m.map((e,t)=>(0,L.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,L.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,L.jsx)(c,{size:14}):(0,L.jsx)(E,{size:14}),(0,L.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,L.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>x(t),"aria-label":`Remove ${e.name}`,children:`×`})]},t))}),v&&(0,L.jsx)(`p`,{className:`attach-error`,children:v}),(0,L.jsx)(_,{inputRef:p}),(0,L.jsxs)(`form`,{className:`chat-form${g?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=d.trim()||(A?`continue`:``);if(!(!t&&m.length===0)){if(k){ne([...te.current,{text:t,files:[...m],timestamp:Date.now()}]),f(``),h([]),p.current?.resetHeight();return}re(t),p.current?.resetHeight()}},onDragOver:w,onDragLeave:T,onDrop:O,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&b(n)},children:[(0,L.jsx)(C,{variant:`icon`,type:`button`,onClick:()=>y.current?.click(),"aria-label":`Attach file`,children:(0,L.jsx)(D,{size:14})}),(0,L.jsx)(S,{ref:p,value:d,onChange:f}),k?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(C,{variant:`send`,type:`button`,onClick:()=>ie(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,L.jsx)(je,{size:14})}),(0,L.jsx)(C,{variant:`send`,type:`button`,onClick:()=>ie(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,L.jsx)(ze,{size:14})})]}):(0,L.jsx)(C,{variant:`send`,type:`submit`,disabled:!d.trim()&&m.length===0&&!A,"aria-label":`Send message`,children:A?(0,L.jsx)(Me,{size:14}):(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`chat-actions`,ref:N,children:[(0,L.jsx)(`button`,{className:`burger-trigger`,onClick:()=>ue(e=>!e),"aria-expanded":M,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,L.jsx)(Te,{size:16})}),(0,L.jsxs)(`div`,{className:`actions-menu-items${M?` actions-menu-open`:``}`,children:[(0,L.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{ue(!1),await oe()},children:[ae?(0,L.jsx)(xe,{size:14,className:`animate-spin`}):(0,L.jsx)(j,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1);let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&download=1`,e.click()},title:`Download stream log`,children:[(0,L.jsx)(Pe,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1),s()},title:`Select messages`,children:[(0,L.jsx)(Re,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,L.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(le(!0),!se){let e=await fetch(`/api/admin/claude-info`);e.ok&&ce(await e.json())}},children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,L.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}function rT(e){let{show:t,onClose:n,sessionsLoading:r,sessionsError:i,sessionsList:a,setSessionsList:o,sessionKey:s,resetSession:c,setMessages:l}=e;return t?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal sessions-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(be,{size:12}),`Sessions`,(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`sessions-list`,children:[r&&(0,L.jsxs)(`div`,{className:`sessions-empty`,children:[(0,L.jsx)(xe,{size:14,className:`spin`}),` Loading…`]}),i&&(0,L.jsx)(`div`,{className:`sessions-empty sessions-error`,children:i}),!r&&!i&&a.length===0&&(0,L.jsx)(`div`,{className:`sessions-empty`,children:`No recent sessions`}),!r&&!i&&a.map(e=>(0,L.jsxs)(`div`,{className:`sessions-row`,children:[(0,L.jsxs)(`div`,{className:`sessions-row-info`,children:[(0,L.jsx)(`span`,{className:`sessions-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,L.jsxs)(`span`,{className:`sessions-row-time`,children:[(0,L.jsx)(se,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]}),(0,L.jsxs)(`div`,{className:`sessions-row-actions`,children:[(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-play`,title:`Resume session`,onClick:()=>{n(),c(),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/messages?session_key=${encodeURIComponent(s)}`).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to load history`))).then(e=>{let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&l(t)}).catch(e=>{console.error(`[chat] session resume failed:`,e),l([{role:`maxy`,events:[{type:`text`,content:`Could not load session history.`}],timestamp:Date.now()-1,historical:!0}])})},children:(0,L.jsx)(Me,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-delete`,title:`Delete session`,onClick:()=>{o(t=>t.filter(t=>t.conversationId!==e.conversationId)),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(s)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] session delete failed:`,e))},children:(0,L.jsx)(He,{size:13})})]})]},e.conversationId))]})]})}):null}function iT({src:e,onClose:t}){return e?(0,L.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,L.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,L.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function aT({show:e,onClose:t,onConfirm:n}){return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`span`,{children:`Compact session?`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,L.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,L.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,L.jsx)(C,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,L.jsx)(C,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function oT(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,sessionKey:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,L.jsx)(`span`,{children:`Claude Code`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,L.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:f>0?Ze(f):`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:Xe(a)})]}),o&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session ID`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var sT=[{at:0,label:`Starting upgrade…`},{at:3,label:`Installing update…`},{at:12,label:`Restarting Maxy…`},{at:22,label:`Almost there…`}],cT=3e3,lT=12e4;function uT({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,I.useState)(`idle`),[s,c]=(0,I.useState)(null),[l,u]=(0,I.useState)(0),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(null),m=n?.latest??null,h=(0,I.useCallback)(()=>{d.current&&=(clearInterval(d.current),null),f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},[]);(0,I.useEffect)(()=>{e||(h(),o(`idle`),c(null),u(0))},[e,h]),(0,I.useEffect)(()=>h,[h]);let g=sT.reduce((e,t)=>l>=t.at?t.label:e,sT[0].label),_=a===`success`?100:Math.min(l/30*90,90);function v(){d.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`);if(!e.ok)return;let t=await e.json();m&&t.installed===m&&(h(),o(`success`),i())}catch{o(e=>e===`upgrading`||e===`restarting`?`restarting`:e)}},cT)}async function y(){if(!r){console.warn(`[update] Upgrade blocked: no session key`),o(`error`),c(`Session expired — please log in again`);return}if(!m){console.warn(`[update] Upgrade blocked: no target version`),o(`error`),c(`Version data unavailable — close and try again`);return}o(`upgrading`),c(null),u(0),f.current=setInterval(()=>u(e=>e+1),1e3),p.current=setTimeout(()=>{h(),o(`error`),c(`Upgrade timed out. Check /tmp/maxy-upgrade.log on the device.`)},lT);try{let e=await(await fetch(`/api/admin/version/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:r})})).json();if(!e.ok){h(),o(`error`),c(e.error||`Upgrade failed`);return}v()}catch{h(),o(`error`),c(`Failed to start upgrade`)}}return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(a===`idle`||a===`success`||a===`error`)&&t()},children:(0,L.jsxs)(`div`,{className:`claude-info-modal update-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(N,{size:12}),`Software Update`,(a===`idle`||a===`success`||a===`error`)&&(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),a===`idle`&&(0,L.jsxs)(`div`,{className:`update-modal-body`,children:[(0,L.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,L.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,m??`…`]})]})]}),(0,L.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:y,children:`Upgrade`})]}),(a===`upgrading`||a===`restarting`)&&(0,L.jsx)(`div`,{className:`update-modal-body`,children:(0,L.jsxs)(`div`,{className:`update-modal-progress-wrap`,children:[(0,L.jsx)(`div`,{className:`update-modal-progress-bar`,children:(0,L.jsx)(`div`,{className:`update-modal-progress-fill`,style:{width:`${_}%`}})}),(0,L.jsxs)(`div`,{className:`update-modal-phase`,children:[(0,L.jsx)(xe,{size:12,className:`spin`}),g]})]})}),a===`success`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(re,{size:20,className:`update-success-icon`}),(0,L.jsxs)(`span`,{children:[`Upgraded to v`,m]})]}),a===`error`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(Ue,{size:20,className:`update-error-icon`}),(0,L.jsx)(`span`,{children:s})]})]})}):null}function dT({onClose:e}){Ye();let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null),i=(0,I.useRef)(null),a=(0,I.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,I.useCallback)(()=>{let t=typeof window<`u`?window.location.hostname:``,o=`/vnc-popout.html?host=${encodeURIComponent(t)}&port=6080&title=Browser`,s=window.open(o,`maxy-vnc-overlay-popout`,`width=1024,height=768`);s&&(r.current=s,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,I.useCallback)(()=>{a(),e()},[a,e]);(0,I.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,I.useEffect)(()=>()=>a(),[a]);let c=_t({handlePopout:o,disabled:t}),l=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return t?(0,L.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,L.jsx)(pe,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:`Browser`}),(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Oe,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Ke,onClick:s,"aria-label":`Close`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,L.jsx)(pe,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:`Browser`}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:de,onClick:o,"aria-label":`Pop out`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Ke,onClick:s,"aria-label":`Close`})]})]}),(0,L.jsx)(`iframe`,{src:l,className:`browser-viewer-fullscreen__iframe`,title:`Browser`})]})}function fT(){Ye();let e=(0,I.useRef)(null),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(null),[v,b]=(0,I.useState)(!1),[x,S]=(0,I.useState)([]),[C,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(null),[O,k]=(0,I.useState)(null),[A,j]=(0,I.useState)(!1),[ee,te]=(0,I.useState)(!1),[ne,re]=(0,I.useState)(null),[ie,ae]=(0,I.useState)(!1),[oe,se]=(0,I.useState)(!1),ce=(0,I.useRef)(!1),le=(0,I.useRef)(null),M=w(),ue=Qe(),N=it(),P=ot(),F=at({sessionKey:N.sessionKey,setAppState:N.setAppState,startElapsedTimer:ue.startElapsedTimer,stopElapsedTimer:ue.stopElapsedTimer,resetTimerState:ue.resetTimerState,pausedElapsedRef:ue.pausedElapsedRef,expandAllDefaultRef:N.expandAllDefaultRef,setExpandAll:N.setExpandAll,getPendingFiles:()=>P.pendingFiles,clearPendingFiles:P.clearFiles,inputRef:e});return(0,I.useEffect)(()=>{c(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,I.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):M.selectionMode&&M.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,M.selectionMode]),(0,I.useEffect)(()=>{(N.appState===`set-pin`||N.appState===`enter-pin`)&&setTimeout(()=>N.pinInputRef.current?.focus(),100),N.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[N.appState,F.greetingGeneration]),(0,I.useEffect)(()=>{N.appState===`chat`&&N.onboardingComplete===!1&&(ce.current||(ce.current=!0,F.sendSystemPrompt(`[New session. Assess the current state and introduce yourself. Be proactive.]`)))},[N.appState,N.onboardingComplete]),(0,I.useEffect)(()=>{if(!l)return;j(!1);let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||k(t)}).catch(()=>{}),()=>{e=!0}},[l]),(0,I.useEffect)(()=>{if(!l){f(null),_(null),k(null);return}function e(e){le.current&&!le.current.contains(e.target)&&u(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,I.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`maxy-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&F.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),N.appState===`loading`?(0,L.jsx)(`div`,{className:`chat-page admin-page`,children:(0,L.jsx)(`header`,{className:`chat-header`,children:(0,L.jsx)(`img`,{src:p,alt:y.productName,className:`chat-logo`})})}):N.appState===`set-pin`?(0,L.jsx)(ct,{pin:N.pin,setPin:N.setPin,confirmPin:N.confirmPin,setConfirmPin:N.setConfirmPin,showPin:N.showPin,setShowPin:N.setShowPin,pinLoading:N.pinLoading,pinError:N.pinError,pinInputRef:N.pinInputRef,confirmPinInputRef:N.confirmPinInputRef,setPinFormRef:N.setPinFormRef,onSubmit:N.handleSetPin}):N.appState===`connect-claude`?(0,L.jsx)(ut,{authPolling:N.authPolling,setAuthPolling:N.setAuthPolling,authLoading:N.authLoading,setAuthLoading:N.setAuthLoading,pinError:N.pinError,setPinError:N.setPinError,setAppState:N.setAppState}):N.appState===`enter-pin`?(0,L.jsx)(lt,{pin:N.pin,setPin:N.setPin,showPin:N.showPin,setShowPin:N.setShowPin,pinLoading:N.pinLoading,pinError:N.pinError,pinInputRef:N.pinInputRef,onSubmit:N.handleLogin,onChangePin:N.handleChangePin}):(0,L.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,L.jsxs)(`header`,{className:`chat-header`,children:[(0,L.jsx)(`img`,{src:p,alt:y.productName,className:`chat-logo`}),(0,L.jsx)(`div`,{children:(0,L.jsx)(`h1`,{className:`chat-tagline`,children:y.productName})}),(0,L.jsxs)(`div`,{className:`chat-burger-wrap`,ref:le,children:[(0,L.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>u(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":l,children:(0,L.jsx)(Te,{size:20})}),l&&(0,L.jsxs)(`div`,{className:`chat-menu`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),F.startNewSession()},disabled:F.isStreaming||F.isCompacting,children:[(0,L.jsx)(fe,{size:14}),` New session`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{u(!1),b(!0),T(!0),D(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(N.sessionKey)}`);if(!e.ok)throw Error(`Failed to load sessions`);S((await e.json()).sessions??[])}catch{D(`Failed to load sessions`)}finally{T(!1)}},children:[(0,L.jsx)(be,{size:14}),` Sessions`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(ie||oe)){se(!0),u(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);ae(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{se(!1)}}},disabled:oe,children:[(0,L.jsx)(pe,{size:14}),` Browser`,oe&&(0,L.jsx)(xe,{size:12,className:`spin`})]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(d!==null){f(null);return}h(!0),_(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);f((await e.json()).agents??[])}catch{_(`Failed to load agents`)}finally{h(!1)}},children:[(0,L.jsx)(de,{size:14}),` Public`,m&&(0,L.jsx)(xe,{size:12,className:`spin`})]}),d!==null&&(0,L.jsxs)(`div`,{className:`chat-menu-agents`,children:[g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-error`,children:g}),d.length===0&&!g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),d.map(e=>(0,L.jsxs)(`a`,{href:`${s}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`chat-menu-item chat-menu-agent-item`,onClick:()=>u(!1),children:[(0,L.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,L.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,L.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]},e.slug))]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{O?.updateAvailable&&O.latest?(re(O),u(!1),te(!0)):O&&!O.updateAvailable&&O.latest&&j(!0)},children:[(0,L.jsx)(he,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[O?`v${O.installed}`:`…`,O?.updateAvailable&&(0,L.jsx)(`span`,{className:`version-update-dot`})]}),A&&!O?.updateAvailable&&(0,L.jsx)(`span`,{className:`version-uptodate`,children:`Up to date`})]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),N.handleLogout(),F.setMessages([])},children:[(0,L.jsx)(Ce,{size:14}),` Log out`]})]})]})]}),(0,L.jsx)($w,{messages:F.messages,isStreaming:F.isStreaming,elapsedSeconds:ue.elapsedSeconds,sessionTurnStart:ue.sessionTurnStart,expandAll:N.expandAll,setExpandAll:N.setExpandAll,sessionCompacted:F.sessionCompacted,isCompacting:F.isCompacting,setShowCompactConfirm:o,handleComponentSubmit:F.handleComponentSubmit,effectiveSubmitted:F.effectiveSubmitted,selectionMode:M.selectionMode,selectedItems:M.selectedItems,toggleSelectItem:M.toggleSelectItem,sessionKey:N.sessionKey,setLightboxSrc:n,messageQueue:F.messageQueue,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,appState:N.appState,onboardingComplete:N.onboardingComplete}),(0,L.jsx)(nT,{selectionMode:M.selectionMode,selectedItems:M.selectedItems,copyToast:M.copyToast,exitSelection:M.exitSelection,enterSelection:M.enterSelection,copySelected:M.copySelected,showCopyToast:M.showCopyToast,input:F.input,setInput:F.setInput,inputRef:e,pendingFiles:P.pendingFiles,setPendingFiles:P.setPendingFiles,isDragOver:P.isDragOver,attachError:P.attachError,fileInputRef:P.fileInputRef,addFiles:P.addFiles,removeFile:P.removeFile,onDragOver:P.onDragOver,onDragLeave:P.onDragLeave,onDrop:P.onDrop,isStreaming:F.isStreaming,wasPaused:F.wasPaused,messages:F.messages,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,stopStreaming:F.stopStreaming,disconnecting:N.disconnecting,handleDisconnect:N.handleDisconnect,claudeInfo:N.claudeInfo,setClaudeInfo:N.setClaudeInfo,setShowClaudeInfo:i}),M.copyToast&&(0,L.jsx)(`span`,{className:`copy-toast${M.copyToast===`failed`?` copy-toast-failed`:``}`,children:M.copyToast===`copied`?`Copied`:`Copy failed`}),(0,L.jsx)(rT,{show:v,onClose:()=>b(!1),sessionsLoading:C,sessionsError:E,sessionsList:x,setSessionsList:S,sessionKey:N.sessionKey,resetSession:F.resetSession,setMessages:F.setMessages}),(0,L.jsx)(iT,{src:t,onClose:()=>n(null)}),(0,L.jsx)(aT,{show:a,onClose:()=>o(!1),onConfirm:F.handleCompactNow}),(0,L.jsx)(oT,{show:r,onClose:()=>{i(!1),N.setClaudeInfo(null)},claudeInfo:N.claudeInfo,messages:F.messages,sessionElapsed:ue.sessionElapsed,sessionKey:N.sessionKey,contextModeHint:N.contextModeHint,handleContextModeToggle:N.handleContextModeToggle}),(0,L.jsx)(uT,{show:ee,onClose:()=>te(!1),versionInfo:ne,sessionKey:N.sessionKey,onUpgradeComplete:()=>k(null)}),ie&&(0,L.jsx)(dT,{onClose:()=>ae(!1)})]})}(0,Je.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(fT,{}));
352
+ `)}function nT(e){let{selectionMode:t,selectedItems:n,copyToast:r,exitSelection:a,enterSelection:s,copySelected:l,showCopyToast:u,input:d,setInput:f,inputRef:p,pendingFiles:m,setPendingFiles:h,isDragOver:g,attachError:v,fileInputRef:y,addFiles:b,removeFile:x,onDragOver:w,onDragLeave:T,onDrop:O,isStreaming:k,wasPaused:A,messages:ee,messageQueueRef:te,setQueue:ne,sendMessage:re,stopStreaming:ie,disconnecting:ae,handleDisconnect:oe,claudeInfo:se,setClaudeInfo:ce,setShowClaudeInfo:le}=e,[M,ue]=(0,I.useState)(!1),N=(0,I.useRef)(null),[de,P]=(0,I.useState)(!1),F=(0,I.useRef)(null),fe=(0,I.useRef)(!1);return(0,I.useEffect)(()=>{t||P(!1)},[t]),(0,I.useEffect)(()=>{if(!de)return;let e=e=>{e.target.closest(`.selection-copy-wrap`)||P(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[de]),(0,I.useEffect)(()=>{if(!M)return;let e=e=>{if(e.key===`Escape`){ue(!1);return}if(e.key===`Tab`&&N.current){let t=N.current.querySelectorAll(`.actions-menu-items button:not([disabled])`);if(t.length===0)return;let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())}},t=e=>{N.current&&!N.current.contains(e.target)&&ue(!1)};return document.addEventListener(`keydown`,e),document.addEventListener(`mousedown`,t),()=>{document.removeEventListener(`keydown`,e),document.removeEventListener(`mousedown`,t)}},[M]),t?(0,L.jsx)(`div`,{className:`chat-input-area`,children:(0,L.jsxs)(`div`,{className:`selection-bar`,children:[(0,L.jsxs)(`span`,{className:`selection-count`,children:[n.size,` Selected`]}),(0,L.jsxs)(`div`,{className:`selection-copy-wrap`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`selection-copy`,onPointerDown:()=>{if(de){P(!1);return}fe.current=!1,F.current=setTimeout(()=>{fe.current=!0,P(!0),F.current=null},500)},onPointerUp:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerLeave:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onPointerCancel:()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},onClick:async()=>{fe.current||await l(e=>eT(ee,e),(e,t)=>{let[n,r]=[e.slice(0,e.lastIndexOf(`_`)),e.slice(e.lastIndexOf(`_`)+1)],[i,a]=[t.slice(0,t.lastIndexOf(`_`)),t.slice(t.lastIndexOf(`_`)+1)],o=parseInt(n,10)-parseInt(i,10);return o===0?r===`admin`?-1:a===`admin`?1:parseInt(r,10)-parseInt(a,10):o})},children:[(0,L.jsx)(i,{size:18}),(0,L.jsx)(`span`,{children:`Copy`})]}),de&&(0,L.jsx)(`div`,{className:`copy-menu`,children:[[`all`,`All events`],[`text`,`Text messages only`],[`non-text`,`Non-text only`]].map(([e,t])=>(0,L.jsx)(`button`,{type:`button`,className:`copy-menu-item`,onClick:async()=>{let t=tT(ee,e);t&&u(await o(t)),a()},children:t},e))})]}),(0,L.jsx)(`button`,{type:`button`,className:`selection-cancel`,onClick:a,children:`Cancel`})]})}):(0,L.jsxs)(`div`,{className:`chat-input-area`,children:[(0,L.jsx)(`input`,{ref:y,type:`file`,multiple:!0,accept:$e,style:{display:`none`},onChange:e=>{e.target.files&&b([...e.target.files]),e.target.value=``}}),m.length>0&&(0,L.jsx)(`div`,{className:`attachment-strip`,children:m.map((e,t)=>(0,L.jsxs)(`div`,{className:`attachment-chip`,children:[e.type.startsWith(`image/`)?(0,L.jsx)(`img`,{src:URL.createObjectURL(e),alt:e.name,className:`attachment-chip-thumb`}):e.type===`application/pdf`?(0,L.jsx)(c,{size:14}):(0,L.jsx)(E,{size:14}),(0,L.jsx)(`span`,{className:`attachment-chip-name`,children:e.name}),(0,L.jsx)(`button`,{type:`button`,className:`attachment-chip-remove`,onClick:()=>x(t),"aria-label":`Remove ${e.name}`,children:`×`})]},t))}),v&&(0,L.jsx)(`p`,{className:`attach-error`,children:v}),(0,L.jsx)(_,{inputRef:p}),(0,L.jsxs)(`form`,{className:`chat-form${g?` drag-over`:``}`,onSubmit:e=>{e.preventDefault();let t=d.trim()||(A?`continue`:``);if(!(!t&&m.length===0)){if(k){ne([...te.current,{text:t,files:[...m],timestamp:Date.now()}]),f(``),h([]),p.current?.resetHeight();return}re(t),p.current?.resetHeight()}},onDragOver:w,onDragLeave:T,onDrop:O,onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let n=[];for(let e of t){if(e.kind!==`file`)continue;let t=e.getAsFile();if(!t)continue;let r=t.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([t],`pasted-image-${Date.now()}.${r}`,{type:t.type}))}n.length>0&&b(n)},children:[(0,L.jsx)(C,{variant:`icon`,type:`button`,onClick:()=>y.current?.click(),"aria-label":`Attach file`,children:(0,L.jsx)(D,{size:14})}),(0,L.jsx)(S,{ref:p,value:d,onChange:f}),k?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(C,{variant:`send`,type:`button`,onClick:()=>ie(!0),"aria-label":`Pause`,style:{background:`var(--text-secondary)`},children:(0,L.jsx)(je,{size:14})}),(0,L.jsx)(C,{variant:`send`,type:`button`,onClick:()=>ie(!1),"aria-label":`Stop`,style:{background:`var(--danger)`},children:(0,L.jsx)(ze,{size:14})})]}):(0,L.jsx)(C,{variant:`send`,type:`submit`,disabled:!d.trim()&&m.length===0&&!A,"aria-label":`Send message`,children:A?(0,L.jsx)(Me,{size:14}):(0,L.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,L.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,L.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]})})]}),(0,L.jsxs)(`div`,{className:`chat-actions`,ref:N,children:[(0,L.jsx)(`button`,{className:`burger-trigger`,onClick:()=>ue(e=>!e),"aria-expanded":M,"aria-haspopup":`true`,"aria-label":`Actions menu`,children:(0,L.jsx)(Te,{size:16})}),(0,L.jsxs)(`div`,{className:`actions-menu-items${M?` actions-menu-open`:``}`,children:[(0,L.jsxs)(`button`,{className:`chat-action`,disabled:ae,onClick:async()=>{ue(!1),await oe()},children:[ae?(0,L.jsx)(xe,{size:14,className:`animate-spin`}):(0,L.jsx)(j,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:ae?`Disconnecting...`:`Disconnect Claude`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1);let e=document.createElement(`a`);e.href=`/api/admin/logs?type=stream&download=1`,e.click()},title:`Download stream log`,children:[(0,L.jsx)(Pe,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Stream log`})]}),(0,L.jsxs)(`button`,{className:`chat-action`,onClick:()=>{ue(!1),s()},title:`Select messages`,children:[(0,L.jsx)(Re,{size:14}),(0,L.jsx)(`span`,{className:`action-label`,children:`Select`})]})]}),(0,L.jsxs)(`div`,{className:`powered-by`,onClick:async()=>{if(le(!0),!se){let e=await fetch(`/api/admin/claude-info`);e.ok&&ce(await e.json())}},children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`powered-by-icon`}),(0,L.jsx)(`span`,{children:`Powered by Claude Code`})]})]})]})}function rT(e){let{show:t,onClose:n,sessionsLoading:r,sessionsError:i,sessionsList:a,setSessionsList:o,sessionKey:s,resetSession:c,setMessages:l}=e;return t?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal sessions-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(be,{size:12}),`Sessions`,(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`sessions-list`,children:[r&&(0,L.jsxs)(`div`,{className:`sessions-empty`,children:[(0,L.jsx)(xe,{size:14,className:`spin`}),` Loading…`]}),i&&(0,L.jsx)(`div`,{className:`sessions-empty sessions-error`,children:i}),!r&&!i&&a.length===0&&(0,L.jsx)(`div`,{className:`sessions-empty`,children:`No recent sessions`}),!r&&!i&&a.map(e=>(0,L.jsxs)(`div`,{className:`sessions-row`,children:[(0,L.jsxs)(`div`,{className:`sessions-row-info`,children:[(0,L.jsx)(`span`,{className:`sessions-row-name`,children:e.name||e.conversationId.slice(0,12)+`…`}),(0,L.jsxs)(`span`,{className:`sessions-row-time`,children:[(0,L.jsx)(se,{size:10}),(()=>{try{let t=new Date(e.updatedAt),n=Date.now()-t.getTime();return n<6e4?`just now`:n<36e5?`${Math.floor(n/6e4)}m ago`:n<864e5?`${Math.floor(n/36e5)}h ago`:`${Math.floor(n/864e5)}d ago`}catch{return``}})()]})]}),(0,L.jsxs)(`div`,{className:`sessions-row-actions`,children:[(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-play`,title:`Resume session`,onClick:()=>{n(),c(),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}/messages?session_key=${encodeURIComponent(s)}`).then(e=>e.ok?e.json():Promise.reject(Error(`Failed to load history`))).then(e=>{let t=(e.messages??[]).map(e=>({role:e.role===`user`?`admin`:`maxy`,content:e.role===`user`?e.content:void 0,events:e.role===`assistant`?[{type:`text`,content:e.content}]:void 0,timestamp:new Date(e.createdAt).getTime()||0,historical:!0}));t.length>0&&l(t)}).catch(e=>{console.error(`[chat] session resume failed:`,e),l([{role:`maxy`,events:[{type:`text`,content:`Could not load session history.`}],timestamp:Date.now()-1,historical:!0}])})},children:(0,L.jsx)(Me,{size:13})}),(0,L.jsx)(`button`,{type:`button`,className:`sessions-action sessions-delete`,title:`Delete session`,onClick:()=>{o(t=>t.filter(t=>t.conversationId!==e.conversationId)),s&&fetch(`/api/admin/sessions/${encodeURIComponent(e.conversationId)}?session_key=${encodeURIComponent(s)}`,{method:`DELETE`}).catch(e=>console.error(`[chat] session delete failed:`,e))},children:(0,L.jsx)(He,{size:13})})]})]},e.conversationId))]})]})}):null}function iT({src:e,onClose:t}){return e?(0,L.jsxs)(`div`,{className:`attachment-lightbox`,onClick:t,children:[(0,L.jsx)(`button`,{className:`attachment-lightbox-close`,onClick:t,"aria-label":`Close`,children:`×`}),(0,L.jsx)(`img`,{src:e,alt:`Attachment`,onClick:e=>e.stopPropagation()})]}):null}function aT({show:e,onClose:t,onConfirm:n}){return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:t,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`span`,{children:`Compact session?`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,"aria-label":`Close`,children:`✕`})]}),(0,L.jsx)(`div`,{className:`claude-info-section`,style:{padding:`12px 14px`,fontSize:`11px`,color:`var(--text-secondary)`},children:`Summarises the conversation history to free up context window space. The session continues with a compressed summary.`}),(0,L.jsxs)(`div`,{className:`claude-info-section`,style:{display:`flex`,gap:`8px`,padding:`10px 14px`},children:[(0,L.jsx)(C,{variant:`secondary`,size:`sm`,style:{background:`var(--accent)`,flex:1},onClick:()=>{t(),n()},children:`Yes, compact`}),(0,L.jsx)(C,{variant:`secondary`,size:`sm`,style:{flex:1},onClick:t,children:`No`})]})]})}):null}function oT(e){let{show:t,onClose:n,claudeInfo:r,messages:i,sessionElapsed:a,sessionKey:o,contextModeHint:s,handleContextModeToggle:c}=e;if(!t)return null;let l=i.flatMap(e=>e.events?.filter(e=>e.type===`usage`)??[]),u=l.at(-1),d=u?.peak_request_pct==null?u?.context_window?Math.round((u.input_tokens+u.cache_creation_tokens+u.cache_read_tokens)/u.context_window*100):0:Math.round(u.peak_request_pct*100),f=l.reduce((e,t)=>e+t.input_tokens+t.cache_creation_tokens+t.cache_read_tokens+t.output_tokens,0),p=i.flatMap(e=>e.events?.filter(e=>e.type===`rate_limit`)??[]).at(-1),m=l.reduce((e,t)=>e+(t.total_cost_usd??0),0),h=r?.account?.subscriptionType,g=e=>{let t=e*1e3-Date.now();if(t<=0)return`now`;let n=Math.floor(t/36e5),r=Math.floor(t%36e5/6e4);return n>0?`${n}h ${r}m`:`${r}m`};return(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:n,children:(0,L.jsxs)(`div`,{className:`claude-info-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(`img`,{src:`/brand/claude.png`,alt:`Claude`,className:`claude-info-icon`}),(0,L.jsx)(`span`,{children:`Claude Code`}),(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:n,"aria-label":`Close`,children:`✕`})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Version`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?r.version:`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Email`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.account?.email??`…`})]})]}),(h||p||m>0)&&(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[h&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Plan`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{textTransform:`capitalize`},children:h})]}),p&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Usage`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[Math.round(p.utilization*100),`%`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Resets in`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:g(p.resetsAt)})]}),p.isUsingOverage&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Overage`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:`Active`})]})]}),m>0&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session cost`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`$`,m<.01?m.toFixed(4):m.toFixed(2)]})]})]}),(0,L.jsxs)(`div`,{className:`claude-info-section`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Model`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:r?.model??`…`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context mode`}),(0,L.jsxs)(`span`,{className:`claude-info-value claude-info-toggle`,role:`button`,tabIndex:0,onClick:c,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c())},children:[r?.contextMode??`…`,s?` (next turn)`:``]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Context used`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:d>0?`${d}%`:`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Tokens`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:f>0?Ze(f):`—`})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session`}),(0,L.jsx)(`span`,{className:`claude-info-value`,children:Xe(a)})]}),o&&(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Session ID`}),(0,L.jsx)(`span`,{className:`claude-info-value`,style:{fontFamily:`monospace`,fontSize:10},children:o.slice(0,8)})]})]})]})})}var sT=[{at:0,label:`Starting upgrade…`},{at:3,label:`Installing update…`},{at:12,label:`Restarting Maxy…`},{at:22,label:`Almost there…`}],cT=3e3,lT=12e4;function uT({show:e,onClose:t,versionInfo:n,sessionKey:r,onUpgradeComplete:i}){let[a,o]=(0,I.useState)(`idle`),[s,c]=(0,I.useState)(null),[l,u]=(0,I.useState)(0),d=(0,I.useRef)(null),f=(0,I.useRef)(null),p=(0,I.useRef)(null),m=n?.latest??null,h=(0,I.useCallback)(()=>{d.current&&=(clearInterval(d.current),null),f.current&&=(clearInterval(f.current),null),p.current&&=(clearTimeout(p.current),null)},[]);(0,I.useEffect)(()=>{e||(h(),o(`idle`),c(null),u(0))},[e,h]),(0,I.useEffect)(()=>h,[h]);let g=sT.reduce((e,t)=>l>=t.at?t.label:e,sT[0].label),_=a===`success`?100:Math.min(l/30*90,90);function v(){d.current=setInterval(async()=>{try{let e=await fetch(`/api/admin/version`);if(!e.ok)return;let t=await e.json();m&&t.installed===m&&(h(),o(`success`),i())}catch{o(e=>e===`upgrading`||e===`restarting`?`restarting`:e)}},cT)}async function y(){if(!r){console.warn(`[update] Upgrade blocked: no session key`),o(`error`),c(`Session expired — please log in again`);return}if(!m){console.warn(`[update] Upgrade blocked: no target version`),o(`error`),c(`Version data unavailable — close and try again`);return}o(`upgrading`),c(null),u(0),f.current=setInterval(()=>u(e=>e+1),1e3),p.current=setTimeout(()=>{h(),o(`error`),c(`Upgrade timed out. Check /tmp/maxy-upgrade.log on the device.`)},lT);try{let e=await(await fetch(`/api/admin/version/upgrade`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_key:r})})).json();if(!e.ok){h(),o(`error`),c(e.error||`Upgrade failed`);return}v()}catch{h(),o(`error`),c(`Failed to start upgrade`)}}return e?(0,L.jsx)(`div`,{className:`claude-info-overlay`,onClick:()=>{(a===`idle`||a===`success`||a===`error`)&&t()},children:(0,L.jsxs)(`div`,{className:`claude-info-modal update-modal`,onClick:e=>e.stopPropagation(),children:[(0,L.jsxs)(`div`,{className:`claude-info-header`,children:[(0,L.jsx)(N,{size:12}),`Software Update`,(a===`idle`||a===`success`||a===`error`)&&(0,L.jsx)(`button`,{className:`claude-info-close`,onClick:t,children:`✕`})]}),a===`idle`&&(0,L.jsxs)(`div`,{className:`update-modal-body`,children:[(0,L.jsxs)(`div`,{className:`update-modal-versions`,children:[(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Installed`}),(0,L.jsxs)(`span`,{className:`claude-info-value`,children:[`v`,n?.installed??`…`]})]}),(0,L.jsxs)(`div`,{className:`claude-info-row`,children:[(0,L.jsx)(`span`,{className:`claude-info-label`,children:`Available`}),(0,L.jsxs)(`span`,{className:`claude-info-value update-version-new`,children:[`v`,m??`…`]})]})]}),(0,L.jsx)(`button`,{type:`button`,className:`update-modal-btn`,onClick:y,children:`Upgrade`})]}),(a===`upgrading`||a===`restarting`)&&(0,L.jsx)(`div`,{className:`update-modal-body`,children:(0,L.jsxs)(`div`,{className:`update-modal-progress-wrap`,children:[(0,L.jsx)(`div`,{className:`update-modal-progress-bar`,children:(0,L.jsx)(`div`,{className:`update-modal-progress-fill`,style:{width:`${_}%`}})}),(0,L.jsxs)(`div`,{className:`update-modal-phase`,children:[(0,L.jsx)(xe,{size:12,className:`spin`}),g]})]})}),a===`success`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(re,{size:20,className:`update-success-icon`}),(0,L.jsxs)(`span`,{children:[`Upgraded to v`,m]})]}),a===`error`&&(0,L.jsxs)(`div`,{className:`update-modal-body update-modal-result`,children:[(0,L.jsx)(Ue,{size:20,className:`update-error-icon`}),(0,L.jsx)(`span`,{children:s})]})]})}):null}function dT({onClose:e}){Ye();let[t,n]=(0,I.useState)(!1),r=(0,I.useRef)(null),i=(0,I.useRef)(null),a=(0,I.useCallback)(()=>{i.current&&=(clearInterval(i.current),null),r.current&&!r.current.closed&&r.current.close(),r.current=null,n(!1)},[]),o=(0,I.useCallback)(()=>{let t=typeof window<`u`?window.location.hostname:``,o=`/vnc-popout.html?host=${encodeURIComponent(t)}&port=6080&title=Browser`,s=window.open(o,`maxy-vnc-overlay-popout`,`width=1024,height=768`);s&&(r.current=s,n(!0),i.current=setInterval(()=>{r.current?.closed&&(a(),e())},500))},[a,e]),s=(0,I.useCallback)(()=>{a(),e()},[a,e]);(0,I.useEffect)(()=>{if(t)return;let e=e=>{e.key===`Escape`&&s()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,s]),(0,I.useEffect)(()=>()=>a(),[a]);let c=_t({handlePopout:o,disabled:t}),l=`/vnc-viewer.html?host=${typeof window<`u`?window.location.hostname:``}&port=6080`;return t?(0,L.jsxs)(`div`,{className:`browser-overlay-popout`,children:[(0,L.jsx)(pe,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer__title`,children:`Browser`}),(0,L.jsx)(`span`,{className:`browser-viewer__popout-label`,children:`Popped out`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Oe,onClick:()=>{a()},"aria-label":`Pop back in`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Ke,onClick:s,"aria-label":`Close`})]}):(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen`,children:[(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__bar`,...c,children:[(0,L.jsx)(pe,{className:`browser-viewer__icon`}),(0,L.jsx)(`span`,{className:`browser-viewer-fullscreen__title`,children:`Browser`}),(0,L.jsxs)(`div`,{className:`browser-viewer-fullscreen__actions`,children:[(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:de,onClick:o,"aria-label":`Pop out`}),(0,L.jsx)(C,{variant:`ghost`,size:`sm`,icon:Ke,onClick:s,"aria-label":`Close`})]})]}),(0,L.jsx)(`iframe`,{src:l,className:`browser-viewer-fullscreen__iframe`,title:`Browser`})]})}function fT(){Ye();let e=(0,I.useRef)(null),[t,n]=(0,I.useState)(null),[r,i]=(0,I.useState)(!1),[a,o]=(0,I.useState)(!1),[s,c]=(0,I.useState)(``),[l,u]=(0,I.useState)(!1),[d,f]=(0,I.useState)(null),[m,h]=(0,I.useState)(!1),[g,_]=(0,I.useState)(null),[v,b]=(0,I.useState)(!1),[x,S]=(0,I.useState)([]),[C,T]=(0,I.useState)(!1),[E,D]=(0,I.useState)(null),[O,k]=(0,I.useState)(null),[A,j]=(0,I.useState)(!1),[ee,te]=(0,I.useState)(!1),[ne,re]=(0,I.useState)(null),[ie,ae]=(0,I.useState)(!1),[oe,se]=(0,I.useState)(!1),ce=(0,I.useRef)(!1),le=(0,I.useRef)(null),M=w(),ue=Qe(),N=it(),P=ot(),F=at({sessionKey:N.sessionKey,setAppState:N.setAppState,startElapsedTimer:ue.startElapsedTimer,stopElapsedTimer:ue.stopElapsedTimer,resetTimerState:ue.resetTimerState,pausedElapsedRef:ue.pausedElapsedRef,expandAllDefaultRef:N.expandAllDefaultRef,setExpandAll:N.setExpandAll,getPendingFiles:()=>P.pendingFiles,clearPendingFiles:P.clearFiles,inputRef:e});return(0,I.useEffect)(()=>{c(window.location.hostname.startsWith(`admin.`)?window.location.origin.replace(`admin.`,`public.`):window.location.origin)},[]),(0,I.useEffect)(()=>{function e(e){e.key===`Escape`&&(t?n(null):M.selectionMode&&M.exitSelection())}return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,M.selectionMode]),(0,I.useEffect)(()=>{(N.appState===`set-pin`||N.appState===`enter-pin`)&&setTimeout(()=>N.pinInputRef.current?.focus(),100),N.appState===`chat`&&setTimeout(()=>e.current?.focus(),100)},[N.appState,F.greetingGeneration]),(0,I.useEffect)(()=>{N.appState===`chat`&&N.onboardingComplete===!1&&(ce.current||(ce.current=!0,F.sendSystemPrompt(`[New session. Assess the current state and introduce yourself. Be proactive.]`)))},[N.appState,N.onboardingComplete]),(0,I.useEffect)(()=>{if(!l)return;j(!1);let e=!1;return fetch(`/api/admin/version`).then(e=>e.json()).then(t=>{e||k(t)}).catch(()=>{}),()=>{e=!0}},[l]),(0,I.useEffect)(()=>{if(!l){f(null),_(null),k(null);return}function e(e){le.current&&!le.current.contains(e.target)&&u(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[l]),(0,I.useEffect)(()=>{if(typeof BroadcastChannel>`u`)return;let e=new BroadcastChannel(`platform-onboarding`);return e.onmessage=e=>{e.data?.type===`remote-password-set`&&F.sendMessageRef.current(`I've set the remote password`)},()=>e.close()},[]),N.appState===`loading`?(0,L.jsx)(`div`,{className:`chat-page admin-page`,children:(0,L.jsx)(`header`,{className:`chat-header`,children:(0,L.jsx)(`img`,{src:p,alt:y.productName,className:`chat-logo`})})}):N.appState===`set-pin`?(0,L.jsx)(ct,{pin:N.pin,setPin:N.setPin,confirmPin:N.confirmPin,setConfirmPin:N.setConfirmPin,showPin:N.showPin,setShowPin:N.setShowPin,pinLoading:N.pinLoading,pinError:N.pinError,pinInputRef:N.pinInputRef,confirmPinInputRef:N.confirmPinInputRef,setPinFormRef:N.setPinFormRef,onSubmit:N.handleSetPin}):N.appState===`connect-claude`?(0,L.jsx)(ut,{authPolling:N.authPolling,setAuthPolling:N.setAuthPolling,authLoading:N.authLoading,setAuthLoading:N.setAuthLoading,pinError:N.pinError,setPinError:N.setPinError,setAppState:N.setAppState}):N.appState===`enter-pin`?(0,L.jsx)(lt,{pin:N.pin,setPin:N.setPin,showPin:N.showPin,setShowPin:N.setShowPin,pinLoading:N.pinLoading,pinError:N.pinError,pinInputRef:N.pinInputRef,onSubmit:N.handleLogin,onChangePin:N.handleChangePin}):(0,L.jsxs)(`div`,{className:`chat-page admin-page`,children:[(0,L.jsxs)(`header`,{className:`chat-header`,children:[(0,L.jsx)(`img`,{src:p,alt:y.productName,className:`chat-logo`}),(0,L.jsx)(`div`,{children:(0,L.jsx)(`h1`,{className:`chat-tagline`,children:y.productName})}),(0,L.jsxs)(`div`,{className:`chat-burger-wrap`,ref:le,children:[(0,L.jsx)(`button`,{type:`button`,className:`chat-burger`,onClick:()=>u(e=>!e),"aria-label":`Menu`,"aria-haspopup":`true`,"aria-expanded":l,children:(0,L.jsx)(Te,{size:20})}),l&&(0,L.jsxs)(`div`,{className:`chat-menu`,children:[(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),F.startNewSession()},disabled:F.isStreaming||F.isCompacting,children:[(0,L.jsx)(fe,{size:14}),` New session`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{u(!1),b(!0),T(!0),D(null);try{let e=await fetch(`/api/admin/sessions?session_key=${encodeURIComponent(N.sessionKey)}`);if(!e.ok)throw Error(`Failed to load sessions`);S((await e.json()).sessions??[])}catch{D(`Failed to load sessions`)}finally{T(!1)}},children:[(0,L.jsx)(be,{size:14}),` Sessions`]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(!(ie||oe)){se(!0),u(!1);try{let e=await(await fetch(`/api/admin/browser/launch`,{method:`POST`})).json().catch(()=>({ok:!1,error:`Invalid response`}));if(!e.ok)throw Error(e.error??`Failed to launch browser`);ae(!0)}catch(e){console.error(`[browser] Launch failed:`,e),alert(e instanceof Error?e.message:`Failed to launch browser`)}finally{se(!1)}}},disabled:oe,children:[(0,L.jsx)(pe,{size:14}),` Browser`,oe&&(0,L.jsx)(xe,{size:12,className:`spin`})]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:async()=>{if(d!==null){f(null);return}h(!0),_(null);try{let e=await fetch(`/api/admin/agents`);if(!e.ok)throw Error(`Failed to load agents`);f((await e.json()).agents??[])}catch{_(`Failed to load agents`)}finally{h(!1)}},children:[(0,L.jsx)(de,{size:14}),` Public`,m&&(0,L.jsx)(xe,{size:12,className:`spin`})]}),d!==null&&(0,L.jsxs)(`div`,{className:`chat-menu-agents`,children:[g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-error`,children:g}),d.length===0&&!g&&(0,L.jsx)(`span`,{className:`chat-menu-agent-empty`,children:`No public agents configured`}),d.map(e=>(0,L.jsxs)(`a`,{href:`${s}/${e.slug}`,target:`_blank`,rel:`noopener noreferrer`,className:`chat-menu-item chat-menu-agent-item`,onClick:()=>u(!1),children:[(0,L.jsx)(`span`,{className:`agent-status-dot ${e.status}`}),(0,L.jsx)(`span`,{className:`agent-display-name`,children:e.displayName}),(0,L.jsxs)(`span`,{className:`agent-slug`,children:[`/`,e.slug]})]},e.slug))]}),(0,L.jsx)(`div`,{className:`chat-menu-divider`}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-version`,onClick:()=>{O?.updateAvailable&&O.latest?(re(O),u(!1),te(!0)):O&&!O.updateAvailable&&O.latest&&j(!0)},children:[(0,L.jsx)(he,{size:14}),(0,L.jsxs)(`span`,{className:`version-installed`,children:[O?`v${O.installed}`:`…`,O?.updateAvailable&&(0,L.jsx)(`span`,{className:`version-update-dot`})]}),A&&!O?.updateAvailable&&(0,L.jsx)(`span`,{className:`version-uptodate`,children:`Up to date`})]}),(0,L.jsxs)(`button`,{type:`button`,className:`chat-menu-item`,onClick:()=>{u(!1),N.handleLogout(),F.setMessages([])},children:[(0,L.jsx)(Ce,{size:14}),` Log out`]})]})]})]}),(0,L.jsx)($w,{messages:F.messages,isStreaming:F.isStreaming,elapsedSeconds:ue.elapsedSeconds,sessionTurnStart:ue.sessionTurnStart,expandAll:N.expandAll,setExpandAll:N.setExpandAll,sessionCompacted:F.sessionCompacted,isCompacting:F.isCompacting,setShowCompactConfirm:o,handleComponentSubmit:F.handleComponentSubmit,effectiveSubmitted:F.effectiveSubmitted,selectionMode:M.selectionMode,selectedItems:M.selectedItems,toggleSelectItem:M.toggleSelectItem,sessionKey:N.sessionKey,setLightboxSrc:n,messageQueue:F.messageQueue,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,appState:N.appState,onboardingComplete:N.onboardingComplete}),(0,L.jsx)(nT,{selectionMode:M.selectionMode,selectedItems:M.selectedItems,copyToast:M.copyToast,exitSelection:M.exitSelection,enterSelection:M.enterSelection,copySelected:M.copySelected,showCopyToast:M.showCopyToast,input:F.input,setInput:F.setInput,inputRef:e,pendingFiles:P.pendingFiles,setPendingFiles:P.setPendingFiles,isDragOver:P.isDragOver,attachError:P.attachError,fileInputRef:P.fileInputRef,addFiles:P.addFiles,removeFile:P.removeFile,onDragOver:P.onDragOver,onDragLeave:P.onDragLeave,onDrop:P.onDrop,isStreaming:F.isStreaming,wasPaused:F.wasPaused,messages:F.messages,messageQueueRef:F.messageQueueRef,setQueue:F.setQueue,sendMessage:F.sendMessage,stopStreaming:F.stopStreaming,disconnecting:N.disconnecting,handleDisconnect:N.handleDisconnect,claudeInfo:N.claudeInfo,setClaudeInfo:N.setClaudeInfo,setShowClaudeInfo:i}),M.copyToast&&(0,L.jsx)(`span`,{className:`copy-toast${M.copyToast===`failed`?` copy-toast-failed`:``}`,children:M.copyToast===`copied`?`Copied`:`Copy failed`}),(0,L.jsx)(rT,{show:v,onClose:()=>b(!1),sessionsLoading:C,sessionsError:E,sessionsList:x,setSessionsList:S,sessionKey:N.sessionKey,resetSession:F.resetSession,setMessages:F.setMessages}),(0,L.jsx)(iT,{src:t,onClose:()=>n(null)}),(0,L.jsx)(aT,{show:a,onClose:()=>o(!1),onConfirm:F.handleCompactNow}),(0,L.jsx)(oT,{show:r,onClose:()=>{i(!1),N.setClaudeInfo(null)},claudeInfo:N.claudeInfo,messages:F.messages,sessionElapsed:ue.sessionElapsed,sessionKey:N.sessionKey,contextModeHint:N.contextModeHint,handleContextModeToggle:N.handleContextModeToggle}),(0,L.jsx)(uT,{show:ee,onClose:()=>te(!1),versionInfo:ne,sessionKey:N.sessionKey,onUpgradeComplete:()=>k(null)}),ie&&(0,L.jsx)(dT,{onClose:()=>ae(!1)})]})}(0,Je.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(fT,{}));
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/admin-KW1CBsie.js"></script>
8
+ <script type="module" crossorigin src="/assets/admin-PTXWFjhW.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/ChatInput-D1ZgZMZz.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/ChatInput-qaJ6-ih2.css">
11
11
  <link rel="stylesheet" href="/brand-defaults.css">
@@ -7807,6 +7807,10 @@ function renderLoginPage(opts) {
7807
7807
  const changeError = opts?.changeError ?? "";
7808
7808
  const success = opts?.success ?? "";
7809
7809
  const setupError = opts?.setupError ?? "";
7810
+ const productName = opts?.productName ?? "Maxy";
7811
+ const logoSrc = opts?.logoSrc ?? "/brand/maxy-monochrome.png";
7812
+ const displayFont = opts?.displayFont ?? "Cormorant";
7813
+ const bodyFont = opts?.bodyFont ?? "DM Sans";
7810
7814
  const errorHtml = error ? `<p class="msg msg--error">${escapeHtml(error)}</p>` : "";
7811
7815
  const changeErrorHtml = changeError ? `<p class="msg msg--error">${escapeHtml(changeError)}</p>` : "";
7812
7816
  const successHtml = success ? `<p class="msg msg--success">${escapeHtml(success)}</p>` : "";
@@ -7830,14 +7834,14 @@ function renderLoginPage(opts) {
7830
7834
  <head>
7831
7835
  <meta charset="utf-8">
7832
7836
  <meta name="viewport" content="width=device-width, initial-scale=1">
7833
- <title>Sign in \u2014 Maxy</title>
7837
+ <title>Sign in \u2014 ${escapeHtml(productName)}</title>
7834
7838
  <link rel="preconnect" href="https://fonts.googleapis.com">
7835
7839
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
7836
- <link href="https://fonts.googleapis.com/css2?family=Cormorant:wght@300;400&family=DM+Sans:wght@400;500&display=swap" rel="stylesheet">
7840
+ <link href="https://fonts.googleapis.com/css2?family=${encodeURIComponent(displayFont)}:wght@300;400&family=${encodeURIComponent(bodyFont)}:wght@400;500&display=swap" rel="stylesheet">
7837
7841
  <style>
7838
7842
  * { margin: 0; padding: 0; box-sizing: border-box; }
7839
7843
  body {
7840
- font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
7844
+ font-family: '${bodyFont}', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
7841
7845
  background: #FAFAF8;
7842
7846
  color: #1A1A1A;
7843
7847
  min-height: 100vh;
@@ -7861,7 +7865,7 @@ function renderLoginPage(opts) {
7861
7865
  object-fit: contain;
7862
7866
  }
7863
7867
  .title {
7864
- font-family: 'Cormorant', Georgia, serif;
7868
+ font-family: '${displayFont}', Georgia, serif;
7865
7869
  font-weight: 300;
7866
7870
  font-size: 28px;
7867
7871
  color: #1A1A1A;
@@ -8003,8 +8007,8 @@ function renderLoginPage(opts) {
8003
8007
  </head>
8004
8008
  <body>
8005
8009
  <div class="page">
8006
- <img src="/brand/maxy-monochrome.png" alt="Maxy" class="logo-img">
8007
- <h1 class="title">Maxy</h1>
8010
+ <img src="${escapeHtml(logoSrc)}" alt="${escapeHtml(productName)}" class="logo-img">
8011
+ <h1 class="title">${escapeHtml(productName)}</h1>
8008
8012
  <p class="subtitle">${escapeHtml(subtitleText)}</p>
8009
8013
 
8010
8014
  ${successHtml}
@@ -8096,7 +8100,7 @@ function renderLoginPage(opts) {
8096
8100
  <script>
8097
8101
  (function() {
8098
8102
  try {
8099
- var ch = new BroadcastChannel('maxy-onboarding');
8103
+ var ch = new BroadcastChannel('platform-onboarding');
8100
8104
  ch.postMessage({ type: 'remote-password-set' });
8101
8105
  ch.close();
8102
8106
  } catch(e) {}
@@ -10045,7 +10049,7 @@ app.post("/__remote-auth/login", async (c) => {
10045
10049
  const rateLimited = checkRateLimit(clientIp);
10046
10050
  if (rateLimited) {
10047
10051
  const remaining = parseInt(rateLimited.match(/(\d+)s/)?.[1] ?? "0", 10);
10048
- return c.html(renderLoginPage({ lockoutSeconds: remaining || void 0 }), 200);
10052
+ return c.html(renderLoginPage({ ...brandLoginOpts, lockoutSeconds: remaining || void 0 }), 200);
10049
10053
  }
10050
10054
  const body = await c.req.text();
10051
10055
  if (Buffer.byteLength(body) > MAX_LOGIN_BODY) {
@@ -10056,13 +10060,13 @@ app.post("/__remote-auth/login", async (c) => {
10056
10060
  const rawRedirect = params.get("redirect")?.trim() || "/";
10057
10061
  const redirect = rawRedirect.startsWith("/") && !rawRedirect.startsWith("//") ? rawRedirect : "/";
10058
10062
  if (!password) {
10059
- return c.html(renderLoginPage({ error: "Password is required", redirect }), 200);
10063
+ return c.html(renderLoginPage({ ...brandLoginOpts, error: "Password is required", redirect }), 200);
10060
10064
  }
10061
10065
  const valid = await verifyRemotePassword(password);
10062
10066
  if (!valid) {
10063
10067
  recordFailedAttempt(clientIp);
10064
10068
  console.error(`[remote-auth] login failed ip=${clientIp}`);
10065
- return c.html(renderLoginPage({ error: "Invalid credentials", redirect }), 200);
10069
+ return c.html(renderLoginPage({ ...brandLoginOpts, error: "Invalid credentials", redirect }), 200);
10066
10070
  }
10067
10071
  clearRateLimit(clientIp);
10068
10072
  const token = createRemoteSession();
@@ -10097,7 +10101,7 @@ app.post("/__remote-auth/change-password", async (c) => {
10097
10101
  const rateLimited = checkRateLimit(clientIp);
10098
10102
  if (rateLimited) {
10099
10103
  const remaining = parseInt(rateLimited.match(/(\d+)s/)?.[1] ?? "0", 10);
10100
- return c.html(renderLoginPage({ lockoutSeconds: remaining || void 0 }), 200);
10104
+ return c.html(renderLoginPage({ ...brandLoginOpts, lockoutSeconds: remaining || void 0 }), 200);
10101
10105
  }
10102
10106
  const body = await c.req.text();
10103
10107
  if (Buffer.byteLength(body) > MAX_LOGIN_BODY) {
@@ -10110,21 +10114,22 @@ app.post("/__remote-auth/change-password", async (c) => {
10110
10114
  const rawRedirect = params.get("redirect")?.trim() || "/";
10111
10115
  const redirect = rawRedirect.startsWith("/") && !rawRedirect.startsWith("//") ? rawRedirect : "/";
10112
10116
  if (!currentPassword || !newPassword || !confirmPassword) {
10113
- return c.html(renderLoginPage({ mode: "change", changeError: "All fields are required", redirect }), 200);
10117
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "change", changeError: "All fields are required", redirect }), 200);
10114
10118
  }
10115
10119
  const valid = await verifyRemotePassword(currentPassword);
10116
10120
  if (!valid) {
10117
10121
  recordFailedAttempt(clientIp);
10118
10122
  console.error(`[remote-auth] change-password failed (wrong current) ip=${clientIp}`);
10119
- return c.html(renderLoginPage({ mode: "change", changeError: "Current password is incorrect", redirect }), 200);
10123
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "change", changeError: "Current password is incorrect", redirect }), 200);
10120
10124
  }
10121
10125
  if (newPassword !== confirmPassword) {
10122
- return c.html(renderLoginPage({ mode: "change", changeError: "New passwords do not match", redirect }), 200);
10126
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "change", changeError: "New passwords do not match", redirect }), 200);
10123
10127
  }
10124
10128
  if (!isPasswordValid(newPassword)) {
10125
10129
  const reqs = validatePasswordStrength(newPassword);
10126
10130
  const failed = reqs.filter((r) => !r.met);
10127
10131
  return c.html(renderLoginPage({
10132
+ ...brandLoginOpts,
10128
10133
  mode: "change",
10129
10134
  changeError: `Requirements not met: ${failed.map((r) => r.label.toLowerCase()).join(", ")}`,
10130
10135
  redirect
@@ -10134,17 +10139,17 @@ app.post("/__remote-auth/change-password", async (c) => {
10134
10139
  await setRemotePassword(newPassword);
10135
10140
  clearRateLimit(clientIp);
10136
10141
  console.error(`[remote-auth] password changed ip=${clientIp}`);
10137
- return c.html(renderLoginPage({ success: "Password changed successfully. Sign in with your new password.", redirect }), 200);
10142
+ return c.html(renderLoginPage({ ...brandLoginOpts, success: "Password changed successfully. Sign in with your new password.", redirect }), 200);
10138
10143
  } catch (err) {
10139
10144
  console.error(`[remote-auth] change-password save failed: ${err}`);
10140
- return c.html(renderLoginPage({ mode: "change", changeError: "Failed to save password", redirect }), 200);
10145
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "change", changeError: "Failed to save password", redirect }), 200);
10141
10146
  }
10142
10147
  });
10143
10148
  app.get("/__remote-auth/setup", (c) => {
10144
10149
  if (isRemoteAuthConfigured()) {
10145
10150
  return c.redirect("/");
10146
10151
  }
10147
- return c.html(renderLoginPage({ mode: "setup" }), 200);
10152
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "setup" }), 200);
10148
10153
  });
10149
10154
  app.post("/__remote-auth/set-initial-password", async (c) => {
10150
10155
  if (isRemoteAuthConfigured()) {
@@ -10158,15 +10163,16 @@ app.post("/__remote-auth/set-initial-password", async (c) => {
10158
10163
  const password = params.get("password") ?? "";
10159
10164
  const confirmPassword = params.get("confirm_password") ?? "";
10160
10165
  if (!password || !confirmPassword) {
10161
- return c.html(renderLoginPage({ mode: "setup", setupError: "Both fields are required" }), 200);
10166
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "setup", setupError: "Both fields are required" }), 200);
10162
10167
  }
10163
10168
  if (password !== confirmPassword) {
10164
- return c.html(renderLoginPage({ mode: "setup", setupError: "Passwords do not match" }), 200);
10169
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "setup", setupError: "Passwords do not match" }), 200);
10165
10170
  }
10166
10171
  if (!isPasswordValid(password)) {
10167
10172
  const reqs = validatePasswordStrength(password);
10168
10173
  const failed = reqs.filter((r) => !r.met);
10169
10174
  return c.html(renderLoginPage({
10175
+ ...brandLoginOpts,
10170
10176
  mode: "setup",
10171
10177
  setupError: `Requirements not met: ${failed.map((r) => r.label.toLowerCase()).join(", ")}`
10172
10178
  }), 200);
@@ -10178,10 +10184,10 @@ app.post("/__remote-auth/set-initial-password", async (c) => {
10178
10184
  c.req.header("x-forwarded-for")
10179
10185
  ) ?? "unknown";
10180
10186
  console.error(`[remote-auth] initial password set ip=${clientIp}`);
10181
- return c.html(renderLoginPage({ mode: "success" }), 200);
10187
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "success" }), 200);
10182
10188
  } catch (err) {
10183
10189
  console.error(`[remote-auth] initial password save failed: ${err}`);
10184
- return c.html(renderLoginPage({ mode: "setup", setupError: "Failed to save password. Please try again." }), 200);
10190
+ return c.html(renderLoginPage({ ...brandLoginOpts, mode: "setup", setupError: "Failed to save password. Please try again." }), 200);
10185
10191
  }
10186
10192
  });
10187
10193
  app.get("/api/remote-auth/status", () => {
@@ -10246,7 +10252,7 @@ app.use("*", async (c, next) => {
10246
10252
  return;
10247
10253
  }
10248
10254
  console.error(`[remote-auth] login required ip=${clientIp} path=${path}`);
10249
- return c.html(renderLoginPage({ redirect: path }), 200);
10255
+ return c.html(renderLoginPage({ ...brandLoginOpts, redirect: path }), 200);
10250
10256
  });
10251
10257
  function parseCookie(cookieHeader, name) {
10252
10258
  if (!cookieHeader) return null;
@@ -10296,13 +10302,24 @@ app.get(
10296
10302
  );
10297
10303
  var htmlCache = /* @__PURE__ */ new Map();
10298
10304
  var brandLogoPath = "/brand/maxy-monochrome.png";
10305
+ var brandDisplayFont = "Cormorant";
10306
+ var brandBodyFont = "DM Sans";
10299
10307
  if (BRAND_JSON_PATH && existsSync17(BRAND_JSON_PATH)) {
10300
10308
  try {
10301
10309
  const fullBrand = JSON.parse(readFileSync17(BRAND_JSON_PATH, "utf-8"));
10302
10310
  if (fullBrand.assets?.logo) brandLogoPath = `/brand/${fullBrand.assets.logo}`;
10311
+ const extractFontName = (stack) => stack.split(",")[0].replace(/'/g, "").trim();
10312
+ if (fullBrand.defaultFonts?.display) brandDisplayFont = extractFontName(fullBrand.defaultFonts.display);
10313
+ if (fullBrand.defaultFonts?.body) brandBodyFont = extractFontName(fullBrand.defaultFonts.body);
10303
10314
  } catch {
10304
10315
  }
10305
10316
  }
10317
+ var brandLoginOpts = {
10318
+ productName: BRAND.productName,
10319
+ logoSrc: brandLogoPath,
10320
+ displayFont: brandDisplayFont,
10321
+ bodyFont: brandBodyFont
10322
+ };
10306
10323
  var brandScript = `<script>window.__BRAND__=${JSON.stringify({
10307
10324
  productName: BRAND.productName,
10308
10325
  hostname: BRAND.hostname,
@@ -2,6 +2,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
3
  import { z } from "zod";
4
4
  import * as cloudflared from "./lib/cloudflared.js";
5
+ import { BRAND } from "./lib/cloudflared.js";
5
6
  const server = new McpServer({
6
7
  name: "cloudflare",
7
8
  version: "0.2.0",
@@ -318,7 +319,7 @@ server.tool("tunnel-create", "Create a Cloudflare Tunnel and route DNS for admin
318
319
  // Create or reuse tunnel
319
320
  const result = await cloudflared.createTunnel(name);
320
321
  // Configure ingress rules on Cloudflare's edge
321
- await cloudflared.configureTunnel(result.tunnelId, domain, 19200);
322
+ await cloudflared.configureTunnel(result.tunnelId, domain, BRAND.port);
322
323
  // Create DNS CNAME records
323
324
  const zoneId = await cloudflared.getZoneId(domain);
324
325
  const adminDns = await cloudflared.createDnsRecord(zoneId, `admin.${domain}`, result.tunnelId);
@@ -427,7 +428,7 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
427
428
  }
428
429
  // GATE 2: Remote auth must be configured (verified via live API, not file check)
429
430
  try {
430
- const res = await fetch("http://127.0.0.1:19200/api/remote-auth/status", {
431
+ const res = await fetch(`http://127.0.0.1:${BRAND.port}/api/remote-auth/status`, {
431
432
  signal: AbortSignal.timeout(5000),
432
433
  });
433
434
  const body = await res.json();
@@ -448,7 +449,7 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
448
449
  content: [
449
450
  {
450
451
  type: "text",
451
- text: `REFUSED: Cannot verify remote authentication — the web server at http://127.0.0.1:19200 is not reachable. The admin interface cannot be exposed without a running auth gate.\n\nEnsure the Maxy platform is running before enabling the tunnel.`,
452
+ text: `REFUSED: Cannot verify remote authentication — the web server at http://127.0.0.1:${BRAND.port} is not reachable. The admin interface cannot be exposed without a running auth gate.\n\nEnsure the ${BRAND.productName} platform is running before enabling the tunnel.`,
452
453
  },
453
454
  ],
454
455
  isError: true,
@@ -479,7 +480,7 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
479
480
  content: [
480
481
  {
481
482
  type: "text",
482
- text: `Tunnel process exited immediately after starting. Check ~/.maxy/logs/cloudflared.log for details.`,
483
+ text: `Tunnel process exited immediately after starting. Check ~/${BRAND.configDir}/logs/cloudflared.log for details.`,
483
484
  },
484
485
  ],
485
486
  isError: true,
@@ -512,7 +513,7 @@ server.tool("tunnel-enable", "Start the Cloudflare Tunnel process. The tunnel mu
512
513
  content: [
513
514
  {
514
515
  type: "text",
515
- text: `Tunnel process is running (PID ${status.pid}) but https://public.${domain} returned HTTP 530 after 30s of retries. Cloudflare's edge cannot route traffic to this tunnel.\n\nCommon causes:\n 1. Stale DNS CNAME records pointing to a previous tunnel — run tunnel-create again to fix\n 2. UDP buffer too small for QUIC — check ~/.maxy/logs/cloudflared.log\n 3. Firewall blocking outbound QUIC to Cloudflare edge\n\nThe tunnel is NOT working. Do not report success.`,
516
+ text: `Tunnel process is running (PID ${status.pid}) but https://public.${domain} returned HTTP 530 after 30s of retries. Cloudflare's edge cannot route traffic to this tunnel.\n\nCommon causes:\n 1. Stale DNS CNAME records pointing to a previous tunnel — run tunnel-create again to fix\n 2. UDP buffer too small for QUIC — check ~/${BRAND.configDir}/logs/cloudflared.log\n 3. Firewall blocking outbound QUIC to Cloudflare edge\n\nThe tunnel is NOT working. Do not report success.`,
516
517
  },
517
518
  ],
518
519
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  import Cloudflare from "cloudflare";
2
+ declare let BRAND: {
3
+ configDir: string;
4
+ port: number;
5
+ productName: string;
6
+ };
7
+ /** Brand config for use by the MCP server (index.ts). */
8
+ export { BRAND };
2
9
  export declare function findBinary(): string | null;
3
10
  export declare function isInstalled(): boolean;
4
11
  export declare function version(): string | null;
@@ -97,5 +104,4 @@ export interface TunnelStatus {
97
104
  export declare function getStatus(domain?: string): Promise<TunnelStatus>;
98
105
  export declare function startTunnel(connectorToken: string, tunnelId: string, domain: string): void;
99
106
  export declare function stopTunnel(): void;
100
- export {};
101
107
  //# sourceMappingURL=cloudflared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflared.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,30 @@ import { join } from "node:path";
5
5
  import { homedir } from "node:os";
6
6
  import Cloudflare from "cloudflare";
7
7
  // ---------------------------------------------------------------------------
8
+ // Brand manifest — read at boot from platform/config/brand.json.
9
+ // Provides configDir and port for brand-specific paths.
10
+ // ---------------------------------------------------------------------------
11
+ const PLATFORM_ROOT = process.env.PLATFORM_ROOT || "";
12
+ const BRAND_JSON_PATH = PLATFORM_ROOT
13
+ ? join(PLATFORM_ROOT, "config", "brand.json")
14
+ : "";
15
+ let BRAND = { configDir: ".maxy", port: 19200, productName: "Maxy" };
16
+ if (BRAND_JSON_PATH && existsSync(BRAND_JSON_PATH)) {
17
+ try {
18
+ const parsed = JSON.parse(readFileSync(BRAND_JSON_PATH, "utf-8"));
19
+ BRAND = { ...BRAND, ...parsed };
20
+ }
21
+ catch (err) {
22
+ console.error(`[cloudflared] Failed to parse brand.json: ${err.message}`);
23
+ process.exit(1);
24
+ }
25
+ }
26
+ else if (BRAND_JSON_PATH) {
27
+ console.error(`[cloudflared] WARNING: brand.json not found at ${BRAND_JSON_PATH} — using Maxy defaults`);
28
+ }
29
+ /** Brand config for use by the MCP server (index.ts). */
30
+ export { BRAND };
31
+ // ---------------------------------------------------------------------------
8
32
  // Binary detection (unchanged — cloudflared binary still needed for daemon)
9
33
  // ---------------------------------------------------------------------------
10
34
  let cachedBinaryPath = null;
@@ -259,7 +283,7 @@ export async function getTunnelIngress(tunnelId) {
259
283
  service: r.service ?? "",
260
284
  }));
261
285
  }
262
- export async function addHostnameToIngress(tunnelId, hostname, port = 19200) {
286
+ export async function addHostnameToIngress(tunnelId, hostname, port = BRAND.port) {
263
287
  const rules = await getTunnelIngress(tunnelId);
264
288
  // Idempotent — skip if hostname already has an ingress rule
265
289
  if (rules.some((r) => r.hostname === hostname)) {
@@ -284,9 +308,9 @@ export async function addHostnameToIngress(tunnelId, hostname, port = 19200) {
284
308
  return { added: true, alreadyPresent: false };
285
309
  }
286
310
  // ---------------------------------------------------------------------------
287
- // Alias domain persistence — ~/.maxy/alias-domains.json
311
+ // Alias domain persistence — ~/{configDir}/alias-domains.json
288
312
  // ---------------------------------------------------------------------------
289
- const ALIAS_DOMAINS_FILE = join(homedir(), ".maxy", "alias-domains.json");
313
+ const ALIAS_DOMAINS_FILE = join(homedir(), BRAND.configDir, "alias-domains.json");
290
314
  export function loadAliasDomains() {
291
315
  try {
292
316
  if (!existsSync(ALIAS_DOMAINS_FILE))
@@ -309,7 +333,7 @@ export function saveAliasDomain(hostname) {
309
333
  if (existing.has(hostname))
310
334
  return; // idempotent
311
335
  existing.add(hostname);
312
- const dir = join(homedir(), ".maxy");
336
+ const dir = join(homedir(), BRAND.configDir);
313
337
  mkdirSync(dir, { recursive: true });
314
338
  writeFileSync(ALIAS_DOMAINS_FILE, JSON.stringify([...existing], null, 2), "utf-8");
315
339
  }
@@ -474,8 +498,8 @@ export function startTunnel(connectorToken, tunnelId, domain) {
474
498
  }
475
499
  // UDP buffer sizes for QUIC stability are persisted via /etc/sysctl.d/99-maxy-quic.conf
476
500
  // (written by the installer). No runtime sysctl calls needed.
477
- // Log to ~/.maxy/logs/ so crashes are diagnosable
478
- const logDir = join(homedir(), ".maxy/logs");
501
+ // Log to ~/{configDir}/logs/ so crashes are diagnosable
502
+ const logDir = join(homedir(), BRAND.configDir, "logs");
479
503
  mkdirSync(logDir, { recursive: true });
480
504
  const logPath = join(logDir, "cloudflared.log");
481
505
  const logFd = openSync(logPath, "a");
@@ -1 +1 @@
1
- {"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudflared.js","sourceRoot":"","sources":["../../src/lib/cloudflared.ts"],"names":[],"mappings":"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"}
@@ -134,17 +134,21 @@ If the domain shows Pending status, the nameservers at the registrar still point
134
134
 
135
135
  25. **Set remote password.** The remote password gates external access to the admin interface — `tunnel-enable` refuses to start without it. The password is set by the user in their own browser, never in chat.
136
136
 
137
- Check: `test -f ~/.maxy/.remote-password && echo "exists" || echo "missing"` via Bash.
137
+ **Derive paths from the platform.** Call `platform-check` (admin MCP tool) to get the hostname and brand info. The response includes `configDir` (e.g., `.maxy` or `.realagent`) and `port` (e.g., `19200` or `19300`). Use these to construct the file path and URL — never hardcode them.
138
+
139
+ Check: `test -f ~/{configDir}/.remote-password && echo "exists" || echo "missing"` via Bash (substituting the actual configDir from platform-check).
138
140
 
139
141
  - If exists: proceed to enable.
140
142
  - If missing: tell the user to open the setup page in their own browser (not the VNC browser) and set a remote access password. This password protects admin access over the internet — separate from the local PIN.
141
143
 
144
+ Construct the URL from platform-check output: `http://{hostname}.local:{port}/__remote-auth/setup`
145
+
142
146
  > Open this URL in your browser to set your remote access password:
143
- > **http://maxy.local:19200/__remote-auth/setup**
147
+ > **{constructed URL}**
144
148
  >
145
149
  > Choose a strong password — at least 8 characters, with a number and a special character. You'll use this password when accessing your platform remotely.
146
150
 
147
- - **Verification gate:** After the user confirms, wait 3 seconds before checking the file — scrypt hashing and file write on the Pi take a moment. Check `sleep 3 && test -f ~/.maxy/.remote-password && echo "exists" || echo "missing"` via Bash. When the file exists, confirm and proceed. If the file doesn't exist after the delay, tell the user to try again — the form may not have submitted successfully.
151
+ - **Verification gate:** After the user confirms, wait 3 seconds before checking the file — scrypt hashing and file write on the Pi take a moment. Check `sleep 3 && test -f ~/{configDir}/.remote-password && echo "exists" || echo "missing"` via Bash. When the file exists, confirm and proceed. If the file doesn't exist after the delay, tell the user to try again — the form may not have submitted successfully.
148
152
 
149
153
  - **The agent never collects, sees, or handles the password.** It only verifies the file exists.
150
154