@rubytech/create-maxy-code 0.1.487 → 0.1.489
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 +1 -1
- package/payload/platform/docs/superpowers/plans/2026-07-22-task-1899-reconcile-report-only.md +748 -0
- package/payload/platform/docs/superpowers/specs/2026-07-22-task-1899-reconcile-report-only-design.md +121 -0
- package/payload/platform/lib/active-rules/package-lock.json +12 -0
- package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.js +51 -0
- package/payload/platform/lib/graph-mcp/dist/__tests__/schema-cypher-parser.test.js.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts +2 -2
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.d.ts.map +1 -1
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js +20 -4
- package/payload/platform/lib/graph-mcp/dist/schema-cypher-parser.js.map +1 -1
- package/payload/platform/lib/graph-mcp/src/__tests__/schema-cypher-parser.test.ts +55 -0
- package/payload/platform/lib/graph-mcp/src/schema-cypher-parser.ts +19 -4
- package/payload/platform/lib/graph-style/dist/index.d.ts +24 -0
- package/payload/platform/lib/graph-style/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/graph-style/dist/index.js +25 -1
- package/payload/platform/lib/graph-style/dist/index.js.map +1 -1
- package/payload/platform/lib/graph-style/src/__tests__/additional-base-labels.test.ts +22 -0
- package/payload/platform/lib/graph-style/src/index.ts +27 -0
- package/payload/platform/lib/storage-broker/dist/__tests__/audit.test.js +15 -0
- package/payload/platform/lib/storage-broker/dist/__tests__/audit.test.js.map +1 -1
- package/payload/platform/lib/storage-broker/dist/audit.d.ts +5 -0
- package/payload/platform/lib/storage-broker/dist/audit.d.ts.map +1 -1
- package/payload/platform/lib/storage-broker/dist/audit.js +3 -2
- package/payload/platform/lib/storage-broker/dist/audit.js.map +1 -1
- package/payload/platform/lib/storage-broker/src/__tests__/audit.test.ts +21 -0
- package/payload/platform/lib/storage-broker/src/audit.ts +8 -2
- package/payload/platform/neo4j/schema.cypher +105 -0
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +8 -2
- package/payload/platform/plugins/cloudflare/PLUGIN.md +22 -2
- package/payload/platform/plugins/cloudflare/bin/portal-index-push.mjs +30 -8
- package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-directory-listing.test.ts +75 -13
- package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-index-push.test.ts +77 -9
- package/payload/platform/plugins/cloudflare/mcp/__tests__/portal-indexed-download.test.ts +38 -2
- package/payload/platform/plugins/cloudflare/mcp/__tests__/template-config.test.ts +72 -0
- package/payload/platform/plugins/cloudflare/skills/data-portal/SKILL.md +43 -7
- package/payload/platform/plugins/cloudflare/skills/data-portal/schema.sql +22 -7
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/download.ts +14 -2
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/functions/api/files.ts +23 -5
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/index.html +3 -0
- package/payload/platform/plugins/cloudflare/skills/data-portal/template/portal.js +46 -5
- package/payload/platform/plugins/docs/references/calendar-booking.md +5 -1
- package/payload/platform/plugins/docs/references/internals.md +2 -0
- package/payload/platform/plugins/memory/PLUGIN.md +1 -0
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js +61 -31
- package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/schema-cypher-drift.test.js.map +1 -1
- package/payload/platform/plugins/memory/references/schema-construction.md +13 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/index.js +2 -2
- package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-reconcile.test.js +70 -5
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/booking-reconcile.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js +31 -6
- package/payload/platform/plugins/scheduling/mcp/dist/lib/__tests__/getUserTimezone.test.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts +31 -4
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js +18 -7
- package/payload/platform/plugins/scheduling/mcp/dist/lib/booking-reconcile.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts +15 -6
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js +24 -11
- package/payload/platform/plugins/scheduling/mcp/dist/lib/neo4j.js.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js +84 -5
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/reconcile-bookings.js.map +1 -1
- package/payload/platform/plugins/storage-broker/PLUGIN.md +1 -0
- package/payload/platform/scripts/__tests__/account-schema-owned-dirs.test.sh +22 -2
- package/payload/platform/scripts/__tests__/quarantine-restore.test.sh +143 -0
- package/payload/platform/scripts/quarantine-restore.mjs +175 -0
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +24 -7
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +55 -72
- package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +11 -8
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +32 -0
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +32 -2
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/targets.d.ts +6 -1
- package/payload/platform/services/whatsapp-channel/dist/targets.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/targets.js +6 -0
- package/payload/platform/services/whatsapp-channel/dist/targets.js.map +1 -1
- package/payload/platform/templates/account-schema/SCHEMA.md +7 -4
- package/payload/server/{chunk-REWXLAPC.js → chunk-UFXRUKXO.js} +4 -2
- package/payload/server/public/activity.html +6 -6
- package/payload/server/public/assets/{AdminLoginScreens-DF9S5Rca.js → AdminLoginScreens-Dic_fPt6.js} +1 -1
- package/payload/server/public/assets/{AdminShell-B0PNDCAb.js → AdminShell-JN7rZ8aG.js} +1 -1
- package/payload/server/public/assets/{Checkbox-s5X6dso4.js → Checkbox-CB74kINA.js} +1 -1
- package/payload/server/public/assets/{activity-BRBsaalV.js → activity-DbfpHg3i.js} +1 -1
- package/payload/server/public/assets/{admin-BoVCP4Mw.js → admin-DvQPTxqe.js} +1 -1
- package/payload/server/public/assets/{bot-BVO9Uqr_.js → bot-DnuyRsLS.js} +1 -1
- package/payload/server/public/assets/{browser-BVW4FFii.js → browser-q4EFqKvR.js} +1 -1
- package/payload/server/public/assets/{calendar-CWsD3uLk.js → calendar-C-q9kWmA.js} +1 -1
- package/payload/server/public/assets/chat-DcefIV9q.js +1 -0
- package/payload/server/public/assets/chevron-down-Blma_CKl.js +1 -0
- package/payload/server/public/assets/chevron-left-xeYDxFiC.js +1 -0
- package/payload/server/public/assets/chevron-right-BonbtjqJ.js +1 -0
- package/payload/server/public/assets/data-Bu-5SUmR.js +1 -0
- package/payload/server/public/assets/{graph-mJ9ky5dc.js → graph-Cyh6FWaV.js} +1 -1
- package/payload/server/public/assets/graph-labels-CUQtXFKW.js +1 -0
- package/payload/server/public/assets/{maximize-2-yucCepu_.js → maximize-2-k3Fu5hdP.js} +1 -1
- package/payload/server/public/assets/{operator-911z_Fy_.js → operator-8NVpNLeD.js} +1 -1
- package/payload/server/public/assets/{page-Cv0qUwMG.js → page-Cno8NNMk.js} +1 -1
- package/payload/server/public/assets/{page-CgSgj8Cy.js → page-DhwPG5Zf.js} +1 -1
- package/payload/server/public/assets/{public-BzwveFwz.js → public-BJ5Oo2Fw.js} +1 -1
- package/payload/server/public/assets/{rotate-ccw-BH51cf2Q.js → rotate-ccw-D-ov5jM4.js} +1 -1
- package/payload/server/public/assets/tasks-DHMxTZVD.js +1 -0
- package/payload/server/public/assets/{time-entry-format-DPdGkp1C.js → time-entry-format-EmV5lz6o.js} +1 -1
- package/payload/server/public/assets/{triangle-alert-DO2rjjfV.js → triangle-alert-CivyPfAL.js} +1 -1
- package/payload/server/public/assets/{useCopyFeedback-HMSM7-Ir.js → useCopyFeedback-hbnPS-r9.js} +1 -1
- package/payload/server/public/assets/{useSubAccountSwitcher-2ojOOYNo.css → useSubAccountSwitcher-kwhG-aJj.css} +1 -1
- package/payload/server/public/assets/{useVoiceRecorder-BcukQIza.js → useVoiceRecorder-QN9_GqB_.js} +1 -1
- package/payload/server/public/browser.html +4 -4
- package/payload/server/public/calendar.html +6 -6
- package/payload/server/public/chat.html +13 -13
- package/payload/server/public/data.html +10 -10
- package/payload/server/public/graph.html +11 -11
- package/payload/server/public/index.html +16 -16
- package/payload/server/public/operator.html +15 -15
- package/payload/server/public/public.html +13 -13
- package/payload/server/public/tasks.html +6 -6
- package/payload/server/server.js +1036 -784
- package/payload/server/{src-JJ6PHO5I.js → src-YJF3UJNR.js} +1 -1
- package/payload/server/public/assets/chat-DKGREuIO.js +0 -1
- package/payload/server/public/assets/chevron-down-m581tl1J.js +0 -1
- package/payload/server/public/assets/chevron-left-BAY0xfmR.js +0 -1
- package/payload/server/public/assets/chevron-right-Dy_REdYZ.js +0 -1
- package/payload/server/public/assets/data-CtOxa94P.js +0 -1
- package/payload/server/public/assets/graph-labels-C8-sIKuv.js +0 -1
- package/payload/server/public/assets/tasks-21egY7A6.js +0 -1
- /package/payload/server/public/assets/{useSubAccountSwitcher-DLvqvfoc.js → useSubAccountSwitcher-DotTrvX3.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-TPjIAO9U.js";import{B as t,N as n,O as r,R as i,U as a,_ as o,a as s,b as c,c as l,d as u,g as d,h as f,i as p,p as m,s as h,t as g,u as ee,v as te,w as _,x as ne,y as v}from"./useSubAccountSwitcher-DLvqvfoc.js";import{C as y,E as b,S as re,T as x,n as ie,r as S,s as C,x as ae}from"./useVoiceRecorder-BcukQIza.js";import{t as w}from"./chevron-left-BAY0xfmR.js";import{i as oe,t as T}from"./graph-labels-C8-sIKuv.js";import{t as E}from"./triangle-alert-DO2rjjfV.js";var D=n(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),se=n(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),ce=n(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),O=n(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),le=n(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ue=n(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),de=n(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),fe=n(`mouse-pointer-click`,[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]),k=n(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),pe=n(`smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),me=n(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),A=n(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),j=e(a(),1);function he(){let[e,t]=(0,j.useState)([]),[n,r]=(0,j.useState)(!1),[i,a]=(0,j.useState)(null),o=(0,j.useRef)(null),s=(0,j.useCallback)(e=>{a(null);let n=e.find(e=>!S(e.type,b));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip, voice notes.`);return}let r=e.find(e=>e.size>x);if(r){a(`"${r.name}" exceeds the 50 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,j.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,j.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,j.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,j.useCallback)(()=>{r(!1)},[]),onDrop:(0,j.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var M=[[128512],[128515],[128516],[128513],[128518],[128517],[128514],[129315],[128578],[128579],[128521],[128522],[128519],[128525],[128536],[128535],[128540],[128541],[129303],[129300],[128528],[128566],[128564],[128526],[129395],[128546],[128557],[128548],[128544],[128533],[128556],[129393],[128077],[128078],[128076],[128591],[128079],[128588],[128170],[128075],[129309],[10084,65039],[128293],[11088],[127881],[10024],[128175],[128064]].map(e=>String.fromCodePoint(...e));function ge(e,t,n,r){let i=e.length,a=Math.max(0,Math.min(n??i,i)),o=Math.max(a,Math.min(r??a,i));return{value:e.slice(0,a)+t+e.slice(o),caret:a+t.length}}var N=i();function P({onSelect:e}){return(0,N.jsx)(`div`,{className:`wa-emoji-popover`,role:`menu`,"aria-label":`Emoji picker`,children:M.map((t,n)=>(0,N.jsx)(`button`,{type:`button`,role:`menuitem`,className:`wa-emoji-item`,onClick:()=>e(t),children:t},n))})}function _e({sessionKey:e,onPick:t,onClose:n}){let[r,i]=(0,j.useState)(``),[a,o]=(0,j.useState)(null),[s,c]=(0,j.useState)(null),[l,u]=(0,j.useState)(!1),d=(0,j.useCallback)(t=>{u(!0),c(null),fetch(`/api/admin/files?path=${encodeURIComponent(t)}&session_key=${encodeURIComponent(e)}`).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`Could not list files`);return t}).then(e=>{o(e),i(e.path===`.`?``:e.path)}).catch(e=>c(e instanceof Error?e.message:String(e))).finally(()=>u(!1))},[e]);(0,j.useEffect)(()=>{d(``)},[d]);let p=e=>d(r?`${r}/${e}`:e),m=()=>{let e=r.split(`/`).filter(Boolean);e.pop(),d(e.join(`/`))},h=e=>{let n=e.entryPath??e.name;t({path:r?`${r}/${n}`:n,name:e.displayName??e.name})};return(0,N.jsx)(`div`,{className:`wa-picker-backdrop`,role:`dialog`,"aria-label":`Choose a device file`,onClick:n,children:(0,N.jsxs)(`div`,{className:`wa-picker`,onClick:e=>e.stopPropagation(),children:[(0,N.jsxs)(`div`,{className:`wa-picker-head`,children:[r&&(0,N.jsx)(`button`,{type:`button`,className:`wa-picker-icon-btn`,onClick:m,"aria-label":`Up one folder`,children:(0,N.jsx)(w,{size:18})}),(0,N.jsx)(`span`,{className:`wa-picker-title`,children:r||`Device storage`}),(0,N.jsx)(`button`,{type:`button`,className:`wa-picker-icon-btn`,onClick:n,"aria-label":`Close file picker`,children:(0,N.jsx)(f,{size:18})})]}),s&&(0,N.jsx)(`p`,{className:`wa-picker-error`,role:`alert`,children:s}),l&&(0,N.jsx)(`p`,{className:`wa-picker-empty`,children:`Loading…`}),a&&!l&&(0,N.jsxs)(`ul`,{className:`wa-picker-list`,children:[a.entries.length===0&&(0,N.jsx)(`li`,{className:`wa-picker-empty`,children:`This folder is empty.`}),a.entries.map(e=>(0,N.jsx)(`li`,{children:e.kind===`directory`?(0,N.jsxs)(`button`,{type:`button`,className:`wa-picker-row`,onClick:()=>p(e.name),children:[(0,N.jsx)(O,{size:16,"aria-hidden":!0}),(0,N.jsx)(`span`,{className:`wa-picker-name`,children:e.displayName??e.name})]}):e.kind===`file`?(0,N.jsxs)(`button`,{type:`button`,className:`wa-picker-row`,onClick:()=>h(e),children:[(0,N.jsx)(re,{size:16,"aria-hidden":!0}),(0,N.jsx)(`span`,{className:`wa-picker-name`,children:e.displayName??e.name})]}):null},e.name))]})]})})}function ve(e){return`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`}function F({accountId:e,remoteJid:t,sessionKey:n,replyTo:r,onClearReply:i}){let[a,s]=(0,j.useState)(``),[l,u]=(0,j.useState)(!1),[p,m]=(0,j.useState)(null),[h,g]=(0,j.useState)(!1),[ee,te]=(0,j.useState)(!1),[_,ne]=(0,j.useState)(!1),[v,b]=(0,j.useState)([]),x=(0,j.useRef)(null),{pendingFiles:S,attachError:C,addFiles:w,removeFile:oe,clearFiles:T}=he(),{state:E,elapsedSeconds:D,errorMessage:se,start:ce,send:O,discard:ue}=ie(),de=E===`recording`||E===`paused`,fe=(0,j.useCallback)(()=>{console.info(`[operator-ui] op=voice-record state=start ms=0`),ce()},[ce]),me=(0,j.useCallback)(async()=>{let e=D*1e3,t=await O();if(console.info(`[operator-ui] op=voice-record state=stop ms=${e}`),t){let e=t.type===`audio/ogg`?`.ogg`:t.type===`audio/mp4`?`.m4a`:`.webm`;w([new File([t],`voice-note${e}`,{type:t.type})])}},[D,O,w]),A=(0,j.useCallback)(()=>{console.info(`[operator-ui] op=voice-record state=cancel ms=${D*1e3}`),ue()},[D,ue]),M=(0,j.useRef)(!1),F=()=>Math.round((typeof window>`u`?900:window.innerHeight)/3),[I,ye]=(0,j.useState)(null),[be,xe]=(0,j.useState)(null),L=(0,j.useRef)(null),R=(0,j.useRef)(44),z=(0,j.useCallback)(e=>{let t=L.current;if(!t)return;t.moved=!0;let n=Math.min(F(),Math.max(44,t.startH+(t.startY-e.clientY)));R.current=n,ye(n)},[]),B=(0,j.useCallback)(()=>{let e=L.current?.moved??!1;L.current=null,window.removeEventListener(`pointermove`,z),window.removeEventListener(`pointerup`,B),e&&console.info(`[operator-ui] op=wa-composer-resize mode=drag h=${R.current}`)},[z]),Se=(0,j.useCallback)(e=>{L.current={startY:e.clientY,startH:x.current?.offsetHeight??44,moved:!1},window.addEventListener(`pointermove`,z),window.addEventListener(`pointerup`,B),e.preventDefault()},[z,B]),V=(0,j.useCallback)(e=>{let t=I??x.current?.offsetHeight??44,n=null;e.key===`ArrowUp`?(e.preventDefault(),n=Math.min(F(),t+24)):e.key===`ArrowDown`&&(e.preventDefault(),n=Math.max(44,t-24)),n!==null&&(ye(n),console.info(`[operator-ui] op=wa-composer-resize mode=key h=${n}`))},[I]),Ce=(0,j.useRef)(``);(0,j.useEffect)(()=>{let e=x.current;if(!e)return;let t=Ce.current!==``&&a===``;if(Ce.current=a,I!==null){t&&ye(null);return}let n=e.style.height;e.style.height=`auto`;let r=Math.min(F(),Math.max(44,e.scrollHeight));e.style.height=n,xe(r)},[a,I]);let we=(a.trim().length>0||S.length>0||v.length>0)&&!l,Te=(0,j.useCallback)(async()=>{if(!M.current&&!(a.trim().length===0&&S.length===0&&v.length===0)){M.current=!0,u(!0),m(null);try{let o=`/api/whatsapp-reader/reply?session_key=${encodeURIComponent(n)}`,c;if(S.length>0||v.length>0){let n=new FormData;n.append(`accountId`,e),n.append(`remoteJid`,t),a.trim()&&n.append(`text`,a);for(let e of S)n.append(`files`,e);for(let e of v)n.append(`fileRefs`,e.path);r&&n.append(`quotedId`,r.msgKeyId),c=await fetch(o,{method:`POST`,body:n})}else c=await fetch(o,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({accountId:e,remoteJid:t,text:a,...r?{quotedId:r.msgKeyId}:{}})});let l=await c.json().catch(()=>({}));if(!c.ok){m(l.error??`Send failed.`),console.info(`[operator-ui] op=reply-fail remoteJid=${t} error=${l.error??`unknown`}`);return}s(``),T(),b([]),i?.(),console.info(`[operator-ui] op=reply-sent remoteJid=${t} sent=${l.sent??0}`)}catch(e){m(`Could not reach the server. Try again.`),console.info(`[operator-ui] op=reply-fail remoteJid=${t} error=${String(e)}`)}finally{M.current=!1,u(!1)}}},[a,S,v,r,i,e,t,n,T]),Ee=(0,j.useCallback)(e=>{let t=x.current,{value:n,caret:r}=ge(a,e,t?t.selectionStart:null,t?t.selectionEnd:null);s(n),g(!1),requestAnimationFrame(()=>{let e=x.current;e&&(e.focus(),e.setSelectionRange(r,r))})},[a]),De=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),we&&Te())},H=e=>e.dataTransfer.types.includes(`Files`),Oe=(0,j.useCallback)(e=>{H(e)&&(e.preventDefault(),ne(!0))},[]),ke=(0,j.useCallback)(()=>ne(!1),[]),Ae=(0,j.useCallback)(e=>{if(!H(e))return;e.preventDefault(),ne(!1);let t=[...e.dataTransfer.files];if(t.length===0)return;let n=Math.max(0,S.length+t.length-5);console.info(`[operator-ui] op=composer-drop count=${t.length} rejected=${n}`),w(t)},[S.length,w]),je=e=>e.startsWith(`image/`)?(0,N.jsx)(le,{size:14}):e===`application/pdf`?(0,N.jsx)(re,{size:14}):(0,N.jsx)(y,{size:14});return(0,N.jsxs)(`div`,{className:`wa-reply${_?` wa-reply-drag-over`:``}`,onDragOver:Oe,onDragLeave:ke,onDrop:Ae,children:[ee&&(0,N.jsx)(_e,{sessionKey:n,onPick:e=>{b(t=>[...t,e].slice(0,5)),te(!1)},onClose:()=>te(!1)}),h&&(0,N.jsx)(P,{onSelect:Ee}),p&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:p}),C&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:C}),E===`error`&&se&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:se}),(S.length>0||v.length>0)&&(0,N.jsxs)(`div`,{className:`wa-reply-attachments`,children:[S.map((e,t)=>(0,N.jsxs)(`div`,{className:`wa-reply-chip`,children:[je(e.type),(0,N.jsx)(`span`,{className:`wa-reply-chip-name`,children:e.name}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>oe(t),"aria-label":`Remove ${e.name}`,children:(0,N.jsx)(f,{size:12})})]},`f-${t}`)),v.map((e,t)=>(0,N.jsxs)(`div`,{className:`wa-reply-chip wa-reply-chip-ref`,children:[(0,N.jsx)(re,{size:14}),(0,N.jsx)(`span`,{className:`wa-reply-chip-name`,children:e.name}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>b(e=>e.filter((e,n)=>n!==t)),"aria-label":`Remove ${e.name}`,children:(0,N.jsx)(f,{size:12})})]},`r-${t}`))]}),r&&(0,N.jsxs)(`div`,{className:`wa-reply-quote`,children:[(0,N.jsxs)(`div`,{className:`wa-reply-quote-body`,children:[(0,N.jsx)(`span`,{className:`wa-reply-quote-who`,children:r.fromMe?`You`:r.senderName??`Contact`}),(0,N.jsx)(`span`,{className:`wa-reply-quote-text`,children:r.body||`Message`})]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-quote-cancel`,onClick:()=>i?.(),"aria-label":`Cancel reply`,children:(0,N.jsx)(f,{size:14})})]}),!de&&(0,N.jsx)(`div`,{className:`wa-reply-resize-handle`,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize input — drag up to enlarge`,tabIndex:0,onPointerDown:Se,onKeyDown:V}),(0,N.jsx)(`div`,{className:`wa-reply-row`,children:de?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-attach`,onClick:A,"aria-label":`Cancel recording`,children:(0,N.jsx)(d,{size:20})}),(0,N.jsxs)(`span`,{className:`wa-rec-live`,role:`status`,children:[(0,N.jsx)(`span`,{className:`wa-rec-dot`,"aria-hidden":!0}),ve(D)]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-send`,onClick:()=>void me(),"aria-label":`Stop recording`,children:(0,N.jsx)(o,{size:20})})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-emoji`,onClick:()=>g(e=>!e),disabled:l,"aria-label":`Emoji`,"aria-expanded":h,children:(0,N.jsx)(pe,{size:22})}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-attach`,onClick:()=>te(!0),disabled:l,"aria-label":`Attach files`,children:(0,N.jsx)(c,{size:22})}),(0,N.jsx)(`textarea`,{ref:x,className:`wa-reply-input`,value:a,rows:1,style:{height:`${I??be??44}px`},placeholder:`Type a message`,disabled:l,onChange:e=>s(e.target.value),onKeyDown:De}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-mic`,onClick:()=>void fe(),disabled:l,"aria-label":`Record voice note`,children:(0,N.jsx)(ae,{size:22})}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-send`,onClick:()=>void Te(),disabled:!we,"aria-label":`Send`,children:(0,N.jsx)(k,{size:20})})]})})]})}function I({accountId:e,remoteJid:t,contactName:n,sessionKey:r,onBack:i}){let a=l(t),o=t.split(`@`)[0],s=a?`Group`:n===`+${o}`?void 0:`+${o}`,[c,u]=(0,j.useState)(!1),[d,p]=(0,j.useState)(``),m=()=>{u(!1),p(``)},[h,g]=(0,j.useState)(null);return(0,N.jsxs)(`div`,{className:`wa-web`,children:[(0,N.jsxs)(`header`,{className:`wa-web-header`,children:[i&&(0,N.jsx)(`button`,{type:`button`,className:`wa-web-back`,onClick:i,"aria-label":`Back`,children:(0,N.jsx)(w,{size:20})}),(0,N.jsx)(`span`,{className:`wa-web-avatar`,"aria-hidden":!0,children:(0,N.jsx)(A,{size:20})}),c?(0,N.jsxs)(`div`,{className:`wa-web-search`,children:[(0,N.jsx)(oe,{size:18,"aria-hidden":!0}),(0,N.jsx)(`input`,{className:`wa-web-search-input`,type:`text`,autoFocus:!0,placeholder:`Search messages`,"aria-label":`Search messages`,value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Escape`&&m()}}),(0,N.jsx)(`button`,{type:`button`,className:`wa-web-search-close`,onClick:m,"aria-label":`Close search`,children:(0,N.jsx)(f,{size:18})})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`wa-web-titles`,children:[(0,N.jsx)(`span`,{className:`wa-web-name`,children:n}),s&&(0,N.jsx)(`span`,{className:`wa-web-subtitle`,children:s})]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-web-search-toggle`,onClick:()=>u(!0),"aria-label":`Search messages`,children:(0,N.jsx)(oe,{size:20})})]})]}),(0,N.jsx)(`div`,{className:`wa-web-body`,children:(0,N.jsx)(C,{sessionId:``,projectDir:``,sessionKey:r,forceDeliveredOnly:!0,suppressDirectives:!0,store:{accountId:e,remoteJid:t},search:c?d:void 0,onReplyTo:a?void 0:g})}),a?(0,N.jsx)(`p`,{className:`wa-reply wa-reply-readonly`,children:`Group messages are read-only.`}):(0,N.jsx)(F,{accountId:e,remoteJid:t,sessionKey:r,replyTo:h,onClearReply:()=>g(null)})]})}function ye(e){let t=new Set,n=[];for(let r of e)for(let e of r.labels)e&&(t.has(e)||T.has(e)&&(t.add(e),n.push(e)));return n}function be(e,t,n=`data`){let r=`/api/admin/files/download?session_key=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`+(n===`data`?``:`&root=${encodeURIComponent(n)}`),i=document.createElement(`a`);i.href=r,i.rel=`noopener noreferrer`,document.body.appendChild(i),i.click(),i.remove()}function xe(e,t){let n=new URLSearchParams;n.set(`session_key`,e);for(let e of t)n.append(`path`,e);let r=document.createElement(`a`);r.href=`/api/admin/files/download-zip?${n.toString()}`,r.rel=`noopener noreferrer`,document.body.appendChild(r),r.click(),r.remove()}function L(e,t,n=`data`){return`/api/admin/files/download?session_key=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}&disposition=inline`+(n===`data`?``:`&root=${encodeURIComponent(n)}`)}function R(e){if(!e)return``;let t=new Date(e).getTime();return Number.isFinite(t)?new Date(t).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):``}function z({conversations:e,sessionKey:t,onBack:n}){let[r,i]=(0,j.useState)(null),a=p(e);return r?r.source===`store`&&r.accountId&&r.remoteJid?(0,N.jsx)(I,{accountId:r.accountId,remoteJid:r.remoteJid,contactName:s(r),sessionKey:t,onBack:()=>i(null)},h(r)):(0,N.jsxs)(`div`,{className:`op-conv op-conv-reader`,children:[(0,N.jsxs)(`div`,{className:`op-conv-bar`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-back`,onClick:()=>i(null),"aria-label":`Back to conversations`,children:[(0,N.jsx)(w,{size:16}),` Back`]}),(0,N.jsx)(`span`,{className:`op-conv-title`,children:s(r)})]}),(0,N.jsx)(C,{sessionId:r.sessionId,projectDir:r.projectDir,sessionKey:t,forceDeliveredOnly:!0,suppressDirectives:r.source===`store`,store:r.source===`store`?{accountId:r.accountId,remoteJid:r.remoteJid}:void 0},h(r))]}):(0,N.jsxs)(`div`,{className:`op-conv op-conv-list`,children:[(0,N.jsxs)(`div`,{className:`op-conv-bar`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-back`,onClick:n,"aria-label":`Back to chat`,children:[(0,N.jsx)(w,{size:16}),` Chat`]}),(0,N.jsx)(`span`,{className:`op-conv-title`,children:`Conversations`})]}),a.map(e=>(0,N.jsxs)(`div`,{className:`op-conv-group`,children:[(0,N.jsxs)(`div`,{className:`op-conv-group-head`,children:[(0,N.jsx)(ee,{channel:e.channel,size:14}),e.label]}),e.rows.map(e=>(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-row`,onClick:()=>{console.info(`[operator-ui] op=reader-open channel=${e.channel} key=${h(e)} readonly=true source=${e.source}`),i(e)},children:[(0,N.jsx)(`span`,{className:`op-conv-name`,children:s(e)}),e.modelGated&&(0,N.jsx)(`span`,{className:`op-conv-gated`,role:`img`,"aria-label":`Model unavailable`,children:(0,N.jsx)(E,{size:13})}),(0,N.jsx)(`span`,{className:`op-conv-when`,children:R(e.lastMessageAt)})]},h(e)))]},e.channel))]})}var B=/\.(png|jpe?g|gif|webp|svg)$/i;function Se(e){return B.test(e)}function V(e){return e.entryPath??e.name}var Ce=`maxy-data-view`,we=95*1024*1024,Te=48*1024*1024;function Ee(){return typeof window>`u`?`list`:window.localStorage.getItem(Ce)===`grid`?`grid`:`list`}function De(){let[e,t]=(0,j.useState)(null),[n,r]=(0,j.useState)(!1);return(0,j.useEffect)(()=>{let e=!1,n=null;try{n=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!n){t(null),r(!0);return}return fetch(`/api/admin/session?session_key=${encodeURIComponent(n)}`).then(i=>{if(!e){if(i.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`;return}t(n),r(!0)}}).catch(()=>{e||(t(n),r(!0))}),()=>{e=!0}},[]),n?e?(0,N.jsx)(m,{cacheKey:e,surface:`data`,onSessionExpired:({code:e,path:t})=>{console.warn(`[admin-auth] outcome=session-expired-redirect code=${e} path=${t} surface=data`);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`},children:(0,N.jsx)(`div`,{className:`data-page data-page-full`,children:(0,N.jsx)(H,{cacheKey:e})})}):(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsxs)(`div`,{className:`data-empty`,children:[(0,N.jsx)(`p`,{children:`You are not signed in.`}),(0,N.jsxs)(`p`,{children:[`Open the `,(0,N.jsx)(`a`,{href:`/`,className:`data-link`,children:`main admin page`}),` and log in, then return here.`]})]})}):(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsxs)(`div`,{className:`data-loading`,children:[(0,N.jsx)(_,{size:18,className:`spin`}),` Loading…`]})})}function H({cacheKey:e}){let{adminFetch:n,cacheKey:r,sessionRefetchNonce:i}=t({initialCacheKey:e,surface:`data`});return(0,N.jsx)(Fe,{adminFetch:n,cacheKey:r,sessionRefetchNonce:i})}function Oe(){if(typeof window>`u`)return`.`;let e=new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`path`);return e&&e.length>0?e:`.`}function ke(e){if(typeof window>`u`)return;let t=new URL(window.location.href);t.hash=e===`.`?``:`path=${encodeURIComponent(e)}`,window.history.replaceState(window.history.state,``,t.toString())}function Ae(e){return new Promise((t,n)=>{let r=[],i=()=>e.readEntries(e=>{e.length===0?t(r):(r.push(...e),i())},n);i()})}function je(e){return new Promise((t,n)=>e.file(t,n))}async function Me(e,t=``){let n=[];for(let r of e){if(!r)continue;let e=t?`${t}/${r.name}`:r.name;if(r.isFile)n.push({file:await je(r),relpath:e});else if(r.isDirectory){let t=await Ae(r.createReader());n.push(...await Me(t,e))}}return n}function Ne(e,t){if(e===422&&typeof t==`string`){if(/exceeds the .* limit/i.test(t))return`size`;if(/unsupported file type/i.test(t))return`mime`}return`http=${e}`}function Pe({adminFetch:e,cacheKey:t,sessionRefetchNonce:n}){let[i,a]=(0,j.useState)(``),o=(0,j.useRef)(null),[s,c]=(0,j.useState)(``),[l,u]=(0,j.useState)(null),[p,m]=(0,j.useState)(`hybrid`),[h,g]=(0,j.useState)(!1),[ee,y]=(0,j.useState)(null),[b,x]=(0,j.useState)(null),[ie,S]=(0,j.useState)(0),[C,ae]=(0,j.useState)(!1),[w,T]=(0,j.useState)(()=>Oe()),[E,le]=(0,j.useState)(null),[k,pe]=(0,j.useState)(()=>Ee()),[A,he]=(0,j.useState)(null),[M,ge]=(0,j.useState)([]),[P,_e]=(0,j.useState)(!1),[ve,F]=(0,j.useState)(null),[I,R]=(0,j.useState)(!1),[z,B]=(0,j.useState)(null),[De,H]=(0,j.useState)(null),[Ae,je]=(0,j.useState)(null),[Pe,Fe]=(0,j.useState)(!1),[Ie,ze]=(0,j.useState)(null),Be=(0,j.useRef)(null),[Ve,U]=(0,j.useState)(0),[We,Ge]=(0,j.useState)(!1),[Ke,qe]=(0,j.useState)(``),[Je,Ye]=(0,j.useState)(null),[Xe,Ze]=(0,j.useState)(``),[Qe,$e]=(0,j.useState)(null),W=(()=>{let e=w===`.`?[]:w.split(`/`).filter(Boolean);return e.length>=2&&e[0]===`accounts`})(),[et,tt]=(0,j.useState)(!1),nt=(0,j.useRef)(null),[rt,G]=(0,j.useState)(!1),it=(0,j.useRef)(null);(0,j.useEffect)(()=>{let e=i.trim();if(!e){c(``),u(null),y(null);return}ae(!1);let t=setTimeout(()=>c(e),300);return()=>clearTimeout(t)},[i]),(0,j.useEffect)(()=>{if(!s){g(!1);return}let t=!1;return g(!0),y(null),e(`/api/admin/graph-search?q=${encodeURIComponent(s)}&labels=FileArtifact&limit=20${C?`&threshold=0`:``}`).then(async e=>{let t=await e.json().catch(()=>({error:`HTTP ${e.status}`}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);return t}).then(e=>{t||(u(e.results),m(e.mode??`hybrid`),S(typeof e.suppressed==`number`?e.suppressed:0))}).catch(e=>{t||y(e instanceof Error?e.message:String(e))}).finally(()=>{t||g(!1)}),()=>{t=!0}},[s,e,n,C]);let at=(0,j.useMemo)(()=>l?ye(l):[],[l]),K=b&&at.includes(b)?b:null,ot=(0,j.useMemo)(()=>l?K?l.filter(e=>e.labels.includes(K)):l:null,[l,K]),st=(0,j.useCallback)(e=>{let n=e.properties.relativePath;if(typeof n!=`string`||n.length===0)return;let r=`/api/admin/files/download?session_key=${encodeURIComponent(t)}&path=${encodeURIComponent(n)}`,i=document.createElement(`a`);i.href=r,i.rel=`noopener noreferrer`,document.body.appendChild(i),i.click(),i.remove()},[t]);(0,j.useEffect)(()=>{if(!l)return;let e=l.filter(e=>{let t=e.properties.relativePath;return typeof t!=`string`||t.length===0});e.length>0&&console.warn(`[data-search] op=locate-link-missing nodeId=${e.map(e=>e.nodeId).join(`,`)}`)},[l]),(0,j.useEffect)(()=>{let t=!1;return _e(!0),F(null),e(`/api/admin/files?path=${encodeURIComponent(w===`.`?``:w)}`).then(async e=>{let t=await e.json().catch(()=>({error:`HTTP ${e.status}`}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);return t}).then(e=>{t||(le(e.entries),ge(e.displayPath??[]))}).catch(e=>{t||(le([]),ge([]),F(e instanceof Error?e.message:String(e)))}).finally(()=>{t||_e(!1)}),()=>{t=!0}},[e,w,Ve,n]),(0,j.useEffect)(()=>{ke(w)},[w]);let ct=(0,j.useCallback)(()=>{U(e=>e+1)},[]),q=(0,j.useCallback)(e=>{tt(!1),T(e)},[]),lt=(0,j.useCallback)(e=>{let t=e.properties.relativePath;if(typeof t!=`string`||t.length===0)return;let n=t.lastIndexOf(`/`),r=n===-1?`.`:t.slice(0,n);console.log(`[data-search] op=locate nodeId=${e.nodeId} folder=${r}`),a(``),y(null),x(null),q(r)},[q]),ut=(0,j.useCallback)(()=>{if(w===`.`||w===``)return;let e=w.split(`/`).filter(Boolean);e.pop(),T(e.length===0?`.`:e.join(`/`))},[w]),dt=(0,j.useCallback)(e=>{be(t,w===`.`?V(e):`${w}/${V(e)}`)},[w,t]),[J,ft]=(0,j.useState)(!1),[Y,pt]=(0,j.useState)(new Set),mt=(0,j.useRef)(null),X=(0,j.useRef)(!1),ht=typeof navigator<`u`&&typeof navigator.share==`function`&&typeof navigator.canShare==`function`,gt=(0,j.useCallback)(e=>{ft(!0),pt(new Set([e])),console.info(`[data-ui] op=select-enter count=1`)},[]),Z=(0,j.useCallback)(e=>{ft(!1),pt(new Set),console.info(`[data-ui] op=select-exit reason=${e}`)},[]),Q=(0,j.useCallback)(e=>{pt(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),_t=(0,j.useCallback)(e=>{X.current=!1,mt.current=setTimeout(()=>{X.current=!0,gt(e)},500)},[gt]),$=(0,j.useCallback)(()=>{mt.current&&=(clearTimeout(mt.current),null)},[]),vt=(0,j.useCallback)(e=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}dt(e)},[J,Q,dt]),yt=(0,j.useCallback)(e=>{pe(e),typeof window<`u`&&window.localStorage.setItem(Ce,e),console.info(`[data] op=view-mode mode=${e}`)},[]),bt=(0,j.useCallback)(e=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}he({src:L(t,w===`.`?V(e):`${w}/${V(e)}`),alt:e.displayName??e.name})},[J,Q,w,t]),xt=(0,j.useCallback)(()=>(E??[]).filter(e=>e.kind===`file`&&Y.has(e.name)),[E,Y]),St=(0,j.useCallback)(()=>{if(Y.size!==1)return null;let e=(E??[]).find(e=>Y.has(e.name));return e&&!e.entryPath?e:null},[E,Y]),Ct=(0,j.useCallback)(()=>(E??[]).filter(e=>(e.kind===`file`||e.kind===`directory`)&&Y.has(e.name)),[E,Y]),wt=(0,j.useCallback)(()=>{let e=Ct(),n=e.some(e=>e.kind===`directory`);e.length===1&&!n?dt(e[0]):e.length>=1&&xe(t,e.map(e=>w===`.`?V(e):`${w}/${V(e)}`)),Z(`action`)},[Ct,dt,w,t,Z]),Tt=(0,j.useCallback)(async()=>{let t=xt(),n=t.filter(e=>!e.protected),r=t.length-n.length;ze(r>0?`${r} protected file(s) kept`:null);for(let t of n){let n=w===`.`?V(t):`${w}/${V(t)}`;try{let t=await e(`/api/admin/files?path=${encodeURIComponent(n)}`,{method:`DELETE`}),r=await t.json().catch(()=>({error:`HTTP ${t.status}`}));if(!t.ok)throw Error(r.error??`HTTP ${t.status}`)}catch(e){ze(e instanceof Error?e.message:String(e))}}U(e=>e+1),Z(`action`)},[xt,w,e,Z]),Et=(0,j.useCallback)(async()=>{let e=xt();if(console.info(`[data-ui] op=share supported=${ht} count=${e.length}`),ht)try{let n=await Promise.all(e.map(async e=>{let n=w===`.`?V(e):`${w}/${V(e)}`,r=`/api/admin/files/download?session_key=${encodeURIComponent(t)}&path=${encodeURIComponent(n)}`,i=await(await fetch(r)).blob();return new File([i],e.displayName??e.name,{type:i.type||`application/octet-stream`})}));navigator.canShare({files:n})&&await navigator.share({files:n})}catch(e){console.warn(`[data-ui] op=share-failed err=${e instanceof Error?e.message:String(e)}`)}},[xt,ht,w,t]),Dt=(0,j.useCallback)(()=>{Be.current?.click()},[]),Ot=(0,j.useCallback)((e,n={})=>{let r=(r,i,a)=>{let o=new URLSearchParams({session_key:t,path:w===`.`?``:w,filename:e.name});n.relpath&&o.set(`relpath`,n.relpath),n.token&&o.set(`token`,n.token);for(let[e,t]of Object.entries(i))o.set(e,t);return new Promise(t=>{let n=new XMLHttpRequest;n.open(`POST`,`/api/admin/files/upload?${o.toString()}`),n.setRequestHeader(`Content-Type`,e.type||`application/octet-stream`),a&&(n.upload.onprogress=e=>{e.lengthComputable&&a(e.loaded)}),n.onload=()=>{let e={};try{e=JSON.parse(n.responseText)}catch{}t({status:n.status,data:e})},n.onerror=()=>t({status:0,data:{}}),n.onabort=()=>t({status:0,data:{error:`aborted`}}),n.send(r)})};if(e.size<=we)return r(e,{},t=>n.onProgress?.(t,e.size));let i=`${Date.now().toString(36)}-${Math.random().toString(16).slice(2,10)}`,a=Math.ceil(e.size/Te);return(async()=>{let t={status:0,data:{}};for(let o=0;o<a;o++){let s=o*Te;if(t=await r(e.slice(s,Math.min(s+Te,e.size)),{uploadId:i,seq:String(o),total:String(a)},t=>n.onProgress?.(s+t,e.size)),!(t.status>=200&&t.status<300))return t}return t})()},[t,w]),kt=(0,j.useCallback)(async e=>{H(null),R(!0),B({loaded:0,total:e.size});try{let{status:t,data:n}=await Ot(e,{onProgress:(e,t)=>B({loaded:e,total:t})});t>=200&&t<300&&n.path?(T(n.path.split(`/`).slice(0,-1).join(`/`)||`.`),U(e=>e+1)):H(t===0?`Network error during upload — the connection failed before the server responded.`:n.error??`Upload failed (HTTP ${t}).`)}finally{R(!1),B(null),Be.current&&(Be.current.value=``)}},[Ot]),At=(0,j.useCallback)(e=>{W&&Array.from(e.dataTransfer.types).includes(`Files`)&&(e.preventDefault(),Fe(!0))},[W]),jt=(0,j.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||Fe(!1)},[]),Mt=(0,j.useCallback)(async e=>{e.preventDefault(),Fe(!1);let t=Math.random().toString(16).slice(2,10),n=Array.from(e.dataTransfer.items);if(console.info(`[data-ui] op=drop-received token=${t} items=${n.length}`),n.length===0)return;if(!W){console.info(`[data-ui] op=drop-rejected token=${t} reason=no-write`),H(`Open a folder inside your account to upload`);return}let r=n.map(e=>e.webkitGetAsEntry?.()).filter(e=>!!e);R(!0),H(null),je(null);let i=performance.now();try{let e=await Me(r),n=e.reduce((e,t)=>e+t.file.size,0),a=new Set(e.map(e=>e.relpath.split(`/`).slice(0,-1).join(`/`)).filter(Boolean)).size;console.info(`[data-ui] op=drop-walk token=${t} files=${e.length} dirs=${a} bytes=${n}`);let o=0,s=[];for(let n=0;n<e.length;n++){let{file:r,relpath:i}=e[n];console.info(`[data-ui] op=drop-file token=${t} rel="${i}" i=${n+1}/${e.length}`),B({loaded:0,total:r.size});let{status:a,data:c}=await Ot(r,{relpath:i,token:t,onProgress:(e,t)=>B({loaded:e,total:t})});if(a>=200&&a<300)o++,console.info(`[data-ui] op=drop-file-ok token=${t} rel="${i}"`);else{let e=a===0?`http=0`:Ne(a,c.error);s.push(`${i} (${e})`),console.info(`[data-ui] op=drop-file-skip token=${t} rel="${i}" reason=${e}`)}}let c=Math.round(performance.now()-i);console.info(`[data-ui] op=drop-done token=${t} uploaded=${o} skipped=${s.length} ms=${c}`),je(`Uploaded ${o}, skipped ${s.length}${s.length?`: ${s.join(`, `)}`:``}`),U(e=>e+1)}catch(e){H(e instanceof Error?e.message:String(e))}finally{R(!1),B(null)}},[W,Ot]),Nt=(0,j.useCallback)(async()=>{let t=Ke.trim();if(t){$e(null);try{let n=await e(`/api/admin/files/folder`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:w===`.`?``:w,name:t})}),r=await n.json().catch(()=>({error:`HTTP ${n.status}`}));if(!n.ok)throw Error(r.error??`HTTP ${n.status}`);Ge(!1),qe(``),U(e=>e+1)}catch(e){$e(e instanceof Error?e.message:String(e))}}},[e,Ke,w]),Pt=(0,j.useCallback)(async()=>{if(!Je)return;let t=Xe.trim();if(!t)return;$e(null);let n=w===`.`?Je:`${w}/${Je}`;try{let r=await e(`/api/admin/files/rename`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:n,newName:t})}),i=await r.json().catch(()=>({error:`HTTP ${r.status}`}));if(!r.ok)throw Error(i.error??`HTTP ${r.status}`);Ye(null),Ze(``),Z(`action`),U(e=>e+1)}catch(e){$e(e instanceof Error?e.message:String(e))}},[e,Xe,Je,w,Z]);(0,j.useEffect)(()=>{if(!et)return;let e=e=>{nt.current&&!nt.current.contains(e.target)&&tt(!1)},t=e=>{e.key===`Escape`&&tt(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[et]),(0,j.useEffect)(()=>{if(!rt)return;let e=e=>{it.current&&!it.current.contains(e.target)&&G(!1)},t=e=>{e.key===`Escape`&&G(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[rt]);let Ft=(0,j.useCallback)(e=>M.slice(0,e+1).map(e=>e.name).join(`/`),[M]),It=M.length>=2,Lt=It?[{name:`.`,label:`data`},...M.slice(0,M.length-2).map((e,t)=>({name:Ft(t),label:e.displayName??e.name}))]:[];return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`data-toolbar`,children:[J?(0,N.jsxs)(`button`,{type:`button`,className:`data-select-cancel`,onClick:()=>Z(`cancel`),"aria-label":`Cancel selection`,children:[(0,N.jsx)(f,{size:14}),` Cancel`]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`data-search-input`,children:[i===``&&(0,N.jsx)(oe,{size:14}),(0,N.jsx)(`input`,{ref:o,type:`text`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,autoComplete:`off`,spellCheck:!1}),h&&(0,N.jsx)(_,{size:14,className:`spin`}),i!==``&&(0,N.jsx)(`button`,{type:`button`,className:`data-search-inline-btn`,onClick:()=>{a(``),o.current?.focus()},title:`Clear search`,"aria-label":`Clear search`,children:(0,N.jsx)(f,{size:14})})]}),(0,N.jsxs)(`div`,{className:`data-toolbar-actions`,ref:it,children:[(0,N.jsx)(`button`,{type:`button`,className:`data-action-overflow`,onClick:()=>G(e=>!e),"aria-haspopup":`menu`,"aria-expanded":rt,"aria-label":`File actions`,title:`File actions`,children:(0,N.jsx)(se,{size:16})}),(0,N.jsxs)(`div`,{className:`data-action-group`,role:`group`,"aria-label":`File actions`,"data-open":rt?`true`:void 0,children:[(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{ct(),G(!1)},disabled:P,title:`Refresh this folder`,"aria-label":`Refresh this folder`,children:[P?(0,N.jsx)(_,{size:16,className:`spin`}):(0,N.jsx)(v,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`Refresh`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn admin-btn-cta`,onClick:()=>{Dt(),G(!1)},disabled:I||!W,title:W?`Upload a file`:`Open a folder inside your account to upload`,"aria-label":`Upload a file`,children:[I?z&&z.total>0?(0,N.jsxs)(`span`,{className:`data-upload-pct`,children:[Math.round(z.loaded/z.total*100),`%`]}):(0,N.jsx)(_,{size:16,className:`spin`}):(0,N.jsx)(me,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`Upload`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{Ge(e=>!e),qe(``),$e(null),G(!1)},disabled:I||!W,title:W?`New folder`:`Open a folder inside your account to create one`,"aria-label":`New folder`,children:[(0,N.jsx)(ce,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`New folder`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{yt(k===`grid`?`list`:`grid`),G(!1)},title:k===`grid`?`List view`:`Grid view`,"aria-label":k===`grid`?`Switch to list view`:`Switch to grid view`,"aria-pressed":k===`grid`,children:[k===`grid`?(0,N.jsx)(de,{size:16}):(0,N.jsx)(ue,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:k===`grid`?`List view`:`Grid view`})]})]})]})]}),(0,N.jsxs)(`div`,{className:`data-breadcrumbs`,children:[w!==`.`&&(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost data-back-btn`,onClick:ut,title:`Up one level`,"aria-label":`Up one level`,children:(0,N.jsx)(D,{size:14})}),It?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,ref:nt,children:[(0,N.jsx)(`button`,{type:`button`,className:`data-crumb data-crumb-ellipsis`,onClick:()=>tt(e=>!e),"aria-haspopup":`menu`,"aria-expanded":et,"aria-label":`Show parent folders`,title:`Show parent folders`,children:`…`}),et&&(0,N.jsx)(`div`,{className:`data-crumb-menu`,role:`menu`,children:Lt.map(e=>(0,N.jsx)(`button`,{type:`button`,role:`menuitem`,className:`data-crumb-menu-item`,onClick:()=>q(e.name),title:e.label,children:e.label},e.name))})]}),[M.length-2,M.length-1].map(e=>{let t=M[e];return(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,children:[(0,N.jsx)(`span`,{className:`data-crumb-sep`,children:`›`}),(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(Ft(e)),title:t.name,children:t.displayName??t.name})]},Ft(e))})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(`.`),children:`data`}),M.map((e,t)=>(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,children:[(0,N.jsx)(`span`,{className:`data-crumb-sep`,children:`›`}),(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(Ft(t)),title:e.name,children:e.displayName??e.name})]},Ft(t)))]})]}),We&&(0,N.jsxs)(`div`,{className:`data-inline-form`,children:[(0,N.jsx)(`input`,{type:`text`,className:`data-inline-input`,placeholder:`Folder name`,value:Ke,autoFocus:!0,onChange:e=>qe(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Nt(),e.key===`Escape`&&Ge(!1)}}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn`,onClick:Nt,children:`Create`}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost`,onClick:()=>Ge(!1),children:`Cancel`})]}),Je&&(0,N.jsxs)(`div`,{className:`data-inline-form`,children:[(0,N.jsx)(`input`,{type:`text`,className:`data-inline-input`,placeholder:`New name`,value:Xe,autoFocus:!0,onChange:e=>Ze(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Pt(),e.key===`Escape`&&Ye(null)}}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn`,onClick:Pt,children:`Rename`}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost`,onClick:()=>Ye(null),children:`Cancel`})]}),Qe&&(0,N.jsx)(`div`,{className:`data-error`,children:Qe}),(0,N.jsx)(`input`,{type:`file`,ref:Be,hidden:!0,onChange:e=>{let t=e.target.files?.[0];t&&kt(t)}})]}),(0,N.jsxs)(`div`,{className:`data-body`,"data-drag-active":Pe?`true`:void 0,onDragEnter:At,onDragOver:At,onDragLeave:jt,onDrop:Mt,children:[(ee!==null||l!==null)&&(0,N.jsxs)(`section`,{className:`data-panel admin-card`,children:[ee&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Search failed: `,ee]}),at.length>0&&(0,N.jsx)(`div`,{className:`data-chip-row`,role:`group`,"aria-label":`Filter by type`,children:at.map(e=>{let t=e===K;return(0,N.jsx)(`button`,{type:`button`,className:`data-chip`,"data-active":t,onClick:()=>x(t?null:e),children:Re([e])??e},e)})}),l&&!h&&(0,N.jsxs)(`div`,{className:`data-results-meta`,children:[ot.length,` of `,l.length,` result`,l.length===1?``:`s`]}),l&&!h&&!K&&ie>0&&!C&&(0,N.jsxs)(`button`,{type:`button`,className:`data-suppressed-banner`,onClick:()=>ae(!0),children:[ie,` low-confidence result`,ie===1?``:`s`,` hidden — show all`]}),l&&!h&&!K&&C&&(0,N.jsx)(`button`,{type:`button`,className:`data-suppressed-banner`,onClick:()=>ae(!1),children:`Showing all results — hide low-confidence`}),l&&l.length===0&&!h&&(0,N.jsx)(`div`,{className:`data-empty-results`,children:`No matches. Try a different keyword.`}),ot&&ot.length>0&&(0,N.jsx)(`ul`,{className:`data-results`,children:ot.map(e=>(0,N.jsx)(Le,{hit:e,mode:p,onDownload:st,onLocate:lt},e.nodeId))})]}),(0,N.jsxs)(`section`,{className:`data-panel admin-card`,children:[z&&(0,N.jsxs)(`div`,{className:`data-upload-progress`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":z.total>0?Math.round(z.loaded/z.total*100):void 0,children:[(0,N.jsx)(`div`,{className:`data-upload-progress-track`,children:(0,N.jsx)(`div`,{className:`data-upload-progress-fill`,style:{width:`${z.total>0?Math.round(z.loaded/z.total*100):0}%`}})}),(0,N.jsxs)(`span`,{className:`data-upload-progress-label`,children:[`Uploading… `,z.total>0?`${Math.round(z.loaded/z.total*100)}%`:``]})]}),De&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Upload failed: `,De]}),Ae&&(0,N.jsx)(`div`,{className:`data-status`,children:Ae}),Ie&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Delete failed: `,Ie]}),ve&&(0,N.jsx)(`div`,{className:`data-error`,children:ve}),P&&(0,N.jsxs)(`div`,{className:`data-loading`,children:[(0,N.jsx)(_,{size:14,className:`spin`}),` Loading…`]}),!J&&!P&&E&&E.length>0&&(0,N.jsxs)(`div`,{className:`data-select-hint`,children:[(0,N.jsx)(fe,{size:13}),(0,N.jsx)(`span`,{children:`Press and hold a file to select, rename, or delete it.`})]}),!P&&E&&E.length===0&&!ve&&(0,N.jsx)(`div`,{className:`data-empty-results`,children:`Empty directory.`}),!P&&E&&E.length>0&&k===`grid`&&(0,N.jsx)(`ul`,{className:`data-grid`,children:E.map(e=>{let n=e.displayName??e.name,r=J&&Y.has(e.name);if(e.kind===`directory`)return(0,N.jsx)(`li`,{className:`data-grid-cell`,"data-selected":r?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-grid-tile`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}q(w===`.`?e.name:`${w}/${e.name}`)},children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsx)(O,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,title:e.name,children:n})]})},e.name);if(e.kind===`file`){let i=Se(V(e)),a=w===`.`?V(e):`${w}/${V(e)}`;return(0,N.jsx)(`li`,{className:`data-grid-cell`,"data-selected":r?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-grid-tile${i?` data-grid-tile-image`:``}`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>i?bt(e):vt(e),title:J?void 0:i?`Preview ${n}`:`Download ${n}`,children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),i?(0,N.jsx)(`img`,{className:`data-grid-thumb`,src:L(t,a),alt:n,loading:`lazy`,onError:()=>console.warn(`[data] op=thumb-error path=${a}`)}):(0,N.jsx)(re,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,title:e.name,children:n}),!i&&(0,N.jsx)(`span`,{className:`data-grid-sub`,children:He(e.sizeBytes)})]})},e.name)}return(0,N.jsx)(`li`,{className:`data-grid-cell`,children:(0,N.jsxs)(`div`,{className:`data-grid-tile data-entry-disabled`,children:[(0,N.jsx)(re,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,children:n}),(0,N.jsx)(`span`,{className:`data-grid-sub`,children:`special`})]})},e.name)})}),!P&&E&&E.length>0&&k===`list`&&(0,N.jsx)(`ul`,{className:`data-entries`,children:E.map(e=>{let t=e.displayName??e.name;if(e.kind===`directory`){let n=J&&Y.has(e.name);return(0,N.jsx)(`li`,{className:`data-entry`,"data-selected":n?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-entry-btn`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}q(w===`.`?e.name:`${w}/${e.name}`)},children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsx)(O,{size:14}),(0,N.jsx)(`span`,{className:`data-entry-name`,title:e.name,children:t})]})},e.name)}if(e.kind===`file`){let n=J&&Y.has(e.name);return(0,N.jsx)(`li`,{className:`data-entry`,"data-selected":n?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-entry-btn data-entry-file`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>vt(e),title:J?void 0:`Download ${t}`,children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsxs)(`span`,{className:`data-entry-text`,children:[(0,N.jsx)(`span`,{className:`data-entry-name`,title:e.name,children:t}),(0,N.jsxs)(`span`,{className:`data-entry-meta`,title:`Modified ${Ue(e.modifiedAt)}`,children:[He(e.sizeBytes),` · `,Ue(e.modifiedAt)]})]})]})},e.name)}return(0,N.jsx)(`li`,{className:`data-entry`,children:(0,N.jsx)(`div`,{className:`data-entry-btn data-entry-file data-entry-disabled`,children:(0,N.jsxs)(`span`,{className:`data-entry-text`,children:[(0,N.jsx)(`span`,{className:`data-entry-name`,children:t}),(0,N.jsx)(`span`,{className:`data-entry-meta`,children:`special`})]})})},e.name)})})]})]}),J&&(0,N.jsx)(`div`,{className:`data-select-bar`,role:`toolbar`,"aria-label":`Selection actions`,children:(0,N.jsxs)(`div`,{className:`data-select-bar-inner`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:Et,disabled:!ht||Y.size===0,title:ht?`Share selected files`:`Sharing is not supported on this device`,children:[(0,N.jsx)(te,{size:16}),` Share`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:wt,disabled:Y.size===0,children:[(0,N.jsx)(r,{size:16}),` Download`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:()=>{let e=St();e&&(Ye(e.name),Ze(e.name))},disabled:!St(),children:[(0,N.jsx)(ne,{size:16}),` Rename`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action data-select-delete`,onClick:Tt,disabled:Y.size===0,children:[(0,N.jsx)(d,{size:16}),` Delete`]})]})}),A&&(0,N.jsx)(`div`,{className:`chat-attachment-overlay`,role:`dialog`,"aria-label":A.alt,onClick:()=>he(null),children:(0,N.jsx)(`img`,{className:`chat-attachment-overlay-image`,src:A.src,alt:A.alt})})]})}function Fe({adminFetch:e,cacheKey:t,sessionRefetchNonce:n}){(0,j.useEffect)(()=>{console.info(`[data-ui] op=mount header=operator home=absent`)},[]);let r=(0,j.useCallback)(()=>{try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`},[]),i=(0,j.useCallback)(e=>{e===`chat`&&(window.location.href=`/`)},[]),[a,o]=(0,j.useState)([]),[s,c]=(0,j.useState)(`files`),{subAccounts:l,activeAccountId:d,switching:f,switchAccount:p}=g(t);return(0,j.useEffect)(()=>{if(!t)return;let e=!1;return fetch(`/api/whatsapp-reader/conversations?session_key=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():{conversations:[]}).then(t=>{e||o(t.conversations??[])}).catch(()=>{}),()=>{e=!0}},[t]),(0,N.jsxs)(`main`,{className:`data-main`,children:[(0,N.jsx)(u,{variant:`operator`,onNavigate:i,onOpenConversations:a.length>0?()=>c(`conversations`):void 0,onToggleSidebar:()=>{},sidebarOpen:!1,onLogout:r,onDisconnect:async()=>!0,disconnecting:!1,subAccounts:l,activeAccountId:d,switchingAccount:f,onSwitchAccount:p}),s===`conversations`?(0,N.jsx)(z,{conversations:a,sessionKey:t,onBack:()=>c(`files`)}):(0,N.jsx)(Pe,{adminFetch:e,cacheKey:t,sessionRefetchNonce:n})]})}function Ie({cacheKey:e}){let{adminFetch:n,cacheKey:r,sessionRefetchNonce:i}=t({initialCacheKey:e,surface:`data`});return(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsx)(`main`,{className:`data-main`,children:(0,N.jsx)(Pe,{adminFetch:n,cacheKey:r,sessionRefetchNonce:i})})})}function Le({hit:e,mode:t,onDownload:n,onLocate:r}){let i=ze(e.properties),a=Be(e.properties),o=Re(e.labels),s=Ve(e.properties),[c,l]=(0,j.useState)(!1),u=a&&a.length>280,d=c||!u?a:a?.slice(0,280)+`…`,f=t===`bm25`?`bm25 ${e.bm25Score.toFixed(2)}`:`vector ${e.vectorScore.toFixed(2)} · bm25 ${e.bm25Score.toFixed(2)} · combined ${e.score.toFixed(2)}`,p=e.properties.relativePath,m=typeof p==`string`&&p.length>0,h=m?p.lastIndexOf(`/`):-1,g=m?h===-1?`data`:p.slice(0,h):null;return(0,N.jsxs)(`li`,{className:`data-result`,children:[(0,N.jsxs)(`div`,{role:`button`,tabIndex:0,className:`data-result-open`,onClick:()=>n(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e))},"aria-label":`Download ${i??o??`file`}`,children:[o&&(0,N.jsx)(`div`,{className:`data-result-header`,children:(0,N.jsx)(`span`,{className:`data-result-labels`,children:o})}),i&&(0,N.jsx)(`div`,{className:`data-result-title`,children:i}),a&&(0,N.jsx)(`pre`,{className:`data-result-body`,children:d}),(0,N.jsxs)(`div`,{className:`data-result-scores`,children:[s&&(0,N.jsxs)(`span`,{className:`data-result-updated`,children:[`Updated `,Ue(s),` · `]}),f]})]}),m&&(0,N.jsxs)(`button`,{type:`button`,className:`data-result-locate`,onClick:()=>r(e),title:`Locate in ${g}`,"aria-label":`Locate in ${g}`,children:[(0,N.jsx)(O,{size:12}),g]}),u&&(0,N.jsx)(`button`,{type:`button`,className:`data-result-toggle`,onClick:()=>l(e=>!e),children:c?`Show less`:`Show more`})]})}function Re(e){if(e.length===0)return null;let t=e[0].replace(/([a-z])([A-Z])/g,`$1 $2`);return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function ze(e){for(let t of[`title`,`name`,`summary`,`headline`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n.length>140?n.slice(0,140)+`…`:n}return null}function Be(e){for(let t of[`content`,`summary`,`body`,`description`,`text`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n}return null}function Ve(e){for(let t of[`updatedAt`,`modifiedAt`,`fetchedAt`,`createdAt`,`lastModified`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n}return null}function He(e){return e==null?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(1)} GB`}function Ue(e){try{let t=new Date(e);if(isNaN(t.getTime()))return`—`;let n=typeof navigator<`u`?navigator.languages&&navigator.languages.length>0?[...navigator.languages]:[navigator.language]:void 0;return t.toLocaleString(n,{dateStyle:`medium`,timeStyle:`short`})}catch{return`—`}}export{A as a,I as i,Ie as n,be as r,De as t};
|
|
1
|
+
import{o as e}from"./chunk-TPjIAO9U.js";import{B as t,N as n,O as r,R as i,U as a,_ as o,a as s,b as c,c as l,d as u,g as d,h as f,i as p,p as m,s as h,t as g,u as ee,v as te,w as _,x as ne,y as v}from"./useSubAccountSwitcher-DotTrvX3.js";import{C as y,E as b,S as re,T as x,n as ie,r as S,s as C,x as ae}from"./useVoiceRecorder-QN9_GqB_.js";import{t as w}from"./chevron-left-xeYDxFiC.js";import{i as oe,t as T}from"./graph-labels-CUQtXFKW.js";import{t as E}from"./triangle-alert-CivyPfAL.js";var D=n(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),se=n(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),ce=n(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),O=n(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),le=n(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ue=n(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),de=n(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),fe=n(`mouse-pointer-click`,[[`path`,{d:`M14 4.1 12 6`,key:`ita8i4`}],[`path`,{d:`m5.1 8-2.9-.8`,key:`1go3kf`}],[`path`,{d:`m6 12-1.9 2`,key:`mnht97`}],[`path`,{d:`M7.2 2.2 8 5.1`,key:`1cfko1`}],[`path`,{d:`M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z`,key:`s0h3yz`}]]),k=n(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),pe=n(`smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),me=n(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),A=n(`user`,[[`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`,key:`975kel`}],[`circle`,{cx:`12`,cy:`7`,r:`4`,key:`17ys0d`}]]),j=e(a(),1);function he(){let[e,t]=(0,j.useState)([]),[n,r]=(0,j.useState)(!1),[i,a]=(0,j.useState)(null),o=(0,j.useRef)(null),s=(0,j.useCallback)(e=>{a(null);let n=e.find(e=>!S(e.type,b));if(n){a(`Unsupported file type: "${n.type}". Supported: images, PDF, plain text, markdown, CSV, calendar, zip, voice notes.`);return}let r=e.find(e=>e.size>x);if(r){a(`"${r.name}" exceeds the 50 MB limit.`);return}t(t=>[...t,...e].slice(0,5))},[]);return{pendingFiles:e,setPendingFiles:t,isDragOver:n,attachError:i,setAttachError:a,fileInputRef:o,addFiles:s,clearFiles:(0,j.useCallback)(()=>{t([]),a(null)},[]),removeFile:(0,j.useCallback)(e=>{t(t=>t.filter((t,n)=>n!==e))},[]),onDragOver:(0,j.useCallback)(e=>{e.preventDefault(),r(!0)},[]),onDragLeave:(0,j.useCallback)(()=>{r(!1)},[]),onDrop:(0,j.useCallback)(e=>{e.preventDefault(),r(!1),s([...e.dataTransfer.files])},[s])}}var M=[[128512],[128515],[128516],[128513],[128518],[128517],[128514],[129315],[128578],[128579],[128521],[128522],[128519],[128525],[128536],[128535],[128540],[128541],[129303],[129300],[128528],[128566],[128564],[128526],[129395],[128546],[128557],[128548],[128544],[128533],[128556],[129393],[128077],[128078],[128076],[128591],[128079],[128588],[128170],[128075],[129309],[10084,65039],[128293],[11088],[127881],[10024],[128175],[128064]].map(e=>String.fromCodePoint(...e));function ge(e,t,n,r){let i=e.length,a=Math.max(0,Math.min(n??i,i)),o=Math.max(a,Math.min(r??a,i));return{value:e.slice(0,a)+t+e.slice(o),caret:a+t.length}}var N=i();function P({onSelect:e}){return(0,N.jsx)(`div`,{className:`wa-emoji-popover`,role:`menu`,"aria-label":`Emoji picker`,children:M.map((t,n)=>(0,N.jsx)(`button`,{type:`button`,role:`menuitem`,className:`wa-emoji-item`,onClick:()=>e(t),children:t},n))})}function _e({sessionKey:e,onPick:t,onClose:n}){let[r,i]=(0,j.useState)(``),[a,o]=(0,j.useState)(null),[s,c]=(0,j.useState)(null),[l,u]=(0,j.useState)(!1),d=(0,j.useCallback)(t=>{u(!0),c(null),fetch(`/api/admin/files?path=${encodeURIComponent(t)}&session_key=${encodeURIComponent(e)}`).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error??`Could not list files`);return t}).then(e=>{o(e),i(e.path===`.`?``:e.path)}).catch(e=>c(e instanceof Error?e.message:String(e))).finally(()=>u(!1))},[e]);(0,j.useEffect)(()=>{d(``)},[d]);let p=e=>d(r?`${r}/${e}`:e),m=()=>{let e=r.split(`/`).filter(Boolean);e.pop(),d(e.join(`/`))},h=e=>{let n=e.entryPath??e.name;t({path:r?`${r}/${n}`:n,name:e.displayName??e.name})};return(0,N.jsx)(`div`,{className:`wa-picker-backdrop`,role:`dialog`,"aria-label":`Choose a device file`,onClick:n,children:(0,N.jsxs)(`div`,{className:`wa-picker`,onClick:e=>e.stopPropagation(),children:[(0,N.jsxs)(`div`,{className:`wa-picker-head`,children:[r&&(0,N.jsx)(`button`,{type:`button`,className:`wa-picker-icon-btn`,onClick:m,"aria-label":`Up one folder`,children:(0,N.jsx)(w,{size:18})}),(0,N.jsx)(`span`,{className:`wa-picker-title`,children:r||`Device storage`}),(0,N.jsx)(`button`,{type:`button`,className:`wa-picker-icon-btn`,onClick:n,"aria-label":`Close file picker`,children:(0,N.jsx)(f,{size:18})})]}),s&&(0,N.jsx)(`p`,{className:`wa-picker-error`,role:`alert`,children:s}),l&&(0,N.jsx)(`p`,{className:`wa-picker-empty`,children:`Loading…`}),a&&!l&&(0,N.jsxs)(`ul`,{className:`wa-picker-list`,children:[a.entries.length===0&&(0,N.jsx)(`li`,{className:`wa-picker-empty`,children:`This folder is empty.`}),a.entries.map(e=>(0,N.jsx)(`li`,{children:e.kind===`directory`?(0,N.jsxs)(`button`,{type:`button`,className:`wa-picker-row`,onClick:()=>p(e.name),children:[(0,N.jsx)(O,{size:16,"aria-hidden":!0}),(0,N.jsx)(`span`,{className:`wa-picker-name`,children:e.displayName??e.name})]}):e.kind===`file`?(0,N.jsxs)(`button`,{type:`button`,className:`wa-picker-row`,onClick:()=>h(e),children:[(0,N.jsx)(re,{size:16,"aria-hidden":!0}),(0,N.jsx)(`span`,{className:`wa-picker-name`,children:e.displayName??e.name})]}):null},e.name))]})]})})}function ve(e){return`${Math.floor(e/60)}:${String(e%60).padStart(2,`0`)}`}function F({accountId:e,remoteJid:t,sessionKey:n,replyTo:r,onClearReply:i}){let[a,s]=(0,j.useState)(``),[l,u]=(0,j.useState)(!1),[p,m]=(0,j.useState)(null),[h,g]=(0,j.useState)(!1),[ee,te]=(0,j.useState)(!1),[_,ne]=(0,j.useState)(!1),[v,b]=(0,j.useState)([]),x=(0,j.useRef)(null),{pendingFiles:S,attachError:C,addFiles:w,removeFile:oe,clearFiles:T}=he(),{state:E,elapsedSeconds:D,errorMessage:se,start:ce,send:O,discard:ue}=ie(),de=E===`recording`||E===`paused`,fe=(0,j.useCallback)(()=>{console.info(`[operator-ui] op=voice-record state=start ms=0`),ce()},[ce]),me=(0,j.useCallback)(async()=>{let e=D*1e3,t=await O();if(console.info(`[operator-ui] op=voice-record state=stop ms=${e}`),t){let e=t.type===`audio/ogg`?`.ogg`:t.type===`audio/mp4`?`.m4a`:`.webm`;w([new File([t],`voice-note${e}`,{type:t.type})])}},[D,O,w]),A=(0,j.useCallback)(()=>{console.info(`[operator-ui] op=voice-record state=cancel ms=${D*1e3}`),ue()},[D,ue]),M=(0,j.useRef)(!1),F=()=>Math.round((typeof window>`u`?900:window.innerHeight)/3),[I,ye]=(0,j.useState)(null),[be,xe]=(0,j.useState)(null),L=(0,j.useRef)(null),R=(0,j.useRef)(44),z=(0,j.useCallback)(e=>{let t=L.current;if(!t)return;t.moved=!0;let n=Math.min(F(),Math.max(44,t.startH+(t.startY-e.clientY)));R.current=n,ye(n)},[]),B=(0,j.useCallback)(()=>{let e=L.current?.moved??!1;L.current=null,window.removeEventListener(`pointermove`,z),window.removeEventListener(`pointerup`,B),e&&console.info(`[operator-ui] op=wa-composer-resize mode=drag h=${R.current}`)},[z]),Se=(0,j.useCallback)(e=>{L.current={startY:e.clientY,startH:x.current?.offsetHeight??44,moved:!1},window.addEventListener(`pointermove`,z),window.addEventListener(`pointerup`,B),e.preventDefault()},[z,B]),V=(0,j.useCallback)(e=>{let t=I??x.current?.offsetHeight??44,n=null;e.key===`ArrowUp`?(e.preventDefault(),n=Math.min(F(),t+24)):e.key===`ArrowDown`&&(e.preventDefault(),n=Math.max(44,t-24)),n!==null&&(ye(n),console.info(`[operator-ui] op=wa-composer-resize mode=key h=${n}`))},[I]),Ce=(0,j.useRef)(``);(0,j.useEffect)(()=>{let e=x.current;if(!e)return;let t=Ce.current!==``&&a===``;if(Ce.current=a,I!==null){t&&ye(null);return}let n=e.style.height;e.style.height=`auto`;let r=Math.min(F(),Math.max(44,e.scrollHeight));e.style.height=n,xe(r)},[a,I]);let we=(a.trim().length>0||S.length>0||v.length>0)&&!l,Te=(0,j.useCallback)(async()=>{if(!M.current&&!(a.trim().length===0&&S.length===0&&v.length===0)){M.current=!0,u(!0),m(null);try{let o=`/api/whatsapp-reader/reply?session_key=${encodeURIComponent(n)}`,c;if(S.length>0||v.length>0){let n=new FormData;n.append(`accountId`,e),n.append(`remoteJid`,t),a.trim()&&n.append(`text`,a);for(let e of S)n.append(`files`,e);for(let e of v)n.append(`fileRefs`,e.path);r&&n.append(`quotedId`,r.msgKeyId),c=await fetch(o,{method:`POST`,body:n})}else c=await fetch(o,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({accountId:e,remoteJid:t,text:a,...r?{quotedId:r.msgKeyId}:{}})});let l=await c.json().catch(()=>({}));if(!c.ok){m(l.error??`Send failed.`),console.info(`[operator-ui] op=reply-fail remoteJid=${t} error=${l.error??`unknown`}`);return}s(``),T(),b([]),i?.(),console.info(`[operator-ui] op=reply-sent remoteJid=${t} sent=${l.sent??0}`)}catch(e){m(`Could not reach the server. Try again.`),console.info(`[operator-ui] op=reply-fail remoteJid=${t} error=${String(e)}`)}finally{M.current=!1,u(!1)}}},[a,S,v,r,i,e,t,n,T]),Ee=(0,j.useCallback)(e=>{let t=x.current,{value:n,caret:r}=ge(a,e,t?t.selectionStart:null,t?t.selectionEnd:null);s(n),g(!1),requestAnimationFrame(()=>{let e=x.current;e&&(e.focus(),e.setSelectionRange(r,r))})},[a]),De=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),we&&Te())},H=e=>e.dataTransfer.types.includes(`Files`),Oe=(0,j.useCallback)(e=>{H(e)&&(e.preventDefault(),ne(!0))},[]),ke=(0,j.useCallback)(()=>ne(!1),[]),Ae=(0,j.useCallback)(e=>{if(!H(e))return;e.preventDefault(),ne(!1);let t=[...e.dataTransfer.files];if(t.length===0)return;let n=Math.max(0,S.length+t.length-5);console.info(`[operator-ui] op=composer-drop count=${t.length} rejected=${n}`),w(t)},[S.length,w]),je=e=>e.startsWith(`image/`)?(0,N.jsx)(le,{size:14}):e===`application/pdf`?(0,N.jsx)(re,{size:14}):(0,N.jsx)(y,{size:14});return(0,N.jsxs)(`div`,{className:`wa-reply${_?` wa-reply-drag-over`:``}`,onDragOver:Oe,onDragLeave:ke,onDrop:Ae,children:[ee&&(0,N.jsx)(_e,{sessionKey:n,onPick:e=>{b(t=>[...t,e].slice(0,5)),te(!1)},onClose:()=>te(!1)}),h&&(0,N.jsx)(P,{onSelect:Ee}),p&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:p}),C&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:C}),E===`error`&&se&&(0,N.jsx)(`p`,{className:`wa-reply-error`,role:`alert`,children:se}),(S.length>0||v.length>0)&&(0,N.jsxs)(`div`,{className:`wa-reply-attachments`,children:[S.map((e,t)=>(0,N.jsxs)(`div`,{className:`wa-reply-chip`,children:[je(e.type),(0,N.jsx)(`span`,{className:`wa-reply-chip-name`,children:e.name}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>oe(t),"aria-label":`Remove ${e.name}`,children:(0,N.jsx)(f,{size:12})})]},`f-${t}`)),v.map((e,t)=>(0,N.jsxs)(`div`,{className:`wa-reply-chip wa-reply-chip-ref`,children:[(0,N.jsx)(re,{size:14}),(0,N.jsx)(`span`,{className:`wa-reply-chip-name`,children:e.name}),(0,N.jsx)(`button`,{type:`button`,onClick:()=>b(e=>e.filter((e,n)=>n!==t)),"aria-label":`Remove ${e.name}`,children:(0,N.jsx)(f,{size:12})})]},`r-${t}`))]}),r&&(0,N.jsxs)(`div`,{className:`wa-reply-quote`,children:[(0,N.jsxs)(`div`,{className:`wa-reply-quote-body`,children:[(0,N.jsx)(`span`,{className:`wa-reply-quote-who`,children:r.fromMe?`You`:r.senderName??`Contact`}),(0,N.jsx)(`span`,{className:`wa-reply-quote-text`,children:r.body||`Message`})]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-quote-cancel`,onClick:()=>i?.(),"aria-label":`Cancel reply`,children:(0,N.jsx)(f,{size:14})})]}),!de&&(0,N.jsx)(`div`,{className:`wa-reply-resize-handle`,role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize input — drag up to enlarge`,tabIndex:0,onPointerDown:Se,onKeyDown:V}),(0,N.jsx)(`div`,{className:`wa-reply-row`,children:de?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-attach`,onClick:A,"aria-label":`Cancel recording`,children:(0,N.jsx)(d,{size:20})}),(0,N.jsxs)(`span`,{className:`wa-rec-live`,role:`status`,children:[(0,N.jsx)(`span`,{className:`wa-rec-dot`,"aria-hidden":!0}),ve(D)]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-send`,onClick:()=>void me(),"aria-label":`Stop recording`,children:(0,N.jsx)(o,{size:20})})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-emoji`,onClick:()=>g(e=>!e),disabled:l,"aria-label":`Emoji`,"aria-expanded":h,children:(0,N.jsx)(pe,{size:22})}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-attach`,onClick:()=>te(!0),disabled:l,"aria-label":`Attach files`,children:(0,N.jsx)(c,{size:22})}),(0,N.jsx)(`textarea`,{ref:x,className:`wa-reply-input`,value:a,rows:1,style:{height:`${I??be??44}px`},placeholder:`Type a message`,disabled:l,onChange:e=>s(e.target.value),onKeyDown:De}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-mic`,onClick:()=>void fe(),disabled:l,"aria-label":`Record voice note`,children:(0,N.jsx)(ae,{size:22})}),(0,N.jsx)(`button`,{type:`button`,className:`wa-reply-send`,onClick:()=>void Te(),disabled:!we,"aria-label":`Send`,children:(0,N.jsx)(k,{size:20})})]})})]})}function I({accountId:e,remoteJid:t,contactName:n,sessionKey:r,onBack:i}){let a=l(t),o=t.split(`@`)[0],s=a?`Group`:n===`+${o}`?void 0:`+${o}`,[c,u]=(0,j.useState)(!1),[d,p]=(0,j.useState)(``),m=()=>{u(!1),p(``)},[h,g]=(0,j.useState)(null);return(0,N.jsxs)(`div`,{className:`wa-web`,children:[(0,N.jsxs)(`header`,{className:`wa-web-header`,children:[i&&(0,N.jsx)(`button`,{type:`button`,className:`wa-web-back`,onClick:i,"aria-label":`Back`,children:(0,N.jsx)(w,{size:20})}),(0,N.jsx)(`span`,{className:`wa-web-avatar`,"aria-hidden":!0,children:(0,N.jsx)(A,{size:20})}),c?(0,N.jsxs)(`div`,{className:`wa-web-search`,children:[(0,N.jsx)(oe,{size:18,"aria-hidden":!0}),(0,N.jsx)(`input`,{className:`wa-web-search-input`,type:`text`,autoFocus:!0,placeholder:`Search messages`,"aria-label":`Search messages`,value:d,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Escape`&&m()}}),(0,N.jsx)(`button`,{type:`button`,className:`wa-web-search-close`,onClick:m,"aria-label":`Close search`,children:(0,N.jsx)(f,{size:18})})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`wa-web-titles`,children:[(0,N.jsx)(`span`,{className:`wa-web-name`,children:n}),s&&(0,N.jsx)(`span`,{className:`wa-web-subtitle`,children:s})]}),(0,N.jsx)(`button`,{type:`button`,className:`wa-web-search-toggle`,onClick:()=>u(!0),"aria-label":`Search messages`,children:(0,N.jsx)(oe,{size:20})})]})]}),(0,N.jsx)(`div`,{className:`wa-web-body`,children:(0,N.jsx)(C,{sessionId:``,projectDir:``,sessionKey:r,forceDeliveredOnly:!0,suppressDirectives:!0,store:{accountId:e,remoteJid:t},search:c?d:void 0,onReplyTo:a?void 0:g})}),a?(0,N.jsx)(`p`,{className:`wa-reply wa-reply-readonly`,children:`Group messages are read-only.`}):(0,N.jsx)(F,{accountId:e,remoteJid:t,sessionKey:r,replyTo:h,onClearReply:()=>g(null)})]})}function ye(e){let t=new Set,n=[];for(let r of e)for(let e of r.labels)e&&(t.has(e)||T.has(e)&&(t.add(e),n.push(e)));return n}function be(e,t,n=`data`){let r=`/api/admin/files/download?session_key=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`+(n===`data`?``:`&root=${encodeURIComponent(n)}`),i=document.createElement(`a`);i.href=r,i.rel=`noopener noreferrer`,document.body.appendChild(i),i.click(),i.remove()}function xe(e,t){let n=new URLSearchParams;n.set(`session_key`,e);for(let e of t)n.append(`path`,e);let r=document.createElement(`a`);r.href=`/api/admin/files/download-zip?${n.toString()}`,r.rel=`noopener noreferrer`,document.body.appendChild(r),r.click(),r.remove()}function L(e,t,n=`data`){return`/api/admin/files/download?session_key=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}&disposition=inline`+(n===`data`?``:`&root=${encodeURIComponent(n)}`)}function R(e){if(!e)return``;let t=new Date(e).getTime();return Number.isFinite(t)?new Date(t).toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`}):``}function z({conversations:e,sessionKey:t,onBack:n}){let[r,i]=(0,j.useState)(null),a=p(e);return r?r.source===`store`&&r.accountId&&r.remoteJid?(0,N.jsx)(I,{accountId:r.accountId,remoteJid:r.remoteJid,contactName:s(r),sessionKey:t,onBack:()=>i(null)},h(r)):(0,N.jsxs)(`div`,{className:`op-conv op-conv-reader`,children:[(0,N.jsxs)(`div`,{className:`op-conv-bar`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-back`,onClick:()=>i(null),"aria-label":`Back to conversations`,children:[(0,N.jsx)(w,{size:16}),` Back`]}),(0,N.jsx)(`span`,{className:`op-conv-title`,children:s(r)})]}),(0,N.jsx)(C,{sessionId:r.sessionId,projectDir:r.projectDir,sessionKey:t,forceDeliveredOnly:!0,suppressDirectives:r.source===`store`,store:r.source===`store`?{accountId:r.accountId,remoteJid:r.remoteJid}:void 0},h(r))]}):(0,N.jsxs)(`div`,{className:`op-conv op-conv-list`,children:[(0,N.jsxs)(`div`,{className:`op-conv-bar`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-back`,onClick:n,"aria-label":`Back to chat`,children:[(0,N.jsx)(w,{size:16}),` Chat`]}),(0,N.jsx)(`span`,{className:`op-conv-title`,children:`Conversations`})]}),a.map(e=>(0,N.jsxs)(`div`,{className:`op-conv-group`,children:[(0,N.jsxs)(`div`,{className:`op-conv-group-head`,children:[(0,N.jsx)(ee,{channel:e.channel,size:14}),e.label]}),e.rows.map(e=>(0,N.jsxs)(`button`,{type:`button`,className:`op-conv-row`,onClick:()=>{console.info(`[operator-ui] op=reader-open channel=${e.channel} key=${h(e)} readonly=true source=${e.source}`),i(e)},children:[(0,N.jsx)(`span`,{className:`op-conv-name`,children:s(e)}),e.modelGated&&(0,N.jsx)(`span`,{className:`op-conv-gated`,role:`img`,"aria-label":`Model unavailable`,children:(0,N.jsx)(E,{size:13})}),(0,N.jsx)(`span`,{className:`op-conv-when`,children:R(e.lastMessageAt)})]},h(e)))]},e.channel))]})}var B=/\.(png|jpe?g|gif|webp|svg)$/i;function Se(e){return B.test(e)}function V(e){return e.entryPath??e.name}var Ce=`maxy-data-view`,we=95*1024*1024,Te=48*1024*1024;function Ee(){return typeof window>`u`?`list`:window.localStorage.getItem(Ce)===`grid`?`grid`:`list`}function De(){let[e,t]=(0,j.useState)(null),[n,r]=(0,j.useState)(!1);return(0,j.useEffect)(()=>{let e=!1,n=null;try{n=sessionStorage.getItem(`maxy-admin-session-key`)}catch{}if(!n){t(null),r(!0);return}return fetch(`/api/admin/session?session_key=${encodeURIComponent(n)}`).then(i=>{if(!e){if(i.status===401){try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`;return}t(n),r(!0)}}).catch(()=>{e||(t(n),r(!0))}),()=>{e=!0}},[]),n?e?(0,N.jsx)(m,{cacheKey:e,surface:`data`,onSessionExpired:({code:e,path:t})=>{console.warn(`[admin-auth] outcome=session-expired-redirect code=${e} path=${t} surface=data`);try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`},children:(0,N.jsx)(`div`,{className:`data-page data-page-full`,children:(0,N.jsx)(H,{cacheKey:e})})}):(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsxs)(`div`,{className:`data-empty`,children:[(0,N.jsx)(`p`,{children:`You are not signed in.`}),(0,N.jsxs)(`p`,{children:[`Open the `,(0,N.jsx)(`a`,{href:`/`,className:`data-link`,children:`main admin page`}),` and log in, then return here.`]})]})}):(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsxs)(`div`,{className:`data-loading`,children:[(0,N.jsx)(_,{size:18,className:`spin`}),` Loading…`]})})}function H({cacheKey:e}){let{adminFetch:n,cacheKey:r,sessionRefetchNonce:i}=t({initialCacheKey:e,surface:`data`});return(0,N.jsx)(Fe,{adminFetch:n,cacheKey:r,sessionRefetchNonce:i})}function Oe(){if(typeof window>`u`)return`.`;let e=new URLSearchParams(window.location.hash.replace(/^#/,``)).get(`path`);return e&&e.length>0?e:`.`}function ke(e){if(typeof window>`u`)return;let t=new URL(window.location.href);t.hash=e===`.`?``:`path=${encodeURIComponent(e)}`,window.history.replaceState(window.history.state,``,t.toString())}function Ae(e){return new Promise((t,n)=>{let r=[],i=()=>e.readEntries(e=>{e.length===0?t(r):(r.push(...e),i())},n);i()})}function je(e){return new Promise((t,n)=>e.file(t,n))}async function Me(e,t=``){let n=[];for(let r of e){if(!r)continue;let e=t?`${t}/${r.name}`:r.name;if(r.isFile)n.push({file:await je(r),relpath:e});else if(r.isDirectory){let t=await Ae(r.createReader());n.push(...await Me(t,e))}}return n}function Ne(e,t){if(e===422&&typeof t==`string`){if(/exceeds the .* limit/i.test(t))return`size`;if(/unsupported file type/i.test(t))return`mime`}return`http=${e}`}function Pe({adminFetch:e,cacheKey:t,sessionRefetchNonce:n}){let[i,a]=(0,j.useState)(``),o=(0,j.useRef)(null),[s,c]=(0,j.useState)(``),[l,u]=(0,j.useState)(null),[p,m]=(0,j.useState)(`hybrid`),[h,g]=(0,j.useState)(!1),[ee,y]=(0,j.useState)(null),[b,x]=(0,j.useState)(null),[ie,S]=(0,j.useState)(0),[C,ae]=(0,j.useState)(!1),[w,T]=(0,j.useState)(()=>Oe()),[E,le]=(0,j.useState)(null),[k,pe]=(0,j.useState)(()=>Ee()),[A,he]=(0,j.useState)(null),[M,ge]=(0,j.useState)([]),[P,_e]=(0,j.useState)(!1),[ve,F]=(0,j.useState)(null),[I,R]=(0,j.useState)(!1),[z,B]=(0,j.useState)(null),[De,H]=(0,j.useState)(null),[Ae,je]=(0,j.useState)(null),[Pe,Fe]=(0,j.useState)(!1),[Ie,ze]=(0,j.useState)(null),Be=(0,j.useRef)(null),[Ve,U]=(0,j.useState)(0),[We,Ge]=(0,j.useState)(!1),[Ke,qe]=(0,j.useState)(``),[Je,Ye]=(0,j.useState)(null),[Xe,Ze]=(0,j.useState)(``),[Qe,$e]=(0,j.useState)(null),W=(()=>{let e=w===`.`?[]:w.split(`/`).filter(Boolean);return e.length>=2&&e[0]===`accounts`})(),[et,tt]=(0,j.useState)(!1),nt=(0,j.useRef)(null),[rt,G]=(0,j.useState)(!1),it=(0,j.useRef)(null);(0,j.useEffect)(()=>{let e=i.trim();if(!e){c(``),u(null),y(null);return}ae(!1);let t=setTimeout(()=>c(e),300);return()=>clearTimeout(t)},[i]),(0,j.useEffect)(()=>{if(!s){g(!1);return}let t=!1;return g(!0),y(null),e(`/api/admin/graph-search?q=${encodeURIComponent(s)}&labels=FileArtifact&limit=20${C?`&threshold=0`:``}`).then(async e=>{let t=await e.json().catch(()=>({error:`HTTP ${e.status}`}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);return t}).then(e=>{t||(u(e.results),m(e.mode??`hybrid`),S(typeof e.suppressed==`number`?e.suppressed:0))}).catch(e=>{t||y(e instanceof Error?e.message:String(e))}).finally(()=>{t||g(!1)}),()=>{t=!0}},[s,e,n,C]);let at=(0,j.useMemo)(()=>l?ye(l):[],[l]),K=b&&at.includes(b)?b:null,ot=(0,j.useMemo)(()=>l?K?l.filter(e=>e.labels.includes(K)):l:null,[l,K]),st=(0,j.useCallback)(e=>{let n=e.properties.relativePath;if(typeof n!=`string`||n.length===0)return;let r=`/api/admin/files/download?session_key=${encodeURIComponent(t)}&path=${encodeURIComponent(n)}`,i=document.createElement(`a`);i.href=r,i.rel=`noopener noreferrer`,document.body.appendChild(i),i.click(),i.remove()},[t]);(0,j.useEffect)(()=>{if(!l)return;let e=l.filter(e=>{let t=e.properties.relativePath;return typeof t!=`string`||t.length===0});e.length>0&&console.warn(`[data-search] op=locate-link-missing nodeId=${e.map(e=>e.nodeId).join(`,`)}`)},[l]),(0,j.useEffect)(()=>{let t=!1;return _e(!0),F(null),e(`/api/admin/files?path=${encodeURIComponent(w===`.`?``:w)}`).then(async e=>{let t=await e.json().catch(()=>({error:`HTTP ${e.status}`}));if(!e.ok)throw Error(t.error??`HTTP ${e.status}`);return t}).then(e=>{t||(le(e.entries),ge(e.displayPath??[]))}).catch(e=>{t||(le([]),ge([]),F(e instanceof Error?e.message:String(e)))}).finally(()=>{t||_e(!1)}),()=>{t=!0}},[e,w,Ve,n]),(0,j.useEffect)(()=>{ke(w)},[w]);let ct=(0,j.useCallback)(()=>{U(e=>e+1)},[]),q=(0,j.useCallback)(e=>{tt(!1),T(e)},[]),lt=(0,j.useCallback)(e=>{let t=e.properties.relativePath;if(typeof t!=`string`||t.length===0)return;let n=t.lastIndexOf(`/`),r=n===-1?`.`:t.slice(0,n);console.log(`[data-search] op=locate nodeId=${e.nodeId} folder=${r}`),a(``),y(null),x(null),q(r)},[q]),ut=(0,j.useCallback)(()=>{if(w===`.`||w===``)return;let e=w.split(`/`).filter(Boolean);e.pop(),T(e.length===0?`.`:e.join(`/`))},[w]),dt=(0,j.useCallback)(e=>{be(t,w===`.`?V(e):`${w}/${V(e)}`)},[w,t]),[J,ft]=(0,j.useState)(!1),[Y,pt]=(0,j.useState)(new Set),mt=(0,j.useRef)(null),X=(0,j.useRef)(!1),ht=typeof navigator<`u`&&typeof navigator.share==`function`&&typeof navigator.canShare==`function`,gt=(0,j.useCallback)(e=>{ft(!0),pt(new Set([e])),console.info(`[data-ui] op=select-enter count=1`)},[]),Z=(0,j.useCallback)(e=>{ft(!1),pt(new Set),console.info(`[data-ui] op=select-exit reason=${e}`)},[]),Q=(0,j.useCallback)(e=>{pt(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),_t=(0,j.useCallback)(e=>{X.current=!1,mt.current=setTimeout(()=>{X.current=!0,gt(e)},500)},[gt]),$=(0,j.useCallback)(()=>{mt.current&&=(clearTimeout(mt.current),null)},[]),vt=(0,j.useCallback)(e=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}dt(e)},[J,Q,dt]),yt=(0,j.useCallback)(e=>{pe(e),typeof window<`u`&&window.localStorage.setItem(Ce,e),console.info(`[data] op=view-mode mode=${e}`)},[]),bt=(0,j.useCallback)(e=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}he({src:L(t,w===`.`?V(e):`${w}/${V(e)}`),alt:e.displayName??e.name})},[J,Q,w,t]),xt=(0,j.useCallback)(()=>(E??[]).filter(e=>e.kind===`file`&&Y.has(e.name)),[E,Y]),St=(0,j.useCallback)(()=>{if(Y.size!==1)return null;let e=(E??[]).find(e=>Y.has(e.name));return e&&!e.entryPath?e:null},[E,Y]),Ct=(0,j.useCallback)(()=>(E??[]).filter(e=>(e.kind===`file`||e.kind===`directory`)&&Y.has(e.name)),[E,Y]),wt=(0,j.useCallback)(()=>{let e=Ct(),n=e.some(e=>e.kind===`directory`);e.length===1&&!n?dt(e[0]):e.length>=1&&xe(t,e.map(e=>w===`.`?V(e):`${w}/${V(e)}`)),Z(`action`)},[Ct,dt,w,t,Z]),Tt=(0,j.useCallback)(async()=>{let t=xt(),n=t.filter(e=>!e.protected),r=t.length-n.length;ze(r>0?`${r} protected file(s) kept`:null);for(let t of n){let n=w===`.`?V(t):`${w}/${V(t)}`;try{let t=await e(`/api/admin/files?path=${encodeURIComponent(n)}`,{method:`DELETE`}),r=await t.json().catch(()=>({error:`HTTP ${t.status}`}));if(!t.ok)throw Error(r.error??`HTTP ${t.status}`)}catch(e){ze(e instanceof Error?e.message:String(e))}}U(e=>e+1),Z(`action`)},[xt,w,e,Z]),Et=(0,j.useCallback)(async()=>{let e=xt();if(console.info(`[data-ui] op=share supported=${ht} count=${e.length}`),ht)try{let n=await Promise.all(e.map(async e=>{let n=w===`.`?V(e):`${w}/${V(e)}`,r=`/api/admin/files/download?session_key=${encodeURIComponent(t)}&path=${encodeURIComponent(n)}`,i=await(await fetch(r)).blob();return new File([i],e.displayName??e.name,{type:i.type||`application/octet-stream`})}));navigator.canShare({files:n})&&await navigator.share({files:n})}catch(e){console.warn(`[data-ui] op=share-failed err=${e instanceof Error?e.message:String(e)}`)}},[xt,ht,w,t]),Dt=(0,j.useCallback)(()=>{Be.current?.click()},[]),Ot=(0,j.useCallback)((e,n={})=>{let r=(r,i,a)=>{let o=new URLSearchParams({session_key:t,path:w===`.`?``:w,filename:e.name});n.relpath&&o.set(`relpath`,n.relpath),n.token&&o.set(`token`,n.token);for(let[e,t]of Object.entries(i))o.set(e,t);return new Promise(t=>{let n=new XMLHttpRequest;n.open(`POST`,`/api/admin/files/upload?${o.toString()}`),n.setRequestHeader(`Content-Type`,e.type||`application/octet-stream`),a&&(n.upload.onprogress=e=>{e.lengthComputable&&a(e.loaded)}),n.onload=()=>{let e={};try{e=JSON.parse(n.responseText)}catch{}t({status:n.status,data:e})},n.onerror=()=>t({status:0,data:{}}),n.onabort=()=>t({status:0,data:{error:`aborted`}}),n.send(r)})};if(e.size<=we)return r(e,{},t=>n.onProgress?.(t,e.size));let i=`${Date.now().toString(36)}-${Math.random().toString(16).slice(2,10)}`,a=Math.ceil(e.size/Te);return(async()=>{let t={status:0,data:{}};for(let o=0;o<a;o++){let s=o*Te;if(t=await r(e.slice(s,Math.min(s+Te,e.size)),{uploadId:i,seq:String(o),total:String(a)},t=>n.onProgress?.(s+t,e.size)),!(t.status>=200&&t.status<300))return t}return t})()},[t,w]),kt=(0,j.useCallback)(async e=>{H(null),R(!0),B({loaded:0,total:e.size});try{let{status:t,data:n}=await Ot(e,{onProgress:(e,t)=>B({loaded:e,total:t})});t>=200&&t<300&&n.path?(T(n.path.split(`/`).slice(0,-1).join(`/`)||`.`),U(e=>e+1)):H(t===0?`Network error during upload — the connection failed before the server responded.`:n.error??`Upload failed (HTTP ${t}).`)}finally{R(!1),B(null),Be.current&&(Be.current.value=``)}},[Ot]),At=(0,j.useCallback)(e=>{W&&Array.from(e.dataTransfer.types).includes(`Files`)&&(e.preventDefault(),Fe(!0))},[W]),jt=(0,j.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||Fe(!1)},[]),Mt=(0,j.useCallback)(async e=>{e.preventDefault(),Fe(!1);let t=Math.random().toString(16).slice(2,10),n=Array.from(e.dataTransfer.items);if(console.info(`[data-ui] op=drop-received token=${t} items=${n.length}`),n.length===0)return;if(!W){console.info(`[data-ui] op=drop-rejected token=${t} reason=no-write`),H(`Open a folder inside your account to upload`);return}let r=n.map(e=>e.webkitGetAsEntry?.()).filter(e=>!!e);R(!0),H(null),je(null);let i=performance.now();try{let e=await Me(r),n=e.reduce((e,t)=>e+t.file.size,0),a=new Set(e.map(e=>e.relpath.split(`/`).slice(0,-1).join(`/`)).filter(Boolean)).size;console.info(`[data-ui] op=drop-walk token=${t} files=${e.length} dirs=${a} bytes=${n}`);let o=0,s=[];for(let n=0;n<e.length;n++){let{file:r,relpath:i}=e[n];console.info(`[data-ui] op=drop-file token=${t} rel="${i}" i=${n+1}/${e.length}`),B({loaded:0,total:r.size});let{status:a,data:c}=await Ot(r,{relpath:i,token:t,onProgress:(e,t)=>B({loaded:e,total:t})});if(a>=200&&a<300)o++,console.info(`[data-ui] op=drop-file-ok token=${t} rel="${i}"`);else{let e=a===0?`http=0`:Ne(a,c.error);s.push(`${i} (${e})`),console.info(`[data-ui] op=drop-file-skip token=${t} rel="${i}" reason=${e}`)}}let c=Math.round(performance.now()-i);console.info(`[data-ui] op=drop-done token=${t} uploaded=${o} skipped=${s.length} ms=${c}`),je(`Uploaded ${o}, skipped ${s.length}${s.length?`: ${s.join(`, `)}`:``}`),U(e=>e+1)}catch(e){H(e instanceof Error?e.message:String(e))}finally{R(!1),B(null)}},[W,Ot]),Nt=(0,j.useCallback)(async()=>{let t=Ke.trim();if(t){$e(null);try{let n=await e(`/api/admin/files/folder`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:w===`.`?``:w,name:t})}),r=await n.json().catch(()=>({error:`HTTP ${n.status}`}));if(!n.ok)throw Error(r.error??`HTTP ${n.status}`);Ge(!1),qe(``),U(e=>e+1)}catch(e){$e(e instanceof Error?e.message:String(e))}}},[e,Ke,w]),Pt=(0,j.useCallback)(async()=>{if(!Je)return;let t=Xe.trim();if(!t)return;$e(null);let n=w===`.`?Je:`${w}/${Je}`;try{let r=await e(`/api/admin/files/rename`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({path:n,newName:t})}),i=await r.json().catch(()=>({error:`HTTP ${r.status}`}));if(!r.ok)throw Error(i.error??`HTTP ${r.status}`);Ye(null),Ze(``),Z(`action`),U(e=>e+1)}catch(e){$e(e instanceof Error?e.message:String(e))}},[e,Xe,Je,w,Z]);(0,j.useEffect)(()=>{if(!et)return;let e=e=>{nt.current&&!nt.current.contains(e.target)&&tt(!1)},t=e=>{e.key===`Escape`&&tt(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[et]),(0,j.useEffect)(()=>{if(!rt)return;let e=e=>{it.current&&!it.current.contains(e.target)&&G(!1)},t=e=>{e.key===`Escape`&&G(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[rt]);let Ft=(0,j.useCallback)(e=>M.slice(0,e+1).map(e=>e.name).join(`/`),[M]),It=M.length>=2,Lt=It?[{name:`.`,label:`data`},...M.slice(0,M.length-2).map((e,t)=>({name:Ft(t),label:e.displayName??e.name}))]:[];return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`data-toolbar`,children:[J?(0,N.jsxs)(`button`,{type:`button`,className:`data-select-cancel`,onClick:()=>Z(`cancel`),"aria-label":`Cancel selection`,children:[(0,N.jsx)(f,{size:14}),` Cancel`]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`data-search-input`,children:[i===``&&(0,N.jsx)(oe,{size:14}),(0,N.jsx)(`input`,{ref:o,type:`text`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,autoComplete:`off`,spellCheck:!1}),h&&(0,N.jsx)(_,{size:14,className:`spin`}),i!==``&&(0,N.jsx)(`button`,{type:`button`,className:`data-search-inline-btn`,onClick:()=>{a(``),o.current?.focus()},title:`Clear search`,"aria-label":`Clear search`,children:(0,N.jsx)(f,{size:14})})]}),(0,N.jsxs)(`div`,{className:`data-toolbar-actions`,ref:it,children:[(0,N.jsx)(`button`,{type:`button`,className:`data-action-overflow`,onClick:()=>G(e=>!e),"aria-haspopup":`menu`,"aria-expanded":rt,"aria-label":`File actions`,title:`File actions`,children:(0,N.jsx)(se,{size:16})}),(0,N.jsxs)(`div`,{className:`data-action-group`,role:`group`,"aria-label":`File actions`,"data-open":rt?`true`:void 0,children:[(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{ct(),G(!1)},disabled:P,title:`Refresh this folder`,"aria-label":`Refresh this folder`,children:[P?(0,N.jsx)(_,{size:16,className:`spin`}):(0,N.jsx)(v,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`Refresh`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn admin-btn-cta`,onClick:()=>{Dt(),G(!1)},disabled:I||!W,title:W?`Upload a file`:`Open a folder inside your account to upload`,"aria-label":`Upload a file`,children:[I?z&&z.total>0?(0,N.jsxs)(`span`,{className:`data-upload-pct`,children:[Math.round(z.loaded/z.total*100),`%`]}):(0,N.jsx)(_,{size:16,className:`spin`}):(0,N.jsx)(me,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`Upload`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{Ge(e=>!e),qe(``),$e(null),G(!1)},disabled:I||!W,title:W?`New folder`:`Open a folder inside your account to create one`,"aria-label":`New folder`,children:[(0,N.jsx)(ce,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:`New folder`})]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-action-btn`,onClick:()=>{yt(k===`grid`?`list`:`grid`),G(!1)},title:k===`grid`?`List view`:`Grid view`,"aria-label":k===`grid`?`Switch to list view`:`Switch to grid view`,"aria-pressed":k===`grid`,children:[k===`grid`?(0,N.jsx)(de,{size:16}):(0,N.jsx)(ue,{size:16}),(0,N.jsx)(`span`,{className:`data-action-label`,children:k===`grid`?`List view`:`Grid view`})]})]})]})]}),(0,N.jsxs)(`div`,{className:`data-breadcrumbs`,children:[w!==`.`&&(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost data-back-btn`,onClick:ut,title:`Up one level`,"aria-label":`Up one level`,children:(0,N.jsx)(D,{size:14})}),It?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,ref:nt,children:[(0,N.jsx)(`button`,{type:`button`,className:`data-crumb data-crumb-ellipsis`,onClick:()=>tt(e=>!e),"aria-haspopup":`menu`,"aria-expanded":et,"aria-label":`Show parent folders`,title:`Show parent folders`,children:`…`}),et&&(0,N.jsx)(`div`,{className:`data-crumb-menu`,role:`menu`,children:Lt.map(e=>(0,N.jsx)(`button`,{type:`button`,role:`menuitem`,className:`data-crumb-menu-item`,onClick:()=>q(e.name),title:e.label,children:e.label},e.name))})]}),[M.length-2,M.length-1].map(e=>{let t=M[e];return(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,children:[(0,N.jsx)(`span`,{className:`data-crumb-sep`,children:`›`}),(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(Ft(e)),title:t.name,children:t.displayName??t.name})]},Ft(e))})]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(`.`),children:`data`}),M.map((e,t)=>(0,N.jsxs)(`span`,{className:`data-crumb-wrap`,children:[(0,N.jsx)(`span`,{className:`data-crumb-sep`,children:`›`}),(0,N.jsx)(`button`,{type:`button`,className:`data-crumb`,onClick:()=>q(Ft(t)),title:e.name,children:e.displayName??e.name})]},Ft(t)))]})]}),We&&(0,N.jsxs)(`div`,{className:`data-inline-form`,children:[(0,N.jsx)(`input`,{type:`text`,className:`data-inline-input`,placeholder:`Folder name`,value:Ke,autoFocus:!0,onChange:e=>qe(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Nt(),e.key===`Escape`&&Ge(!1)}}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn`,onClick:Nt,children:`Create`}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost`,onClick:()=>Ge(!1),children:`Cancel`})]}),Je&&(0,N.jsxs)(`div`,{className:`data-inline-form`,children:[(0,N.jsx)(`input`,{type:`text`,className:`data-inline-input`,placeholder:`New name`,value:Xe,autoFocus:!0,onChange:e=>Ze(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Pt(),e.key===`Escape`&&Ye(null)}}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn`,onClick:Pt,children:`Rename`}),(0,N.jsx)(`button`,{type:`button`,className:`data-btn data-btn-ghost`,onClick:()=>Ye(null),children:`Cancel`})]}),Qe&&(0,N.jsx)(`div`,{className:`data-error`,children:Qe}),(0,N.jsx)(`input`,{type:`file`,ref:Be,hidden:!0,onChange:e=>{let t=e.target.files?.[0];t&&kt(t)}})]}),(0,N.jsxs)(`div`,{className:`data-body`,"data-drag-active":Pe?`true`:void 0,onDragEnter:At,onDragOver:At,onDragLeave:jt,onDrop:Mt,children:[(ee!==null||l!==null)&&(0,N.jsxs)(`section`,{className:`data-panel admin-card`,children:[ee&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Search failed: `,ee]}),at.length>0&&(0,N.jsx)(`div`,{className:`data-chip-row`,role:`group`,"aria-label":`Filter by type`,children:at.map(e=>{let t=e===K;return(0,N.jsx)(`button`,{type:`button`,className:`data-chip`,"data-active":t,onClick:()=>x(t?null:e),children:Re([e])??e},e)})}),l&&!h&&(0,N.jsxs)(`div`,{className:`data-results-meta`,children:[ot.length,` of `,l.length,` result`,l.length===1?``:`s`]}),l&&!h&&!K&&ie>0&&!C&&(0,N.jsxs)(`button`,{type:`button`,className:`data-suppressed-banner`,onClick:()=>ae(!0),children:[ie,` low-confidence result`,ie===1?``:`s`,` hidden — show all`]}),l&&!h&&!K&&C&&(0,N.jsx)(`button`,{type:`button`,className:`data-suppressed-banner`,onClick:()=>ae(!1),children:`Showing all results — hide low-confidence`}),l&&l.length===0&&!h&&(0,N.jsx)(`div`,{className:`data-empty-results`,children:`No matches. Try a different keyword.`}),ot&&ot.length>0&&(0,N.jsx)(`ul`,{className:`data-results`,children:ot.map(e=>(0,N.jsx)(Le,{hit:e,mode:p,onDownload:st,onLocate:lt},e.nodeId))})]}),(0,N.jsxs)(`section`,{className:`data-panel admin-card`,children:[z&&(0,N.jsxs)(`div`,{className:`data-upload-progress`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":z.total>0?Math.round(z.loaded/z.total*100):void 0,children:[(0,N.jsx)(`div`,{className:`data-upload-progress-track`,children:(0,N.jsx)(`div`,{className:`data-upload-progress-fill`,style:{width:`${z.total>0?Math.round(z.loaded/z.total*100):0}%`}})}),(0,N.jsxs)(`span`,{className:`data-upload-progress-label`,children:[`Uploading… `,z.total>0?`${Math.round(z.loaded/z.total*100)}%`:``]})]}),De&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Upload failed: `,De]}),Ae&&(0,N.jsx)(`div`,{className:`data-status`,children:Ae}),Ie&&(0,N.jsxs)(`div`,{className:`data-error`,children:[`Delete failed: `,Ie]}),ve&&(0,N.jsx)(`div`,{className:`data-error`,children:ve}),P&&(0,N.jsxs)(`div`,{className:`data-loading`,children:[(0,N.jsx)(_,{size:14,className:`spin`}),` Loading…`]}),!J&&!P&&E&&E.length>0&&(0,N.jsxs)(`div`,{className:`data-select-hint`,children:[(0,N.jsx)(fe,{size:13}),(0,N.jsx)(`span`,{children:`Press and hold a file to select, rename, or delete it.`})]}),!P&&E&&E.length===0&&!ve&&(0,N.jsx)(`div`,{className:`data-empty-results`,children:`Empty directory.`}),!P&&E&&E.length>0&&k===`grid`&&(0,N.jsx)(`ul`,{className:`data-grid`,children:E.map(e=>{let n=e.displayName??e.name,r=J&&Y.has(e.name);if(e.kind===`directory`)return(0,N.jsx)(`li`,{className:`data-grid-cell`,"data-selected":r?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-grid-tile`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}q(w===`.`?e.name:`${w}/${e.name}`)},children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsx)(O,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,title:e.name,children:n})]})},e.name);if(e.kind===`file`){let i=Se(V(e)),a=w===`.`?V(e):`${w}/${V(e)}`;return(0,N.jsx)(`li`,{className:`data-grid-cell`,"data-selected":r?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-grid-tile${i?` data-grid-tile-image`:``}`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>i?bt(e):vt(e),title:J?void 0:i?`Preview ${n}`:`Download ${n}`,children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),i?(0,N.jsx)(`img`,{className:`data-grid-thumb`,src:L(t,a),alt:n,loading:`lazy`,onError:()=>console.warn(`[data] op=thumb-error path=${a}`)}):(0,N.jsx)(re,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,title:e.name,children:n}),!i&&(0,N.jsx)(`span`,{className:`data-grid-sub`,children:He(e.sizeBytes)})]})},e.name)}return(0,N.jsx)(`li`,{className:`data-grid-cell`,children:(0,N.jsxs)(`div`,{className:`data-grid-tile data-entry-disabled`,children:[(0,N.jsx)(re,{size:28,className:`data-grid-glyph`}),(0,N.jsx)(`span`,{className:`data-grid-label`,children:n}),(0,N.jsx)(`span`,{className:`data-grid-sub`,children:`special`})]})},e.name)})}),!P&&E&&E.length>0&&k===`list`&&(0,N.jsx)(`ul`,{className:`data-entries`,children:E.map(e=>{let t=e.displayName??e.name;if(e.kind===`directory`){let n=J&&Y.has(e.name);return(0,N.jsx)(`li`,{className:`data-entry`,"data-selected":n?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-entry-btn`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>{if(X.current){X.current=!1;return}if(J){Q(e.name);return}q(w===`.`?e.name:`${w}/${e.name}`)},children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsx)(O,{size:14}),(0,N.jsx)(`span`,{className:`data-entry-name`,title:e.name,children:t})]})},e.name)}if(e.kind===`file`){let n=J&&Y.has(e.name);return(0,N.jsx)(`li`,{className:`data-entry`,"data-selected":n?`true`:void 0,children:(0,N.jsxs)(`button`,{type:`button`,className:`data-entry-btn data-entry-file`,onPointerDown:()=>_t(e.name),onPointerUp:$,onPointerMove:$,onPointerLeave:$,onPointerCancel:$,onClick:()=>vt(e),title:J?void 0:`Download ${t}`,children:[J&&(0,N.jsx)(`span`,{className:`data-entry-select-indicator`,"aria-hidden":`true`}),(0,N.jsxs)(`span`,{className:`data-entry-text`,children:[(0,N.jsx)(`span`,{className:`data-entry-name`,title:e.name,children:t}),(0,N.jsxs)(`span`,{className:`data-entry-meta`,title:`Modified ${Ue(e.modifiedAt)}`,children:[He(e.sizeBytes),` · `,Ue(e.modifiedAt)]})]})]})},e.name)}return(0,N.jsx)(`li`,{className:`data-entry`,children:(0,N.jsx)(`div`,{className:`data-entry-btn data-entry-file data-entry-disabled`,children:(0,N.jsxs)(`span`,{className:`data-entry-text`,children:[(0,N.jsx)(`span`,{className:`data-entry-name`,children:t}),(0,N.jsx)(`span`,{className:`data-entry-meta`,children:`special`})]})})},e.name)})})]})]}),J&&(0,N.jsx)(`div`,{className:`data-select-bar`,role:`toolbar`,"aria-label":`Selection actions`,children:(0,N.jsxs)(`div`,{className:`data-select-bar-inner`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:Et,disabled:!ht||Y.size===0,title:ht?`Share selected files`:`Sharing is not supported on this device`,children:[(0,N.jsx)(te,{size:16}),` Share`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:wt,disabled:Y.size===0,children:[(0,N.jsx)(r,{size:16}),` Download`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action`,onClick:()=>{let e=St();e&&(Ye(e.name),Ze(e.name))},disabled:!St(),children:[(0,N.jsx)(ne,{size:16}),` Rename`]}),(0,N.jsxs)(`button`,{type:`button`,className:`data-select-action data-select-delete`,onClick:Tt,disabled:Y.size===0,children:[(0,N.jsx)(d,{size:16}),` Delete`]})]})}),A&&(0,N.jsx)(`div`,{className:`chat-attachment-overlay`,role:`dialog`,"aria-label":A.alt,onClick:()=>he(null),children:(0,N.jsx)(`img`,{className:`chat-attachment-overlay-image`,src:A.src,alt:A.alt})})]})}function Fe({adminFetch:e,cacheKey:t,sessionRefetchNonce:n}){(0,j.useEffect)(()=>{console.info(`[data-ui] op=mount header=operator home=absent`)},[]);let r=(0,j.useCallback)(()=>{try{sessionStorage.removeItem(`maxy-admin-session-key`)}catch{}window.location.href=`/`},[]),i=(0,j.useCallback)(e=>{e===`chat`&&(window.location.href=`/`)},[]),[a,o]=(0,j.useState)([]),[s,c]=(0,j.useState)(`files`),{subAccounts:l,activeAccountId:d,switching:f,switchAccount:p}=g(t);return(0,j.useEffect)(()=>{if(!t)return;let e=!1;return fetch(`/api/whatsapp-reader/conversations?session_key=${encodeURIComponent(t)}`).then(e=>e.ok?e.json():{conversations:[]}).then(t=>{e||o(t.conversations??[])}).catch(()=>{}),()=>{e=!0}},[t]),(0,N.jsxs)(`main`,{className:`data-main`,children:[(0,N.jsx)(u,{variant:`operator`,onNavigate:i,onOpenConversations:a.length>0?()=>c(`conversations`):void 0,onToggleSidebar:()=>{},sidebarOpen:!1,onLogout:r,onDisconnect:async()=>!0,disconnecting:!1,subAccounts:l,activeAccountId:d,switchingAccount:f,onSwitchAccount:p}),s===`conversations`?(0,N.jsx)(z,{conversations:a,sessionKey:t,onBack:()=>c(`files`)}):(0,N.jsx)(Pe,{adminFetch:e,cacheKey:t,sessionRefetchNonce:n})]})}function Ie({cacheKey:e}){let{adminFetch:n,cacheKey:r,sessionRefetchNonce:i}=t({initialCacheKey:e,surface:`data`});return(0,N.jsx)(`div`,{className:`data-page`,children:(0,N.jsx)(`main`,{className:`data-main`,children:(0,N.jsx)(Pe,{adminFetch:n,cacheKey:r,sessionRefetchNonce:i})})})}function Le({hit:e,mode:t,onDownload:n,onLocate:r}){let i=ze(e.properties),a=Be(e.properties),o=Re(e.labels),s=Ve(e.properties),[c,l]=(0,j.useState)(!1),u=a&&a.length>280,d=c||!u?a:a?.slice(0,280)+`…`,f=t===`bm25`?`bm25 ${e.bm25Score.toFixed(2)}`:`vector ${e.vectorScore.toFixed(2)} · bm25 ${e.bm25Score.toFixed(2)} · combined ${e.score.toFixed(2)}`,p=e.properties.relativePath,m=typeof p==`string`&&p.length>0,h=m?p.lastIndexOf(`/`):-1,g=m?h===-1?`data`:p.slice(0,h):null;return(0,N.jsxs)(`li`,{className:`data-result`,children:[(0,N.jsxs)(`div`,{role:`button`,tabIndex:0,className:`data-result-open`,onClick:()=>n(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n(e))},"aria-label":`Download ${i??o??`file`}`,children:[o&&(0,N.jsx)(`div`,{className:`data-result-header`,children:(0,N.jsx)(`span`,{className:`data-result-labels`,children:o})}),i&&(0,N.jsx)(`div`,{className:`data-result-title`,children:i}),a&&(0,N.jsx)(`pre`,{className:`data-result-body`,children:d}),(0,N.jsxs)(`div`,{className:`data-result-scores`,children:[s&&(0,N.jsxs)(`span`,{className:`data-result-updated`,children:[`Updated `,Ue(s),` · `]}),f]})]}),m&&(0,N.jsxs)(`button`,{type:`button`,className:`data-result-locate`,onClick:()=>r(e),title:`Locate in ${g}`,"aria-label":`Locate in ${g}`,children:[(0,N.jsx)(O,{size:12}),g]}),u&&(0,N.jsx)(`button`,{type:`button`,className:`data-result-toggle`,onClick:()=>l(e=>!e),children:c?`Show less`:`Show more`})]})}function Re(e){if(e.length===0)return null;let t=e[0].replace(/([a-z])([A-Z])/g,`$1 $2`);return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function ze(e){for(let t of[`title`,`name`,`summary`,`headline`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n.length>140?n.slice(0,140)+`…`:n}return null}function Be(e){for(let t of[`content`,`summary`,`body`,`description`,`text`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n}return null}function Ve(e){for(let t of[`updatedAt`,`modifiedAt`,`fetchedAt`,`createdAt`,`lastModified`]){let n=e[t];if(typeof n==`string`&&n.length>0)return n}return null}function He(e){return e==null?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${(e/1024/1024/1024).toFixed(1)} GB`}function Ue(e){try{let t=new Date(e);if(isNaN(t.getTime()))return`—`;let n=typeof navigator<`u`?navigator.languages&&navigator.languages.length>0?[...navigator.languages]:[navigator.language]:void 0;return t.toLocaleString(n,{dateStyle:`medium`,timeStyle:`short`})}catch{return`—`}}export{A as a,I as i,Ie as n,be as r,De as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BY87anQZ.js","assets/preload-helper-CT1Z6Pdu.js","assets/dist-CLmrZbY7.js","assets/chunk-TPjIAO9U.js","assets/chunk-U2HBQHQK-5JgWosPv.js","assets/src-DQ0MSD6q.js","assets/chunk-5PVQY5BW-BYCOi9bf.js","assets/chunk-ICPOFSXX-DeRggD-Q.js","assets/_baseFor-BBkmqPEk.js","assets/isEmpty-Dh1dF-tM.js","assets/chunk-336JU56O-926ox0tj.js","assets/chunk-5FUZZQ4R-DnYGr9CP.js","assets/chunk-X2U36JSP-BGJqysB2.js","assets/chunk-ZZ45TVLE-DG1iY-L9.js","assets/rough.esm-D5NinLFK.js","assets/chunk-ENJZ2VHE-BRi4BwM5.js","assets/line-B8Brm0TD.js","assets/path-JZiojYzQ.js","assets/array-Bjtb2C_5.js","assets/chunk-BSJP7CBP-CHk82eFy.js","assets/chunk-426QAEUC-1poG7Nd3.js","assets/chunk-XPW4576I-GERE2ekx.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e,r as t,t as n}from"./chunk-TPjIAO9U.js";import{A as r,F as i,N as a,R as o,U as s,_ as c,b as l,g as u,h as d,m as f,p,r as m,w as h,x as g}from"./useSubAccountSwitcher-
|
|
2
|
+
import{o as e,r as t,t as n}from"./chunk-TPjIAO9U.js";import{A as r,F as i,N as a,R as o,U as s,_ as c,b as l,g as u,h as d,m as f,p,r as m,w as h,x as g}from"./useSubAccountSwitcher-DotTrvX3.js";import{C as _,E as v,S as y,T as b,_ as x,a as S,b as C,c as w,d as T,f as E,g as D,h as O,i as k,l as ee,m as te,n as ne,o as A,p as re,r as ie,s as ae,t as oe,u as se,v as ce,w as le,x as ue,y as de}from"./useVoiceRecorder-QN9_GqB_.js";import{_ as fe,c as pe,f as j,g as me,h as he,i as ge,l as _e,m as ve,o as ye,p as be,r as xe,s as Se,t as Ce,u as we,v as Te}from"./AdminShell-JN7rZ8aG.js";import{t as Ee}from"./bot-DnuyRsLS.js";import{t as De}from"./chevron-down-Blma_CKl.js";import{t as Oe}from"./chevron-left-xeYDxFiC.js";import{n as M}from"./maximize-2-k3Fu5hdP.js";import{n as ke}from"./time-entry-format-EmV5lz6o.js";import{t as Ae}from"./rotate-ccw-D-ov5jM4.js";import{t as je}from"./preload-helper-CT1Z6Pdu.js";import{t as Me}from"./useCopyFeedback-hbnPS-r9.js";var Ne=a(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),Pe=a(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Fe=a(`corner-down-left`,[[`path`,{d:`M20 4v7a4 4 0 0 1-4 4H4`,key:`6o5b7l`}],[`path`,{d:`m9 10-5 5 5 5`,key:`1kshq7`}]]),Ie=a(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),Le=a(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Re=a(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),ze=a(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Be=a(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);function Ve(e,t,n){if(t!==n)return null;let r=t,i=e.lastIndexOf(`
|
|
3
3
|
`,r-1)+1,a=e.indexOf(`
|
|
4
4
|
`,r),o=a===-1?e.length:a;if(r!==o)return null;let s=e.slice(i,o),c=s.match(/^(\s*)(\d+)\.[ \t]*$/);if(c){let t=c[1];return{value:e.slice(0,i)+t+e.slice(o),caret:i+t.length}}let l=s.match(/^(\s*)(\d+)\.[ \t]/);if(l){let t=`\n${l[1]}${parseInt(l[2],10)+1}. `;return{value:e.slice(0,r)+t+e.slice(r),caret:r+t.length}}return null}function He(e,t){let n=[];for(let r of e){if(r.kind!==`file`)continue;let e=r.getAsFile();if(e)if(e.name===``||e.name===`image.png`){let r=e.type.split(`/`)[1]?.replace(`jpeg`,`jpg`)||`png`;n.push(new File([e],`pasted-image-${t}.${r}`,{type:e.type}))}else n.push(e)}return n}var Ue=new Set([`audio/ogg`,`audio/opus`,`audio/webm`,`audio/mp4`,`audio/x-m4a`,`audio/mpeg`,`audio/wav`,`video/mp4`]);function We(e){return e.split(`;`)[0].trim().toLowerCase()}function Ge(e){return Ue.has(We(e))}function Ke(e,t){let n=t||{};return(e[e.length-1]===``?[...e,``]:e).join((n.padRight?` `:``)+`,`+(n.padLeft===!1?``:` `)).trim()}var qe=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Je=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ye={};function N(e,t){return((t||Ye).jsx?Je:qe).test(e)}var Xe=/[ \t\n\f\r]/g;function Ze(e){return typeof e==`object`?e.type===`text`?Qe(e.value):!1:Qe(e)}function Qe(e){return e.replace(Xe,``)===``}var P=class{constructor(e,t,n){this.normal=t,this.property=e,n&&(this.space=n)}};P.prototype.normal={},P.prototype.property={},P.prototype.space=void 0;function $e(e,t){let n={},r={};for(let t of e)Object.assign(n,t.property),Object.assign(r,t.normal);return new P(n,r,t)}function et(e){return e.toLowerCase()}var F=class{constructor(e,t){this.attribute=t,this.property=e}};F.prototype.attribute=``,F.prototype.booleanish=!1,F.prototype.boolean=!1,F.prototype.commaOrSpaceSeparated=!1,F.prototype.commaSeparated=!1,F.prototype.defined=!1,F.prototype.mustUseProperty=!1,F.prototype.number=!1,F.prototype.overloadedBoolean=!1,F.prototype.property=``,F.prototype.spaceSeparated=!1,F.prototype.space=void 0;var I=t({boolean:()=>L,booleanish:()=>R,commaOrSpaceSeparated:()=>V,commaSeparated:()=>rt,number:()=>z,overloadedBoolean:()=>nt,spaceSeparated:()=>B}),tt=0,L=it(),R=it(),nt=it(),z=it(),B=it(),rt=it(),V=it();function it(){return 2**++tt}var at=Object.keys(I),ot=class extends F{constructor(e,t,n,r){let i=-1;if(super(e,t),st(this,`space`,r),typeof n==`number`)for(;++i<at.length;){let e=at[i];st(this,at[i],(n&I[e])===I[e])}}};ot.prototype.defined=!0;function st(e,t,n){n&&(e[t]=n)}function ct(e){let t={},n={};for(let[r,i]of Object.entries(e.properties)){let a=new ot(r,e.transform(e.attributes||{},r),i,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(a.mustUseProperty=!0),t[r]=a,n[et(r)]=r,n[et(a.attribute)]=r}return new P(t,n,e.space)}var lt=ct({properties:{ariaActiveDescendant:null,ariaAtomic:R,ariaAutoComplete:null,ariaBusy:R,ariaChecked:R,ariaColCount:z,ariaColIndex:z,ariaColSpan:z,ariaControls:B,ariaCurrent:null,ariaDescribedBy:B,ariaDetails:null,ariaDisabled:R,ariaDropEffect:B,ariaErrorMessage:null,ariaExpanded:R,ariaFlowTo:B,ariaGrabbed:R,ariaHasPopup:null,ariaHidden:R,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:B,ariaLevel:z,ariaLive:null,ariaModal:R,ariaMultiLine:R,ariaMultiSelectable:R,ariaOrientation:null,ariaOwns:B,ariaPlaceholder:null,ariaPosInSet:z,ariaPressed:R,ariaReadOnly:R,ariaRelevant:null,ariaRequired:R,ariaRoleDescription:B,ariaRowCount:z,ariaRowIndex:z,ariaRowSpan:z,ariaSelected:R,ariaSetSize:z,ariaSort:null,ariaValueMax:z,ariaValueMin:z,ariaValueNow:z,ariaValueText:null,role:null},transform(e,t){return t===`role`?t:`aria-`+t.slice(4).toLowerCase()}});function ut(e,t){return t in e?e[t]:t}function dt(e,t){return ut(e,t.toLowerCase())}var ft=ct({attributes:{acceptcharset:`accept-charset`,classname:`class`,htmlfor:`for`,httpequiv:`http-equiv`},mustUseProperty:[`checked`,`multiple`,`muted`,`selected`],properties:{abbr:null,accept:rt,acceptCharset:B,accessKey:B,action:null,allow:null,allowFullScreen:L,allowPaymentRequest:L,allowUserMedia:L,alt:null,as:null,async:L,autoCapitalize:null,autoComplete:B,autoFocus:L,autoPlay:L,blocking:B,capture:null,charSet:null,checked:L,cite:null,className:B,cols:z,colSpan:null,content:null,contentEditable:R,controls:L,controlsList:B,coords:z|rt,crossOrigin:null,data:null,dateTime:null,decoding:null,default:L,defer:L,dir:null,dirName:null,disabled:L,download:nt,draggable:R,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:L,formTarget:null,headers:B,height:z,hidden:nt,high:z,href:null,hrefLang:null,htmlFor:B,httpEquiv:B,id:null,imageSizes:null,imageSrcSet:null,inert:L,inputMode:null,integrity:null,is:null,isMap:L,itemId:null,itemProp:B,itemRef:B,itemScope:L,itemType:B,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:L,low:z,manifest:null,max:null,maxLength:z,media:null,method:null,min:null,minLength:z,multiple:L,muted:L,name:null,nonce:null,noModule:L,noValidate:L,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:L,optimum:z,pattern:null,ping:B,placeholder:null,playsInline:L,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:L,referrerPolicy:null,rel:B,required:L,reversed:L,rows:z,rowSpan:z,sandbox:B,scope:null,scoped:L,seamless:L,selected:L,shadowRootClonable:L,shadowRootDelegatesFocus:L,shadowRootMode:null,shape:null,size:z,sizes:null,slot:null,span:z,spellCheck:R,src:null,srcDoc:null,srcLang:null,srcSet:null,start:z,step:null,style:null,tabIndex:z,target:null,title:null,translate:null,type:null,typeMustMatch:L,useMap:null,value:R,width:z,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:B,axis:null,background:null,bgColor:null,border:z,borderColor:null,bottomMargin:z,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:L,declare:L,event:null,face:null,frame:null,frameBorder:null,hSpace:z,leftMargin:z,link:null,longDesc:null,lowSrc:null,marginHeight:z,marginWidth:z,noResize:L,noHref:L,noShade:L,noWrap:L,object:null,profile:null,prompt:null,rev:null,rightMargin:z,rules:null,scheme:null,scrolling:R,standby:null,summary:null,text:null,topMargin:z,valueType:null,version:null,vAlign:null,vLink:null,vSpace:z,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:L,disableRemotePlayback:L,prefix:null,property:null,results:z,security:null,unselectable:null},space:`html`,transform:dt}),pt=ct({attributes:{accentHeight:`accent-height`,alignmentBaseline:`alignment-baseline`,arabicForm:`arabic-form`,baselineShift:`baseline-shift`,capHeight:`cap-height`,className:`class`,clipPath:`clip-path`,clipRule:`clip-rule`,colorInterpolation:`color-interpolation`,colorInterpolationFilters:`color-interpolation-filters`,colorProfile:`color-profile`,colorRendering:`color-rendering`,crossOrigin:`crossorigin`,dataType:`datatype`,dominantBaseline:`dominant-baseline`,enableBackground:`enable-background`,fillOpacity:`fill-opacity`,fillRule:`fill-rule`,floodColor:`flood-color`,floodOpacity:`flood-opacity`,fontFamily:`font-family`,fontSize:`font-size`,fontSizeAdjust:`font-size-adjust`,fontStretch:`font-stretch`,fontStyle:`font-style`,fontVariant:`font-variant`,fontWeight:`font-weight`,glyphName:`glyph-name`,glyphOrientationHorizontal:`glyph-orientation-horizontal`,glyphOrientationVertical:`glyph-orientation-vertical`,hrefLang:`hreflang`,horizAdvX:`horiz-adv-x`,horizOriginX:`horiz-origin-x`,horizOriginY:`horiz-origin-y`,imageRendering:`image-rendering`,letterSpacing:`letter-spacing`,lightingColor:`lighting-color`,markerEnd:`marker-end`,markerMid:`marker-mid`,markerStart:`marker-start`,navDown:`nav-down`,navDownLeft:`nav-down-left`,navDownRight:`nav-down-right`,navLeft:`nav-left`,navNext:`nav-next`,navPrev:`nav-prev`,navRight:`nav-right`,navUp:`nav-up`,navUpLeft:`nav-up-left`,navUpRight:`nav-up-right`,onAbort:`onabort`,onActivate:`onactivate`,onAfterPrint:`onafterprint`,onBeforePrint:`onbeforeprint`,onBegin:`onbegin`,onCancel:`oncancel`,onCanPlay:`oncanplay`,onCanPlayThrough:`oncanplaythrough`,onChange:`onchange`,onClick:`onclick`,onClose:`onclose`,onCopy:`oncopy`,onCueChange:`oncuechange`,onCut:`oncut`,onDblClick:`ondblclick`,onDrag:`ondrag`,onDragEnd:`ondragend`,onDragEnter:`ondragenter`,onDragExit:`ondragexit`,onDragLeave:`ondragleave`,onDragOver:`ondragover`,onDragStart:`ondragstart`,onDrop:`ondrop`,onDurationChange:`ondurationchange`,onEmptied:`onemptied`,onEnd:`onend`,onEnded:`onended`,onError:`onerror`,onFocus:`onfocus`,onFocusIn:`onfocusin`,onFocusOut:`onfocusout`,onHashChange:`onhashchange`,onInput:`oninput`,onInvalid:`oninvalid`,onKeyDown:`onkeydown`,onKeyPress:`onkeypress`,onKeyUp:`onkeyup`,onLoad:`onload`,onLoadedData:`onloadeddata`,onLoadedMetadata:`onloadedmetadata`,onLoadStart:`onloadstart`,onMessage:`onmessage`,onMouseDown:`onmousedown`,onMouseEnter:`onmouseenter`,onMouseLeave:`onmouseleave`,onMouseMove:`onmousemove`,onMouseOut:`onmouseout`,onMouseOver:`onmouseover`,onMouseUp:`onmouseup`,onMouseWheel:`onmousewheel`,onOffline:`onoffline`,onOnline:`ononline`,onPageHide:`onpagehide`,onPageShow:`onpageshow`,onPaste:`onpaste`,onPause:`onpause`,onPlay:`onplay`,onPlaying:`onplaying`,onPopState:`onpopstate`,onProgress:`onprogress`,onRateChange:`onratechange`,onRepeat:`onrepeat`,onReset:`onreset`,onResize:`onresize`,onScroll:`onscroll`,onSeeked:`onseeked`,onSeeking:`onseeking`,onSelect:`onselect`,onShow:`onshow`,onStalled:`onstalled`,onStorage:`onstorage`,onSubmit:`onsubmit`,onSuspend:`onsuspend`,onTimeUpdate:`ontimeupdate`,onToggle:`ontoggle`,onUnload:`onunload`,onVolumeChange:`onvolumechange`,onWaiting:`onwaiting`,onZoom:`onzoom`,overlinePosition:`overline-position`,overlineThickness:`overline-thickness`,paintOrder:`paint-order`,panose1:`panose-1`,pointerEvents:`pointer-events`,referrerPolicy:`referrerpolicy`,renderingIntent:`rendering-intent`,shapeRendering:`shape-rendering`,stopColor:`stop-color`,stopOpacity:`stop-opacity`,strikethroughPosition:`strikethrough-position`,strikethroughThickness:`strikethrough-thickness`,strokeDashArray:`stroke-dasharray`,strokeDashOffset:`stroke-dashoffset`,strokeLineCap:`stroke-linecap`,strokeLineJoin:`stroke-linejoin`,strokeMiterLimit:`stroke-miterlimit`,strokeOpacity:`stroke-opacity`,strokeWidth:`stroke-width`,tabIndex:`tabindex`,textAnchor:`text-anchor`,textDecoration:`text-decoration`,textRendering:`text-rendering`,transformOrigin:`transform-origin`,typeOf:`typeof`,underlinePosition:`underline-position`,underlineThickness:`underline-thickness`,unicodeBidi:`unicode-bidi`,unicodeRange:`unicode-range`,unitsPerEm:`units-per-em`,vAlphabetic:`v-alphabetic`,vHanging:`v-hanging`,vIdeographic:`v-ideographic`,vMathematical:`v-mathematical`,vectorEffect:`vector-effect`,vertAdvY:`vert-adv-y`,vertOriginX:`vert-origin-x`,vertOriginY:`vert-origin-y`,wordSpacing:`word-spacing`,writingMode:`writing-mode`,xHeight:`x-height`,playbackOrder:`playbackorder`,timelineBegin:`timelinebegin`},properties:{about:V,accentHeight:z,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:z,amplitude:z,arabicForm:null,ascent:z,attributeName:null,attributeType:null,azimuth:z,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:z,by:null,calcMode:null,capHeight:z,className:B,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:z,diffuseConstant:z,direction:null,display:null,dur:null,divisor:z,dominantBaseline:null,download:L,dx:null,dy:null,edgeMode:null,editable:null,elevation:z,enableBackground:null,end:null,event:null,exponent:z,externalResourcesRequired:null,fill:null,fillOpacity:z,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:rt,g2:rt,glyphName:rt,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:z,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:z,horizOriginX:z,horizOriginY:z,id:null,ideographic:z,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:z,k:z,k1:z,k2:z,k3:z,k4:z,kernelMatrix:V,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:z,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:z,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:z,overlineThickness:z,paintOrder:null,panose1:null,path:null,pathLength:z,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:B,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:z,pointsAtY:z,pointsAtZ:z,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:V,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:V,rev:V,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:V,requiredFeatures:V,requiredFonts:V,requiredFormats:V,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:z,specularExponent:z,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:z,strikethroughThickness:z,string:null,stroke:null,strokeDashArray:V,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:z,strokeOpacity:z,strokeWidth:null,style:null,surfaceScale:z,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:V,tabIndex:z,tableValues:null,target:null,targetX:z,targetY:z,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:V,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:z,underlineThickness:z,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:z,values:null,vAlphabetic:z,vMathematical:z,vectorEffect:null,vHanging:z,vIdeographic:z,version:null,vertAdvY:z,vertOriginX:z,vertOriginY:z,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:z,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:`svg`,transform:ut}),mt=ct({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:`xlink`,transform(e,t){return`xlink:`+t.slice(5).toLowerCase()}}),ht=ct({attributes:{xmlnsxlink:`xmlns:xlink`},properties:{xmlnsXLink:null,xmlns:null},space:`xmlns`,transform:dt}),gt=ct({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:`xml`,transform(e,t){return`xml:`+t.slice(3).toLowerCase()}}),_t={classId:`classID`,dataType:`datatype`,itemId:`itemID`,strokeDashArray:`strokeDasharray`,strokeDashOffset:`strokeDashoffset`,strokeLineCap:`strokeLinecap`,strokeLineJoin:`strokeLinejoin`,strokeMiterLimit:`strokeMiterlimit`,typeOf:`typeof`,xLinkActuate:`xlinkActuate`,xLinkArcRole:`xlinkArcrole`,xLinkHref:`xlinkHref`,xLinkRole:`xlinkRole`,xLinkShow:`xlinkShow`,xLinkTitle:`xlinkTitle`,xLinkType:`xlinkType`,xmlnsXLink:`xmlnsXlink`},vt=/[A-Z]/g,yt=/-[a-z]/g,bt=/^data[-\w.:]+$/i;function xt(e,t){let n=et(t),r=t,i=F;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)===`data`&&bt.test(t)){if(t.charAt(4)===`-`){let e=t.slice(5).replace(yt,Ct);r=`data`+e.charAt(0).toUpperCase()+e.slice(1)}else{let e=t.slice(4);if(!yt.test(e)){let n=e.replace(vt,St);n.charAt(0)!==`-`&&(n=`-`+n),t=`data`+n}}i=ot}return new i(r,t)}function St(e){return`-`+e.toLowerCase()}function Ct(e){return e.charAt(1).toUpperCase()}var wt=$e([lt,ft,mt,ht,gt],`html`),Tt=$e([lt,pt,mt,ht,gt],`svg`);function Et(e){return e.join(` `).trim()}var Dt=n(((e,t)=>{var n=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,i=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,s=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,l=/^\s+|\s+$/g,u=`
|
|
5
5
|
`,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,g=1;function v(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(u);g=~n?e.length-n:g+e.length}function y(){var e={line:l,column:g};return function(t){return t.position=new b(e),C(),t}}function b(e){this.start=e,this.end={line:l,column:g},this.source=t.source}b.prototype.content=e;function x(n){var r=Error(t.source+`:`+l+`:`+g+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=g,r.source=e,!t.silent)throw r}function S(t){var n=t.exec(e);if(n){var r=n[0];return v(r),e=e.slice(r.length),n}}function C(){S(i)}function w(e){var t;for(e||=[];t=T();)t!==!1&&e.push(t);return e}function T(){var t=y();if(!(d!=e.charAt(0)||f!=e.charAt(1))){for(var n=2;p!=e.charAt(n)&&(f!=e.charAt(n)||d!=e.charAt(n+1));)++n;if(n+=2,p===e.charAt(n-1))return x(`End of comment missing`);var r=e.slice(2,n-2);return g+=2,v(r),e=e.slice(n),g+=2,t({type:m,comment:r})}}function E(){var e=y(),t=S(a);if(t){if(T(),!S(o))return x(`property missing ':'`);var r=S(s),i=e({type:h,property:_(t[0].replace(n,p)),value:r?_(r[0].replace(n,p)):p});return S(c),i}}function D(){var e=[];w(e);for(var t;t=E();)t!==!1&&(e.push(t),w(e));return e}return C(),D()}function _(e){return e?e.replace(l,p):p}t.exports=g})),Ot=n((e=>{var t=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,`__esModule`,{value:!0}),e.default=r;var n=t(Dt());function r(e,t){let r=null;if(!e||typeof e!=`string`)return r;let i=(0,n.default)(e),a=typeof t==`function`;return i.forEach(e=>{if(e.type!==`declaration`)return;let{property:n,value:i}=e;a?t(n,i,e):i&&(r||={},r[n]=i)}),r}})),kt=n((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.camelCase=void 0;var t=/^--[a-zA-Z0-9_-]+$/,n=/-([a-z])/g,r=/^[^-]+$/,i=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,o=function(e){return!e||r.test(e)||t.test(e)},s=function(e,t){return t.toUpperCase()},c=function(e,t){return`${t}-`};e.camelCase=function(e,t){return t===void 0&&(t={}),o(e)?e:(e=e.toLowerCase(),e=t.reactCompat?e.replace(a,c):e.replace(i,c),e.replace(n,s))}})),H=n(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(Ot()),r=kt();function i(e,t){var i={};return!e||typeof e!=`string`||(0,n.default)(e,function(e,n){e&&n&&(i[(0,r.camelCase)(e,t)]=n)}),i}i.default=i,t.exports=i})),At=Mt(`end`),jt=Mt(`start`);function Mt(e){return t;function t(t){let n=t&&t.position&&t.position[e]||{};if(typeof n.line==`number`&&n.line>0&&typeof n.column==`number`&&n.column>0)return{line:n.line,column:n.column,offset:typeof n.offset==`number`&&n.offset>-1?n.offset:void 0}}}function Nt(e){let t=jt(e),n=At(e);if(t&&n)return{start:t,end:n}}function Pt(e){return!e||typeof e!=`object`?``:`position`in e||`type`in e?It(e.position):`start`in e||`end`in e?It(e):`line`in e||`column`in e?Ft(e):``}function Ft(e){return Lt(e&&e.line)+`:`+Lt(e&&e.column)}function It(e){return Ft(e&&e.start)+`-`+Ft(e&&e.end)}function Lt(e){return e&&typeof e==`number`?e:1}var U=class extends Error{constructor(e,t,n){super(),typeof t==`string`&&(n=t,t=void 0);let r=``,i={},a=!1;if(t&&(i=`line`in t&&`column`in t||`start`in t&&`end`in t?{place:t}:`type`in t?{ancestors:[t],place:t.position}:{...t}),typeof e==`string`?r=e:!i.cause&&e&&(a=!0,r=e.message,i.cause=e),!i.ruleId&&!i.source&&typeof n==`string`){let e=n.indexOf(`:`);e===-1?i.ruleId=n:(i.source=n.slice(0,e),i.ruleId=n.slice(e+1))}if(!i.place&&i.ancestors&&i.ancestors){let e=i.ancestors[i.ancestors.length-1];e&&(i.place=e.position)}let o=i.place&&`start`in i.place?i.place.start:i.place;this.ancestors=i.ancestors||void 0,this.cause=i.cause||void 0,this.column=o?o.column:void 0,this.fatal=void 0,this.file=``,this.message=r,this.line=o?o.line:void 0,this.name=Pt(i.place)||`1:1`,this.place=i.place||void 0,this.reason=this.message,this.ruleId=i.ruleId||void 0,this.source=i.source||void 0,this.stack=a&&i.cause&&typeof i.cause.stack==`string`?i.cause.stack:``,this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};U.prototype.file=``,U.prototype.name=``,U.prototype.reason=``,U.prototype.message=``,U.prototype.stack=``,U.prototype.column=void 0,U.prototype.line=void 0,U.prototype.ancestors=void 0,U.prototype.cause=void 0,U.prototype.fatal=void 0,U.prototype.place=void 0,U.prototype.ruleId=void 0,U.prototype.source=void 0;var Rt=e(H(),1),zt={}.hasOwnProperty,Bt=new Map,Vt=/[A-Z]/g,Ht=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),Ut=new Set([`td`,`th`]),Wt=`https://github.com/syntax-tree/hast-util-to-jsx-runtime`;function Gt(e,t){if(!t||t.Fragment===void 0)throw TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!=`function`)throw TypeError("Expected `jsxDEV` in options when `development: true`");r=nn(n,t.jsxDEV)}else{if(typeof t.jsx!=`function`)throw TypeError("Expected `jsx` in production options");if(typeof t.jsxs!=`function`)throw TypeError("Expected `jsxs` in production options");r=tn(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||`react`,evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space===`svg`?Tt:wt,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=Kt(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function Kt(e,t,n){if(t.type===`element`)return qt(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return Jt(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return Xt(e,t,n);if(t.type===`mdxjsEsm`)return Yt(e,t);if(t.type===`root`)return Zt(e,t,n);if(t.type===`text`)return Qt(e,t)}function qt(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=Tt,e.schema=i),e.ancestors.push(t);let a=ln(e,t.tagName,!1),o=rn(e,t),s=on(e,t);return Ht.has(t.tagName)&&(s=s.filter(function(e){return typeof e==`string`?!Ze(e):!0})),$t(e,o,a,t),en(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Jt(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}un(e,t.position)}function Yt(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);un(e,t.position)}function Xt(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=Tt,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:ln(e,t.name,!0),o=an(e,t),s=on(e,t);return $t(e,o,a,t),en(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function Zt(e,t,n){let r={};return en(r,on(e,t)),e.create(t,e.Fragment,r,n)}function Qt(e,t){return t.value}function $t(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function en(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function tn(e,t,n){return r;function r(e,r,i,a){let o=Array.isArray(i.children)?n:t;return a?o(r,i,a):o(r,i)}}function nn(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=jt(n);return t(r,i,a,o,{columnNumber:s?s.column-1:void 0,fileName:e,lineNumber:s?s.line:void 0},void 0)}}function rn(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&zt.call(t.properties,i)){let a=sn(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&Ut.has(t.tagName)?r=o:n[i]=o}}if(r){let t=n.style||={};t[e.stylePropertyNameCase===`css`?`text-align`:`textAlign`]=r}return n}function an(e,t){let n={};for(let r of t.attributes)if(r.type===`mdxJsxExpressionAttribute`)if(r.data&&r.data.estree&&e.evaluater){let t=r.data.estree.body[0];t.type;let i=t.expression;i.type;let a=i.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else un(e,t.position);else{let i=r.name,a;if(r.value&&typeof r.value==`object`)if(r.value.data&&r.value.data.estree&&e.evaluater){let t=r.value.data.estree.body[0];t.type,a=e.evaluater.evaluateExpression(t.expression)}else un(e,t.position);else a=r.value===null?!0:r.value;n[i]=a}return n}function on(e,t){let n=[],r=-1,i=e.passKeys?new Map:Bt;for(;++r<t.children.length;){let a=t.children[r],o;if(e.passKeys){let e=a.type===`element`?a.tagName:a.type===`mdxJsxFlowElement`||a.type===`mdxJsxTextElement`?a.name:void 0;if(e){let t=i.get(e)||0;o=e+`-`+t,i.set(e,t+1)}}let s=Kt(e,a,o);s!==void 0&&n.push(s)}return n}function sn(e,t,n){let r=xt(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Ke(n):Et(n)),r.property===`style`){let t=typeof n==`object`?n:cn(e,String(n));return e.stylePropertyNameCase===`css`&&(t=dn(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?_t[r.property]||r.property:r.attribute,n]}}function cn(e,t){try{return(0,Rt.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new U("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:n,ruleId:`style`,source:`hast-util-to-jsx-runtime`});throw r.file=e.filePath||void 0,r.url=Wt+`#cannot-parse-style-attribute`,r}}function ln(e,t,n){let r;if(!n)r={type:`Literal`,value:t};else if(t.includes(`.`)){let e=t.split(`.`),n=-1,i;for(;++n<e.length;){let t=N(e[n])?{type:`Identifier`,name:e[n]}:{type:`Literal`,value:e[n]};i=i?{type:`MemberExpression`,object:i,property:t,computed:!!(n&&t.type===`Literal`),optional:!1}:t}r=i}else r=N(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return zt.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);un(e)}function un(e,t){let n=new U("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:`mdx-estree`,source:`hast-util-to-jsx-runtime`});throw n.file=e.filePath||void 0,n.url=Wt+`#cannot-handle-mdx-estrees-without-createevaluater`,n}function dn(e){let t={},n;for(n in e)zt.call(e,n)&&(t[fn(n)]=e[n]);return t}function fn(e){let t=e.replace(Vt,pn);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function pn(e){return`-`+e.toLowerCase()}var mn={action:[`form`],cite:[`blockquote`,`del`,`ins`,`q`],data:[`object`],formAction:[`button`,`input`],href:[`a`,`area`,`base`,`link`],icon:[`menuitem`],itemId:null,manifest:[`html`],ping:[`a`,`area`],poster:[`video`],src:[`audio`,`embed`,`iframe`,`img`,`input`,`script`,`source`,`track`,`video`]},hn={};function gn(e,t){let n=t||hn;return _n(e,typeof n.includeImageAlt==`boolean`?n.includeImageAlt:!0,typeof n.includeHtml==`boolean`?n.includeHtml:!0)}function _n(e,t,n){if(yn(e)){if(`value`in e)return e.type===`html`&&!n?``:e.value;if(t&&`alt`in e&&e.alt)return e.alt;if(`children`in e)return vn(e.children,t,n)}return Array.isArray(e)?vn(e,t,n):``}function vn(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=_n(e[i],t,n);return r.join(``)}function yn(e){return!!(e&&typeof e==`object`)}var bn=document.createElement(`i`);function xn(e){let t=`&`+e+`;`;bn.innerHTML=t;let n=bn.textContent;return n.charCodeAt(n.length-1)===59&&e!==`semi`||n===t?!1:n}function W(e,t,n,r){let i=e.length,a=0,o;if(t=t<0?-t>i?0:i+t:t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);a<r.length;)o=r.slice(a,a+1e4),o.unshift(t,0),e.splice(...o),a+=1e4,t+=1e4}function Sn(e,t){return e.length>0?(W(e,e.length,0,t),e):t}var Cn={}.hasOwnProperty;function wn(e){let t={},n=-1;for(;++n<e.length;)Tn(t,e[n]);return t}function Tn(e,t){let n;for(n in t){let r=(Cn.call(e,n)?e[n]:void 0)||(e[n]={}),i=t[n],a;if(i)for(a in i){Cn.call(r,a)||(r[a]=[]);let e=i[a];En(r[a],Array.isArray(e)?e:e?[e]:[])}}}function En(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add===`after`?e:r).push(t[n]);W(e,0,0,r)}function Dn(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)==65535||(n&65535)==65534||n>1114111?`�`:String.fromCodePoint(n)}function On(e){return e.replace(/[\t\n\r ]+/g,` `).replace(/^ | $/g,``).toLowerCase().toUpperCase()}var G=In(/[A-Za-z]/),K=In(/[\dA-Za-z]/),kn=In(/[#-'*+\--9=?A-Z^-~]/);function An(e){return e!==null&&(e<32||e===127)}var jn=In(/\d/),Mn=In(/[\dA-Fa-f]/),Nn=In(/[!-/:-@[-`{-~]/);function q(e){return e!==null&&e<-2}function J(e){return e!==null&&(e<0||e===32)}function Y(e){return e===-2||e===-1||e===32}var Pn=In(/\p{P}|\p{S}/u),Fn=In(/\s/);function In(e){return t;function t(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}function Ln(e){let t=[],n=-1,r=0,i=0;for(;++n<e.length;){let a=e.charCodeAt(n),o=``;if(a===37&&K(e.charCodeAt(n+1))&&K(e.charCodeAt(n+2)))i=2;else if(a<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(a))||(o=String.fromCharCode(a));else if(a>55295&&a<57344){let t=e.charCodeAt(n+1);a<56320&&t>56319&&t<57344?(o=String.fromCharCode(a,t),i=1):o=`�`}else o=String.fromCharCode(a);o&&=(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,``),i&&=(n+=i,0)}return t.join(``)+e.slice(r)}function X(e,t,n,r){let i=r?r-1:1/0,a=0;return o;function o(r){return Y(r)?(e.enter(n),s(r)):t(r)}function s(r){return Y(r)&&a++<i?(e.consume(r),s):(e.exit(n),t(r))}}var Rn={tokenize:zn};function zn(e){let t=e.attempt(this.parser.constructs.contentInitial,r,i),n;return t;function r(n){if(n===null){e.consume(n);return}return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}function i(t){return e.enter(`paragraph`),a(t)}function a(t){let r=e.enter(`chunkText`,{contentType:`text`,previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){if(t===null){e.exit(`chunkText`),e.exit(`paragraph`),e.consume(t);return}return q(t)?(e.consume(t),e.exit(`chunkText`),a):(e.consume(t),o)}}var Bn={tokenize:Hn},Vn={tokenize:Un};function Hn(e){let t=this,n=[],r=0,i,a,o;return s;function s(i){if(r<n.length){let a=n[r];return t.containerState=a[1],e.attempt(a[0].continuation,c,l)(i)}return l(i)}function c(e){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&v();let n=t.events.length,a=n,o;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){o=t.events[a][1].end;break}_(r);let s=n;for(;s<t.events.length;)t.events[s][1].end={...o},s++;return W(t.events,a+1,0,t.events.slice(n)),t.events.length=s,l(e)}return s(e)}function l(a){if(r===n.length){if(!i)return f(a);if(i.currentConstruct&&i.currentConstruct.concrete)return m(a);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Vn,u,d)(a)}function u(e){return i&&v(),_(r),f(e)}function d(e){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(e)}function f(n){return t.containerState={},e.attempt(Vn,p,m)(n)}function p(e){return r++,n.push([t.currentConstruct,t.containerState]),f(e)}function m(n){if(n===null){i&&v(),_(0),e.consume(n);return}return i||=t.parser.flow(t.now()),e.enter(`chunkFlow`,{_tokenizer:i,contentType:`flow`,previous:a}),h(n)}function h(n){if(n===null){g(e.exit(`chunkFlow`),!0),_(0),e.consume(n);return}return q(n)?(e.consume(n),g(e.exit(`chunkFlow`)),r=0,t.interrupt=void 0,s):(e.consume(n),h)}function g(e,n){let s=t.sliceStream(e);if(n&&s.push(null),e.previous=a,a&&(a.next=e),a=e,i.defineSkip(e.start),i.write(s),t.parser.lazy[e.start.line]){let e=i.events.length;for(;e--;)if(i.events[e][1].start.offset<o&&(!i.events[e][1].end||i.events[e][1].end.offset>o))return;let n=t.events.length,a=n,s,c;for(;a--;)if(t.events[a][0]===`exit`&&t.events[a][1].type===`chunkFlow`){if(s){c=t.events[a][1].end;break}s=!0}for(_(r),e=n;e<t.events.length;)t.events[e][1].end={...c},e++;W(t.events,a+1,0,t.events.slice(n)),t.events.length=e}}function _(r){let i=n.length;for(;i-- >r;){let r=n[i];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function Un(e,t,n){return X(e,e.attempt(this.parser.constructs.document,t,n),`linePrefix`,this.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)}function Wn(e){if(e===null||J(e)||Fn(e))return 1;if(Pn(e))return 2}function Gn(e,t,n){let r=[],i=-1;for(;++i<e.length;){let a=e[i].resolveAll;a&&!r.includes(a)&&(t=a(t,n),r.push(a))}return t}var Kn={name:`attention`,resolveAll:qn,tokenize:Jn};function qn(e,t){let n=-1,r,i,a,o,s,c,l,u;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`attentionSequence`&&e[n][1]._close){for(r=n;r--;)if(e[r][0]===`exit`&&e[r][1].type===`attentionSequence`&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let d={...e[r][1].end},f={...e[n][1].start};Yn(d,-c),Yn(f,c),o={type:c>1?`strongSequence`:`emphasisSequence`,start:d,end:{...e[r][1].end}},s={type:c>1?`strongSequence`:`emphasisSequence`,start:{...e[n][1].start},end:f},a={type:c>1?`strongText`:`emphasisText`,start:{...e[r][1].end},end:{...e[n][1].start}},i={type:c>1?`strong`:`emphasis`,start:{...o.start},end:{...s.end}},e[r][1].end={...o.start},e[n][1].start={...s.end},l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=Sn(l,[[`enter`,e[r][1],t],[`exit`,e[r][1],t]])),l=Sn(l,[[`enter`,i,t],[`enter`,o,t],[`exit`,o,t],[`enter`,a,t]]),l=Sn(l,Gn(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=Sn(l,[[`exit`,a,t],[`enter`,s,t],[`exit`,s,t],[`exit`,i,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=Sn(l,[[`enter`,e[n][1],t],[`exit`,e[n][1],t]])):u=0,W(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`attentionSequence`&&(e[n][1].type=`data`);return e}function Jn(e,t){let n=this.parser.constructs.attentionMarkers.null,r=this.previous,i=Wn(r),a;return o;function o(t){return a=t,e.enter(`attentionSequence`),s(t)}function s(o){if(o===a)return e.consume(o),s;let c=e.exit(`attentionSequence`),l=Wn(o),u=!l||l===2&&i||n.includes(o),d=!i||i===2&&l||n.includes(r);return c._open=!!(a===42?u:u&&(i||!d)),c._close=!!(a===42?d:d&&(l||!u)),t(o)}}function Yn(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var Xn={name:`autolink`,tokenize:Zn};function Zn(e,t,n){let r=0;return i;function i(t){return e.enter(`autolink`),e.enter(`autolinkMarker`),e.consume(t),e.exit(`autolinkMarker`),e.enter(`autolinkProtocol`),a}function a(t){return G(t)?(e.consume(t),o):t===64?n(t):l(t)}function o(e){return e===43||e===45||e===46||K(e)?(r=1,s(e)):l(e)}function s(t){return t===58?(e.consume(t),r=0,c):(t===43||t===45||t===46||K(t))&&r++<32?(e.consume(t),s):(r=0,l(t))}function c(r){return r===62?(e.exit(`autolinkProtocol`),e.enter(`autolinkMarker`),e.consume(r),e.exit(`autolinkMarker`),e.exit(`autolink`),t):r===null||r===32||r===60||An(r)?n(r):(e.consume(r),c)}function l(t){return t===64?(e.consume(t),u):kn(t)?(e.consume(t),l):n(t)}function u(e){return K(e)?d(e):n(e)}function d(n){return n===46?(e.consume(n),r=0,u):n===62?(e.exit(`autolinkProtocol`).type=`autolinkEmail`,e.enter(`autolinkMarker`),e.consume(n),e.exit(`autolinkMarker`),e.exit(`autolink`),t):f(n)}function f(t){if((t===45||K(t))&&r++<63){let n=t===45?f:d;return e.consume(t),n}return n(t)}}var Qn={partial:!0,tokenize:$n};function $n(e,t,n){return r;function r(t){return Y(t)?X(e,i,`linePrefix`)(t):i(t)}function i(e){return e===null||q(e)?t(e):n(e)}}var er={continuation:{tokenize:nr},exit:rr,name:`blockQuote`,tokenize:tr};function tr(e,t,n){let r=this;return i;function i(t){if(t===62){let n=r.containerState;return n.open||=(e.enter(`blockQuote`,{_container:!0}),!0),e.enter(`blockQuotePrefix`),e.enter(`blockQuoteMarker`),e.consume(t),e.exit(`blockQuoteMarker`),a}return n(t)}function a(n){return Y(n)?(e.enter(`blockQuotePrefixWhitespace`),e.consume(n),e.exit(`blockQuotePrefixWhitespace`),e.exit(`blockQuotePrefix`),t):(e.exit(`blockQuotePrefix`),t(n))}}function nr(e,t,n){let r=this;return i;function i(t){return Y(t)?X(e,a,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):a(t)}function a(r){return e.attempt(er,t,n)(r)}}function rr(e){e.exit(`blockQuote`)}var ir={name:`characterEscape`,tokenize:ar};function ar(e,t,n){return r;function r(t){return e.enter(`characterEscape`),e.enter(`escapeMarker`),e.consume(t),e.exit(`escapeMarker`),i}function i(r){return Nn(r)?(e.enter(`characterEscapeValue`),e.consume(r),e.exit(`characterEscapeValue`),e.exit(`characterEscape`),t):n(r)}}var or={name:`characterReference`,tokenize:sr};function sr(e,t,n){let r=this,i=0,a,o;return s;function s(t){return e.enter(`characterReference`),e.enter(`characterReferenceMarker`),e.consume(t),e.exit(`characterReferenceMarker`),c}function c(t){return t===35?(e.enter(`characterReferenceMarkerNumeric`),e.consume(t),e.exit(`characterReferenceMarkerNumeric`),l):(e.enter(`characterReferenceValue`),a=31,o=K,u(t))}function l(t){return t===88||t===120?(e.enter(`characterReferenceMarkerHexadecimal`),e.consume(t),e.exit(`characterReferenceMarkerHexadecimal`),e.enter(`characterReferenceValue`),a=6,o=Mn,u):(e.enter(`characterReferenceValue`),a=7,o=jn,u(t))}function u(s){if(s===59&&i){let i=e.exit(`characterReferenceValue`);return o===K&&!xn(r.sliceSerialize(i))?n(s):(e.enter(`characterReferenceMarker`),e.consume(s),e.exit(`characterReferenceMarker`),e.exit(`characterReference`),t)}return o(s)&&i++<a?(e.consume(s),u):n(s)}}var cr={partial:!0,tokenize:dr},lr={concrete:!0,name:`codeFenced`,tokenize:ur};function ur(e,t,n){let r=this,i={partial:!0,tokenize:x},a=0,o=0,s;return c;function c(e){return l(e)}function l(t){let n=r.events[r.events.length-1];return a=n&&n[1].type===`linePrefix`?n[2].sliceSerialize(n[1],!0).length:0,s=t,e.enter(`codeFenced`),e.enter(`codeFencedFence`),e.enter(`codeFencedFenceSequence`),u(t)}function u(t){return t===s?(o++,e.consume(t),u):o<3?n(t):(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t))}function d(n){return n===null||q(n)?(e.exit(`codeFencedFence`),r.interrupt?t(n):e.check(cr,h,b)(n)):(e.enter(`codeFencedFenceInfo`),e.enter(`chunkString`,{contentType:`string`}),f(n))}function f(t){return t===null||q(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),d(t)):Y(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceInfo`),X(e,p,`whitespace`)(t)):t===96&&t===s?n(t):(e.consume(t),f)}function p(t){return t===null||q(t)?d(t):(e.enter(`codeFencedFenceMeta`),e.enter(`chunkString`,{contentType:`string`}),m(t))}function m(t){return t===null||q(t)?(e.exit(`chunkString`),e.exit(`codeFencedFenceMeta`),d(t)):t===96&&t===s?n(t):(e.consume(t),m)}function h(t){return e.attempt(i,b,g)(t)}function g(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),_}function _(t){return a>0&&Y(t)?X(e,v,`linePrefix`,a+1)(t):v(t)}function v(t){return t===null||q(t)?e.check(cr,h,b)(t):(e.enter(`codeFlowValue`),y(t))}function y(t){return t===null||q(t)?(e.exit(`codeFlowValue`),v(t)):(e.consume(t),y)}function b(n){return e.exit(`codeFenced`),t(n)}function x(e,t,n){let i=0;return a;function a(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c}function c(t){return e.enter(`codeFencedFence`),Y(t)?X(e,l,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):l(t)}function l(t){return t===s?(e.enter(`codeFencedFenceSequence`),u(t)):n(t)}function u(t){return t===s?(i++,e.consume(t),u):i>=o?(e.exit(`codeFencedFenceSequence`),Y(t)?X(e,d,`whitespace`)(t):d(t)):n(t)}function d(r){return r===null||q(r)?(e.exit(`codeFencedFence`),t(r)):n(r)}}}function dr(e,t,n){let r=this;return i;function i(t){return t===null?n(t):(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}var fr={name:`codeIndented`,tokenize:mr},pr={partial:!0,tokenize:hr};function mr(e,t,n){let r=this;return i;function i(t){return e.enter(`codeIndented`),X(e,a,`linePrefix`,5)(t)}function a(e){let t=r.events[r.events.length-1];return t&&t[1].type===`linePrefix`&&t[2].sliceSerialize(t[1],!0).length>=4?o(e):n(e)}function o(t){return t===null?c(t):q(t)?e.attempt(pr,o,c)(t):(e.enter(`codeFlowValue`),s(t))}function s(t){return t===null||q(t)?(e.exit(`codeFlowValue`),o(t)):(e.consume(t),s)}function c(n){return e.exit(`codeIndented`),t(n)}}function hr(e,t,n){let r=this;return i;function i(t){return r.parser.lazy[r.now().line]?n(t):q(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),i):X(e,a,`linePrefix`,5)(t)}function a(e){let a=r.events[r.events.length-1];return a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(e):q(e)?i(e):n(e)}}var gr={name:`codeText`,previous:vr,resolve:_r,tokenize:yr};function _r(e){let t=e.length-4,n=3,r,i;if((e[n][1].type===`lineEnding`||e[n][1].type===`space`)&&(e[t][1].type===`lineEnding`||e[t][1].type===`space`)){for(r=n;++r<t;)if(e[r][1].type===`codeTextData`){e[n][1].type=`codeTextPadding`,e[t][1].type=`codeTextPadding`,n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)i===void 0?r!==t&&e[r][1].type!==`lineEnding`&&(i=r):(r===t||e[r][1].type===`lineEnding`)&&(e[i][1].type=`codeTextData`,r!==i+2&&(e[i][1].end=e[r-1][1].end,e.splice(i+2,r-i-2),t-=r-i-2,r=i+2),i=void 0);return e}function vr(e){return e!==96||this.events[this.events.length-1][1].type===`characterEscape`}function yr(e,t,n){let r=0,i,a;return o;function o(t){return e.enter(`codeText`),e.enter(`codeTextSequence`),s(t)}function s(t){return t===96?(e.consume(t),r++,s):(e.exit(`codeTextSequence`),c(t))}function c(t){return t===null?n(t):t===32?(e.enter(`space`),e.consume(t),e.exit(`space`),c):t===96?(a=e.enter(`codeTextSequence`),i=0,u(t)):q(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),c):(e.enter(`codeTextData`),l(t))}function l(t){return t===null||t===32||t===96||q(t)?(e.exit(`codeTextData`),c(t)):(e.consume(t),l)}function u(n){return n===96?(e.consume(n),i++,u):i===r?(e.exit(`codeTextSequence`),e.exit(`codeText`),t(n)):(a.type=`codeTextData`,l(n))}}var br=class{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw RangeError("Cannot access index `"+e+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){let n=t??1/0;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){let r=t||0;this.setCursor(Math.trunc(e));let i=this.right.splice(this.right.length-r,1/0);return n&&xr(this.left,n),i.reverse()}pop(){return this.setCursor(1/0),this.left.pop()}push(e){this.setCursor(1/0),this.left.push(e)}pushMany(e){this.setCursor(1/0),xr(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),xr(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&this.right.length===0||e<0&&this.left.length===0))if(e<this.left.length){let t=this.left.splice(e,1/0);xr(this.right,t.reverse())}else{let t=this.right.splice(this.left.length+this.right.length-e,1/0);xr(this.left,t.reverse())}}};function xr(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Sr(e){let t={},n=-1,r,i,a,o,s,c,l,u=new br(e);for(;++n<u.length;){for(;n in t;)n=t[n];if(r=u.get(n),n&&r[1].type===`chunkFlow`&&u.get(n-1)[1].type===`listItemPrefix`&&(c=r[1]._tokenizer.events,a=0,a<c.length&&c[a][1].type===`lineEndingBlank`&&(a+=2),a<c.length&&c[a][1].type===`content`))for(;++a<c.length&&c[a][1].type!==`content`;)c[a][1].type===`chunkText`&&(c[a][1]._isInFirstContentOfListItem=!0,a++);if(r[0]===`enter`)r[1].contentType&&(Object.assign(t,Cr(u,n)),n=t[n],l=!0);else if(r[1]._container){for(a=n,i=void 0;a--;)if(o=u.get(a),o[1].type===`lineEnding`||o[1].type===`lineEndingBlank`)o[0]===`enter`&&(i&&(u.get(i)[1].type=`lineEndingBlank`),o[1].type=`lineEnding`,i=a);else if(!(o[1].type===`linePrefix`||o[1].type===`listItemIndent`))break;i&&(r[1].end={...u.get(i)[1].start},s=u.slice(i,n),s.unshift(r),u.splice(i,n-i+1,s))}}return W(e,0,1/0,u.slice(0)),!l}function Cr(e,t){let n=e.get(t)[1],r=e.get(t)[2],i=t-1,a=[],o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));let s=o.events,c=[],l={},u,d,f=-1,p=n,m=0,h=0,g=[h];for(;p;){for(;e.get(++i)[1]!==p;);a.push(i),p._tokenizer||(u=r.sliceStream(p),p.next||u.push(null),d&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(u),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),d=p,p=p.next}for(p=n;++f<s.length;)s[f][0]===`exit`&&s[f-1][0]===`enter`&&s[f][1].type===s[f-1][1].type&&s[f][1].start.line!==s[f][1].end.line&&(h=f+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),f=g.length;f--;){let t=s.slice(g[f],g[f+1]),n=a.pop();c.push([n,n+t.length-1]),e.splice(n,2,t)}for(c.reverse(),f=-1;++f<c.length;)l[m+c[f][0]]=m+c[f][1],m+=c[f][1]-c[f][0]-1;return l}var wr={resolve:Er,tokenize:Dr},Tr={partial:!0,tokenize:Or};function Er(e){return Sr(e),e}function Dr(e,t){let n;return r;function r(t){return e.enter(`content`),n=e.enter(`chunkContent`,{contentType:`content`}),i(t)}function i(t){return t===null?a(t):q(t)?e.check(Tr,o,a)(t):(e.consume(t),i)}function a(n){return e.exit(`chunkContent`),e.exit(`content`),t(n)}function o(t){return e.consume(t),e.exit(`chunkContent`),n.next=e.enter(`chunkContent`,{contentType:`content`,previous:n}),n=n.next,i}}function Or(e,t,n){let r=this;return i;function i(t){return e.exit(`chunkContent`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,a,`linePrefix`)}function a(i){if(i===null||q(i))return n(i);let a=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(`codeIndented`)&&a&&a[1].type===`linePrefix`&&a[2].sliceSerialize(a[1],!0).length>=4?t(i):e.interrupt(r.parser.constructs.flow,n,t)(i)}}function kr(e,t,n,r,i,a,o,s,c){let l=c||1/0,u=0;return d;function d(t){return t===60?(e.enter(r),e.enter(i),e.enter(a),e.consume(t),e.exit(a),f):t===null||t===32||t===41||An(t)?n(t):(e.enter(r),e.enter(o),e.enter(s),e.enter(`chunkString`,{contentType:`string`}),h(t))}function f(n){return n===62?(e.enter(a),e.consume(n),e.exit(a),e.exit(i),e.exit(r),t):(e.enter(s),e.enter(`chunkString`,{contentType:`string`}),p(n))}function p(t){return t===62?(e.exit(`chunkString`),e.exit(s),f(t)):t===null||t===60||q(t)?n(t):(e.consume(t),t===92?m:p)}function m(t){return t===60||t===62||t===92?(e.consume(t),p):p(t)}function h(i){return!u&&(i===null||i===41||J(i))?(e.exit(`chunkString`),e.exit(s),e.exit(o),e.exit(r),t(i)):u<l&&i===40?(e.consume(i),u++,h):i===41?(e.consume(i),u--,h):i===null||i===32||i===40||An(i)?n(i):(e.consume(i),i===92?g:h)}function g(t){return t===40||t===41||t===92?(e.consume(t),h):h(t)}}function Ar(e,t,n,r,i,a){let o=this,s=0,c;return l;function l(t){return e.enter(r),e.enter(i),e.consume(t),e.exit(i),e.enter(a),u}function u(l){return s>999||l===null||l===91||l===93&&!c||l===94&&!s&&`_hiddenFootnoteSupport`in o.parser.constructs?n(l):l===93?(e.exit(a),e.enter(i),e.consume(l),e.exit(i),e.exit(r),t):q(l)?(e.enter(`lineEnding`),e.consume(l),e.exit(`lineEnding`),u):(e.enter(`chunkString`,{contentType:`string`}),d(l))}function d(t){return t===null||t===91||t===93||q(t)||s++>999?(e.exit(`chunkString`),u(t)):(e.consume(t),c||=!Y(t),t===92?f:d)}function f(t){return t===91||t===92||t===93?(e.consume(t),s++,d):d(t)}}function jr(e,t,n,r,i,a){let o;return s;function s(t){return t===34||t===39||t===40?(e.enter(r),e.enter(i),e.consume(t),e.exit(i),o=t===40?41:t,c):n(t)}function c(n){return n===o?(e.enter(i),e.consume(n),e.exit(i),e.exit(r),t):(e.enter(a),l(n))}function l(t){return t===o?(e.exit(a),c(o)):t===null?n(t):q(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),X(e,l,`linePrefix`)):(e.enter(`chunkString`,{contentType:`string`}),u(t))}function u(t){return t===o||t===null||q(t)?(e.exit(`chunkString`),l(t)):(e.consume(t),t===92?d:u)}function d(t){return t===o||t===92?(e.consume(t),u):u(t)}}function Mr(e,t){let n;return r;function r(i){return q(i)?(e.enter(`lineEnding`),e.consume(i),e.exit(`lineEnding`),n=!0,r):Y(i)?X(e,r,n?`linePrefix`:`lineSuffix`)(i):t(i)}}var Nr={name:`definition`,tokenize:Fr},Pr={partial:!0,tokenize:Ir};function Fr(e,t,n){let r=this,i;return a;function a(t){return e.enter(`definition`),o(t)}function o(t){return Ar.call(r,e,s,n,`definitionLabel`,`definitionLabelMarker`,`definitionLabelString`)(t)}function s(t){return i=On(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),c):n(t)}function c(t){return J(t)?Mr(e,l)(t):l(t)}function l(t){return kr(e,u,n,`definitionDestination`,`definitionDestinationLiteral`,`definitionDestinationLiteralMarker`,`definitionDestinationRaw`,`definitionDestinationString`)(t)}function u(t){return e.attempt(Pr,d,d)(t)}function d(t){return Y(t)?X(e,f,`whitespace`)(t):f(t)}function f(a){return a===null||q(a)?(e.exit(`definition`),r.parser.defined.push(i),t(a)):n(a)}}function Ir(e,t,n){return r;function r(t){return J(t)?Mr(e,i)(t):n(t)}function i(t){return jr(e,a,n,`definitionTitle`,`definitionTitleMarker`,`definitionTitleString`)(t)}function a(t){return Y(t)?X(e,o,`whitespace`)(t):o(t)}function o(e){return e===null||q(e)?t(e):n(e)}}var Lr={name:`hardBreakEscape`,tokenize:Rr};function Rr(e,t,n){return r;function r(t){return e.enter(`hardBreakEscape`),e.consume(t),i}function i(r){return q(r)?(e.exit(`hardBreakEscape`),t(r)):n(r)}}var zr={name:`headingAtx`,resolve:Br,tokenize:Vr};function Br(e,t){let n=e.length-2,r=3,i,a;return e[r][1].type===`whitespace`&&(r+=2),n-2>r&&e[n][1].type===`whitespace`&&(n-=2),e[n][1].type===`atxHeadingSequence`&&(r===n-1||n-4>r&&e[n-2][1].type===`whitespace`)&&(n-=r+1===n?2:4),n>r&&(i={type:`atxHeadingText`,start:e[r][1].start,end:e[n][1].end},a={type:`chunkText`,start:e[r][1].start,end:e[n][1].end,contentType:`text`},W(e,r,n-r+1,[[`enter`,i,t],[`enter`,a,t],[`exit`,a,t],[`exit`,i,t]])),e}function Vr(e,t,n){let r=0;return i;function i(t){return e.enter(`atxHeading`),a(t)}function a(t){return e.enter(`atxHeadingSequence`),o(t)}function o(t){return t===35&&r++<6?(e.consume(t),o):t===null||J(t)?(e.exit(`atxHeadingSequence`),s(t)):n(t)}function s(n){return n===35?(e.enter(`atxHeadingSequence`),c(n)):n===null||q(n)?(e.exit(`atxHeading`),t(n)):Y(n)?X(e,s,`whitespace`)(n):(e.enter(`atxHeadingText`),l(n))}function c(t){return t===35?(e.consume(t),c):(e.exit(`atxHeadingSequence`),s(t))}function l(t){return t===null||t===35||J(t)?(e.exit(`atxHeadingText`),s(t)):(e.consume(t),l)}}var Hr=`address.article.aside.base.basefont.blockquote.body.caption.center.col.colgroup.dd.details.dialog.dir.div.dl.dt.fieldset.figcaption.figure.footer.form.frame.frameset.h1.h2.h3.h4.h5.h6.head.header.hr.html.iframe.legend.li.link.main.menu.menuitem.nav.noframes.ol.optgroup.option.p.param.search.section.summary.table.tbody.td.tfoot.th.thead.title.tr.track.ul`.split(`.`),Ur=[`pre`,`script`,`style`,`textarea`],Wr={concrete:!0,name:`htmlFlow`,resolveTo:qr,tokenize:Jr},Gr={partial:!0,tokenize:Xr},Kr={partial:!0,tokenize:Yr};function qr(e){let t=e.length;for(;t--&&!(e[t][0]===`enter`&&e[t][1].type===`htmlFlow`););return t>1&&e[t-2][1].type===`linePrefix`&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Jr(e,t,n){let r=this,i,a,o,s,c;return l;function l(e){return u(e)}function u(t){return e.enter(`htmlFlow`),e.enter(`htmlFlowData`),e.consume(t),d}function d(s){return s===33?(e.consume(s),f):s===47?(e.consume(s),a=!0,h):s===63?(e.consume(s),i=3,r.interrupt?t:ae):G(s)?(e.consume(s),o=String.fromCharCode(s),g):n(s)}function f(a){return a===45?(e.consume(a),i=2,p):a===91?(e.consume(a),i=5,s=0,m):G(a)?(e.consume(a),i=4,r.interrupt?t:ae):n(a)}function p(i){return i===45?(e.consume(i),r.interrupt?t:ae):n(i)}function m(i){return i===`CDATA[`.charCodeAt(s++)?(e.consume(i),s===6?r.interrupt?t:O:m):n(i)}function h(t){return G(t)?(e.consume(t),o=String.fromCharCode(t),g):n(t)}function g(s){if(s===null||s===47||s===62||J(s)){let c=s===47,l=o.toLowerCase();return!c&&!a&&Ur.includes(l)?(i=1,r.interrupt?t(s):O(s)):Hr.includes(o.toLowerCase())?(i=6,c?(e.consume(s),_):r.interrupt?t(s):O(s)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(s):a?v(s):y(s))}return s===45||K(s)?(e.consume(s),o+=String.fromCharCode(s),g):n(s)}function _(i){return i===62?(e.consume(i),r.interrupt?t:O):n(i)}function v(t){return Y(t)?(e.consume(t),v):E(t)}function y(t){return t===47?(e.consume(t),E):t===58||t===95||G(t)?(e.consume(t),b):Y(t)?(e.consume(t),y):E(t)}function b(t){return t===45||t===46||t===58||t===95||K(t)?(e.consume(t),b):x(t)}function x(t){return t===61?(e.consume(t),S):Y(t)?(e.consume(t),x):y(t)}function S(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),c=t,C):Y(t)?(e.consume(t),S):w(t)}function C(t){return t===c?(e.consume(t),c=null,T):t===null||q(t)?n(t):(e.consume(t),C)}function w(t){return t===null||t===34||t===39||t===47||t===60||t===61||t===62||t===96||J(t)?x(t):(e.consume(t),w)}function T(e){return e===47||e===62||Y(e)?y(e):n(e)}function E(t){return t===62?(e.consume(t),D):n(t)}function D(t){return t===null||q(t)?O(t):Y(t)?(e.consume(t),D):n(t)}function O(t){return t===45&&i===2?(e.consume(t),ne):t===60&&i===1?(e.consume(t),A):t===62&&i===4?(e.consume(t),oe):t===63&&i===3?(e.consume(t),ae):t===93&&i===5?(e.consume(t),ie):q(t)&&(i===6||i===7)?(e.exit(`htmlFlowData`),e.check(Gr,se,k)(t)):t===null||q(t)?(e.exit(`htmlFlowData`),k(t)):(e.consume(t),O)}function k(t){return e.check(Kr,ee,se)(t)}function ee(t){return e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),te}function te(t){return t===null||q(t)?k(t):(e.enter(`htmlFlowData`),O(t))}function ne(t){return t===45?(e.consume(t),ae):O(t)}function A(t){return t===47?(e.consume(t),o=``,re):O(t)}function re(t){if(t===62){let n=o.toLowerCase();return Ur.includes(n)?(e.consume(t),oe):O(t)}return G(t)&&o.length<8?(e.consume(t),o+=String.fromCharCode(t),re):O(t)}function ie(t){return t===93?(e.consume(t),ae):O(t)}function ae(t){return t===62?(e.consume(t),oe):t===45&&i===2?(e.consume(t),ae):O(t)}function oe(t){return t===null||q(t)?(e.exit(`htmlFlowData`),se(t)):(e.consume(t),oe)}function se(n){return e.exit(`htmlFlow`),t(n)}}function Yr(e,t,n){let r=this;return i;function i(t){return q(t)?(e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),a):n(t)}function a(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}function Xr(e,t,n){return r;function r(r){return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),e.attempt(Qn,t,n)}}var Zr={name:`htmlText`,tokenize:Qr};function Qr(e,t,n){let r=this,i,a,o;return s;function s(t){return e.enter(`htmlText`),e.enter(`htmlTextData`),e.consume(t),c}function c(t){return t===33?(e.consume(t),l):t===47?(e.consume(t),x):t===63?(e.consume(t),y):G(t)?(e.consume(t),w):n(t)}function l(t){return t===45?(e.consume(t),u):t===91?(e.consume(t),a=0,m):G(t)?(e.consume(t),v):n(t)}function u(t){return t===45?(e.consume(t),p):n(t)}function d(t){return t===null?n(t):t===45?(e.consume(t),f):q(t)?(o=d,A(t)):(e.consume(t),d)}function f(t){return t===45?(e.consume(t),p):d(t)}function p(e){return e===62?ne(e):e===45?f(e):d(e)}function m(t){return t===`CDATA[`.charCodeAt(a++)?(e.consume(t),a===6?h:m):n(t)}function h(t){return t===null?n(t):t===93?(e.consume(t),g):q(t)?(o=h,A(t)):(e.consume(t),h)}function g(t){return t===93?(e.consume(t),_):h(t)}function _(t){return t===62?ne(t):t===93?(e.consume(t),_):h(t)}function v(t){return t===null||t===62?ne(t):q(t)?(o=v,A(t)):(e.consume(t),v)}function y(t){return t===null?n(t):t===63?(e.consume(t),b):q(t)?(o=y,A(t)):(e.consume(t),y)}function b(e){return e===62?ne(e):y(e)}function x(t){return G(t)?(e.consume(t),S):n(t)}function S(t){return t===45||K(t)?(e.consume(t),S):C(t)}function C(t){return q(t)?(o=C,A(t)):Y(t)?(e.consume(t),C):ne(t)}function w(t){return t===45||K(t)?(e.consume(t),w):t===47||t===62||J(t)?T(t):n(t)}function T(t){return t===47?(e.consume(t),ne):t===58||t===95||G(t)?(e.consume(t),E):q(t)?(o=T,A(t)):Y(t)?(e.consume(t),T):ne(t)}function E(t){return t===45||t===46||t===58||t===95||K(t)?(e.consume(t),E):D(t)}function D(t){return t===61?(e.consume(t),O):q(t)?(o=D,A(t)):Y(t)?(e.consume(t),D):T(t)}function O(t){return t===null||t===60||t===61||t===62||t===96?n(t):t===34||t===39?(e.consume(t),i=t,k):q(t)?(o=O,A(t)):Y(t)?(e.consume(t),O):(e.consume(t),ee)}function k(t){return t===i?(e.consume(t),i=void 0,te):t===null?n(t):q(t)?(o=k,A(t)):(e.consume(t),k)}function ee(t){return t===null||t===34||t===39||t===60||t===61||t===96?n(t):t===47||t===62||J(t)?T(t):(e.consume(t),ee)}function te(e){return e===47||e===62||J(e)?T(e):n(e)}function ne(r){return r===62?(e.consume(r),e.exit(`htmlTextData`),e.exit(`htmlText`),t):n(r)}function A(t){return e.exit(`htmlTextData`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),re}function re(t){return Y(t)?X(e,ie,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):ie(t)}function ie(t){return e.enter(`htmlTextData`),o(t)}}var $r={name:`labelEnd`,resolveAll:ri,resolveTo:ii,tokenize:ai},ei={tokenize:oi},ti={tokenize:si},ni={tokenize:ci};function ri(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push(e[t]),r.type===`labelImage`||r.type===`labelLink`||r.type===`labelEnd`){let e=r.type===`labelImage`?4:2;r.type=`data`,t+=e}}return e.length!==n.length&&W(e,0,e.length,n),e}function ii(e,t){let n=e.length,r=0,i,a,o,s;for(;n--;)if(i=e[n][1],a){if(i.type===`link`||i.type===`labelLink`&&i._inactive)break;e[n][0]===`enter`&&i.type===`labelLink`&&(i._inactive=!0)}else if(o){if(e[n][0]===`enter`&&(i.type===`labelImage`||i.type===`labelLink`)&&!i._balanced&&(a=n,i.type!==`labelLink`)){r=2;break}}else i.type===`labelEnd`&&(o=n);let c={type:e[a][1].type===`labelLink`?`link`:`image`,start:{...e[a][1].start},end:{...e[e.length-1][1].end}},l={type:`label`,start:{...e[a][1].start},end:{...e[o][1].end}},u={type:`labelText`,start:{...e[a+r+2][1].end},end:{...e[o-2][1].start}};return s=[[`enter`,c,t],[`enter`,l,t]],s=Sn(s,e.slice(a+1,a+r+3)),s=Sn(s,[[`enter`,u,t]]),s=Sn(s,Gn(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Sn(s,[[`exit`,u,t],e[o-2],e[o-1],[`exit`,l,t]]),s=Sn(s,e.slice(o+1)),s=Sn(s,[[`exit`,c,t]]),W(e,a,e.length,s),e}function ai(e,t,n){let r=this,i=r.events.length,a,o;for(;i--;)if((r.events[i][1].type===`labelImage`||r.events[i][1].type===`labelLink`)&&!r.events[i][1]._balanced){a=r.events[i][1];break}return s;function s(t){return a?a._inactive?d(t):(o=r.parser.defined.includes(On(r.sliceSerialize({start:a.end,end:r.now()}))),e.enter(`labelEnd`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelEnd`),c):n(t)}function c(t){return t===40?e.attempt(ei,u,o?u:d)(t):t===91?e.attempt(ti,u,o?l:d)(t):o?u(t):d(t)}function l(t){return e.attempt(ni,u,d)(t)}function u(e){return t(e)}function d(e){return a._balanced=!0,n(e)}}function oi(e,t,n){return r;function r(t){return e.enter(`resource`),e.enter(`resourceMarker`),e.consume(t),e.exit(`resourceMarker`),i}function i(t){return J(t)?Mr(e,a)(t):a(t)}function a(t){return t===41?u(t):kr(e,o,s,`resourceDestination`,`resourceDestinationLiteral`,`resourceDestinationLiteralMarker`,`resourceDestinationRaw`,`resourceDestinationString`,32)(t)}function o(t){return J(t)?Mr(e,c)(t):u(t)}function s(e){return n(e)}function c(t){return t===34||t===39||t===40?jr(e,l,n,`resourceTitle`,`resourceTitleMarker`,`resourceTitleString`)(t):u(t)}function l(t){return J(t)?Mr(e,u)(t):u(t)}function u(r){return r===41?(e.enter(`resourceMarker`),e.consume(r),e.exit(`resourceMarker`),e.exit(`resource`),t):n(r)}}function si(e,t,n){let r=this;return i;function i(t){return Ar.call(r,e,a,o,`reference`,`referenceMarker`,`referenceString`)(t)}function a(e){return r.parser.defined.includes(On(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function o(e){return n(e)}}function ci(e,t,n){return r;function r(t){return e.enter(`reference`),e.enter(`referenceMarker`),e.consume(t),e.exit(`referenceMarker`),i}function i(r){return r===93?(e.enter(`referenceMarker`),e.consume(r),e.exit(`referenceMarker`),e.exit(`reference`),t):n(r)}}var li={name:`labelStartImage`,resolveAll:$r.resolveAll,tokenize:ui};function ui(e,t,n){let r=this;return i;function i(t){return e.enter(`labelImage`),e.enter(`labelImageMarker`),e.consume(t),e.exit(`labelImageMarker`),a}function a(t){return t===91?(e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelImage`),o):n(t)}function o(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var di={name:`labelStartLink`,resolveAll:$r.resolveAll,tokenize:fi};function fi(e,t,n){let r=this;return i;function i(t){return e.enter(`labelLink`),e.enter(`labelMarker`),e.consume(t),e.exit(`labelMarker`),e.exit(`labelLink`),a}function a(e){return e===94&&`_hiddenFootnoteSupport`in r.parser.constructs?n(e):t(e)}}var pi={name:`lineEnding`,tokenize:mi};function mi(e,t){return n;function n(n){return e.enter(`lineEnding`),e.consume(n),e.exit(`lineEnding`),X(e,t,`linePrefix`)}}var hi={name:`thematicBreak`,tokenize:gi};function gi(e,t,n){let r=0,i;return a;function a(t){return e.enter(`thematicBreak`),o(t)}function o(e){return i=e,s(e)}function s(a){return a===i?(e.enter(`thematicBreakSequence`),c(a)):r>=3&&(a===null||q(a))?(e.exit(`thematicBreak`),t(a)):n(a)}function c(t){return t===i?(e.consume(t),r++,c):(e.exit(`thematicBreakSequence`),Y(t)?X(e,s,`whitespace`)(t):s(t))}}var Z={continuation:{tokenize:bi},exit:Si,name:`list`,tokenize:yi},_i={partial:!0,tokenize:Ci},vi={partial:!0,tokenize:xi};function yi(e,t,n){let r=this,i=r.events[r.events.length-1],a=i&&i[1].type===`linePrefix`?i[2].sliceSerialize(i[1],!0).length:0,o=0;return s;function s(t){let i=r.containerState.type||(t===42||t===43||t===45?`listUnordered`:`listOrdered`);if(i===`listUnordered`?!r.containerState.marker||t===r.containerState.marker:jn(t)){if(r.containerState.type||(r.containerState.type=i,e.enter(i,{_container:!0})),i===`listUnordered`)return e.enter(`listItemPrefix`),t===42||t===45?e.check(hi,n,l)(t):l(t);if(!r.interrupt||t===49)return e.enter(`listItemPrefix`),e.enter(`listItemValue`),c(t)}return n(t)}function c(t){return jn(t)&&++o<10?(e.consume(t),c):(!r.interrupt||o<2)&&(r.containerState.marker?t===r.containerState.marker:t===41||t===46)?(e.exit(`listItemValue`),l(t)):n(t)}function l(t){return e.enter(`listItemMarker`),e.consume(t),e.exit(`listItemMarker`),r.containerState.marker=r.containerState.marker||t,e.check(Qn,r.interrupt?n:u,e.attempt(_i,f,d))}function u(e){return r.containerState.initialBlankLine=!0,a++,f(e)}function d(t){return Y(t)?(e.enter(`listItemPrefixWhitespace`),e.consume(t),e.exit(`listItemPrefixWhitespace`),f):n(t)}function f(n){return r.containerState.size=a+r.sliceSerialize(e.exit(`listItemPrefix`),!0).length,t(n)}}function bi(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Qn,i,a);function i(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,X(e,t,`listItemIndent`,r.containerState.size+1)(n)}function a(n){return r.containerState.furtherBlankLines||!Y(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(vi,t,o)(n))}function o(i){return r.containerState._closeFlow=!0,r.interrupt=void 0,X(e,e.attempt(Z,t,n),`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(i)}}function xi(e,t,n){let r=this;return X(e,i,`listItemIndent`,r.containerState.size+1);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`listItemIndent`&&i[2].sliceSerialize(i[1],!0).length===r.containerState.size?t(e):n(e)}}function Si(e){e.exit(this.containerState.type)}function Ci(e,t,n){let r=this;return X(e,i,`listItemPrefixWhitespace`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:5);function i(e){let i=r.events[r.events.length-1];return!Y(e)&&i&&i[1].type===`listItemPrefixWhitespace`?t(e):n(e)}}var wi={name:`setextUnderline`,resolveTo:Ti,tokenize:Ei};function Ti(e,t){let n=e.length,r,i,a;for(;n--;)if(e[n][0]===`enter`){if(e[n][1].type===`content`){r=n;break}e[n][1].type===`paragraph`&&(i=n)}else e[n][1].type===`content`&&e.splice(n,1),!a&&e[n][1].type===`definition`&&(a=n);let o={type:`setextHeading`,start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type=`setextHeadingText`,a?(e.splice(i,0,[`enter`,o,t]),e.splice(a+1,0,[`exit`,e[r][1],t]),e[r][1].end={...e[a][1].end}):e[r][1]=o,e.push([`exit`,o,t]),e}function Ei(e,t,n){let r=this,i;return a;function a(t){let a=r.events.length,s;for(;a--;)if(r.events[a][1].type!==`lineEnding`&&r.events[a][1].type!==`linePrefix`&&r.events[a][1].type!==`content`){s=r.events[a][1].type===`paragraph`;break}return!r.parser.lazy[r.now().line]&&(r.interrupt||s)?(e.enter(`setextHeadingLine`),i=t,o(t)):n(t)}function o(t){return e.enter(`setextHeadingLineSequence`),s(t)}function s(t){return t===i?(e.consume(t),s):(e.exit(`setextHeadingLineSequence`),Y(t)?X(e,c,`lineSuffix`)(t):c(t))}function c(r){return r===null||q(r)?(e.exit(`setextHeadingLine`),t(r)):n(r)}}var Di={tokenize:Oi};function Oi(e){let t=this,n=e.attempt(Qn,r,e.attempt(this.parser.constructs.flowInitial,i,X(e,e.attempt(this.parser.constructs.flow,i,e.attempt(wr,i)),`linePrefix`)));return n;function r(r){if(r===null){e.consume(r);return}return e.enter(`lineEndingBlank`),e.consume(r),e.exit(`lineEndingBlank`),t.currentConstruct=void 0,n}function i(r){if(r===null){e.consume(r);return}return e.enter(`lineEnding`),e.consume(r),e.exit(`lineEnding`),t.currentConstruct=void 0,n}}var ki={resolveAll:Ni()},Ai=Mi(`string`),ji=Mi(`text`);function Mi(e){return{resolveAll:Ni(e===`text`?Pi:void 0),tokenize:t};function t(t){let n=this,r=this.parser.constructs[e],i=t.attempt(r,a,o);return a;function a(e){return c(e)?i(e):o(e)}function o(e){if(e===null){t.consume(e);return}return t.enter(`data`),t.consume(e),s}function s(e){return c(e)?(t.exit(`data`),i(e)):(t.consume(e),s)}function c(e){if(e===null)return!0;let t=r[e],i=-1;if(t)for(;++i<t.length;){let e=t[i];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}function Ni(e){return t;function t(t,n){let r=-1,i;for(;++r<=t.length;)i===void 0?t[r]&&t[r][1].type===`data`&&(i=r,r++):(!t[r]||t[r][1].type!==`data`)&&(r!==i+2&&(t[i][1].end=t[r-1][1].end,t.splice(i+2,r-i-2),r=i+2),i=void 0);return e?e(t,n):t}}function Pi(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type===`lineEnding`)&&e[n-1][1].type===`data`){let r=e[n-1][1],i=t.sliceStream(r),a=i.length,o=-1,s=0,c;for(;a--;){let e=i[a];if(typeof e==`string`){for(o=e.length;e.charCodeAt(o-1)===32;)s++,o--;if(o)break;o=-1}else if(e===-2)c=!0,s++;else if(e!==-1){a++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(s=0),s){let i={type:n===e.length||c||s<2?`lineSuffix`:`hardBreakTrailing`,start:{_bufferIndex:a?o:r.start._bufferIndex+o,_index:r.start._index+a,line:r.end.line,column:r.end.column-s,offset:r.end.offset-s},end:{...r.end}};r.end={...i.start},r.start.offset===r.end.offset?Object.assign(r,i):(e.splice(n,0,[`enter`,i,t],[`exit`,i,t]),n+=2)}n++}return e}var Fi=t({attentionMarkers:()=>Ui,contentInitial:()=>Li,disable:()=>Wi,document:()=>Ii,flow:()=>zi,flowInitial:()=>Ri,insideSpan:()=>Hi,string:()=>Bi,text:()=>Vi}),Ii={42:Z,43:Z,45:Z,48:Z,49:Z,50:Z,51:Z,52:Z,53:Z,54:Z,55:Z,56:Z,57:Z,62:er},Li={91:Nr},Ri={[-2]:fr,[-1]:fr,32:fr},zi={35:zr,42:hi,45:[wi,hi],60:Wr,61:wi,95:hi,96:lr,126:lr},Bi={38:or,92:ir},Vi={[-5]:pi,[-4]:pi,[-3]:pi,33:li,38:or,42:Kn,60:[Xn,Zr],91:di,92:[Lr,ir],93:$r,95:Kn,96:gr},Hi={null:[Kn,ki]},Ui={null:[42,95]},Wi={null:[]};function Gi(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},a=[],o=[],s=[],c={attempt:C(x),check:C(S),consume:v,enter:y,exit:b,interrupt:C(S,{interrupt:!0})},l={code:null,containerState:{},defineSkip:h,events:[],now:m,parser:e,previous:null,sliceSerialize:f,sliceStream:p,write:d},u=t.tokenize.call(l,c);return t.resolveAll&&a.push(t),l;function d(e){return o=Sn(o,e),g(),o[o.length-1]===null?(w(t,0),l.events=Gn(a,l.events,l),l.events):[]}function f(e,t){return qi(p(e),t)}function p(e){return Ki(o,e)}function m(){let{_bufferIndex:e,_index:t,line:n,column:i,offset:a}=r;return{_bufferIndex:e,_index:t,line:n,column:i,offset:a}}function h(e){i[e.line]=e.column,E()}function g(){let e;for(;r._index<o.length;){let t=o[r._index];if(typeof t==`string`)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)_(t.charCodeAt(r._bufferIndex));else _(t)}}function _(e){u=u(e)}function v(e){q(e)?(r.line++,r.column=1,r.offset+=e===-3?2:1,E()):e!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),l.previous=e}function y(e,t){let n=t||{};return n.type=e,n.start=m(),l.events.push([`enter`,n,l]),s.push(n),n}function b(e){let t=s.pop();return t.end=m(),l.events.push([`exit`,t,l]),t}function x(e,t){w(e,t.from)}function S(e,t){t.restore()}function C(e,t){return n;function n(n,r,i){let a,o,s,u;return Array.isArray(n)?f(n):`tokenize`in n?f([n]):d(n);function d(e){return t;function t(t){let n=t!==null&&e[t],r=t!==null&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}function f(e){return a=e,o=0,e.length===0?i:p(e[o])}function p(e){return n;function n(n){return u=T(),s=e,e.partial||(l.currentConstruct=e),e.name&&l.parser.constructs.disable.null.includes(e.name)?h(n):e.tokenize.call(t?Object.assign(Object.create(l),t):l,c,m,h)(n)}}function m(t){return e(s,u),r}function h(e){return u.restore(),++o<a.length?p(a[o]):i}}}function w(e,t){e.resolveAll&&!a.includes(e)&&a.push(e),e.resolve&&W(l.events,t,l.events.length-t,e.resolve(l.events.slice(t),l)),e.resolveTo&&(l.events=e.resolveTo(l.events,l))}function T(){let e=m(),t=l.previous,n=l.currentConstruct,i=l.events.length,a=Array.from(s);return{from:i,restore:o};function o(){r=e,l.previous=t,l.currentConstruct=n,l.events.length=i,s=a,E()}}function E(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function Ki(e,t){let n=t.start._index,r=t.start._bufferIndex,i=t.end._index,a=t.end._bufferIndex,o;if(n===i)o=[e[n].slice(r,a)];else{if(o=e.slice(n,i),r>-1){let e=o[0];typeof e==`string`?o[0]=e.slice(r):o.shift()}a>0&&o.push(e[i].slice(0,a))}return o}function qi(e,t){let n=-1,r=[],i;for(;++n<e.length;){let a=e[n],o;if(typeof a==`string`)o=a;else switch(a){case-5:o=`\r`;break;case-4:o=`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-TPjIAO9U.js";import{R as t,U as n,V as r}from"./useSubAccountSwitcher-
|
|
1
|
+
import{o as e}from"./chunk-TPjIAO9U.js";import{R as t,U as n,V as r}from"./useSubAccountSwitcher-DotTrvX3.js";import"./useVoiceRecorder-QN9_GqB_.js";import{_ as i}from"./AdminShell-JN7rZ8aG.js";import{a,c as o,i as s,o as c,r as l,s as u}from"./page-DhwPG5Zf.js";import"./useCopyFeedback-hbnPS-r9.js";var d=r(),f=e(n(),1),p=t();function m({gateState:e,setGateState:t,grantInfo:n,resolvedSlugRef:r}){let[a,o]=(0,f.useState)(``),[s,c]=(0,f.useState)(!1),[l,u]=(0,f.useState)(null);async function d(e){e.preventDefault();let n=a.trim().toLowerCase();if(!n){u(`Enter the email you were invited on.`);return}c(!0),u(null);try{let e=await fetch(`/api/access/request-magic-link`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({contactValue:n,agentSlug:r.current})});if(e.status===429){u((await e.json().catch(()=>({})))?.error||`Too many requests. Try again later.`);return}t(`request-sent`)}catch{u(`Could not reach the server. Check your connection and try again.`)}finally{c(!1)}}return(0,p.jsxs)(`div`,{className:`access-gate`,children:[e===`verifying`&&(0,p.jsxs)(`div`,{className:`access-gate-message`,children:[(0,p.jsx)(`h2`,{children:`Verifying your link…`}),(0,p.jsx)(`p`,{children:`This takes a moment.`})]}),e===`verify-failed`&&(0,p.jsxs)(`div`,{className:`access-gate-message`,children:[(0,p.jsx)(`h2`,{children:`That link did not work`}),(0,p.jsx)(`p`,{children:`It may have expired, already been used, or been for a different agent. You can request a fresh one below.`}),(0,p.jsx)(i,{onClick:()=>{t(`request-link`),u(null)},children:`Request a new link`})]}),e===`request-link`&&(0,p.jsxs)(`form`,{className:`access-gate-form`,onSubmit:d,children:[(0,p.jsx)(`h2`,{children:n?.displayName?`Welcome back, ${n.displayName}`:`Sign in`}),(0,p.jsx)(`p`,{children:`Enter the email you were invited on and we will send you a fresh link.`}),(0,p.jsx)(`label`,{htmlFor:`access-email`,children:`Email`}),(0,p.jsx)(`input`,{id:`access-email`,type:`email`,inputMode:`email`,autoComplete:`email`,value:a,onChange:e=>o(e.target.value),disabled:s}),l&&(0,p.jsx)(`p`,{className:`access-gate-error`,children:l}),(0,p.jsx)(i,{type:`submit`,disabled:s||!a.trim(),children:s?`Sending…`:`Send me a link`})]}),e===`request-sent`&&(0,p.jsxs)(`div`,{className:`access-gate-message`,children:[(0,p.jsx)(`h2`,{children:`Check your email`}),(0,p.jsx)(`p`,{children:`If that address is on the invite list, a fresh link is on the way. It expires in 15 minutes.`}),(0,p.jsx)(i,{onClick:()=>{t(`request-link`),o(``),u(null)},children:`Try a different email`})]})]})}function h(){let[e,t]=(0,f.useState)(null),[n,r]=(0,f.useState)(null),[i,l]=(0,f.useState)(`loading`),[d,p]=(0,f.useState)(``),[m,h]=(0,f.useState)(null),[g,_]=(0,f.useState)(null),[v,y]=(0,f.useState)(!1),[b,x]=(0,f.useState)(null),S=(0,f.useMemo)(()=>a(),[]),C=(0,f.useRef)(S||``),w=(0,f.useRef)(null),T=(0,f.useRef)(null),E=(0,f.useRef)(!1),D=(0,f.useRef)(null),[O,k]=(0,f.useState)(`request-link`),[A,j]=(0,f.useState)(null),M=(0,f.useRef)(null),N=(0,f.useRef)(null);(0,f.useEffect)(()=>{try{let e=sessionStorage.getItem(`maxy_session`);e&&(N.current=e)}catch{}},[]),(0,f.useEffect)(()=>{try{let e=c();e&&(sessionStorage.setItem(s,e),o&&console.info(`[public-webchat] op=seed-persisted len=${e.length} head=${e.slice(0,40)}`))}catch{}},[]);let P=(0,f.useCallback)(e=>{w.current=e,t(e);try{sessionStorage.setItem(`maxy_session`,e)}catch{}l(`chat`)},[]),F=(0,f.useCallback)(()=>{w.current=null;try{sessionStorage.removeItem(`maxy_session`)}catch{}t(null),l(`auth-required`),k(`request-link`)},[]),I=(0,f.useCallback)(async e=>{k(`verifying`);try{let t=C.current,n=await fetch(`/api/access/verify-token`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,agentSlug:t})});if(window.history.replaceState({},``,window.location.pathname),n.ok){let e=await n.json().catch(()=>({}));return e?.displayName&&j({displayName:e.displayName,contactValue:``,expiresAt:null,status:`active`}),!0}return k(`verify-failed`),!1}catch{return k(`verify-failed`),!1}},[]),L=(0,f.useCallback)(async()=>{if(w.current)return w.current;if(T.current)return T.current;let e=(async()=>{try{let e=N.current,n=await fetch(`/api/session`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({session_id:u(),...S?{agent:S}:{},...e?{session_key:e}:{}})});if(!n.ok){let e=await n.json().catch(()=>({error:``}));return o&&console.error(`[session] POST /api/session failed: ${n.status} ${n.statusText}`,e),n.status===404?r(e.error||`Agent not found`):n.status===503&&r(e.error||`Service unavailable`),null}let i=await n.json();if(i.auth_required){i.agent_id&&(C.current=i.agent_id),p(i.displayName||``),i.agentImage&&h(i.agentImage),i.agentImageShape&&_(i.agentImageShape),i.showAgentName&&y(i.showAgentName),i.branding&&x(i.branding),l(`auth-required`);let e=new URLSearchParams(window.location.search).get(`token`);return e?await I(e)&&window.location.reload():k(`request-link`),null}w.current=i.session_key,t(i.session_key),i.displayName&&p(i.displayName),i.agentImage&&h(i.agentImage),i.agentImageShape&&_(i.agentImageShape),i.showAgentName&&y(i.showAgentName),i.branding&&x(i.branding),l(`chat`),i.resumed&&i.messages&&(E.current=!0,D.current=i.messages);try{sessionStorage.setItem(`maxy_session`,i.session_key)}catch{}return i.session_key}catch(e){return o&&console.error(`[session] fetch /api/session threw:`,e),r(`Unable to connect. Please check your connection and try again.`),null}finally{T.current=null}})();return T.current=e,e},[S,I]);return{sessionId:e,cacheKeyRef:w,sessionError:n,pageState:i,setPageState:l,agentDisplayName:d,agentImage:m,agentImageShape:g,showAgentName:v,agentSlug:S,branding:b,resolvedSlugRef:C,ensureSession:L,startNewSession:(0,f.useCallback)(async()=>{w.current=null,T.current=null,N.current=null,E.current=!1,D.current=null,t(null),r(null);try{sessionStorage.removeItem(`maxy_session`)}catch{}await L()},[L]),enterChat:P,enterGate:F,resumedRef:E,resumeMessagesRef:D,gateState:O,setGateState:k,grantInfo:A,setGrantInfo:j,gateCacheKeyRef:M}}function g(){let{ensureSession:e,pageState:t,gateState:n,setGateState:r,grantInfo:i,resolvedSlugRef:a}=h();return(0,f.useEffect)(()=>{e()},[e]),t===`loading`?(0,p.jsx)(`div`,{className:`public-loading`,children:`Loading…`}):t===`auth-required`?(0,p.jsx)(m,{gateState:n,setGateState:r,grantInfo:i,resolvedSlugRef:a}):(0,p.jsx)(`div`,{className:`public-shell`,children:(0,p.jsx)(l,{cacheKey:``,variant:`public`})})}(0,d.createRoot)(document.getElementById(`root`)).render((0,p.jsx)(g,{}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e}from"./useSubAccountSwitcher-
|
|
1
|
+
import{N as e}from"./useSubAccountSwitcher-DotTrvX3.js";var t=e(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]);export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-TPjIAO9U.js";import{A as t,B as n,R as r,U as i,V as a,_ as o,h as s,p as c,w as l,x as u}from"./useSubAccountSwitcher-DotTrvX3.js";import{t as d,v as f}from"./AdminShell-JN7rZ8aG.js";import{n as p,t as m}from"./time-entry-format-EmV5lz6o.js";import{t as h}from"./rotate-ccw-D-ov5jM4.js";var g=a(),_=e(i(),1);function v(e=3e4){let[t,n]=(0,_.useState)(()=>Date.now());return(0,_.useEffect)(()=>{let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function y(e,t){let n=new Map,r=(e,t,r)=>{let i=n.get(e)??{openCount:0,totalSeconds:0};i.totalSeconds+=t,r&&(i.openCount+=1),n.set(e,i)};for(let t of e)t.clientName&&r(t.clientName,t.secondsLogged,!0);for(let e of t)e.clientName&&r(e.clientName,e.secondsLogged,!1);let i=[...n.entries()].map(([e,t])=>({name:e,openCount:t.openCount,totalSeconds:t.totalSeconds}));return i.sort((e,t)=>t.openCount-e.openCount||e.name.localeCompare(t.name)),b(e,i),i}function b(e,t){let n=t.reduce((e,t)=>e+t.openCount,0),r=e.filter(e=>!e.clientName).length,i=n+r===e.length;return i||console.warn(`[tasks-clients] reconcile-mismatch assigned=${n} unassigned=${r} openTotal=${e.length}`),i}var x=`__unassigned__`;function S(e,t){return e===`__unassigned__`?`Unassigned`:t||e.slice(0,8)}function C(e){return e===null||e===``?x:e}function w(e,t){let n=new Map,r=(e,t)=>{let r=C(e.assigneeUserId),i=n.get(r)??{name:null,openCount:0,totalCount:0};i.name===null&&e.assigneeName&&(i.name=e.assigneeName),i.totalCount+=1,t&&(i.openCount+=1),n.set(r,i)};for(let t of e)r(t,!0);for(let e of t)r(e,!1);let i=[...n.entries()].map(([e,t])=>({userId:e,label:S(e,t.name),openCount:t.openCount,totalCount:t.totalCount}));return i.sort((e,t)=>t.openCount-e.openCount||e.label.localeCompare(t.label)),i}function T(e,t){return t===null?!0:C(e.assigneeUserId)===t}var E=r(),D=`maxy-admin-session-key`;function O(e){let t=[];return e.clientName&&t.push(e.clientName),e.propertyAddress&&t.push(e.propertyAddress),e.fee!=null&&t.push(`£${e.fee}`),t.join(` · `)}function k(e){if(!e)return``;let t=Date.parse(e);if(!Number.isFinite(t))return``;let n=new Date(t);return`${n.getUTCDate()} ${[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`][n.getUTCMonth()]} ${n.getUTCFullYear()}`}function A(e){return e.assigneeName?e.assigneeName:e.assigneeUserId?e.assigneeUserId.slice(0,8):`Unassigned`}function j(e,t){return[t,k(e.createdAt),A(e)].filter(Boolean).join(` · `)}function M(e,t){if(e.running&&e.runningStartedAt){let n=Date.parse(e.runningStartedAt);if(Number.isFinite(n))return e.secondsLogged+Math.max(0,(t-n)/1e3)}return e.secondsLogged}function N({clients:e,onSelect:t}){return(0,E.jsxs)(`section`,{className:`admin-card tasks-card`,children:[(0,E.jsxs)(`div`,{className:`tasks-card-head`,children:[(0,E.jsx)(`span`,{className:`tasks-card-title`,children:`Clients`}),(0,E.jsxs)(`span`,{className:`tasks-card-count`,children:[e.length,` total`]})]}),e.length===0&&(0,E.jsx)(`div`,{className:`tasks-empty`,children:`No clients yet.`}),e.map(e=>(0,E.jsx)(`button`,{className:`tasks-row tasks-client-row`,onClick:()=>t(e.name),children:(0,E.jsxs)(`div`,{className:`tasks-row-main`,children:[(0,E.jsx)(`div`,{className:`tasks-row-name`,children:e.name}),(0,E.jsxs)(`div`,{className:`tasks-row-sub`,children:[e.openCount,` open · `,m(e.totalSeconds),` logged`]})]})},e.name))]})}function P({task:e,onClose:t}){return(0,_.useEffect)(()=>{let e=e=>{e.key===`Escape`&&t()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t]),(0,E.jsx)(`div`,{className:`tasks-detail-backdrop`,onClick:t,children:(0,E.jsxs)(`div`,{className:`tasks-detail`,role:`dialog`,"aria-modal":`true`,"aria-label":`Task detail`,onClick:e=>e.stopPropagation(),children:[(0,E.jsxs)(`div`,{className:`tasks-detail-head`,children:[(0,E.jsx)(`h2`,{className:`tasks-detail-title`,children:e?e.name:`Task no longer available`}),(0,E.jsx)(`button`,{className:`tasks-detail-close`,"aria-label":`Close`,onClick:t,children:(0,E.jsx)(s,{size:16})})]}),e===null?(0,E.jsx)(`p`,{className:`tasks-detail-gone`,children:`This task is no longer in the list. It may have been completed, cancelled or removed. Close this and reload to see the current list.`}):(0,E.jsxs)(`dl`,{className:`tasks-detail-fields`,children:[(0,E.jsx)(`dt`,{children:`Status`}),(0,E.jsx)(`dd`,{children:e.status}),(0,E.jsx)(`dt`,{children:`Logged`}),(0,E.jsx)(`dd`,{children:m(e.secondsLogged)}),(0,E.jsx)(`dt`,{children:`Created`}),(0,E.jsx)(`dd`,{children:k(e.createdAt)||`Not recorded`}),(0,E.jsx)(`dt`,{children:`Assignee`}),(0,E.jsx)(`dd`,{children:A(e)}),e.clientName&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`dt`,{children:`Client`}),(0,E.jsx)(`dd`,{children:e.clientName})]}),e.propertyAddress&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`dt`,{children:`Property`}),(0,E.jsx)(`dd`,{children:e.propertyAddress})]}),e.fee!=null&&(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`dt`,{children:`Fee`}),(0,E.jsxs)(`dd`,{children:[`£`,e.fee]})]})]})]})})}function F({adminFetch:e}){let[n,r]=(0,_.useState)({open:[],completed:[]}),[i,a]=(0,_.useState)(!1),[c,d]=(0,_.useState)(!1),f=(0,_.useRef)(!1),g=(0,_.useRef)(``),b=v(1e3),[x,S]=(0,_.useState)(`open`),[C,D]=(0,_.useState)(null),[k,A]=(0,_.useState)(null),[F,I]=(0,_.useState)(null),[L,R]=(0,_.useState)(``),[z,B]=(0,_.useState)(null),[V,H]=(0,_.useState)(null),U=(0,_.useMemo)(()=>{if(z!==null)return[...n.open,...n.completed].find(e=>e.rowKey===z)??null},[n,z]);(0,_.useEffect)(()=>{z!==null&&U===null&&console.error(`[tasks-ui] op=detail-failed rowKey=${z} reason=not-in-list`)},[z,U]);let W=(0,_.useMemo)(()=>y(n.open,n.completed),[n]),G=(0,_.useMemo)(()=>C===null?{open:n.open,completed:n.completed}:{open:n.open.filter(e=>e.clientName===C),completed:n.completed.filter(e=>e.clientName===C)},[n,C]),K=(0,_.useMemo)(()=>w(G.open,G.completed),[G]),ee=(0,_.useCallback)(e=>{D(e),S(`open`)},[]);(0,_.useEffect)(()=>{C&&!W.some(e=>e.name===C)&&D(null)},[W,C]),(0,_.useEffect)(()=>{k&&!K.some(e=>e.userId===k)&&A(null)},[K,k]),(0,_.useEffect)(()=>{H(null)},[x,C,k]);let q=n.open.filter(e=>e.running||(C===null||e.clientName===C)&&T(e,k)),J=(C?n.completed.filter(e=>e.clientName===C):n.completed).filter(e=>T(e,k)),Y=(0,_.useCallback)(async()=>{let t=await e(`/api/admin/tasks-list`);t.ok&&r(await t.json()),a(!0)},[e]);(0,_.useEffect)(()=>{Y()},[Y]);let X=(0,_.useCallback)(async(t,n,r)=>{if(f.current)return!1;f.current=!0,d(!0);try{return await e(t,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({taskId:n,...r})}),await Y(),!0}finally{f.current=!1,d(!1)}},[e,Y]),te=(0,_.useCallback)(async e=>{await X(`/api/admin/task-complete`,e)&&console.log(`[tasks-ui] op=complete taskId=${e.slice(0,8)} confirmed=true`)},[X]),ne=(0,_.useCallback)((e,t)=>{let n=String(Math.round(e.secondsLogged/60));g.current=n,I(t),R(n)},[]),Z=(0,_.useCallback)(()=>{I(null),R(``)},[]),re=(0,_.useCallback)(async e=>{let t=L.trim(),n=Number(t);if(!(t===``||!Number.isInteger(n)||n<0)){if(t===g.current){Z();return}I(null),R(``),await X(`/api/admin/task-time-adjust`,e,{newSeconds:n*60})}},[L,X,Z]),ie=(0,_.useCallback)(e=>{X(`/api/admin/task-time-adjust`,e,{newSeconds:0})},[X]);if(!i)return(0,E.jsxs)(`div`,{className:`tasks-loading`,children:[(0,E.jsx)(l,{size:18,className:`spin`}),` Loading…`]});let Q=e=>e.taskId!==null&&F===e.taskId,$=(e,n)=>Q(e)?(0,E.jsxs)(`div`,{className:`tasks-edit`,children:[(0,E.jsx)(`input`,{className:`tasks-edit-input`,type:`number`,min:0,step:1,"aria-label":`Logged minutes`,value:L,onChange:e=>R(e.target.value)}),(0,E.jsx)(`span`,{className:`tasks-edit-unit`,children:`min`}),(0,E.jsxs)(`button`,{className:`admin-btn-cta tasks-btn-action`,disabled:c,onClick:()=>void re(n),children:[(0,E.jsx)(t,{size:14}),` Save`]}),(0,E.jsxs)(`button`,{className:`tasks-btn-secondary tasks-btn-action`,onClick:Z,children:[(0,E.jsx)(s,{size:14}),` Cancel`]})]}):(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`button`,{className:`tasks-time-btn`,"aria-label":`Edit time`,disabled:c||e.running,title:e.running?`Stop the timer before editing time`:void 0,onClick:()=>ne(e,n),children:(0,E.jsx)(u,{size:14})}),(0,E.jsx)(`button`,{className:`tasks-time-btn`,"aria-label":`Reset time`,disabled:c||e.running,title:e.running?`Stop the timer before resetting time`:void 0,onClick:()=>ie(n),children:(0,E.jsx)(h,{size:14})})]});return(0,E.jsxs)(`div`,{className:`tasks-body`,children:[z!==null&&(0,E.jsx)(P,{task:U??null,onClose:()=>B(null)}),(0,E.jsxs)(`div`,{className:`tasks-tabs`,children:[(0,E.jsxs)(`button`,{className:`admin-chip ${x===`open`?`is-active`:``}`,onClick:()=>S(`open`),children:[`Open `,(0,E.jsx)(`span`,{className:`tasks-tab-badge`,children:n.open.length})]}),(0,E.jsxs)(`button`,{className:`admin-chip ${x===`completed`?`is-active`:``}`,onClick:()=>S(`completed`),children:[`Completed `,(0,E.jsx)(`span`,{className:`tasks-tab-badge`,children:n.completed.length})]}),(0,E.jsxs)(`button`,{className:`admin-chip ${x===`clients`?`is-active`:``}`,onClick:()=>S(`clients`),children:[`Clients `,(0,E.jsx)(`span`,{className:`tasks-tab-badge`,children:W.length})]})]}),x===`clients`?(0,E.jsx)(N,{clients:W,onSelect:ee}):(0,E.jsxs)(E.Fragment,{children:[C&&(0,E.jsxs)(`div`,{className:`tasks-filter-banner`,children:[(0,E.jsxs)(`span`,{children:[`Showing `,C]}),(0,E.jsx)(`button`,{className:`tasks-filter-clear`,onClick:()=>D(null),children:`Clear`})]}),K.length>0&&(0,E.jsxs)(`div`,{className:`tasks-assignee-bar`,children:[(0,E.jsxs)(`button`,{className:`admin-chip ${k===null?`is-active`:``}`,"aria-pressed":k===null,onClick:()=>A(null),children:[`All `,(0,E.jsx)(`span`,{className:`tasks-assignee-count`,children:G.open.length})]}),K.map(e=>(0,E.jsxs)(`button`,{className:`admin-chip ${k===e.userId?`is-active`:``}`,"aria-pressed":k===e.userId,"aria-label":`Assignee ${e.label}`,title:e.userId===`__unassigned__`?`Tasks with no assigned admin`:`AdminUser ${e.userId}`,onClick:()=>A(k===e.userId?null:e.userId),children:[e.label,` `,(0,E.jsx)(`span`,{className:`tasks-assignee-count`,children:e.openCount})]},e.userId))]}),x===`open`?(0,E.jsxs)(`section`,{className:`admin-card tasks-card`,children:[(0,E.jsxs)(`div`,{className:`tasks-card-head`,children:[(0,E.jsx)(`span`,{className:`tasks-card-title`,children:`Open tasks`}),(0,E.jsxs)(`span`,{className:`tasks-card-count`,children:[q.length,` to do`]})]}),q.length===0&&(0,E.jsx)(`div`,{className:`tasks-empty`,children:`No open tasks.`}),q.map(e=>(0,E.jsxs)(`div`,{className:`tasks-row`,children:[(0,E.jsx)(`button`,{className:`tasks-row-open`,"aria-label":`Open task detail: ${e.name}`,onClick:()=>B(e.rowKey),children:(0,E.jsxs)(`div`,{className:`tasks-row-main`,children:[(0,E.jsx)(`div`,{className:`tasks-row-name`,children:e.name}),(0,E.jsx)(`div`,{className:`tasks-row-sub`,children:j(e,O(e))})]})}),(0,E.jsx)(`div`,{className:`tasks-row-elapsed ${e.running?`tasks-row-elapsed-running`:``}`,children:m(M(e,b))}),(0,E.jsx)(`div`,{className:`tasks-row-controls ${e.taskId!==null&&V===e.taskId?`is-confirming`:``}`,children:e.taskId!==null&&V===e.taskId?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{className:`tasks-confirm-label`,children:`Complete?`}),(0,E.jsxs)(`button`,{className:`admin-btn-cta tasks-btn-action`,disabled:c,onClick:()=>{H(null),te(e.taskId)},children:[(0,E.jsx)(t,{size:14}),` Confirm complete`]}),(0,E.jsxs)(`button`,{className:`tasks-btn-secondary tasks-btn-action`,onClick:()=>H(null),children:[(0,E.jsx)(s,{size:14}),` Keep open`]})]}):e.taskId===null?(0,E.jsx)(`span`,{className:`tasks-row-broken`,title:`This task has no id, so it cannot be started, edited or completed. Repair it by running platform/scripts/backfill-task-ids.sh on this install.`,children:`Needs repair`}):(0,E.jsxs)(E.Fragment,{children:[$(e,e.taskId),Q(e)?null:(0,E.jsxs)(`button`,{className:`tasks-btn-secondary tasks-btn-action`,"aria-label":`Complete task: ${e.name}`,disabled:c||e.running,title:e.running?`Stop the timer before completing`:void 0,onClick:()=>H(e.taskId),children:[(0,E.jsx)(t,{size:14}),` Complete`]}),Q(e)?null:e.running?(0,E.jsxs)(`button`,{className:`admin-btn-danger tasks-btn-action`,disabled:c,onClick:()=>void X(`/api/admin/task-timer-stop`,e.taskId),children:[(0,E.jsx)(o,{size:14}),` Stop`]}):(0,E.jsxs)(`button`,{className:`admin-btn-cta tasks-btn-action`,disabled:c,onClick:()=>void X(`/api/admin/task-timer-start`,e.taskId),children:[(0,E.jsx)(p,{size:14}),` Start`]})]})})]},e.rowKey))]}):(0,E.jsxs)(`section`,{className:`admin-card tasks-card`,children:[(0,E.jsxs)(`div`,{className:`tasks-card-head`,children:[(0,E.jsx)(`span`,{className:`tasks-card-title`,children:`Completed`}),(0,E.jsxs)(`span`,{className:`tasks-card-count`,children:[J.length,` done`]})]}),J.length===0&&(0,E.jsx)(`div`,{className:`tasks-empty`,children:`Nothing completed yet.`}),J.map(e=>(0,E.jsxs)(`div`,{className:`tasks-row tasks-row-done`,children:[(0,E.jsx)(`button`,{className:`tasks-row-open`,"aria-label":`Open task detail: ${e.name}`,onClick:()=>B(e.rowKey),children:(0,E.jsxs)(`div`,{className:`tasks-row-main`,children:[(0,E.jsx)(`div`,{className:`tasks-row-name`,children:e.name}),(0,E.jsx)(`div`,{className:`tasks-row-sub`,children:j(e,O(e))})]})}),(0,E.jsx)(`div`,{className:`tasks-row-elapsed`,children:m(e.secondsLogged)}),(0,E.jsx)(`div`,{className:`tasks-row-controls`,children:e.taskId===null?(0,E.jsx)(`span`,{className:`tasks-row-broken`,title:`This task has no id, so its logged time cannot be edited. Repair it by running platform/scripts/backfill-task-ids.sh on this install.`,children:`Needs repair`}):$(e,e.taskId)})]},e.rowKey))]})]})]})}function I({cacheKey:e}){let{adminFetch:t}=n({initialCacheKey:e,surface:`tasks`});return(0,E.jsx)(F,{adminFetch:t})}function L(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!1),[i,a]=(0,_.useState)(void 0),[o,s]=(0,_.useState)(null),[u,p]=(0,_.useState)(null),[m,h]=(0,_.useState)(null),[g,v]=(0,_.useState)(null);(0,_.useEffect)(()=>{let e=!1,n=null;try{n=sessionStorage.getItem(D)}catch{}if(!n){t(null),r(!0);return}return fetch(`/api/admin/session?session_key=${encodeURIComponent(n)}`).then(async i=>{if(!e){if(i.status===401){try{sessionStorage.removeItem(D)}catch{}window.location.href=`/`;return}if(i.ok)try{let e=await i.json();typeof e.businessName==`string`&&a(e.businessName),e.sessionId!==void 0&&s(e.sessionId??null),p(e.role??null),h(e.userName===void 0?null:e.userName),v(e.avatar??null)}catch{}t(n),r(!0)}}).catch(()=>{e||(t(n),r(!0))}),()=>{e=!0}},[]);let y=(0,_.useCallback)(()=>{try{sessionStorage.removeItem(D)}catch{}window.location.href=`/`},[]),[b,x]=(0,_.useState)(!1),S=(0,_.useCallback)(async()=>{x(!0);try{let e=await f();if(e){try{sessionStorage.removeItem(D)}catch{}window.location.href=`/`}return e}finally{x(!1)}},[]);return n?e?(0,E.jsx)(c,{cacheKey:e,surface:`tasks`,onSessionExpired:({code:e,path:t})=>{console.warn(`[admin-auth] outcome=session-expired-redirect code=${e} path=${t} surface=tasks`);try{sessionStorage.removeItem(D)}catch{}window.location.href=`/`},children:(0,E.jsx)(d,{cacheKey:e,businessName:i,sessionId:o,onLogout:y,onDisconnect:S,disconnecting:b,userName:m,userAvatar:g,role:u,children:(0,E.jsx)(I,{cacheKey:e})})}):(0,E.jsx)(`div`,{className:`tasks-page`,children:(0,E.jsxs)(`div`,{className:`tasks-empty`,children:[(0,E.jsx)(`p`,{children:`You are not signed in.`}),(0,E.jsxs)(`p`,{children:[`Open the `,(0,E.jsx)(`a`,{href:`/`,className:`tasks-link`,children:`main admin page`}),` and log in, then return here.`]})]})}):(0,E.jsx)(`div`,{className:`tasks-page`,children:(0,E.jsxs)(`div`,{className:`tasks-loading`,children:[(0,E.jsx)(l,{size:18,className:`spin`}),` Loading…`]})})}(0,g.createRoot)(document.getElementById(`root`)).render((0,E.jsx)(L,{}));
|
package/payload/server/public/assets/{time-entry-format-DPdGkp1C.js → time-entry-format-EmV5lz6o.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e}from"./useSubAccountSwitcher-
|
|
1
|
+
import{N as e}from"./useSubAccountSwitcher-DotTrvX3.js";var t=e(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]);function n(e){let t=Math.max(0,Math.floor(e)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}:${String(r).padStart(2,`0`)}`:`${r}:${String(i).padStart(2,`0`)}`}export{t as n,n as t};
|
package/payload/server/public/assets/{triangle-alert-DO2rjjfV.js → triangle-alert-CivyPfAL.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e}from"./useSubAccountSwitcher-
|
|
1
|
+
import{N as e}from"./useSubAccountSwitcher-DotTrvX3.js";var t=e(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]);export{t};
|
package/payload/server/public/assets/{useCopyFeedback-HMSM7-Ir.js → useCopyFeedback-hbnPS-r9.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-TPjIAO9U.js";import{U as t,r as n}from"./useSubAccountSwitcher-
|
|
1
|
+
import{o as e}from"./chunk-TPjIAO9U.js";import{U as t,r as n}from"./useSubAccountSwitcher-DotTrvX3.js";var r=e(t(),1);function i(e){let[t,i]=(0,r.useState)(`idle`),a=(0,r.useRef)(null),o=(0,r.useRef)(e?.onResult);return o.current=e?.onResult,(0,r.useEffect)(()=>()=>{a.current&&clearTimeout(a.current)},[]),{status:t,copy:(0,r.useCallback)(async e=>{let t=await n(e);i(t?`ok`:`fail`),o.current?.(t),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>i(`idle`),1500)},[])}}export{i as t};
|