@coffer-org/web 7.2.1 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/assets/ChatWidget-Bhj-WiNC.js +5 -0
  2. package/dist/assets/DiagnosticsPage-CAWQ6aOl.js +1 -0
  3. package/dist/assets/{MarkdownEditor-0mNSwLu_.js → MarkdownEditor-On2GbApm.js} +3 -3
  4. package/dist/assets/NewRecordView-Y6PoWPB9.js +1 -0
  5. package/dist/assets/PluginSettingsPage-CcTksC-8.js +1 -0
  6. package/dist/assets/ScanSummary-xxY2oZVM.js +1 -0
  7. package/dist/assets/SettingsForm-NWfklsPY.js +1 -0
  8. package/dist/assets/SettingsPage-CjsbuhdW.js +3 -0
  9. package/dist/assets/ThemeSwitcher-DKrSbFhp.js +1 -0
  10. package/dist/assets/{api-COuWgOWV.js → api-QNHQU9to.js} +1 -1
  11. package/dist/assets/{auth-context-L2NSpevo.js → auth-context-CoCE5oPD.js} +1 -1
  12. package/dist/assets/condition-B5taAXkb.js +1 -0
  13. package/dist/assets/countries-CoGvAZ5u.js +1 -0
  14. package/dist/assets/{data-size-qpzofknI.js → data-size-BMG0D59K.js} +1 -1
  15. package/dist/assets/{development-olQNibq5.js → development-ChLInqDF.js} +1 -1
  16. package/dist/assets/{esm-BsLSfif3.js → esm-CX8ST5Fv.js} +1 -1
  17. package/dist/assets/esm-oGoWacTd.js +24 -0
  18. package/dist/assets/extend-yQ8zoqGc.js +1 -0
  19. package/dist/assets/fields-CV3RQg0Y.js +64 -0
  20. package/dist/assets/file-text-CITvp61x.js +1 -0
  21. package/dist/assets/{icons-BTbA1N7a.js → icons-0CjpO0K1.js} +1 -1
  22. package/dist/assets/ilamy-view-CQD1H32m.js +7 -0
  23. package/dist/assets/index-4Lr8BOK1.js +22 -0
  24. package/dist/assets/index-lbeXf7OV.css +2 -0
  25. package/dist/assets/{input-tJjsdU1x.js → input-BFMNMo6y.js} +1 -1
  26. package/dist/assets/list-cache-DOhsI_p2.js +1 -0
  27. package/dist/assets/{markdown-vendor-CtaBI5gJ.js → markdown-vendor-WSL3P01P.js} +15 -15
  28. package/dist/assets/phone-input-BZ9vGYpI.js +21 -0
  29. package/dist/assets/phone-input-BpNLpzg_.js +1 -0
  30. package/dist/assets/plugin-Cjr7lgQH.js +1 -0
  31. package/dist/assets/{version-CtfLXkhy.js → plugin-label-CfdhA4_L.js} +1 -1
  32. package/dist/assets/{popover-C2xHG6L3.js → popover-C1KB68Kk.js} +1 -1
  33. package/dist/assets/registration-BBxYynR4.js +1 -0
  34. package/dist/assets/settings-Bo5IOwVg.js +1 -0
  35. package/dist/assets/shelf-Cj_pNvd-.js +1 -0
  36. package/dist/assets/showcase-BeBnutzT.js +1 -0
  37. package/dist/assets/src-0TBpEeKK.js +1 -0
  38. package/dist/assets/src-1AsWJbID.js +7 -0
  39. package/dist/assets/src-4bmZI2h_.js +1 -0
  40. package/dist/assets/src-B2aXBzDf.js +4 -0
  41. package/dist/assets/src-BHz-TcxU.js +1 -0
  42. package/dist/assets/src-BZK1QVol.js +1 -0
  43. package/dist/assets/src-BjYucEBM.js +1 -0
  44. package/dist/assets/src-Bl8rYgUt2.js +1 -0
  45. package/dist/assets/src-BmyfVP9z.js +1 -0
  46. package/dist/assets/src-BrHtOaqX.js +1 -0
  47. package/dist/assets/src-Bzgh6Ge5.js +1 -0
  48. package/dist/assets/src-C46sbhiF.js +2 -0
  49. package/dist/assets/src-CD1zBxk2.js +1 -0
  50. package/dist/assets/src-CE1TPDES.js +6 -0
  51. package/dist/assets/src-CQOQ3BNT.js +1 -0
  52. package/dist/assets/{src-IYiBUs1S.js → src-Cz38tTr3.js} +1 -1
  53. package/dist/assets/src-D14fQdLH.js +1 -0
  54. package/dist/assets/src-DgQcfYnz.js +1 -0
  55. package/dist/assets/src-DnN2GqEI.js +1 -0
  56. package/dist/assets/src-Dr_dOgc9.js +6 -0
  57. package/dist/assets/src-Ds6m7Evp2.js +1 -0
  58. package/dist/assets/src-Mln-mCD3.js +1 -0
  59. package/dist/assets/src-Q4BhkNtH.js +1 -0
  60. package/dist/assets/src-qJ0szNVM.js +1 -0
  61. package/dist/assets/src-rMuD7zD4.js +1 -0
  62. package/dist/assets/{src-DEcZTAam.js → src-tKMBP4Dv.js} +3 -3
  63. package/dist/assets/src-xh_qAK43.js +1 -0
  64. package/dist/assets/ui-BuqzqLDw.js +2 -0
  65. package/dist/assets/ui-CqUVBwcW.js +2 -0
  66. package/dist/assets/ui-Dj0Nsb2P.js +2 -0
  67. package/dist/assets/ui-QzaKLk9q.js +2 -0
  68. package/dist/assets/ui-vendor-C0IUUP3F.js +44 -0
  69. package/dist/index.html +22 -22
  70. package/dist-vendor/web-ui.js +20098 -14890
  71. package/package.json +1 -1
  72. package/dist/assets/ChatWidget-ByBb2eNs.js +0 -31
  73. package/dist/assets/DiagnosticsPage-lKgGju82.js +0 -1
  74. package/dist/assets/NewRecordView-DJrRPNxT.js +0 -1
  75. package/dist/assets/PluginSettingsPage-BFsSZgTa.js +0 -1
  76. package/dist/assets/ScanSummary-CaG-s5qh.js +0 -1
  77. package/dist/assets/SettingsForm-C_K9RpFr.js +0 -1
  78. package/dist/assets/SettingsPage-CaPzeX50.js +0 -3
  79. package/dist/assets/ThemeSwitcher-BPuCvU1U.js +0 -1
  80. package/dist/assets/arrow-left-DDsxjRCq.js +0 -1
  81. package/dist/assets/esm-DJsKiDbH.js +0 -24
  82. package/dist/assets/extend-BMkkNVfm.js +0 -1
  83. package/dist/assets/fields-GPyF03tK.js +0 -64
  84. package/dist/assets/file-text-DI3tERhf.js +0 -1
  85. package/dist/assets/index-C5rNjIku.css +0 -2
  86. package/dist/assets/index-CdXz_Li2.js +0 -24
  87. package/dist/assets/lib-DU7Qh2A4.js +0 -1
  88. package/dist/assets/list-cache-B4i_A9fj.js +0 -1
  89. package/dist/assets/phone-input-BeYLRpyW.js +0 -1
  90. package/dist/assets/phone-input-CZF7hU3E.js +0 -21
  91. package/dist/assets/plugin-CFEkHH3f.js +0 -1
  92. package/dist/assets/plugin-ui-CKd6q8ec.js +0 -1
  93. package/dist/assets/settings-rQsBFoL2.js +0 -1
  94. package/dist/assets/shelf-CpE68_8d.js +0 -1
  95. package/dist/assets/showcase-CUDyXMb7.js +0 -1
  96. package/dist/assets/src-2QhdFJyH.js +0 -1
  97. package/dist/assets/src-BRA1s942.js +0 -1
  98. package/dist/assets/src-Bmc_xgWr.js +0 -1
  99. package/dist/assets/src-BnvKHmLu.js +0 -1
  100. package/dist/assets/src-Bv7IbF5F.js +0 -1
  101. package/dist/assets/src-C3X1cmlu.js +0 -1
  102. package/dist/assets/src-C3hdIsRT.js +0 -1
  103. package/dist/assets/src-CIrBx5O0.js +0 -1
  104. package/dist/assets/src-CTlBmB5n.js +0 -1
  105. package/dist/assets/src-Cp4yFztL.js +0 -4
  106. package/dist/assets/src-CvUhNHtO.js +0 -1
  107. package/dist/assets/src-D5pqHmdF.js +0 -1
  108. package/dist/assets/src-D9ZNj5Fi2.js +0 -1
  109. package/dist/assets/src-DAUYP87f2.js +0 -1
  110. package/dist/assets/src-DEqFDnFO.js +0 -1
  111. package/dist/assets/src-DXSkgVrX.js +0 -4
  112. package/dist/assets/src-DaHZILQZ.js +0 -1
  113. package/dist/assets/src-Dvbi--2I.js +0 -6
  114. package/dist/assets/src-Uu0k-CHA.js +0 -1
  115. package/dist/assets/src-WB1-7_Wh.js +0 -1
  116. package/dist/assets/src-dXlj2maQ.js +0 -1
  117. package/dist/assets/src-d_-Z83D-.js +0 -2
  118. package/dist/assets/src-eAsO2o4h2.js +0 -1
  119. package/dist/assets/src-uWOnIJWD.js +0 -6
  120. package/dist/assets/src-yL3q5Nfe.js +0 -1
  121. package/dist/assets/ui-A8aS2-NQ.js +0 -2
  122. package/dist/assets/ui-BK1F_c4b.js +0 -2
  123. package/dist/assets/ui-C9-epiVm.js +0 -2
  124. package/dist/assets/ui-kICtw37s.js +0 -1
  125. package/dist/assets/ui-vendor-BuwRGdK1.js +0 -44
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffer-org/web",
3
- "version": "7.2.1",
3
+ "version": "7.3.0",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=24"
@@ -1,31 +0,0 @@
1
- import{r as e,t}from"./rolldown-runtime-QTnfLwEv.js";import{a as n,t as r}from"./i18n-vendor-T6EnJ_TL.js";import{l as i,t as a,u as o}from"./react-vendor-CzSUaSLk.js";import{$n as s,Ar as c,B as l,Cr as u,Dr as d,Er as f,Fr as p,Ft as m,G as h,H as g,J as _,K as v,Lt as y,Mr as b,Q as x,Qr as S,Sr as C,U as w,V as T,W as E,X as D,Y as O,Z as k,q as A,tr as j,vr as M,yr as N}from"./src-Cp4yFztL.js";import{n as P,t as ee}from"./file-text-DI3tERhf.js";import{n as F,r as I}from"./input-tJjsdU1x.js";import{f as te,p as ne}from"./phone-input-CZF7hU3E.js";import{c as re}from"./popover-C2xHG6L3.js";import{o as ie}from"./icons-BTbA1N7a.js";import{n as ae,r as oe,t as L}from"./development-olQNibq5.js";import{a as se,c as ce,d as le,g as ue,h as R,i as de,l as fe,m as pe,n as me,o as he,p as ge,r as _e,s as ve,t as ye}from"./lib-DU7Qh2A4.js";var be=I(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),xe=I(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Se=I(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Ce=I(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),we={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`},z=e(n(),1);async function*Te(e){let t=e.getReader(),n=new TextDecoder,r=``;for(;;){let{done:e,value:i}=await t.read();if(e)break;r+=n.decode(i,{stream:!0});let a;for(;(a=r.indexOf(`
2
-
3
- `))!==-1;){let e=r.slice(0,a);r=r.slice(a+2);let t=`message`,n=[];for(let r of e.split(`
4
- `))!r||r.startsWith(`:`)||(r.startsWith(`event:`)?t=r.slice(6).trim():r.startsWith(`data:`)&&n.push(r.slice(5).replace(/^ /,``)));n.length&&(yield{event:t,data:n.join(`
5
- `)})}}}var Ee=`/api/plugins/webchat/user`;async function B(e,t){let n=await fetch(`${Ee}/${e}`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});if(!n.ok)throw Error(e);return await n.json()}async function De(){return(await B(`threads`,{})).threads}async function Oe(e){return B(`history`,{convId:e})}async function ke(e){let t=await B(`agents`,{convId:e});return{agents:t.agents??[],defaultAgentId:t.defaultAgentId??null,selection:t.selection??{agentId:null,presetId:null},starters:t.starters??[]}}async function Ae(e,t){return(await B(`selectAgent`,{convId:e,...t})).selection}async function je(e,t){return B(`setVisibility`,{convId:e,private:t})}async function Me(e){return B(`send`,{convId:e.convId,text:e.text,replyTo:e.replyTo,context:e.context,...e.attachments?.length?{attachments:e.attachments}:{}})}async function Ne(e){if(!(await fetch(`${Ee}/stop`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e})})).ok)throw Error(`stop`)}async function Pe(e,t,n){let r=await fetch(`${Ee}/channel/stream`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({convId:e}),signal:n});if(!r.ok||!r.body)throw Error(`http ${r.status}`);for await(let e of Te(r.body))try{let n=JSON.parse(e.data);e.event===`user`?t.onUser({msgId:String(n.msgId??``),text:String(n.text??``),ts:typeof n.ts==`number`?n.ts:0,...Array.isArray(n.attachments)?{attachments:n.attachments}:{}}):e.event===`message`?t.onMessage({msgId:String(n.msgId??``),text:String(n.text??``)}):e.event===`delta`?t.onDelta({msgId:String(n.msgId??``),text:String(n.text??``)}):e.event===`reasoning`?t.onReasoning({msgId:String(n.msgId??``),text:String(n.text??``)}):e.event===`done`?t.onDone({msgId:n.msgId??null,parentMsgId:String(n.parentMsgId??``),suggestions:Array.isArray(n.suggestions)?n.suggestions:null}):e.event===`error`&&t.onError({message:n.message??null,parentMsgId:typeof n.parentMsgId==`string`?n.parentMsgId:null})}catch(e){t.onError({message:`malformed frame: ${String(e)}`,parentMsgId:null})}}function Fe(){return crypto.randomUUID()}function Ie(e){switch(e.kind){case`user`:case`message`:case`delta`:case`reasoning`:return e.data.msgId;case`done`:return e.data.msgId;case`error`:return null}}var Le=1e3,Re=3e4;function ze(){let[e,t]=(0,z.useState)([]),[n,r]=(0,z.useState)(null),[i,a]=(0,z.useState)([]),[o,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(null),[u,d]=(0,z.useState)(null),[f,p]=(0,z.useState)([]),[m,h]=(0,z.useState)(null),[g,_]=(0,z.useState)({agentId:null,presetId:null}),[v,y]=(0,z.useState)([]),[b,x]=(0,z.useState)(null),S=(0,z.useRef)(null),C=(0,z.useRef)(!1),w=(0,z.useRef)(null),T=(0,z.useRef)(``),E=(0,z.useRef)(null),D=(0,z.useRef)(0),O=(0,z.useRef)(!0);(0,z.useEffect)(()=>(O.current=!0,()=>{O.current=!1,D.current++}),[]);let k=(0,z.useCallback)(()=>{De().then(e=>{O.current&&t(e)}).catch(()=>{})},[]);(0,z.useEffect)(()=>{if(!n)return;let e=!1;return ke(n).then(t=>{e||(p(t.agents),h(t.defaultAgentId),_(t.selection),y(t.starters))}).catch(()=>{}),()=>{e=!0}},[n]);let A=(0,z.useCallback)((e,t)=>{let n=Ie(e),r=t!==null&&n!==null&&t.has(n);switch(e.kind){case`user`:{if(r)break;let{msgId:t,text:n,ts:i,attachments:o}=e.data;a(e=>e.some(e=>e.msgId===t)?e:[...e,{msgId:t,role:`user`,text:n,ts:i,...o?.length?{attachments:o}:{}}]);break}case`message`:case`delta`:if(r)break;T.current=e.data.text,s(e.data.text);break;case`reasoning`:if(r)break;E.current=e.data.text,l(e.data.text);break;case`done`:{let{msgId:t,parentMsgId:n,suggestions:i}=e.data;if(S.current=t??n,x(i??null),!r&&t&&T.current){let e=T.current,n=E.current;a(r=>r.some(e=>e.msgId===t)?r:[...r,{msgId:t,role:`assistant`,text:e,ts:Math.floor(Date.now()/1e3),...n?{reasoning:n}:{}}])}T.current=``,E.current=null,s(null),l(null),w.current!==null&&w.current===n&&(C.current=!1,w.current=null),k();break}case`error`:d(e.data.message??`error`),T.current=``,E.current=null,s(null),l(null),w.current!==null&&w.current===e.data.parentMsgId&&(C.current=!1,w.current=null);break}},[k]);(0,z.useEffect)(()=>{if(!n)return;let e=n,t=!1,r=null,i=0,o=new AbortController;async function s(){if(t)return;let n=!0,c=!1,l=[],u=e=>{t||(c=!0,n?l.push(e):A(e,null))},f=Pe(e,{onUser:e=>u({kind:`user`,data:e}),onMessage:e=>u({kind:`message`,data:e}),onDelta:e=>u({kind:`delta`,data:e}),onReasoning:e=>u({kind:`reasoning`,data:e}),onDone:e=>u({kind:`done`,data:e}),onError:e=>u({kind:`error`,data:e})},o.signal).then(()=>!0,()=>!1);try{let r=await Oe(e);if(t)return;S.current=r.headMsgId;let i=new Set(r.messages.map(e=>e.msgId));a(e=>{let t=w.current,n=e.filter(e=>!i.has(e.msgId)&&(e.msgId.startsWith(`local-`)||e.msgId===t));return n.length?[...r.messages,...n]:r.messages}),x(r.messages.at(-1)?.suggestions??null),n=!1;for(let e of l)A(e,i)}catch(e){if(t)return;d(e.message),n=!1;for(let e of l)A(e,null)}if(await f,t)return;c&&(i=0);let p=Math.min(Le*2**i,Re);i++,r=setTimeout(()=>void s(),p)}return s(),()=>{t=!0,r&&clearTimeout(r),o.abort()}},[n,A]);let j=(0,z.useCallback)(e=>{let t=g;_(e),n&&Ae(n,e).then(_).catch(e=>{_(t),d(e instanceof Error?e.message:String(e))})},[n,g]),M=(0,z.useCallback)((n,r)=>{let i=e.find(e=>e.convId===n)?.private??!1;t(e=>e.map(e=>e.convId===n?{...e,private:r}:e)),je(n,r).then(e=>{t(t=>t.map(t=>t.convId===n?{...t,private:e.visibility===`private`}:t))}).catch(()=>{t(e=>e.map(e=>e.convId===n?{...e,private:i}:e))})},[e]),N=(0,z.useMemo)(()=>{let e=f.find(e=>e.id===g.agentId)?.media;return!e||e.image.accepts.length>0||e.document.accepts.length>0},[f,g]),P=(0,z.useCallback)(()=>{D.current++,C.current=!1,w.current=null,S.current=null,r(Fe()),a([]),s(null),l(null),T.current=``,E.current=null,d(null),x(null)},[]),ee=(0,z.useCallback)(async e=>{D.current++,C.current=!1,w.current=null,r(e),S.current=null,a([]),s(null),l(null),T.current=``,E.current=null,d(null),x(null)},[]),F=(0,z.useCallback)(()=>{n&&Ne(n).catch(()=>{})},[n]);return{threads:e,convId:n,messages:i,pending:o,pendingReasoning:c,error:u,agents:f,defaultAgentId:m,selection:g,starters:v,suggestions:b,attachmentsAllowed:N,chooseAgent:j,togglePrivate:M,send:(0,z.useCallback)((e,t,i=[])=>{if(!e.trim()||C.current)return!1;C.current=!0;let o=D.current,c=n??Fe();n===null&&r(c),d(null),x(null);let u=`local-${Fe()}`;return a(t=>[...t,{msgId:u,role:`user`,text:e,ts:Math.floor(Date.now()/1e3),...i.length?{attachments:i}:{}}]),s(``),(async()=>{try{let{msgId:n}=await Me({convId:c,text:e,replyTo:S.current,context:t,attachments:i});if(D.current!==o)return;if(n===null){C.current=!1,s(null),l(null);return}a(e=>e.some(e=>e.msgId===n)?e.filter(e=>e.msgId!==u):e.map(e=>e.msgId===u?{...e,msgId:n}:e)),w.current=n}catch(e){D.current===o&&(C.current=!1,d(e.message),s(null),l(null))}})(),!0},[n]),open:ee,newConversation:P,loadThreads:k,stop:F}}var Be=`—`;function Ve(){if(typeof document>`u`)return;let e=document.querySelector(`[role="heading"][aria-level="1"]`)?.textContent?.trim();return e&&e!==Be?e:void 0}function He(e){let t=e.split(`/`).filter(Boolean),n=new Set([`settings`,`browse`,`plugins`,`login`,`setup`]);if(t.length<2||n.has(t[0]))return{path:e};let[r,i,a]=t,o=!!(a&&a!==`new`),s=o?Ve():void 0;return{path:e,library:r,type:i,...o?{id:a}:{},...s?{title:s}:{}}}function Ue(){let{pathname:e}=i();return(0,z.useCallback)(()=>He(e),[e])}var We=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ge=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ke={};function qe(e,t){return((t||Ke).jsx?Ge:We).test(e)}var Je=t(((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;function u(e,t){if(typeof e!=`string`)throw TypeError(`First argument must be a string`);if(!e)return[];t||={};var l=1,u=1;function f(e){var t=e.match(r);t&&(l+=t.length);var n=e.lastIndexOf(`
6
- `);u=~n?e.length-n:u+e.length}function p(){var e={line:l,column:u};return function(t){return t.position=new m(e),_(),t}}function m(e){this.start=e,this.end={line:l,column:u},this.source=t.source}m.prototype.content=e;function h(n){var r=Error(t.source+`:`+l+`:`+u+`: `+n);if(r.reason=n,r.filename=t.source,r.line=l,r.column=u,r.source=e,!t.silent)throw r}function g(t){var n=t.exec(e);if(n){var r=n[0];return f(r),e=e.slice(r.length),n}}function _(){g(i)}function v(e){var t;for(e||=[];t=y();)t!==!1&&e.push(t);return e}function y(){var t=p();if(!(e.charAt(0)!=`/`||e.charAt(1)!=`*`)){for(var n=2;e.charAt(n)!=``&&(e.charAt(n)!=`*`||e.charAt(n+1)!=`/`);)++n;if(n+=2,e.charAt(n-1)===``)return h(`End of comment missing`);var r=e.slice(2,n-2);return u+=2,f(r),e=e.slice(n),u+=2,t({type:`comment`,comment:r})}}function b(){var e=p(),t=g(a);if(t){if(y(),!g(o))return h(`property missing ':'`);var r=g(s),i=e({type:`declaration`,property:d(t[0].replace(n,``)),value:r?d(r[0].replace(n,``)):``});return g(c),i}}function x(){var e=[];v(e);for(var t;t=b();)t!==!1&&(e.push(t),v(e));return e}return _(),x()}function d(e){return e?e.replace(l,``):``}t.exports=u})),Ye=t((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(Je());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}})),Xe=t((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))}})),Ze=t(((e,t)=>{var n=(e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}})(Ye()),r=Xe();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})),Qe=et(`end`),$e=et(`start`);function et(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 tt(e){let t=$e(e),n=Qe(e);if(t&&n)return{start:t,end:n}}var nt=e(Ze(),1),rt={}.hasOwnProperty,it=new Map,at=/[A-Z]/g,ot=new Set([`table`,`tbody`,`thead`,`tfoot`,`tr`]),st=new Set([`td`,`th`]);function ct(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=yt(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=vt(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`?R:pe,stylePropertyNameCase:t.stylePropertyNameCase||`dom`,tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=lt(i,e,void 0);return a&&typeof a!=`string`?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function lt(e,t,n){if(t.type===`element`)return ut(e,t,n);if(t.type===`mdxFlowExpression`||t.type===`mdxTextExpression`)return dt(e,t);if(t.type===`mdxJsxFlowElement`||t.type===`mdxJsxTextElement`)return pt(e,t,n);if(t.type===`mdxjsEsm`)return ft(e,t);if(t.type===`root`)return mt(e,t,n);if(t.type===`text`)return ht(e,t)}function ut(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()===`svg`&&r.space===`html`&&(i=R,e.schema=i),e.ancestors.push(t);let a=Tt(e,t.tagName,!1),o=bt(e,t),s=St(e,t);return ot.has(t.tagName)&&(s=s.filter(function(e){return typeof e!=`string`||!se(e)})),gt(e,o,a,t),_t(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function dt(e,t){if(t.data&&t.data.estree&&e.evaluater){let n=t.data.estree.body[0];return L(n.type===`ExpressionStatement`),e.evaluater.evaluateExpression(n.expression)}V(e,t.position)}function ft(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);V(e,t.position)}function pt(e,t,n){let r=e.schema,i=r;t.name===`svg`&&r.space===`html`&&(i=R,e.schema=i),e.ancestors.push(t);let a=t.name===null?e.Fragment:Tt(e,t.name,!0),o=xt(e,t),s=St(e,t);return gt(e,o,a,t),_t(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function mt(e,t,n){let r={};return _t(r,St(e,t)),e.create(t,e.Fragment,r,n)}function ht(e,t){return t.value}function gt(e,t,n,r){typeof n!=`string`&&n!==e.Fragment&&e.passNode&&(t.node=r)}function _t(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function vt(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 yt(e,t){return n;function n(n,r,i,a){let o=Array.isArray(i.children),s=$e(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 bt(e,t){let n={},r,i;for(i in t.properties)if(i!==`children`&&rt.call(t.properties,i)){let a=Ct(e,i,t.properties[i]);if(a){let[i,o]=a;e.tableCellAlignToStyle&&i===`align`&&typeof o==`string`&&st.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 xt(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];L(t.type===`ExpressionStatement`);let i=t.expression;L(i.type===`ObjectExpression`);let a=i.properties[0];L(a.type===`SpreadElement`),Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else V(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];L(t.type===`ExpressionStatement`),a=e.evaluater.evaluateExpression(t.expression)}else V(e,t.position);else a=r.value===null||r.value;n[i]=a}return n}function St(e,t){let n=[],r=-1,i=e.passKeys?new Map:it;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=lt(e,a,o);s!==void 0&&n.push(s)}return n}function Ct(e,t,n){let r=ue(e.schema,t);if(!(n==null||typeof n==`number`&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?ge(n):le(n)),r.property===`style`){let t=typeof n==`object`?n:wt(e,String(n));return e.stylePropertyNameCase===`css`&&(t=Et(t)),[`style`,t]}return[e.elementAttributeNameCase===`react`&&r.space?we[r.property]||r.property:r.attribute,n]}}function wt(e,t){try{return(0,nt.default)(t,{reactCompat:!0})}catch(t){if(e.ignoreInvalidStyle)return{};let n=t,r=new ce("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=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-parse-style-attribute`,r}}function Tt(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=qe(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}L(i,`always a result`),r=i}else r=qe(t)&&!/^[a-z]/.test(t)?{type:`Identifier`,name:t}:{type:`Literal`,value:t};if(r.type===`Literal`){let t=r.value;return rt.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);V(e)}function V(e,t){let n=new ce("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=`https://github.com/syntax-tree/hast-util-to-jsx-runtime#cannot-handle-mdx-estrees-without-createevaluater`,n}function Et(e){let t={},n;for(n in e)rt.call(e,n)&&(t[Dt(n)]=e[n]);return t}function Dt(e){let t=e.replace(at,Ot);return t.slice(0,3)===`ms-`&&(t=`-`+t),t}function Ot(e){return`-`+e.toLowerCase()}var kt={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`]},At={};function jt(e,t){let n=t||At;return Mt(e,typeof n.includeImageAlt!=`boolean`||n.includeImageAlt,typeof n.includeHtml!=`boolean`||n.includeHtml)}function Mt(e,t,n){if(Pt(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 Nt(e.children,t,n)}return Array.isArray(e)?Nt(e,t,n):``}function Nt(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=Mt(e[i],t,n);return r.join(``)}function Pt(e){return!!(e&&typeof e==`object`)}var Ft=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function It(e){return e.replace(Ft,Lt)}function Lt(e,t,n){if(t)return t;if(n.charCodeAt(0)===x.numberSign){let e=n.charCodeAt(1),t=e===x.lowercaseX||e===x.uppercaseX;return O(n.slice(t?2:1),t?k.numericBaseHexadecimal:k.numericBaseDecimal)}return oe(n)||e}var Rt={}.hasOwnProperty;function zt(e,t,n){return t&&typeof t==`object`&&(n=t,t=void 0),Bt(n)(g(w(n).document().write(T()(e,t,!0))))}function Bt(e){let t={transforms:[],canContainEols:[`emphasis`,`fragment`,`heading`,`paragraph`,`strong`],enter:{autolink:a(we),autolinkProtocol:A,autolinkEmail:A,atxHeading:a(be),blockQuote:a(he),characterEscape:A,characterReference:A,codeFenced:a(ge),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(ge,o),codeText:a(_e,o),codeTextData:A,data:A,codeFlowValue:A,definition:a(ve),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(ye),hardBreakEscape:a(xe),hardBreakTrailing:a(xe),htmlFlow:a(Se,o),htmlFlowData:A,htmlText:a(Se,o),htmlTextData:A,image:a(Ce),label:o,link:a(we),listItem:a(Te),listItemValue:f,listOrdered:a(z,d),listUnordered:a(z),paragraph:a(Ee),reference:ce,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(be),strong:a(B),thematicBreak:a(Oe)},exit:{atxHeading:c(),atxHeadingSequence:C,autolink:c(),autolinkEmail:me,autolinkProtocol:pe,blockQuote:c(),characterEscapeValue:j,characterReferenceMarkerHexadecimal:ue,characterReferenceMarkerNumeric:ue,characterReferenceValue:R,characterReference:de,codeFenced:c(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:j,codeIndented:c(v),codeText:c(F),codeTextData:j,data:j,definition:c(),definitionDestinationString:S,definitionLabelString:y,definitionTitleString:b,emphasis:c(),hardBreakEscape:c(N),hardBreakTrailing:c(N),htmlFlow:c(P),htmlFlowData:j,htmlText:c(ee),htmlTextData:j,image:c(te),label:re,labelText:ne,lineEnding:M,link:c(I),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:le,resourceDestinationString:ie,resourceTitleString:ae,resource:se,setextHeading:c(E),setextHeadingLineSequence:T,setextHeadingText:w,strong:c(),thematicBreak:c()}};Vt(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(e){let r={type:`root`,children:[]},a={stack:[r],tokenStack:[],config:t,enter:s,exit:l,buffer:o,resume:u,data:n},c=[],d=-1;for(;++d<e.length;)if(e[d][1].type===D.listOrdered||e[d][1].type===D.listUnordered)if(e[d][0]===`enter`)c.push(d);else{let t=c.pop();L(typeof t==`number`,`expected list to be open`),d=i(e,t,d)}for(d=-1;++d<e.length;){let n=t[e[d][0]];Rt.call(n,e[d][1].type)&&n[e[d][1].type].call(Object.assign({sliceSerialize:e[d][2].sliceSerialize},a),e[d][1])}if(a.tokenStack.length>0){let e=a.tokenStack[a.tokenStack.length-1];(e[1]||Ut).call(a,void 0,e[0])}for(r.position={start:H(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:H(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},d=-1;++d<t.transforms.length;)r=t.transforms[d](r)||r;return r}function i(e,t,n){let r=t-1,i=-1,a=!1,o,s,c,l;for(;++r<=n;){let t=e[r];switch(t[1].type){case D.listUnordered:case D.listOrdered:case D.blockQuote:t[0]===`enter`?i++:i--,l=void 0;break;case D.lineEndingBlank:t[0]===`enter`&&(o&&!l&&!i&&!c&&(c=r),l=void 0);break;case D.linePrefix:case D.listItemValue:case D.listItemMarker:case D.listItemPrefix:case D.listItemPrefixWhitespace:break;default:l=void 0}if(!i&&t[0]===`enter`&&t[1].type===D.listItemPrefix||i===-1&&t[0]===`exit`&&(t[1].type===D.listUnordered||t[1].type===D.listOrdered)){if(o){let i=r;for(s=void 0;i--;){let t=e[i];if(t[1].type===D.lineEnding||t[1].type===D.lineEndingBlank){if(t[0]===`exit`)continue;s&&(e[s][1].type=D.lineEndingBlank,a=!0),t[1].type=D.lineEnding,s=i}else if(!(t[1].type===D.linePrefix||t[1].type===D.blockQuotePrefix||t[1].type===D.blockQuotePrefixWhitespace||t[1].type===D.blockQuoteMarker||t[1].type===D.listItemIndent))break}c&&(!s||c<s)&&(o._spread=!0),o.end=Object.assign({},s?e[s][1].start:t[1].end),e.splice(s||r,0,[`exit`,o,t[2]]),r++,n++}if(t[1].type===D.listItemPrefix){let i={type:`listItem`,_spread:!1,start:Object.assign({},t[1].start),end:void 0};o=i,e.splice(r,0,[`enter`,i,t[2]]),r++,n++,c=void 0,l=!0}}}return e[t][1]._spread=a,n}function a(e,t){return n;function n(n){s.call(this,e(n),n),t&&t.call(this,n)}}function o(){this.stack.push({type:`fragment`,children:[]})}function s(e,t,n){let r=this.stack[this.stack.length-1];L(r,"expected `parent`"),L(`children`in r,"expected `parent`"),r.children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:H(t.start),end:void 0}}function c(e){return t;function t(t){e&&e.call(this,t),l.call(this,t)}}function l(e,t){let n=this.stack.pop();L(n,"expected `node`");let r=this.tokenStack.pop();if(r)r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||Ut).call(this,e,r[0]));else throw Error("Cannot close `"+e.type+"` ("+fe({start:e.start,end:e.end})+`): it’s not open`);L(n.type!==`fragment`,"unexpected fragment `exit`ed"),L(n.position,"expected `position` to be defined"),n.position.end=H(e.end)}function u(){return jt(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function f(e){if(this.data.expectingFirstListItemValue){let t=this.stack[this.stack.length-2];L(t,`expected nodes on stack`),L(t.type===`list`,`expected list on stack`),t.start=Number.parseInt(this.sliceSerialize(e),k.numericBaseDecimal),this.data.expectingFirstListItemValue=void 0}}function p(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`code`,`expected code on stack`),t.lang=e}function m(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`code`,`expected code on stack`),t.meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`code`,`expected code on stack`),t.value=e.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,``),this.data.flowCodeInside=void 0}function v(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`code`,`expected code on stack`),t.value=e.replace(/(\r?\n|\r)$/g,``)}function y(e){let t=this.resume(),n=this.stack[this.stack.length-1];L(n,`expected node on stack`),L(n.type===`definition`,`expected definition on stack`),n.label=t,n.identifier=_(this.sliceSerialize(e)).toLowerCase()}function b(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`definition`,`expected definition on stack`),t.title=e}function S(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`definition`,`expected definition on stack`),t.url=e}function C(e){let t=this.stack[this.stack.length-1];if(L(t,`expected node on stack`),L(t.type===`heading`,`expected heading on stack`),!t.depth){let n=this.sliceSerialize(e).length;L(n===1||n===2||n===3||n===4||n===5||n===6,"expected `depth` between `1` and `6`"),t.depth=n}}function w(){this.data.setextHeadingSlurpLineEnding=!0}function T(e){let t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`heading`,`expected heading on stack`),t.depth=this.sliceSerialize(e).codePointAt(0)===x.equalsTo?1:2}function E(){this.data.setextHeadingSlurpLineEnding=void 0}function A(e){let t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(`children`in t,`expected parent on stack`);let n=t.children,r=n[n.length-1];(!r||r.type!==`text`)&&(r=De(),r.position={start:H(e.start),end:void 0},n.push(r)),this.stack.push(r)}function j(e){let t=this.stack.pop();L(t,"expected a `node` to be on the stack"),L(`value`in t,"expected a `literal` to be on the stack"),L(t.position,"expected `node` to have an open position"),t.value+=this.sliceSerialize(e),t.position.end=H(e.end)}function M(e){let n=this.stack[this.stack.length-1];if(L(n,"expected `node`"),this.data.atHardBreak){L(`children`in n,"expected `parent`");let t=n.children[n.children.length-1];L(t.position,`expected tail to have a starting position`),t.position.end=H(e.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(A.call(this,e),j.call(this,e))}function N(){this.data.atHardBreak=!0}function P(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`html`,`expected html on stack`),t.value=e}function ee(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`html`,`expected html on stack`),t.value=e}function F(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`inlineCode`,`expected inline code on stack`),t.value=e}function I(){let e=this.stack[this.stack.length-1];if(L(e,`expected node on stack`),L(e.type===`link`,`expected link on stack`),this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function te(){let e=this.stack[this.stack.length-1];if(L(e,`expected node on stack`),L(e.type===`image`,`expected image on stack`),this.data.inReference){let t=this.data.referenceType||`shortcut`;e.type+=`Reference`,e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function ne(e){let t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];L(n,`expected ancestor on stack`),L(n.type===`image`||n.type===`link`,`expected image or link on stack`),n.label=It(t),n.identifier=_(t).toLowerCase()}function re(){let e=this.stack[this.stack.length-1];L(e,`expected node on stack`),L(e.type===`fragment`,`expected fragment on stack`);let t=this.resume(),n=this.stack[this.stack.length-1];L(n,`expected node on stack`),L(n.type===`image`||n.type===`link`,`expected image or link on stack`),this.data.inReference=!0,n.type===`link`?n.children=e.children:n.alt=t}function ie(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`image`||t.type===`link`,`expected image or link on stack`),t.url=e}function ae(){let e=this.resume(),t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`image`||t.type===`link`,`expected image or link on stack`),t.title=e}function se(){this.data.inReference=void 0}function ce(){this.data.referenceType=`collapsed`}function le(e){let t=this.resume(),n=this.stack[this.stack.length-1];L(n,`expected node on stack`),L(n.type===`image`||n.type===`link`,`expected image reference or link reference on stack`),n.label=t,n.identifier=_(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=`full`}function ue(e){L(e.type===`characterReferenceMarkerNumeric`||e.type===`characterReferenceMarkerHexadecimal`),this.data.characterReferenceType=e.type}function R(e){let t=this.sliceSerialize(e),n=this.data.characterReferenceType,r;if(n)r=O(t,n===D.characterReferenceMarkerNumeric?k.numericBaseDecimal:k.numericBaseHexadecimal),this.data.characterReferenceType=void 0;else{let e=oe(t);L(e!==!1,`expected reference to decode`),r=e}let i=this.stack[this.stack.length-1];L(i,"expected `node`"),L(`value`in i,"expected `node.value`"),i.value+=r}function de(e){let t=this.stack.pop();L(t,"expected `node`"),L(t.position,"expected `node.position`"),t.position.end=H(e.end)}function pe(e){j.call(this,e);let t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`link`,`expected link on stack`),t.url=this.sliceSerialize(e)}function me(e){j.call(this,e);let t=this.stack[this.stack.length-1];L(t,`expected node on stack`),L(t.type===`link`,`expected link on stack`),t.url=`mailto:`+this.sliceSerialize(e)}function he(){return{type:`blockquote`,children:[]}}function ge(){return{type:`code`,lang:null,meta:null,value:``}}function _e(){return{type:`inlineCode`,value:``}}function ve(){return{type:`definition`,identifier:``,label:null,title:null,url:``}}function ye(){return{type:`emphasis`,children:[]}}function be(){return{type:`heading`,depth:0,children:[]}}function xe(){return{type:`break`}}function Se(){return{type:`html`,value:``}}function Ce(){return{type:`image`,title:null,url:``,alt:null}}function we(){return{type:`link`,title:null,url:``,children:[]}}function z(e){return{type:`list`,ordered:e.type===`listOrdered`,start:null,spread:e._spread,children:[]}}function Te(e){return{type:`listItem`,spread:e._spread,checked:null,children:[]}}function Ee(){return{type:`paragraph`,children:[]}}function B(){return{type:`strong`,children:[]}}function De(){return{type:`text`,value:``}}function Oe(){return{type:`thematicBreak`}}}function H(e){return{line:e.line,column:e.column,offset:e.offset}}function Vt(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?Vt(e,r):Ht(e,r)}}function Ht(e,t){let n;for(n in t)if(Rt.call(t,n))switch(n){case`canContainEols`:{let r=t[n];r&&e[n].push(...r);break}case`transforms`:{let r=t[n];r&&e[n].push(...r);break}case`enter`:case`exit`:{let r=t[n];r&&Object.assign(e[n],r);break}}}function Ut(e,t){throw Error(e?"Cannot close `"+e.type+"` ("+fe({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+fe({start:t.start,end:t.end})+`) is open`:"Cannot close document, a token (`"+t.type+"`, "+fe({start:t.start,end:t.end})+`) is still open`)}function Wt(e){let t=this;t.parser=n;function n(n){return zt(n,{...t.data(`settings`),...e,extensions:t.data(`micromarkExtensions`)||[],mdastExtensions:t.data(`fromMarkdownExtensions`)||[]})}}function Gt(e,t){let n={type:`element`,tagName:`blockquote`,properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Kt(e,t){let n={type:`element`,tagName:`br`,properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:`text`,value:`
7
- `}]}function qt(e,t){let n=t.value?t.value+`
8
- `:``,r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=[`language-`+i[0]]);let a={type:`element`,tagName:`code`,properties:r,children:[{type:`text`,value:n}]};return t.meta&&(a.data={meta:t.meta}),e.patch(t,a),a=e.applyData(t,a),a={type:`element`,tagName:`pre`,properties:{},children:[a]},e.patch(t,a),a}function Jt(e,t){let n={type:`element`,tagName:`del`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Yt(e,t){let n={type:`element`,tagName:`em`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Xt(e,t){let n=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,r=String(t.identifier).toUpperCase(),i=h(r.toLowerCase()),a=e.footnoteOrder.indexOf(r),o,s=e.footnoteCounts.get(r);s===void 0?(s=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=a+1,s+=1,e.footnoteCounts.set(r,s);let c={type:`element`,tagName:`a`,properties:{href:`#`+n+`fn-`+i,id:n+`fnref-`+i+(s>1?`-`+s:``),dataFootnoteRef:!0,ariaDescribedBy:[`footnote-label`]},children:[{type:`text`,value:String(o)}]};e.patch(t,c);let l={type:`element`,tagName:`sup`,properties:{},children:[c]};return e.patch(t,l),e.applyData(t,l)}function Zt(e,t){let n={type:`element`,tagName:`h`+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qt(e,t){if(e.options.allowDangerousHtml){let n={type:`raw`,value:t.value};return e.patch(t,n),e.applyData(t,n)}}function $t(e,t){let n=t.referenceType,r=`]`;if(n===`collapsed`?r+=`[]`:n===`full`&&(r+=`[`+(t.label||t.identifier)+`]`),t.type===`imageReference`)return[{type:`text`,value:`![`+t.alt+r}];let i=e.all(t),a=i[0];a&&a.type===`text`?a.value=`[`+a.value:i.unshift({type:`text`,value:`[`});let o=i[i.length-1];return o&&o.type===`text`?o.value+=r:i.push({type:`text`,value:r}),i}function en(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $t(e,t);let i={src:h(r.url||``),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`img`,properties:i,children:[]};return e.patch(t,a),e.applyData(t,a)}function tn(e,t){let n={src:h(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`img`,properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function nn(e,t){let n={type:`text`,value:t.value.replace(/\r?\n|\r/g,` `)};e.patch(t,n);let r={type:`element`,tagName:`code`,properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function rn(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return $t(e,t);let i={href:h(r.url||``)};r.title!==null&&r.title!==void 0&&(i.title=r.title);let a={type:`element`,tagName:`a`,properties:i,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function an(e,t){let n={href:h(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:`element`,tagName:`a`,properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function on(e,t,n){let r=e.all(t),i=n?sn(n):cn(t),a={},o=[];if(typeof t.checked==`boolean`){let e=r[0],n;e&&e.type===`element`&&e.tagName===`p`?n=e:(n={type:`element`,tagName:`p`,properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:`text`,value:` `}),n.children.unshift({type:`element`,tagName:`input`,properties:{type:`checkbox`,checked:t.checked,disabled:!0},children:[]}),a.className=[`task-list-item`]}let s=-1;for(;++s<r.length;){let e=r[s];(i||s!==0||e.type!==`element`||e.tagName!==`p`)&&o.push({type:`text`,value:`
9
- `}),e.type===`element`&&e.tagName===`p`&&!i?o.push(...e.children):o.push(e)}let c=r[r.length-1];c&&(i||c.type!==`element`||c.tagName!==`p`)&&o.push({type:`text`,value:`
10
- `});let l={type:`element`,tagName:`li`,properties:a,children:o};return e.patch(t,l),e.applyData(t,l)}function sn(e){let t=!1;if(e.type===`list`){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=cn(n[r])}return t}function cn(e){return e.spread??e.children.length>1}function ln(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start==`number`&&t.start!==1&&(n.start=t.start);++i<r.length;){let e=r[i];if(e.type===`element`&&e.tagName===`li`&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(`task-list-item`)){n.className=[`contains-task-list`];break}}let a={type:`element`,tagName:t.ordered?`ol`:`ul`,properties:n,children:e.wrap(r,!0)};return e.patch(t,a),e.applyData(t,a)}function un(e,t){let n={type:`element`,tagName:`p`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function dn(e,t){let n={type:`root`,children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function fn(e,t){let n={type:`element`,tagName:`strong`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function pn(e,t){let n=e.all(t),r=n.shift(),i=[];if(r){let n={type:`element`,tagName:`thead`,properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),i.push(n)}if(n.length>0){let r={type:`element`,tagName:`tbody`,properties:{},children:e.wrap(n,!0)},a=$e(t.children[1]),o=Qe(t.children[t.children.length-1]);a&&o&&(r.position={start:a,end:o}),i.push(r)}let a={type:`element`,tagName:`table`,properties:{},children:e.wrap(i,!0)};return e.patch(t,a),e.applyData(t,a)}function mn(e,t,n){let r=n?n.children:void 0,i=(r?r.indexOf(t):1)===0?`th`:`td`,a=n&&n.type===`table`?n.align:void 0,o=a?a.length:t.children.length,s=-1,c=[];for(;++s<o;){let n=t.children[s],r={},o=a?a[s]:void 0;o&&(r.align=o);let l={type:`element`,tagName:i,properties:r,children:[]};n&&(l.children=e.all(n),e.patch(n,l),l=e.applyData(n,l)),c.push(l)}let l={type:`element`,tagName:`tr`,properties:{},children:e.wrap(c,!0)};return e.patch(t,l),e.applyData(t,l)}function hn(e,t){let n={type:`element`,tagName:`td`,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}var gn=9,_n=32;function vn(e){let t=String(e),n=/\r?\n|\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(yn(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(yn(t.slice(i),i>0,!1)),a.join(``)}function yn(e,t,n){let r=0,i=e.length;if(t){let t=e.codePointAt(r);for(;t===gn||t===_n;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(i-1);for(;t===gn||t===_n;)i--,t=e.codePointAt(i-1)}return i>r?e.slice(r,i):``}function bn(e,t){let n={type:`text`,value:vn(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function xn(e,t){let n={type:`element`,tagName:`hr`,properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var Sn={blockquote:Gt,break:Kt,code:qt,delete:Jt,emphasis:Yt,footnoteReference:Xt,heading:Zt,html:Qt,imageReference:en,image:tn,inlineCode:nn,linkReference:rn,link:an,listItem:on,list:ln,paragraph:un,root:dn,strong:fn,table:pn,tableCell:hn,tableRow:mn,text:bn,thematicBreak:xn,toml:Cn,yaml:Cn,definition:Cn,footnoteDefinition:Cn};function Cn(){}var wn=typeof self==`object`?self:globalThis,Tn=(e,t)=>{switch(e){case`Function`:case`SharedWorker`:case`Worker`:case`eval`:case`setInterval`:case`setTimeout`:throw TypeError(`unable to deserialize `+e)}return new wn[e](t)},En=(e,t)=>{let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(typeof wn[e]==`function`?Tn(e,t):Error(t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(Tn(a,o),i)};return r},Dn=e=>En(new Map,e)(0),U=``,{toString:On}={},{keys:kn}=Object,W=e=>{let t=typeof e;if(t!==`object`||!e)return[0,t];let n=On.call(e).slice(8,-1);switch(n){case`Array`:return[1,U];case`Object`:return[2,U];case`Date`:return[3,U];case`RegExp`:return[4,U];case`Map`:return[5,U];case`Set`:return[6,U];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:e instanceof Error?[7,e.name||`Error`]:[2,n]},An=([e,t])=>e===0&&(t===`function`||t===`symbol`),jn=(e,t,n,r)=>{let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=W(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize `+s);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of kn(r))(e||!An(W(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,isNaN(r.getTime())?U:r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(An(W(n))||An(W(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!An(W(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a},Mn=(e,{json:t,lossy:n}={})=>{let r=[];return jn(!(t||n),!!t,new Map,r)(e),r},Nn=typeof structuredClone==`function`?(e,t)=>t&&(`json`in t||`lossy`in t)?Dn(Mn(e,t)):structuredClone(e):(e,t)=>Dn(Mn(e,t));function Pn(e,t){let n=[{type:`text`,value:`↩`}];return t>1&&n.push({type:`element`,tagName:`sup`,properties:{},children:[{type:`text`,value:String(t)}]}),n}function Fn(e,t){return`Back to reference `+(e+1)+(t>1?`-`+t:``)}function In(e){let t=typeof e.options.clobberPrefix==`string`?e.options.clobberPrefix:`user-content-`,n=e.options.footnoteBackContent||Pn,r=e.options.footnoteBackLabel||Fn,i=e.options.footnoteLabel||`Footnotes`,a=e.options.footnoteLabelTagName||`h2`,o=e.options.footnoteLabelProperties||{className:[`sr-only`]},s=[],c=-1;for(;++c<e.footnoteOrder.length;){let i=e.footnoteById.get(e.footnoteOrder[c]);if(!i)continue;let a=e.all(i),o=String(i.identifier).toUpperCase(),l=h(o.toLowerCase()),u=0,d=[],f=e.footnoteCounts.get(o);for(;f!==void 0&&++u<=f;){d.length>0&&d.push({type:`text`,value:` `});let e=typeof n==`string`?n:n(c,u);typeof e==`string`&&(e={type:`text`,value:e}),d.push({type:`element`,tagName:`a`,properties:{href:`#`+t+`fnref-`+l+(u>1?`-`+u:``),dataFootnoteBackref:``,ariaLabel:typeof r==`string`?r:r(c,u),className:[`data-footnote-backref`]},children:Array.isArray(e)?e:[e]})}let p=a[a.length-1];if(p&&p.type===`element`&&p.tagName===`p`){let e=p.children[p.children.length-1];e&&e.type===`text`?e.value+=` `:p.children.push({type:`text`,value:` `}),p.children.push(...d)}else a.push(...d);let m={type:`element`,tagName:`li`,properties:{id:t+`fn-`+l},children:e.wrap(a,!0)};e.patch(i,m),s.push(m)}if(s.length!==0)return{type:`element`,tagName:`section`,properties:{dataFootnotes:!0,className:[`footnotes`]},children:[{type:`element`,tagName:a,properties:{...Nn(o),id:`footnote-label`},children:[{type:`text`,value:i}]},{type:`text`,value:`
11
- `},{type:`element`,tagName:`ol`,properties:{},children:e.wrap(s,!0)},{type:`text`,value:`
12
- `}]}}var Ln={}.hasOwnProperty,Rn={};function zn(e,t){let n=t||Rn,r=new Map,i=new Map,a={all:s,applyData:Vn,definitionById:r,footnoteById:i,footnoteCounts:new Map,footnoteOrder:[],handlers:{...Sn,...n.handlers},one:o,options:n,patch:Bn,wrap:Un};return ye(e,function(e){if(e.type===`definition`||e.type===`footnoteDefinition`){let t=e.type===`definition`?r:i,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a;function o(e,t){let n=e.type,r=a.handlers[n];if(Ln.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(`children`in e){let{children:t,...n}=e,r=Nn(n);return r.children=a.all(e),r}return Nn(e)}return(a.options.unknownHandler||Hn)(a,e,t)}function s(e){let t=[];if(`children`in e){let n=e.children,r=-1;for(;++r<n.length;){let i=a.one(n[r],e);if(i){if(r&&n[r-1].type===`break`&&(!Array.isArray(i)&&i.type===`text`&&(i.value=Wn(i.value)),!Array.isArray(i)&&i.type===`element`)){let e=i.children[0];e&&e.type===`text`&&(e.value=Wn(e.value))}Array.isArray(i)?t.push(...i):t.push(i)}}}return t}}function Bn(e,t){e.position&&(t.position=tt(e))}function Vn(e,t){let n=t;if(e&&e.data){let t=e.data.hName,r=e.data.hChildren,i=e.data.hProperties;typeof t==`string`&&(n.type===`element`?n.tagName=t:n={type:`element`,tagName:t,properties:{},children:`children`in n?n.children:[n]}),n.type===`element`&&i&&Object.assign(n.properties,Nn(i)),`children`in n&&n.children&&r!=null&&(n.children=r)}return n}function Hn(e,t){let n=t.data||{},r=`value`in t&&!(Ln.call(n,`hProperties`)||Ln.call(n,`hChildren`))?{type:`text`,value:t.value}:{type:`element`,tagName:`div`,properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Un(e,t){let n=[],r=-1;for(t&&n.push({type:`text`,value:`
13
- `});++r<e.length;)r&&n.push({type:`text`,value:`
14
- `}),n.push(e[r]);return t&&e.length>0&&n.push({type:`text`,value:`
15
- `}),n}function Wn(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Gn(e,t){let n=zn(e,t),r=n.one(e,void 0),i=In(n),a=Array.isArray(r)?{type:`root`,children:r}:r||{type:`root`,children:[]};return i&&(L(`children`in a),a.children.push({type:`text`,value:`
16
- `},i)),a}function Kn(e,t){return e&&`run`in e?async function(n,r){let i=Gn(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Gn(n,{file:r,...e||t})}}var qn=ie(),Jn=[],Yn={allowDangerousHtml:!0},Xn=/^(https?|ircs?|mailto|xmpp)$/i,Zn=[{from:`astPlugins`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowDangerousHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`allowNode`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowElement`},{from:`allowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`allowedElements`},{from:`className`,id:`remove-classname`},{from:`disallowedTypes`,id:`replace-allownode-allowedtypes-and-disallowedtypes`,to:`disallowedElements`},{from:`escapeHtml`,id:`remove-buggy-html-in-markdown-parser`},{from:`includeElementIndex`,id:`#remove-includeelementindex`},{from:`includeNodeIndex`,id:`change-includenodeindex-to-includeelementindex`},{from:`linkTarget`,id:`remove-linktarget`},{from:`plugins`,id:`change-plugins-to-remarkplugins`,to:`remarkPlugins`},{from:`rawSourcePos`,id:`#remove-rawsourcepos`},{from:`renderers`,id:`change-renderers-to-components`,to:`components`},{from:`source`,id:`change-source-to-children`,to:`children`},{from:`sourcePos`,id:`#remove-sourcepos`},{from:`transformImageUri`,id:`#add-urltransform`,to:`urlTransform`},{from:`transformLinkUri`,id:`#add-urltransform`,to:`urlTransform`}];function Qn(e){let t=$n(e),n=er(e);return tr(t.runSync(t.parse(n),n),e)}function $n(e){let t=e.rehypePlugins||Jn,n=e.remarkPlugins||Jn,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Yn}:Yn;return de().use(Wt).use(n).use(Kn,r).use(t)}function er(e){let t=e.children||``,n=new ve;return typeof t==`string`?n.value=t:ae("Unexpected value `"+t+"` for `children` prop, expected `string`"),n}function tr(e,t){let n=t.allowedElements,r=t.allowElement,i=t.components,a=t.disallowedElements,o=t.skipHtml,s=t.unwrapDisallowed,c=t.urlTransform||nr;for(let e of Zn)Object.hasOwn(t,e.from)&&ae("Unexpected `"+e.from+"` prop, "+(e.to?"use `"+e.to+"` instead":`remove it`)+` (see <https://github.com/remarkjs/react-markdown/blob/main/changelog.md#`+e.id+`> for more info)`);return n&&a&&ae("Unexpected combined `allowedElements` and `disallowedElements`, expected one or the other"),ye(e,l),ct(e,{Fragment:qn.Fragment,components:i,ignoreInvalidStyle:!0,jsx:qn.jsx,jsxs:qn.jsxs,passKeys:!0,passNode:!0});function l(e,t,i){if(e.type===`raw`&&i&&typeof t==`number`)return o?i.children.splice(t,1):i.children[t]={type:`text`,value:e.value},t;if(e.type===`element`){let t;for(t in kt)if(Object.hasOwn(kt,t)&&Object.hasOwn(e.properties,t)){let n=e.properties[t],r=kt[t];(r===null||r.includes(e.tagName))&&(e.properties[t]=c(String(n||``),t,e))}}if(e.type===`element`){let o=n?!n.includes(e.tagName):a?a.includes(e.tagName):!1;if(!o&&r&&typeof t==`number`&&(o=!r(e,t,i)),o&&i&&typeof t==`number`)return s&&e.children?i.children.splice(t,1,...e.children):i.children.splice(t,1),t}}}function nr(e){let t=e.indexOf(`:`),n=e.indexOf(`?`),r=e.indexOf(`#`),i=e.indexOf(`/`);return t===-1||i!==-1&&t>i||n!==-1&&t>n||r!==-1&&t>r||Xn.test(e.slice(0,t))?e:``}function rr(e){if(typeof e!=`string`)throw TypeError(`Expected a string`);return e.replace(/[|\\{}()[\]^$+*?.]/g,`\\$&`).replace(/-/g,`\\x2d`)}function ir(e,t,n){let r=_e((n||{}).ignore||[]),i=ar(t),a=-1;for(;++a<i.length;)me(e,`text`,o);function o(e,t){let n=-1,i;for(;++n<t.length;){let e=t[n],a=i?i.children:void 0;if(r(e,a?a.indexOf(e):void 0,i))return;i=e}if(i)return s(e,t)}function s(e,t){let n=t[t.length-1],r=i[a][0],o=i[a][1],s=0,c=n.children.indexOf(e),l=!1,u=[];r.lastIndex=0;let d=r.exec(e.value);for(;d;){let n=d.index,i={index:d.index,input:d.input,stack:[...t,e]},a=o(...d,i);if(typeof a==`string`&&(a=a.length>0?{type:`text`,value:a}:void 0),a===!1?r.lastIndex=n+1:(s!==n&&u.push({type:`text`,value:e.value.slice(s,n)}),Array.isArray(a)?u.push(...a):a&&u.push(a),s=n+d[0].length,l=!0),!r.global)break;d=r.exec(e.value)}return l?(s<e.value.length&&u.push({type:`text`,value:e.value.slice(s)}),n.children.splice(c,1,...u)):u=[e],c+u.length}}function ar(e){let t=[];if(!Array.isArray(e))throw TypeError(`Expected find and replace tuple or list of tuples`);let n=!e[0]||Array.isArray(e[0])?e:[e],r=-1;for(;++r<n.length;){let e=n[r];t.push([or(e[0]),sr(e[1])])}return t}function or(e){return typeof e==`string`?new RegExp(rr(e),`g`):e}function sr(e){return typeof e==`function`?e:function(){return e}}var cr=`phrasing`,lr=[`autolink`,`link`,`image`,`label`];function ur(){return{transforms:[vr],enter:{literalAutolink:fr,literalAutolinkEmail:pr,literalAutolinkHttp:pr,literalAutolinkWww:pr},exit:{literalAutolink:_r,literalAutolinkEmail:gr,literalAutolinkHttp:mr,literalAutolinkWww:hr}}}function dr(){return{unsafe:[{character:`@`,before:`[+\\-.\\w]`,after:`[\\-.\\w]`,inConstruct:cr,notInConstruct:lr},{character:`.`,before:`[Ww]`,after:`[\\-.\\w]`,inConstruct:cr,notInConstruct:lr},{character:`:`,before:`[ps]`,after:`\\/`,inConstruct:cr,notInConstruct:lr}]}}function fr(e){this.enter({type:`link`,title:null,url:``,children:[]},e)}function pr(e){this.config.enter.autolinkProtocol.call(this,e)}function mr(e){this.config.exit.autolinkProtocol.call(this,e)}function hr(e){this.config.exit.data.call(this,e);let t=this.stack[this.stack.length-1];L(t.type===`link`),t.url=`http://`+this.sliceSerialize(e)}function gr(e){this.config.exit.autolinkEmail.call(this,e)}function _r(e){this.exit(e)}function vr(e){ir(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,yr],[/(?<=^|\s|\p{P}|\p{S})([-.\w+]+)@([-\w]+(?:\.[-\w]+)+)/gu,br]],{ignore:[`link`,`linkReference`]})}function yr(e,t,n,r,i){let a=``;if(!Cr(i)||(/^w/i.test(t)&&(n=t+n,t=``,a=`http://`),!xr(n)))return!1;let o=Sr(n+r);if(!o[0])return!1;let s={type:`link`,title:null,url:a+t+o[0],children:[{type:`text`,value:t+o[0]}]};return o[1]?[s,{type:`text`,value:o[1]}]:s}function br(e,t,n,r){return!Cr(r,!0)||/[-\d_]$/.test(n)?!1:{type:`link`,title:null,url:`mailto:`+t+`@`+n,children:[{type:`text`,value:t+`@`+n}]}}function xr(e){let t=e.split(`.`);return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function Sr(e){let t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(`)`),i=he(e,`(`),a=he(e,`)`);for(;r!==-1&&i>a;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(`)`),a++;return[e,n]}function Cr(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||A(n)||v(n))&&(!t||n!==47)}Nr.peek=Mr;function wr(){this.buffer()}function Tr(e){this.enter({type:`footnoteReference`,identifier:``,label:``},e)}function Er(){this.buffer()}function Dr(e){this.enter({type:`footnoteDefinition`,identifier:``,label:``,children:[]},e)}function Or(e){let t=this.resume(),n=this.stack[this.stack.length-1];L(n.type===`footnoteReference`),n.identifier=_(this.sliceSerialize(e)).toLowerCase(),n.label=t}function kr(e){this.exit(e)}function Ar(e){let t=this.resume(),n=this.stack[this.stack.length-1];L(n.type===`footnoteDefinition`),n.identifier=_(this.sliceSerialize(e)).toLowerCase(),n.label=t}function jr(e){this.exit(e)}function Mr(){return`[`}function Nr(e,t,n,r){let i=n.createTracker(r),a=i.move(`[^`),o=n.enter(`footnoteReference`),s=n.enter(`reference`);return a+=i.move(n.safe(n.associationId(e),{after:`]`,before:a})),s(),o(),a+=i.move(`]`),a}function Pr(){return{enter:{gfmFootnoteCallString:wr,gfmFootnoteCall:Tr,gfmFootnoteDefinitionLabelString:Er,gfmFootnoteDefinition:Dr},exit:{gfmFootnoteCallString:Or,gfmFootnoteCall:kr,gfmFootnoteDefinitionLabelString:Ar,gfmFootnoteDefinition:jr}}}function Fr(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Nr},unsafe:[{character:`[`,inConstruct:[`label`,`phrasing`,`reference`]}]};function n(e,n,r,i){let a=r.createTracker(i),o=a.move(`[^`),s=r.enter(`footnoteDefinition`),c=r.enter(`label`);return o+=a.move(r.safe(r.associationId(e),{before:o,after:`]`})),c(),o+=a.move(`]:`),e.children&&e.children.length>0&&(a.shift(4),o+=a.move((t?`
17
- `:` `)+r.indentLines(r.containerFlow(e,a.current()),t?Lr:Ir))),s(),o}}function Ir(e,t,n){return t===0?e:Lr(e,t,n)}function Lr(e,t,n){return(n?``:` `)+e}var Rr=[`autolink`,`destinationLiteral`,`destinationRaw`,`reference`,`titleQuote`,`titleApostrophe`];Ur.peek=Wr;function zr(){return{canContainEols:[`delete`],enter:{strikethrough:Vr},exit:{strikethrough:Hr}}}function Br(){return{unsafe:[{character:`~`,inConstruct:`phrasing`,notInConstruct:Rr}],handlers:{delete:Ur}}}function Vr(e){this.enter({type:`delete`,children:[]},e)}function Hr(e){this.exit(e)}function Ur(e,t,n,r){let i=n.createTracker(r),a=n.enter(`strikethrough`),o=i.move(`~~`);return o+=n.containerPhrasing(e,{...i.current(),before:o,after:`~`}),o+=i.move(`~~`),a(),o}function Wr(){return`~`}function Gr(e){return e.length}function Kr(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||Gr,a=[],o=[],s=[],c=[],l=0,u=-1;for(;++u<e.length;){let t=[],r=[],a=-1;for(e[u].length>l&&(l=e[u].length);++a<e[u].length;){let o=qr(e[u][a]);if(n.alignDelimiters!==!1){let e=i(o);r[a]=e,(c[a]===void 0||e>c[a])&&(c[a]=e)}t.push(o)}o[u]=t,s[u]=r}let d=-1;if(typeof r==`object`&&`length`in r)for(;++d<l;)a[d]=Jr(r[d]);else{let e=Jr(r);for(;++d<l;)a[d]=e}d=-1;let f=[],p=[];for(;++d<l;){let e=a[d],t=``,r=``;e===99?(t=`:`,r=`:`):e===108?t=`:`:e===114&&(r=`:`);let i=n.alignDelimiters===!1?1:Math.max(1,c[d]-t.length-r.length),o=t+`-`.repeat(i)+r;n.alignDelimiters!==!1&&(i=t.length+i+r.length,i>c[d]&&(c[d]=i),p[d]=i),f[d]=o}o.splice(1,0,f),s.splice(1,0,p),u=-1;let m=[];for(;++u<o.length;){let e=o[u],t=s[u];d=-1;let r=[];for(;++d<l;){let i=e[d]||``,o=``,s=``;if(n.alignDelimiters!==!1){let e=c[d]-(t[d]||0),n=a[d];n===114?o=` `.repeat(e):n===99?e%2?(o=` `.repeat(e/2+.5),s=` `.repeat(e/2-.5)):(o=` `.repeat(e/2),s=o):s=` `.repeat(e)}n.delimiterStart!==!1&&!d&&r.push(`|`),n.padding!==!1&&!(n.alignDelimiters===!1&&i===``)&&(n.delimiterStart!==!1||d)&&r.push(` `),n.alignDelimiters!==!1&&r.push(o),r.push(i),n.alignDelimiters!==!1&&r.push(s),n.padding!==!1&&r.push(` `),(n.delimiterEnd!==!1||d!==l-1)&&r.push(`|`)}m.push(n.delimiterEnd===!1?r.join(``).replace(/ +$/,``):r.join(``))}return m.join(`
18
- `)}function qr(e){return e==null?``:String(e)}function Jr(e){let t=typeof e==`string`?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Yr(e,t,n,r){let i=n.enter(`blockquote`),a=n.createTracker(r);a.move(`> `),a.shift(2);let o=n.indentLines(n.containerFlow(e,a.current()),Xr);return i(),o}function Xr(e,t,n){return`>`+(n?``:` `)+e}function Zr(e,t){return Qr(e,t.inConstruct,!0)&&!Qr(e,t.notInConstruct,!1)}function Qr(e,t,n){if(typeof t==`string`&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function $r(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(n.unsafe[i].character===`
19
- `&&Zr(n.stack,n.unsafe[i]))return/[ \t]/.test(r.before)?``:` `;return`\\
20
- `}function ei(e,t){let n=String(e),r=n.indexOf(t),i=r,a=0,o=0;if(typeof t!=`string`)throw TypeError(`Expected substring`);for(;r!==-1;)r===i?++a>o&&(o=a):a=1,i=r+t.length,r=n.indexOf(t,i);return o}function ti(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function ni(e){let t=e.options.fence||"`";if(t!=="`"&&t!==`~`)throw Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function ri(e,t,n,r){let i=ni(n),a=e.value||``,o=i==="`"?`GraveAccent`:`Tilde`;if(ti(e,n)){let e=n.enter(`codeIndented`),t=n.indentLines(a,ii);return e(),t}let s=n.createTracker(r),c=i.repeat(Math.max(ei(a,i)+1,3)),l=n.enter(`codeFenced`),u=s.move(c);if(e.lang){let t=n.enter(`codeFencedLang${o}`);u+=s.move(n.safe(e.lang,{before:u,after:` `,encode:["`"],...s.current()})),t()}if(e.lang&&e.meta){let t=n.enter(`codeFencedMeta${o}`);u+=s.move(` `),u+=s.move(n.safe(e.meta,{before:u,after:`
21
- `,encode:["`"],...s.current()})),t()}return u+=s.move(`
22
- `),a&&(u+=s.move(a+`
23
- `)),u+=s.move(c),l(),u}function ii(e,t,n){return(n?``:` `)+e}function ai(e){let t=e.options.quote||`"`;if(t!==`"`&&t!==`'`)throw Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function oi(e,t,n,r){let i=ai(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`definition`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`[`);return l+=c.move(n.safe(n.associationId(e),{before:l,after:`]`,...c.current()})),l+=c.move(`]: `),s(),!e.url||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`
24
- `,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),o(),l}function si(e){let t=e.options.emphasis||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function G(e){return`&#x`+e.toString(16).toUpperCase()+`;`}function ci(e,t,n){let r=E(e),i=E(t);return r===void 0?i===void 0?n===`_`?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}li.peek=ui;function li(e,t,n,r){let i=si(n),a=n.enter(`emphasis`),o=n.createTracker(r),s=o.move(i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=ci(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=G(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=ci(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+G(d));let p=o.move(i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function ui(e,t,n){return n.options.emphasis||`*`}function di(e,t){let n=!1;return ye(e,function(e){if(`value`in e&&/\r?\n|\r/.test(e.value)||e.type===`break`)return n=!0,!1}),!!((!e.depth||e.depth<3)&&jt(e)&&(t.options.setext||n))}function fi(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(di(e,n)){let t=n.enter(`headingSetext`),r=n.enter(`phrasing`),o=n.containerPhrasing(e,{...a.current(),before:`
25
- `,after:`
26
- `});return r(),t(),o+`
27
- `+(i===1?`=`:`-`).repeat(o.length-(Math.max(o.lastIndexOf(`\r`),o.lastIndexOf(`
28
- `))+1))}let o=`#`.repeat(i),s=n.enter(`headingAtx`),c=n.enter(`phrasing`);a.move(o+` `);let l=n.containerPhrasing(e,{before:`# `,after:`
29
- `,...a.current()});return/^[\t ]/.test(l)&&(l=G(l.charCodeAt(0))+l.slice(1)),l=l?o+` `+l:o,n.options.closeAtx&&(l+=` `+o),c(),s(),l}pi.peek=mi;function pi(e){return e.value||``}function mi(){return`<`}hi.peek=gi;function hi(e,t,n,r){let i=ai(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.enter(`image`),s=n.enter(`label`),c=n.createTracker(r),l=c.move(`![`);return l+=c.move(n.safe(e.alt,{before:l,after:`]`,...c.current()})),l+=c.move(`](`),s(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(s=n.enter(`destinationLiteral`),l+=c.move(`<`),l+=c.move(n.safe(e.url,{before:l,after:`>`,...c.current()})),l+=c.move(`>`)):(s=n.enter(`destinationRaw`),l+=c.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...c.current()}))),s(),e.title&&(s=n.enter(`title${a}`),l+=c.move(` `+i),l+=c.move(n.safe(e.title,{before:l,after:i,...c.current()})),l+=c.move(i),s()),l+=c.move(`)`),o(),l}function gi(){return`!`}_i.peek=vi;function _i(e,t,n,r){let i=e.referenceType,a=n.enter(`imageReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`![`),l=n.safe(e.alt,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function vi(){return`!`}yi.peek=bi;function yi(e,t,n){let r=e.value||``,i="`",a=-1;for(;RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=` `+r+` `);++a<n.unsafe.length;){let e=n.unsafe[a],t=n.compilePattern(e),i;if(e.atBreak)for(;i=t.exec(r);){let e=i.index;r.charCodeAt(e)===10&&r.charCodeAt(e-1)===13&&e--,r=r.slice(0,e)+` `+r.slice(i.index+1)}}return i+r+i}function bi(){return"`"}function xi(e,t){let n=jt(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type===`text`&&(n===e.url||`mailto:`+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Si.peek=Ci;function Si(e,t,n,r){let i=ai(n),a=i===`"`?`Quote`:`Apostrophe`,o=n.createTracker(r),s,c;if(xi(e,n)){let t=n.stack;n.stack=[],s=n.enter(`autolink`);let r=o.move(`<`);return r+=o.move(n.containerPhrasing(e,{before:r,after:`>`,...o.current()})),r+=o.move(`>`),s(),n.stack=t,r}s=n.enter(`link`),c=n.enter(`label`);let l=o.move(`[`);return l+=o.move(n.containerPhrasing(e,{before:l,after:`](`,...o.current()})),l+=o.move(`](`),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter(`destinationLiteral`),l+=o.move(`<`),l+=o.move(n.safe(e.url,{before:l,after:`>`,...o.current()})),l+=o.move(`>`)):(c=n.enter(`destinationRaw`),l+=o.move(n.safe(e.url,{before:l,after:e.title?` `:`)`,...o.current()}))),c(),e.title&&(c=n.enter(`title${a}`),l+=o.move(` `+i),l+=o.move(n.safe(e.title,{before:l,after:i,...o.current()})),l+=o.move(i),c()),l+=o.move(`)`),s(),l}function Ci(e,t,n){return xi(e,n)?`<`:`[`}wi.peek=Ti;function wi(e,t,n,r){let i=e.referenceType,a=n.enter(`linkReference`),o=n.enter(`label`),s=n.createTracker(r),c=s.move(`[`),l=n.containerPhrasing(e,{before:c,after:`]`,...s.current()});c+=s.move(l+`][`),o();let u=n.stack;n.stack=[],o=n.enter(`reference`);let d=n.safe(n.associationId(e),{before:c,after:`]`,...s.current()});return o(),n.stack=u,a(),i===`full`||!l||l!==d?c+=s.move(d+`]`):i===`shortcut`?c=c.slice(0,-1):c+=s.move(`]`),c}function Ti(){return`[`}function Ei(e){let t=e.options.bullet||`*`;if(t!==`*`&&t!==`+`&&t!==`-`)throw Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function Di(e){let t=Ei(e),n=e.options.bulletOther;if(!n)return t===`*`?`-`:`*`;if(n!==`*`&&n!==`+`&&n!==`-`)throw Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function Oi(e){let t=e.options.bulletOrdered||`.`;if(t!==`.`&&t!==`)`)throw Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function ki(e){let t=e.options.rule||`*`;if(t!==`*`&&t!==`-`&&t!==`_`)throw Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function Ai(e,t,n,r){let i=n.enter(`list`),a=n.bulletCurrent,o=e.ordered?Oi(n):Ei(n),s=e.ordered?o===`.`?`)`:`.`:Di(n),c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){let t=e.children?e.children[0]:void 0;if((o===`*`||o===`-`)&&t&&(!t.children||!t.children[0])&&n.stack[n.stack.length-1]===`list`&&n.stack[n.stack.length-2]===`listItem`&&n.stack[n.stack.length-3]===`list`&&n.stack[n.stack.length-4]===`listItem`&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),ki(n)===o&&t){let t=-1;for(;++t<e.children.length;){let n=e.children[t];if(n&&n.type===`listItem`&&n.children&&n.children[0]&&n.children[0].type===`thematicBreak`){c=!0;break}}}}c&&(o=s),n.bulletCurrent=o;let l=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=a,i(),l}function ji(e){let t=e.options.listItemIndent||`one`;if(t!==`tab`&&t!==`one`&&t!==`mixed`)throw Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function Mi(e,t,n,r){let i=ji(n),a=n.bulletCurrent||Ei(n);t&&t.type===`list`&&t.ordered&&(a=(typeof t.start==`number`&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+a);let o=a.length+1;(i===`tab`||i===`mixed`&&(t&&t.type===`list`&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);let s=n.createTracker(r);s.move(a+` `.repeat(o-a.length)),s.shift(o);let c=n.enter(`listItem`),l=n.indentLines(n.containerFlow(e,s.current()),u);return c(),l;function u(e,t,n){return t?(n?``:` `.repeat(o))+e:(n?a:a+` `.repeat(o-a.length))+e}}function Ni(e,t,n,r){let i=n.enter(`paragraph`),a=n.enter(`phrasing`),o=n.containerPhrasing(e,r);return a(),i(),o}var Pi=_e([`break`,`delete`,`emphasis`,`footnote`,`footnoteReference`,`image`,`imageReference`,`inlineCode`,`inlineMath`,`link`,`linkReference`,`mdxJsxTextElement`,`mdxTextExpression`,`strong`,`text`,`textDirective`]);function Fi(e,t,n,r){return(e.children.some(function(e){return Pi(e)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Ii(e){let t=e.options.strong||`*`;if(t!==`*`&&t!==`_`)throw Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Li.peek=Ri;function Li(e,t,n,r){let i=Ii(n),a=n.enter(`strong`),o=n.createTracker(r),s=o.move(i+i),c=o.move(n.containerPhrasing(e,{after:i,before:s,...o.current()})),l=c.charCodeAt(0),u=ci(r.before.charCodeAt(r.before.length-1),l,i);u.inside&&(c=G(l)+c.slice(1));let d=c.charCodeAt(c.length-1),f=ci(r.after.charCodeAt(0),d,i);f.inside&&(c=c.slice(0,-1)+G(d));let p=o.move(i+i);return a(),n.attentionEncodeSurroundingInfo={after:f.outside,before:u.outside},s+c+p}function Ri(e,t,n){return n.options.strong||`*`}function zi(e,t,n,r){return n.safe(e.value,r)}function Bi(e){let t=e.options.ruleRepetition||3;if(t<3)throw Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Vi(e,t,n){let r=(ki(n)+(n.options.ruleSpaces?` `:``)).repeat(Bi(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Hi={blockquote:Yr,break:$r,code:ri,definition:oi,emphasis:li,hardBreak:$r,heading:fi,html:pi,image:hi,imageReference:_i,inlineCode:yi,link:Si,linkReference:wi,list:Ai,listItem:Mi,paragraph:Ni,root:Fi,strong:Li,text:zi,thematicBreak:Vi};function Ui(){return{enter:{table:Wi,tableData:Ji,tableHeader:Ji,tableRow:Ki},exit:{codeText:Yi,table:Gi,tableData:qi,tableHeader:qi,tableRow:qi}}}function Wi(e){let t=e._align;L(t,"expected `_align` on table"),this.enter({type:`table`,align:t.map(function(e){return e===`none`?null:e}),children:[]},e),this.data.inTable=!0}function Gi(e){this.exit(e),this.data.inTable=void 0}function Ki(e){this.enter({type:`tableRow`,children:[]},e)}function qi(e){this.exit(e)}function Ji(e){this.enter({type:`tableCell`,children:[]},e)}function Yi(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,Xi));let n=this.stack[this.stack.length-1];L(n.type===`inlineCode`),n.value=t,this.exit(e)}function Xi(e,t){return t===`|`?t:e}function Zi(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,a=n?` `:`|`;return{unsafe:[{character:`\r`,inConstruct:`tableCell`},{character:`
30
- `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
31
- `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return Kr(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=Hi.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function Qi(){return{exit:{taskListCheckValueChecked:ea,taskListCheckValueUnchecked:ea,paragraph:ta}}}function $i(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:na}}}function ea(e){let t=this.stack[this.stack.length-2];L(t.type===`listItem`),t.checked=e.type===`taskListCheckValueChecked`}function ta(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];L(e.type===`paragraph`);let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function na(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=Hi.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function ra(){return[ur(),Pr(),zr(),Ui(),Qi()]}function ia(e){return{extensions:[dr(),Fr(e),Br(),Zi(e),$i()]}}var aa={};function oa(e){let t=this,n=e||aa,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(l(n)),a.push(ra()),o.push(ia(n))}var K=a(),sa=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-nav.tsx`,ca=(0,z.createContext)(()=>{});function la({onNavigate:e,children:t}){return(0,K.jsxDEV)(ca.Provider,{value:e,children:t},void 0,!1,{fileName:sa,lineNumber:9,columnNumber:10},this)}function ua(){return(0,z.useContext)(ca)}var q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/chat-markdown.tsx`;function da({text:e,className:t}){return(0,K.jsxDEV)(`div`,{className:t,children:(0,K.jsxDEV)(Qn,{remarkPlugins:[oa],components:{a:pa,table:fa},children:e},void 0,!1,{fileName:q,lineNumber:21,columnNumber:7},this)},void 0,!1,{fileName:q,lineNumber:20,columnNumber:5},this)}function fa(e){return(0,K.jsxDEV)(`div`,{className:`table-wrapper`,children:(0,K.jsxDEV)(`table`,{children:e.children},void 0,!1,{fileName:q,lineNumber:34,columnNumber:7},this)},void 0,!1,{fileName:q,lineNumber:33,columnNumber:5},this)}function pa({href:e,children:t}){let n=ua(),r=o(),i=P(e??``);return i.kind===`internal`?(0,K.jsxDEV)(`a`,{href:i.to,onClick:e=>{e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),n(),r(i.to))},children:t},void 0,!1,{fileName:q,lineNumber:45,columnNumber:7},this):i.kind===`external`?(0,K.jsxDEV)(`a`,{href:i.href,target:`_blank`,rel:`noopener noreferrer`,children:t},void 0,!1,{fileName:q,lineNumber:62,columnNumber:7},this):(0,K.jsxDEV)(K.Fragment,{children:t},void 0,!1,{fileName:q,lineNumber:67,columnNumber:10},this)}var J=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatMessages.tsx`;function ma({messages:e,pending:t,pendingReasoning:n,trailing:i}){let{t:a}=r(),o=(0,z.useRef)(null);return(0,z.useEffect)(()=>{let e=o.current;e&&(e.scrollTop=e.scrollHeight)},[e.length,t]),(0,K.jsxDEV)(`div`,{ref:o,"data-chat-list":!0,className:`flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2`,children:[!e.length&&t===null&&n===null?(0,K.jsxDEV)(`div`,{className:`flex-1 grid place-items-center text-muted text-sm`,children:a(`webchat.empty`)},void 0,!1,{fileName:J,lineNumber:39,columnNumber:9},this):(0,K.jsxDEV)(K.Fragment,{children:[e.map(e=>(0,K.jsxDEV)(ha,{role:e.role,text:e.text,reasoning:e.reasoning,attachments:e.attachments},e.msgId,!1,{fileName:J,lineNumber:43,columnNumber:13},this)),t!==null&&(0,K.jsxDEV)(ha,{role:`assistant`,text:t||a(`webchat.thinking`),reasoning:n},void 0,!1,{fileName:J,lineNumber:46,columnNumber:13},this)]},void 0,!0,{fileName:J,lineNumber:41,columnNumber:9},this),i]},void 0,!0,{fileName:J,lineNumber:37,columnNumber:5},this)}var ha=(0,z.memo)(function({role:e,text:t,reasoning:n,attachments:i}){let{t:a}=r();return e===`user`?(0,K.jsxDEV)(`div`,{className:`self-end max-w-[85%] rounded-2xl border border-accent bg-elevated px-3 py-2 text-[0.8125rem] whitespace-pre-wrap break-words`,children:[i?.length?(0,K.jsxDEV)(`div`,{className:`mb-1.5 flex flex-wrap gap-1`,children:i.map(e=>(0,K.jsxDEV)(`span`,{className:`inline-flex max-w-full items-center rounded-md bg-bg px-1.5 py-0.5 text-xs`,title:e.name,children:e.label??e.name},e.name,!1,{fileName:J,lineNumber:80,columnNumber:15},this))},void 0,!1,{fileName:J,lineNumber:78,columnNumber:11},this):null,t]},void 0,!0,{fileName:J,lineNumber:76,columnNumber:7},this):(0,K.jsxDEV)(`div`,{className:`self-start max-w-[95%] min-w-0 rounded-2xl bg-elevated px-3 py-2 text-sm break-words`,children:[n?(0,K.jsxDEV)(`details`,{className:`mb-2 rounded-lg border border-border px-2 py-1`,children:[(0,K.jsxDEV)(`summary`,{className:`cursor-pointer select-none text-xs text-muted`,children:a(`webchat.reasoning`)},void 0,!1,{fileName:J,lineNumber:99,columnNumber:11},this),(0,K.jsxDEV)(da,{text:n,className:`md-static md-chat md-chat-sub mt-1 text-muted`},void 0,!1,{fileName:J,lineNumber:100,columnNumber:11},this)]},void 0,!0,{fileName:J,lineNumber:98,columnNumber:9},this):null,(0,K.jsxDEV)(da,{text:t,className:`md-static md-chat`},void 0,!1,{fileName:J,lineNumber:103,columnNumber:7},this)]},void 0,!0,{fileName:J,lineNumber:95,columnNumber:5},this)}),Y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/AgentPicker.tsx`,ga=5;function _a({quality:e,time:t,hint:n}){let{t:i}=r();if(e===void 0||t===void 0)return n?(0,K.jsxDEV)(`span`,{className:`shrink-0 text-muted`,children:n},void 0,!1,{fileName:Y,lineNumber:27,columnNumber:19},this):null;let a=e!==t;return(0,K.jsxDEV)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-muted tabular-nums`,children:[(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.quality`,{value:e}),children:[e,(0,K.jsxDEV)(C,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:37,columnNumber:9},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.quality`,{value:e})},void 0,!1,{fileName:Y,lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:35,columnNumber:7},this),a?(0,K.jsxDEV)(`span`,{className:`flex items-center gap-0.5`,title:i(`webchat.time`,{value:t}),children:[t,(0,K.jsxDEV)(p,{size:11,"aria-hidden":!0,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:43,columnNumber:11},this),(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.time`,{value:t})},void 0,!1,{fileName:Y,lineNumber:44,columnNumber:11},this)]},void 0,!0,{fileName:Y,lineNumber:41,columnNumber:9},this):(0,K.jsxDEV)(`span`,{className:`sr-only`,children:i(`webchat.time`,{value:t})},void 0,!1,{fileName:Y,lineNumber:47,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:34,columnNumber:5},this)}function va(e,t){if(t||e.length<2||e.length>ga)return null;let n=Array.from({length:e.length});for(let t of e){let r=t.quality;if(r===void 0||!Number.isInteger(r)||r<1||r>e.length||n[r-1])return null;n[r-1]=t}return n.every(e=>e!==void 0)?n:null}function ya({agents:e,defaultAgentId:t,selection:n,onChange:i}){let{t:a}=r(),[o,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(null),u=(0,z.useRef)(null),d=(0,z.useRef)(null);(0,z.useEffect)(()=>{if(!o)return;function e(e){u.current&&!u.current.contains(e.target)&&s(!1)}function t(e){e.key===`Escape`&&(s(!1),d.current?.focus())}return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[o]);let f=e.length>1,p=e.flatMap(e=>e.presets.map(t=>({agentId:e.id,presetId:t.id,label:f?`${e.title} · ${t.title}`:t.title,hint:t.hint,quality:t.quality,time:t.time,isDefault:t.default===!0})));if(p.length===0)return null;let h=p.find(e=>e.agentId===n.agentId&&e.presetId===n.presetId)??p.find(e=>e.agentId===t&&e.isDefault)??p.find(e=>e.isDefault)??p[0],g=va(p,f);if(g){let e=g.indexOf(h)+1,t=c??e,n=(e,t)=>`${e.label} · ${a(`webchat.level`,{value:t,max:g.length})}`;return(0,K.jsxDEV)(`ul`,{"aria-label":a(`webchat.agentPicker`),className:`flex shrink-0 items-center`,onPointerLeave:()=>l(null),children:g.map((e,r)=>{let a=r+1;return(0,K.jsxDEV)(`li`,{children:(0,K.jsxDEV)(`button`,{type:`button`,...e===h?{"aria-current":!0}:{},"aria-label":n(e,a),className:`flex rounded p-1 focus-visible:outline-2 focus-visible:outline-accent`,onPointerEnter:()=>l(a),onFocus:()=>l(a),onBlur:()=>l(null),onClick:()=>i({agentId:e.agentId,presetId:e.presetId}),children:(0,K.jsxDEV)(C,{size:16,"aria-hidden":!0,className:a<=t?`fill-current`:`text-border`,style:a<=t?{color:m(`yellow`)}:void 0},void 0,!1,{fileName:Y,lineNumber:181,columnNumber:17},this)},void 0,!1,{fileName:Y,lineNumber:166,columnNumber:15},this)},`${e.agentId}/${e.presetId}`,!1,{fileName:Y,lineNumber:165,columnNumber:13},this)})},void 0,!1,{fileName:Y,lineNumber:157,columnNumber:7},this)}return(0,K.jsxDEV)(`div`,{className:`relative`,ref:u,children:[(0,K.jsxDEV)(`button`,{ref:d,type:`button`,"aria-haspopup":`menu`,"aria-expanded":o,className:`flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted hover:text-text focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>s(e=>!e),children:[(0,K.jsxDEV)(`span`,{className:`max-w-40 truncate`,children:h.label},void 0,!1,{fileName:Y,lineNumber:205,columnNumber:9},this),(0,K.jsxDEV)(ne,{size:12,className:`shrink-0`},void 0,!1,{fileName:Y,lineNumber:206,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:197,columnNumber:7},this),o&&(0,K.jsxDEV)(`ul`,{"aria-label":a(`webchat.agentPicker`),className:`absolute bottom-full left-0 z-10 mb-1 max-h-64 w-64 max-w-[calc(100vw-2rem)] overflow-y-auto rounded-md border border-border bg-elevated py-1 shadow-lg`,children:p.map(e=>{let t=e===h;return(0,K.jsxDEV)(`li`,{children:(0,K.jsxDEV)(`button`,{type:`button`,...t?{"aria-current":!0}:{},className:`flex w-full items-center gap-2 px-2 py-1.5 text-left text-xs hover:bg-surface focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>{s(!1),i({agentId:e.agentId,presetId:e.presetId})},children:[(0,K.jsxDEV)(F,{size:12,className:t?`shrink-0 text-accent`:`shrink-0 opacity-0`},void 0,!1,{fileName:Y,lineNumber:234,columnNumber:19},this),(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label},void 0,!1,{fileName:Y,lineNumber:235,columnNumber:19},this),(0,K.jsxDEV)(_a,{quality:e.quality,time:e.time,hint:e.hint},void 0,!1,{fileName:Y,lineNumber:236,columnNumber:19},this)]},void 0,!0,{fileName:Y,lineNumber:225,columnNumber:17},this)},`${e.agentId}/${e.presetId}`,!1,{fileName:Y,lineNumber:224,columnNumber:15},this)})},void 0,!1,{fileName:Y,lineNumber:214,columnNumber:9},this)]},void 0,!0,{fileName:Y,lineNumber:196,columnNumber:5},this)}var X=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatComposer.tsx`;function ba({streaming:e,onSend:t,onStop:n,attachments:i,uploading:a,uploadError:o,uploadProgress:s,canRetryUpload:c,onRetryUpload:l,onPickFiles:d,onRemoveAttachment:p,agents:m,defaultAgentId:h,selection:g,onChooseAgent:_,attachmentsAllowed:v}){let{t:y}=r(),[x,S]=(0,z.useState)(``);function C(){!x.trim()||e||t(x.trim(),i)&&S(``)}return(0,K.jsxDEV)(`div`,{className:`flex shrink-0 flex-col gap-2 border-t border-border p-2`,children:[(i.length>0||a||o)&&(0,K.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-1.5 px-1`,"data-chat-attachments":!0,children:[i.map((e,t)=>(0,K.jsxDEV)(`span`,{className:`inline-flex min-w-0 max-w-full items-center gap-1 rounded-md bg-elevated px-2 py-1 text-xs`,children:[(0,K.jsxDEV)(ee,{size:13,className:`shrink-0 text-muted`},void 0,!1,{fileName:X,lineNumber:65,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`max-w-48 truncate`,children:e.label??e.name},void 0,!1,{fileName:X,lineNumber:66,columnNumber:15},this),(0,K.jsxDEV)(`button`,{type:`button`,"aria-label":y(`webchat.removeAttachment`,{name:e.label??e.name}),className:`shrink-0 rounded p-0.5 text-muted hover:text-danger`,onClick:()=>p(t),children:(0,K.jsxDEV)(te,{size:13},void 0,!1,{fileName:X,lineNumber:73,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:67,columnNumber:15},this)]},`${e.name}-${t}`,!0,{fileName:X,lineNumber:61,columnNumber:13},this)),a&&(0,K.jsxDEV)(`div`,{className:`flex min-w-32 flex-1 items-center gap-2`,"aria-label":y(`webchat.uploading`),children:[(0,K.jsxDEV)(b,{size:14,className:`shrink-0 animate-spin text-muted`},void 0,!1,{fileName:X,lineNumber:79,columnNumber:15},this),(0,K.jsxDEV)(`div`,{role:`progressbar`,"aria-label":y(`webchat.uploadProgress`),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":s,className:`h-1.5 min-w-0 flex-1 overflow-hidden rounded-full bg-border`,children:(0,K.jsxDEV)(`div`,{className:`h-full rounded-full bg-accent transition-[width]`,style:{width:`${s}%`}},void 0,!1,{fileName:X,lineNumber:88,columnNumber:17},this)},void 0,!1,{fileName:X,lineNumber:80,columnNumber:15},this),(0,K.jsxDEV)(`span`,{className:`text-xs tabular-nums text-muted`,children:[s,`%`]},void 0,!0,{fileName:X,lineNumber:93,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:78,columnNumber:13},this),o&&(0,K.jsxDEV)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 text-xs text-danger`,children:[(0,K.jsxDEV)(`span`,{className:`min-w-0 flex-1`,children:y(o)},void 0,!1,{fileName:X,lineNumber:98,columnNumber:15},this),c&&(0,K.jsxDEV)(`button`,{type:`button`,className:`inline-flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 font-medium text-accent hover:bg-elevated`,onClick:l,children:[(0,K.jsxDEV)(f,{size:12},void 0,!1,{fileName:X,lineNumber:105,columnNumber:19},this),` `,y(`webchat.retryUpload`)]},void 0,!0,{fileName:X,lineNumber:100,columnNumber:17},this)]},void 0,!0,{fileName:X,lineNumber:97,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:59,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex flex-col gap-1`,children:[(0,K.jsxDEV)(`textarea`,{className:`w-full resize-none rounded-lg border border-border bg-bg px-3 py-2 text-sm max-h-32`,rows:1,value:x,placeholder:y(`webchat.placeholder`),onChange:e=>S(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),C())}},void 0,!1,{fileName:X,lineNumber:115,columnNumber:9},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[v&&(0,K.jsxDEV)(`label`,{"aria-label":y(`webchat.attach`),className:`shrink-0 cursor-pointer rounded-lg p-1.5 text-muted hover:bg-elevated hover:text-accent ${a?`pointer-events-none opacity-60`:``}`,children:[(0,K.jsxDEV)(Se,{size:18},void 0,!1,{fileName:X,lineNumber:135,columnNumber:15},this),(0,K.jsxDEV)(`input`,{type:`file`,multiple:!0,className:`hidden`,disabled:a,onChange:e=>{e.target.files?.length&&d(e.target.files),e.currentTarget.value=``}},void 0,!1,{fileName:X,lineNumber:136,columnNumber:15},this)]},void 0,!0,{fileName:X,lineNumber:131,columnNumber:13},this),(0,K.jsxDEV)(ya,{agents:m,defaultAgentId:h,selection:g,onChange:_},void 0,!1,{fileName:X,lineNumber:148,columnNumber:11},this),(0,K.jsxDEV)(`div`,{className:`flex-1`},void 0,!1,{fileName:X,lineNumber:149,columnNumber:11},this),e?(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.stop`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:n,children:(0,K.jsxDEV)(u,{size:18},void 0,!1,{fileName:X,lineNumber:156,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:151,columnNumber:13},this):(0,K.jsxDEV)(`button`,{"aria-label":y(`webchat.send`),className:`shrink-0 rounded-lg p-1.5 hover:bg-elevated`,onClick:C,children:(0,K.jsxDEV)(Ce,{size:18},void 0,!1,{fileName:X,lineNumber:164,columnNumber:15},this)},void 0,!1,{fileName:X,lineNumber:159,columnNumber:13},this)]},void 0,!0,{fileName:X,lineNumber:129,columnNumber:9},this)]},void 0,!0,{fileName:X,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:X,lineNumber:57,columnNumber:5},this)}var Z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatThreadList.tsx`;function xa({threads:e,activeId:t,onOpen:n,onNew:i,onTogglePrivate:a,className:o=`w-[220px] shrink-0`}){let{t:s}=r();return(0,K.jsxDEV)(`aside`,{"aria-label":s(`webchat.threads`),className:`${o} border-r border-border flex flex-col`,children:[(0,K.jsxDEV)(`button`,{className:`flex items-center gap-2 px-3 py-2 text-sm hover:bg-elevated`,onClick:i,children:[(0,K.jsxDEV)(d,{size:16},void 0,!1,{fileName:Z,lineNumber:29,columnNumber:9},this),` `,s(`webchat.newConversation`)]},void 0,!0,{fileName:Z,lineNumber:28,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex-1 overflow-y-auto`,children:e.map(e=>{let r=e.convId===t;return(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1 pl-1 pr-2 ${r?`bg-elevated`:`hover:bg-elevated`}`,children:[(0,K.jsxDEV)(`button`,{onClick:()=>n(e.convId),className:`min-w-0 flex-1 py-2 pl-2 text-left text-sm ${r?`font-medium`:``}`,children:[(0,K.jsxDEV)(`span`,{className:`block truncate`,children:e.title||s(`webchat.newConversation`)},void 0,!1,{fileName:Z,lineNumber:43,columnNumber:17},this),(e.mine||e.ownerName)&&(0,K.jsxDEV)(`span`,{className:`block truncate text-xs text-muted`,children:e.mine?s(`webchat.you`):e.ownerName},void 0,!1,{fileName:Z,lineNumber:48,columnNumber:19},this)]},void 0,!0,{fileName:Z,lineNumber:39,columnNumber:15},this),e.mine&&(0,K.jsxDEV)(`button`,{type:`button`,"aria-label":e.private?s(`webchat.makePublic`):s(`webchat.makePrivate`),title:e.private?s(`webchat.makePublic`):s(`webchat.makePrivate`),onClick:t=>{t.stopPropagation(),a(e.convId,!e.private)},className:`shrink-0 rounded p-1 text-muted hover:bg-surface hover:text-text focus-visible:outline-2 focus-visible:outline-accent`,children:(0,K.jsxDEV)(M,{name:e.private?`lucide:shield`:`lucide:globe`,size:14},void 0,!1,{fileName:Z,lineNumber:62,columnNumber:19},this)},void 0,!1,{fileName:Z,lineNumber:52,columnNumber:17},this)]},e.convId,!0,{fileName:Z,lineNumber:35,columnNumber:13},this)})},void 0,!1,{fileName:Z,lineNumber:31,columnNumber:7},this)]},void 0,!0,{fileName:Z,lineNumber:27,columnNumber:5},this)}var Sa=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/SuggestionChips.tsx`;function Ca({items:e,onPick:t}){let{t:n}=r();return e?.length?(0,K.jsxDEV)(`div`,{role:`group`,"aria-label":n(`webchat.suggestions`),className:`flex flex-wrap gap-1.5 px-2 pb-1.5`,children:e.map((e,n)=>(0,K.jsxDEV)(`button`,{type:`button`,title:e,className:`max-w-full truncate rounded-full border border-border bg-elevated px-3 py-1 text-xs text-text hover:border-border2 hover:bg-surface focus-visible:outline-2 focus-visible:outline-accent`,onClick:()=>t(e),children:e},`${n}-${e}`,!1,{fileName:Sa,lineNumber:24,columnNumber:9},this))},void 0,!1,{fileName:Sa,lineNumber:22,columnNumber:5},this):null}var Q=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-webchat/src/ui/ChatWidget.tsx`,wa=25*1024*1024;function Ta(e){return Array.from(e.dataTransfer.types).includes(`Files`)}function Ea({children:e,onFiles:t,className:n}){let{t:i}=r(),[a,o]=(0,z.useState)(!1),s=(0,z.useRef)(0);function c(e){Ta(e)&&(e.preventDefault(),s.current+=1,o(!0))}function l(e){Ta(e)&&(e.preventDefault(),s.current=Math.max(0,s.current-1),s.current===0&&o(!1))}function u(e){Ta(e)&&(e.preventDefault(),s.current=0,o(!1),t(Array.from(e.dataTransfer.files)))}return(0,K.jsxDEV)(`div`,{className:n,onDragEnter:c,onDragLeave:l,onDragOver:e=>{Ta(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},onDrop:u,children:[e,a&&(0,K.jsxDEV)(`div`,{"data-chat-drop-overlay":!0,"data-testid":`chat-drop-overlay`,className:`pointer-events-none absolute inset-0 z-50 grid place-items-center bg-surface/95 p-6 text-center backdrop-blur-sm`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full w-full flex-col items-center justify-center rounded-2xl border-2 border-dashed border-accent text-accent`,children:[(0,K.jsxDEV)(N,{size:34},void 0,!1,{fileName:Q,lineNumber:83,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-3 text-base font-medium`,children:i(`webchat.dropFiles`)},void 0,!1,{fileName:Q,lineNumber:84,columnNumber:13},this),(0,K.jsxDEV)(`span`,{className:`mt-1 text-xs text-muted`,children:i(`webchat.dropFilesHint`)},void 0,!1,{fileName:Q,lineNumber:85,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:59,columnNumber:5},this)}function $(e){return e?[`bubble`,`panel`,`modal`]:[`bubble`,`modal`]}function Da(e){return $(e)[1]}function Oa(e,t,n){let r=$(t),i=r.indexOf(e)+n;return r[Math.min(r.length-1,Math.max(0,i))]}function ka(){let{t:e}=r(),t=ze(),n=Ue(),[i,a]=(0,z.useState)(`bubble`),[o,l]=(0,z.useState)(!1),[u,f]=(0,z.useState)([]),[p,m]=(0,z.useState)(!1),[h,g]=(0,z.useState)(0),[_,v]=(0,z.useState)(null),[b,x]=(0,z.useState)([]),C=y(`sm`,640),w=(0,z.useCallback)(()=>{a(Da(C))},[C]),T=(0,z.useRef)(null),E=(0,z.useRef)(`bubble`);(0,z.useEffect)(()=>{if(i!==`modal`)return;let e=e=>{e.key===`Escape`&&a(Oa(`modal`,C,-1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,C]),(0,z.useEffect)(()=>{$(C).includes(i)||a(Da(C))},[i,C]),(0,z.useEffect)(()=>{i===`panel`&&E.current===`modal`&&T.current?.focus(),i!==`modal`&&l(!1),E.current=i},[i]),(0,z.useEffect)(()=>{if(i!==`modal`)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i]);let D=i!==`bubble`;(0,z.useEffect)(()=>{D&&t.loadThreads()},[D,t.loadThreads]);let{convId:O,newConversation:k}=t;(0,z.useEffect)(()=>{D&&O===null&&k()},[D,O,k]);function A(){t.newConversation(),f([]),v(null),x([]),l(!1)}let M=(0,z.useCallback)(async e=>{if(!e.length)return;v(null),x([]),m(!0),g(0);let t=[],n=[],r=null;for(let i of e){if(i.size>wa){r??=`webchat.uploadTooLarge`;continue}try{g(0);let e=await S(i,g);e?t.push({...e,label:i.name}):(n.push(i),r??=`webchat.uploadFailed`)}catch{n.push(i),r??=`webchat.uploadFailed`}}t.length&&f(e=>[...e,...t]),m(!1),g(0),x(n),r&&v(r)},[]),N=(0,z.useCallback)(()=>{b.length&&M(b)},[M,b]),P=(0,z.useCallback)((e,r)=>{let i=n(),a=r.length?t.send(e,i,r):t.send(e,i);return a&&(f([]),v(null),x([])),a},[t,n]),ee=t.messages.length>0||t.pending!==null,F=(0,K.jsxDEV)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border px-3 py-2`,children:[(0,K.jsxDEV)(`span`,{className:`text-sm font-medium`,children:e(`webchat.title`)},void 0,!1,{fileName:Q,lineNumber:277,columnNumber:7},this),(0,K.jsxDEV)(`div`,{className:`flex items-center gap-1`,children:[i===`modal`&&!C&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.threads`),"aria-expanded":o,className:`rounded p-1 hover:bg-elevated`,onClick:()=>l(e=>!e),children:(0,K.jsxDEV)(re,{size:16},void 0,!1,{fileName:Q,lineNumber:288,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:282,columnNumber:11},this),ee&&(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.newConversation`),className:`rounded p-1 hover:bg-elevated`,onClick:A,children:(0,K.jsxDEV)(d,{size:16},void 0,!1,{fileName:Q,lineNumber:301,columnNumber:13},this)},void 0,!1,{fileName:Q,lineNumber:296,columnNumber:11},this),$(C).includes(`panel`)&&(0,K.jsxDEV)(`button`,{ref:T,"aria-label":e(i===`modal`?`webchat.collapse`:`webchat.expand`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(Oa(i,C,i===`modal`?-1:1)),children:i===`modal`?(0,K.jsxDEV)(xe,{size:16},void 0,!1,{fileName:Q,lineNumber:313,columnNumber:33},this):(0,K.jsxDEV)(be,{size:16},void 0,!1,{fileName:Q,lineNumber:313,columnNumber:59},this)},void 0,!1,{fileName:Q,lineNumber:307,columnNumber:11},this),(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.close`),className:`rounded p-1 hover:bg-elevated`,onClick:()=>a(`bubble`),children:(0,K.jsxDEV)(te,{size:16},void 0,!1,{fileName:Q,lineNumber:321,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:316,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:278,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:276,columnNumber:5},this),I=(0,K.jsxDEV)(la,{onNavigate:w,children:(0,K.jsxDEV)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[t.error&&(0,K.jsxDEV)(`div`,{className:`px-3 py-2 text-sm text-danger`,children:e(`webchat.error`,{message:t.error})},void 0,!1,{fileName:Q,lineNumber:333,columnNumber:11},this),(0,K.jsxDEV)(ma,{messages:t.messages,pending:t.pending,pendingReasoning:t.pendingReasoning,trailing:t.messages.length===0?(0,K.jsxDEV)(Ca,{items:t.starters,onPick:e=>P(e,u)},void 0,!1,{fileName:Q,lineNumber:341,columnNumber:15},this):(0,K.jsxDEV)(Ca,{items:t.suggestions,onPick:e=>P(e,u)},void 0,!1,{fileName:Q,lineNumber:343,columnNumber:15},this)},void 0,!1,{fileName:Q,lineNumber:335,columnNumber:9},this),(0,K.jsxDEV)(ba,{streaming:t.pending!==null,attachments:u,uploading:p,uploadProgress:h,uploadError:_,canRetryUpload:b.length>0&&!p,onRetryUpload:N,onPickFiles:e=>void M(Array.from(e)),onRemoveAttachment:e=>f(t=>t.filter((t,n)=>n!==e)),agents:t.agents,defaultAgentId:t.defaultAgentId,selection:t.selection,onChooseAgent:t.chooseAgent,attachmentsAllowed:t.attachmentsAllowed,onSend:P,onStop:t.stop},void 0,!1,{fileName:Q,lineNumber:347,columnNumber:9},this)]},void 0,!0,{fileName:Q,lineNumber:331,columnNumber:7},this)},void 0,!1,{fileName:Q,lineNumber:328,columnNumber:5},this);if(i===`bubble`)return(0,K.jsxDEV)(`button`,{"aria-label":e(`webchat.open`),onClick:()=>a(Da(C)),className:`fixed bottom-20 right-4 z-40 grid h-14 w-14 place-items-center rounded-full bg-accent text-on-accent ring-1 ring-border2 shadow-lg nav:bottom-4`,children:(0,K.jsxDEV)(c,{size:24},void 0,!1,{fileName:Q,lineNumber:391,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:371,columnNumber:7},this);if(i===`panel`)return(0,K.jsxDEV)(Ea,{onFiles:M,className:`fixed bottom-20 right-4 z-40 flex h-[560px] max-h-[80dvh] w-[380px] max-w-[calc(100vw-2rem)] flex-col overflow-hidden rounded-2xl border border-border bg-surface shadow-xl nav:bottom-4`,children:[F,I]},void 0,!0,{fileName:Q,lineNumber:398,columnNumber:7},this);let ne=C||o;return(0,K.jsxDEV)(s,{open:!0,modal:!1,onOpenChange:e=>!e&&a(Oa(`modal`,C,-1)),children:[(0,K.jsxDEV)(`div`,{"data-chat-backdrop":!0,"aria-hidden":`true`,className:`fixed inset-0 z-[45] bg-black/50 backdrop-blur-sm`},void 0,!1,{fileName:Q,lineNumber:421,columnNumber:7},this),(0,K.jsxDEV)(j,{hideClose:!0,className:`h-[85dvh] w-full p-0 md:h-[85dvh] md:w-[80vw] md:max-w-[1040px] md:overflow-y-hidden`,children:(0,K.jsxDEV)(Ea,{onFiles:M,className:`h-full`,children:(0,K.jsxDEV)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[F,(0,K.jsxDEV)(`div`,{className:`flex min-h-0 flex-1`,children:[ne&&(0,K.jsxDEV)(xa,{threads:t.threads,activeId:t.convId,onOpen:e=>{t.open(e),f([]),v(null),x([]),l(!1)},onNew:A,onTogglePrivate:t.togglePrivate,className:C?`w-[220px] shrink-0`:`w-full`},void 0,!1,{fileName:Q,lineNumber:436,columnNumber:17},this),(C||!o)&&I]},void 0,!0,{fileName:Q,lineNumber:434,columnNumber:13},this)]},void 0,!0,{fileName:Q,lineNumber:432,columnNumber:11},this)},void 0,!1,{fileName:Q,lineNumber:431,columnNumber:9},this)},void 0,!1,{fileName:Q,lineNumber:427,columnNumber:7},this)]},void 0,!0,{fileName:Q,lineNumber:418,columnNumber:5},this)}export{ka as ChatWidget,ka as default,$ as chatModes,Da as restingMode,Oa as stepMode};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-CzSUaSLk.js";import{Wn as a,_r as o,cr as s,en as c,or as l,vr as u}from"./src-Cp4yFztL.js";import{l as d}from"./phone-input-CZF7hU3E.js";import{m as f,p,v as m}from"./api-COuWgOWV.js";import{n as h}from"./auth-context-L2NSpevo.js";import{t as g}from"./version-CtfLXkhy.js";var _=e(t(),1),v=i(),y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/DiagnosticsPage.tsx`;function b(){let{t:e}=n(),{role:t}=h(),[i,b]=(0,_.useState)(null),[S,C]=(0,_.useState)([]),[w,T]=(0,_.useState)(null),[E,D]=(0,_.useState)(`loading`),[O,k]=(0,_.useState)(!0),[A,j]=(0,_.useState)(!1),M=(0,_.useCallback)(async()=>{k(!0),j(!1),D(`loading`);let e=fetch(`/health`).then(e=>D(e.ok?`ok`:`error`)).catch(()=>D(`error`));try{let[e,t,n]=await Promise.all([p(),m(),f()]);b(e),C(t),T(n)}catch{j(!0)}finally{await e,k(!1)}},[]);if((0,_.useEffect)(()=>{t===`admin`&&M()},[M,t]),t!==`admin`)return(0,v.jsxDEV)(o,{children:[(0,v.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:y,lineNumber:63,columnNumber:9},this),(0,v.jsxDEV)(`h1`,{className:`mt-4 ${c}`,children:e(`diagnostics.title`)},void 0,!1,{fileName:y,lineNumber:66,columnNumber:9},this),(0,v.jsxDEV)(`p`,{className:`mt-3 text-sm text-danger`,children:e(`diagnostics.adminOnly`)},void 0,!1,{fileName:y,lineNumber:67,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:62,columnNumber:7},this);let N=S.filter(e=>e.latestVersion&&g(e.latestVersion,e.installedVersion));return(0,v.jsxDEV)(o,{children:[(0,v.jsxDEV)(`div`,{className:`mb-6 flex items-start justify-between gap-4`,children:[(0,v.jsxDEV)(`div`,{children:[(0,v.jsxDEV)(r,{to:`/settings`,className:`text-sm text-accent hover:underline`,children:e(`settings.title`)},void 0,!1,{fileName:y,lineNumber:78,columnNumber:11},this),(0,v.jsxDEV)(`h1`,{className:`mt-2 ${c}`,children:e(`diagnostics.title`)},void 0,!1,{fileName:y,lineNumber:81,columnNumber:11},this),(0,v.jsxDEV)(`p`,{className:`mt-1 text-sm text-muted`,children:e(`diagnostics.description`)},void 0,!1,{fileName:y,lineNumber:82,columnNumber:11},this)]},void 0,!0,{fileName:y,lineNumber:77,columnNumber:9},this),(0,v.jsxDEV)(d,{type:`button`,variant:`ghost`,size:`sm`,className:`shrink-0 border border-border`,disabled:O,onClick:()=>void M(),children:[(0,v.jsxDEV)(u,{name:`lucide:refresh-cw`,size:15,className:O?`animate-spin`:void 0},void 0,!1,{fileName:y,lineNumber:92,columnNumber:11},this),e(O?`diagnostics.refreshing`:`diagnostics.refresh`)]},void 0,!0,{fileName:y,lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:76,columnNumber:7},this),A&&(0,v.jsxDEV)(a,{tone:`danger`,className:`mb-5`,children:e(`diagnostics.loadFailed`)},void 0,!1,{fileName:y,lineNumber:98,columnNumber:9},this),(0,v.jsxDEV)(`div`,{className:`grid gap-4 sm:grid-cols-3`,children:[(0,v.jsxDEV)(l,{className:`px-4 py-3`,children:[(0,v.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.server`)},void 0,!1,{fileName:y,lineNumber:105,columnNumber:11},this),(0,v.jsxDEV)(`div`,{className:`mt-2 flex items-center gap-2 font-semibold text-text`,children:[(0,v.jsxDEV)(`span`,{className:`h-2.5 w-2.5 rounded-full ${E===`ok`?`bg-success`:E===`error`?`bg-danger`:`bg-muted`}`},void 0,!1,{fileName:y,lineNumber:107,columnNumber:13},this),e(E===`ok`?`diagnostics.healthy`:E===`error`?`diagnostics.unavailable`:`common.loading`)]},void 0,!0,{fileName:y,lineNumber:106,columnNumber:11},this)]},void 0,!0,{fileName:y,lineNumber:104,columnNumber:9},this),(0,v.jsxDEV)(l,{className:`px-4 py-3`,children:[(0,v.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.agents`)},void 0,!1,{fileName:y,lineNumber:118,columnNumber:11},this),(0,v.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.agents.map(e=>(0,v.jsxDEV)(s,{variant:`secondary`,children:e},e,!1,{fileName:y,lineNumber:121,columnNumber:15},this))??(0,v.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:y,lineNumber:124,columnNumber:19},this)},void 0,!1,{fileName:y,lineNumber:119,columnNumber:11},this)]},void 0,!0,{fileName:y,lineNumber:117,columnNumber:9},this),(0,v.jsxDEV)(l,{className:`px-4 py-3`,children:[(0,v.jsxDEV)(`div`,{className:`text-xs text-muted`,children:e(`diagnostics.connectors`)},void 0,!1,{fileName:y,lineNumber:128,columnNumber:11},this),(0,v.jsxDEV)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:i?.connectors.map(e=>(0,v.jsxDEV)(s,{variant:`secondary`,children:e},e,!1,{fileName:y,lineNumber:131,columnNumber:15},this))??(0,v.jsxDEV)(`span`,{className:`text-sm text-muted`,children:`—`},void 0,!1,{fileName:y,lineNumber:134,columnNumber:19},this)},void 0,!1,{fileName:y,lineNumber:129,columnNumber:11},this)]},void 0,!0,{fileName:y,lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:103,columnNumber:7},this),(0,v.jsxDEV)(`section`,{className:`mt-6`,children:[(0,v.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.versions`)},void 0,!1,{fileName:y,lineNumber:140,columnNumber:9},this),(0,v.jsxDEV)(l,{className:`overflow-hidden`,children:[(0,v.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2 text-xs font-medium text-muted`,children:[(0,v.jsxDEV)(`span`,{children:e(`diagnostics.component`)},void 0,!1,{fileName:y,lineNumber:143,columnNumber:13},this),(0,v.jsxDEV)(`span`,{children:e(`diagnostics.installed`)},void 0,!1,{fileName:y,lineNumber:144,columnNumber:13},this),(0,v.jsxDEV)(`span`,{children:e(`diagnostics.latest`)},void 0,!1,{fileName:y,lineNumber:145,columnNumber:13},this)]},void 0,!0,{fileName:y,lineNumber:142,columnNumber:11},this),w?.installedVersion&&(0,v.jsxDEV)(x,{name:e(`plugins.runtimeLabel`),installed:w.installedVersion,latest:w.latestVersion},void 0,!1,{fileName:y,lineNumber:148,columnNumber:13},this),S.filter(e=>e.id!==`core`).map(e=>(0,v.jsxDEV)(x,{name:e.id,installed:e.installedVersion,latest:e.latestVersion},e.id,!1,{fileName:y,lineNumber:157,columnNumber:15},this)),!w?.installedVersion&&S.length===0&&(0,v.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noData`)},void 0,!1,{fileName:y,lineNumber:160,columnNumber:13},this),N.length>0&&(0,v.jsxDEV)(`div`,{className:`border-t border-border px-4 py-2 text-xs text-accent`,children:e(`diagnostics.outdated`,{count:N.length})},void 0,!1,{fileName:y,lineNumber:163,columnNumber:13},this)]},void 0,!0,{fileName:y,lineNumber:141,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:139,columnNumber:7},this),(0,v.jsxDEV)(`section`,{className:`mt-6`,children:[(0,v.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentMessages`)},void 0,!1,{fileName:y,lineNumber:171,columnNumber:9},this),(0,v.jsxDEV)(l,{className:`overflow-x-auto`,children:i?.recentMessages.length?(0,v.jsxDEV)(`table`,{className:`w-full min-w-[34rem] text-left text-xs`,children:[(0,v.jsxDEV)(`thead`,{className:`border-b border-border text-muted`,children:(0,v.jsxDEV)(`tr`,{children:[(0,v.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.time`)},void 0,!1,{fileName:y,lineNumber:177,columnNumber:19},this),(0,v.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.connector`)},void 0,!1,{fileName:y,lineNumber:178,columnNumber:19},this),(0,v.jsxDEV)(`th`,{className:`px-4 py-2 font-medium`,children:e(`diagnostics.role`)},void 0,!1,{fileName:y,lineNumber:179,columnNumber:19},this),(0,v.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.duration`)},void 0,!1,{fileName:y,lineNumber:180,columnNumber:19},this),(0,v.jsxDEV)(`th`,{className:`px-4 py-2 text-right font-medium`,children:e(`diagnostics.tokens`)},void 0,!1,{fileName:y,lineNumber:181,columnNumber:19},this)]},void 0,!0,{fileName:y,lineNumber:176,columnNumber:17},this)},void 0,!1,{fileName:y,lineNumber:175,columnNumber:15},this),(0,v.jsxDEV)(`tbody`,{children:i.recentMessages.map(e=>(0,v.jsxDEV)(`tr`,{className:`border-b border-border last:border-0`,children:[(0,v.jsxDEV)(`td`,{className:`px-4 py-2 text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:y,lineNumber:187,columnNumber:21},this),(0,v.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.connector},void 0,!1,{fileName:y,lineNumber:188,columnNumber:21},this),(0,v.jsxDEV)(`td`,{className:`px-4 py-2 text-text`,children:e.role},void 0,!1,{fileName:y,lineNumber:189,columnNumber:21},this),(0,v.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.ms==null?`—`:`${e.ms} ms`},void 0,!1,{fileName:y,lineNumber:190,columnNumber:21},this),(0,v.jsxDEV)(`td`,{className:`px-4 py-2 text-right text-muted`,children:e.tokensIn==null&&e.tokensOut==null?`—`:`${e.tokensIn??0} / ${e.tokensOut??0}`},void 0,!1,{fileName:y,lineNumber:191,columnNumber:21},this)]},e.id,!0,{fileName:y,lineNumber:186,columnNumber:19},this))},void 0,!1,{fileName:y,lineNumber:184,columnNumber:15},this)]},void 0,!0,{fileName:y,lineNumber:174,columnNumber:13},this):(0,v.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noMessages`)},void 0,!1,{fileName:y,lineNumber:201,columnNumber:13},this)},void 0,!1,{fileName:y,lineNumber:172,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:170,columnNumber:7},this),(0,v.jsxDEV)(`section`,{className:`mt-6`,children:[(0,v.jsxDEV)(`h2`,{className:`mb-2 text-sm font-semibold text-text`,children:e(`diagnostics.recentErrors`)},void 0,!1,{fileName:y,lineNumber:207,columnNumber:9},this),(0,v.jsxDEV)(l,{className:`overflow-hidden`,children:i?.recentErrors.length?i.recentErrors.map((e,t)=>(0,v.jsxDEV)(`div`,{className:`border-b border-border px-4 py-3 last:border-0`,children:[(0,v.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs`,children:[(0,v.jsxDEV)(s,{variant:`destructive`,children:e.level},void 0,!1,{fileName:y,lineNumber:213,columnNumber:19},this),(0,v.jsxDEV)(`span`,{className:`font-medium text-text`,children:e.source},void 0,!1,{fileName:y,lineNumber:214,columnNumber:19},this),(0,v.jsxDEV)(`span`,{className:`text-muted`,children:new Date(e.ts).toLocaleString()},void 0,!1,{fileName:y,lineNumber:215,columnNumber:19},this)]},void 0,!0,{fileName:y,lineNumber:212,columnNumber:17},this),(0,v.jsxDEV)(`div`,{className:`mt-1 break-words text-sm text-danger`,children:e.message},void 0,!1,{fileName:y,lineNumber:217,columnNumber:17},this)]},`${e.ts}-${t}`,!0,{fileName:y,lineNumber:211,columnNumber:15},this)):(0,v.jsxDEV)(`div`,{className:`px-4 py-4 text-sm text-muted`,children:e(`diagnostics.noErrors`)},void 0,!1,{fileName:y,lineNumber:221,columnNumber:13},this)},void 0,!1,{fileName:y,lineNumber:208,columnNumber:9},this)]},void 0,!0,{fileName:y,lineNumber:206,columnNumber:7},this)]},void 0,!0,{fileName:y,lineNumber:75,columnNumber:5},this)}function x({name:e,installed:t,latest:n}){return(0,v.jsxDEV)(`div`,{className:`grid grid-cols-[1fr_auto_auto] gap-x-4 border-b border-border px-4 py-2.5 text-sm last:border-0`,children:[(0,v.jsxDEV)(`span`,{className:`min-w-0 truncate text-text`,children:e},void 0,!1,{fileName:y,lineNumber:232,columnNumber:7},this),(0,v.jsxDEV)(`span`,{className:`text-muted`,children:[`v`,t]},void 0,!0,{fileName:y,lineNumber:233,columnNumber:7},this),(0,v.jsxDEV)(`span`,{className:n&&g(n,t)?`text-accent`:`text-muted`,children:n?`v${n}`:`—`},void 0,!1,{fileName:y,lineNumber:234,columnNumber:7},this)]},void 0,!0,{fileName:y,lineNumber:231,columnNumber:5},this)}export{b as DiagnosticsPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{a as r,d as i,t as a,u as o}from"./react-vendor-CzSUaSLk.js";import{At as s,L as c,M as l,Mt as u,Nt as d,Wn as f,dr as p,g as m,pr as h,un as g,vr as _}from"./src-Cp4yFztL.js";import{A as v,i as y,p as b,u as x}from"./fields-GPyF03tK.js";import{A as S,c as C,k as w,l as T,n as E,t as D}from"./shelf-CpE68_8d.js";import{t as O}from"./arrow-left-DDsxjRCq.js";import{l as k}from"./phone-input-CZF7hU3E.js";import{a as A,s as j,t as M}from"./list-cache-B4i_A9fj.js";import{F as N,s as P}from"./api-COuWgOWV.js";var F=e(t(),1),I=a(),L=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/fields-form.tsx`;function R({shelf:e,record:t,onSubmit:r,onCancel:i,submitLabel:a,busy:o,children:l,hiddenFields:d,onValuesChange:f,errorSink:p,extraValidate:h}){let{t:g}=n(),_=u(g),y=!!t,b=(0,F.useMemo)(()=>T(e.fields),[e]),{values:x,errors:S,setErrors:C,setTouched:w,bridge:O}=m({fm:b,mode:y?`edit`:`create`,recordCtx:{library:e.library,shelf:e.shelf,recordId:t?String(t.id):null},initial:()=>B(e,t),hiddenFields:d}),[A,j]=(0,F.useState)(),[M,N]=(0,F.useState)(!1);(0,F.useEffect)(()=>{f?.(x)},[x,f]),(0,F.useEffect)(()=>{p?.({setErrors:C,setTouched:w})},[p,C,w]);async function P(t){t.preventDefault(),j(void 0);let n=Object.keys(b),i={};for(let e of n)e in x&&(i[e]=x[e]);let a=V(i),o=(y?E(e):D(e)).safeParse(a),s={};if(!o.success)for(let e of o.error.issues){let t=String(e.path[0]??``);if(!n.includes(t)||s[t])continue;let{code:r,params:i}=v(e.message);s[t]=_(r,i)}if(Object.assign(s,h?.(x)??{}),Object.keys(s).length){C(s),w(new Set(Object.keys(s)));return}N(!0);let c=await r(a);N(!1),c&&j(c)}return(0,I.jsxDEV)(`form`,{onSubmit:P,noValidate:!0,className:`flex flex-col gap-5 min-w-0`,children:[(0,I.jsxDEV)(s.Provider,{value:e=>S[e.join(`.`)],children:(0,I.jsxDEV)(c,{items:e.fields,ctx:{bridge:O}},void 0,!1,{fileName:L,lineNumber:117,columnNumber:9},this)},void 0,!1,{fileName:L,lineNumber:116,columnNumber:7},this),l,A&&(0,I.jsxDEV)(`p`,{className:`text-sm text-danger`,children:A},void 0,!1,{fileName:L,lineNumber:120,columnNumber:21},this),(0,I.jsxDEV)(`div`,{className:`flex gap-3 pt-2 border-t border-border`,children:[(0,I.jsxDEV)(k,{type:`submit`,disabled:o||M,size:`lg`,className:`flex-1`,children:a??g(`actions.save`)},void 0,!1,{fileName:L,lineNumber:122,columnNumber:9},this),i&&(0,I.jsxDEV)(k,{type:`button`,variant:`secondary`,size:`lg`,onClick:i,className:`flex-1`,children:g(`actions.cancel`)},void 0,!1,{fileName:L,lineNumber:126,columnNumber:11},this)]},void 0,!0,{fileName:L,lineNumber:121,columnNumber:7},this)]},void 0,!0,{fileName:L,lineNumber:115,columnNumber:5},this)}var z=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/form.tsx`;function B(e,t){let n={};n.name=t?.name==null?``:String(t.name);for(let[r,i]of C(e.fields))if(t){let e=t[r];e==null?n[r]=i.prim!==`checkbox`&&``:i.prim===`checkbox`?n[r]=e===1||e===!0||e===`1`:x(i)?n[r]=e===``?``:g(e,i.hints.multiple===!0?[]:{}):n[r]=e}else n[r]=i.prim===`checkbox`?!1:x(i)&&i.hints.multiple===!0?[]:``;for(let r of e.fields){if(!y(r)||!b(r))continue;let e=r.key;t?n[e]=t[e]??(r.multiple?[]:{}):n[e]=r.multiple?[]:{}}return n}function V(e){let t={};for(let[n,r]of Object.entries(e))r===``||r===void 0||Array.isArray(r)&&r.length===0||typeof r==`object`&&r&&!Array.isArray(r)&&Object.keys(r).length===0||(t[n]=r);return t}function H({ext:e,values:t,onChange:r,recordId:i,fieldLabel:a}){let{t:o}=n(),s=(0,F.useMemo)(()=>T(e.fields),[e]),u={renderField:(n,a)=>S(a.hidden,t)?null:(0,I.jsxDEV)(l,{mode:`create`,field:a,label:a.label?o(a.label):void 0,required:S(a.required,t),value:t[n]??``,recordCtx:{library:``,shelf:e.id,recordId:i},onChange:t=>r(e.id,n,t)},void 0,!1,{fileName:z,lineNumber:102,columnNumber:9},this),values:t,setValue:(t,n)=>r(e.id,t,n),isHidden:e=>S(s[e]?.hidden,t),mode:`create`};return(0,I.jsxDEV)(`fieldset`,{className:`border border-border rounded-xl p-4 pt-2 flex flex-col min-w-0 gap-4`,children:[(0,I.jsxDEV)(`legend`,{className:`px-2 inline-flex items-center gap-1.5 text-sm font-semibold text-accent`,children:[(0,I.jsxDEV)(_,{name:e.icon,size:14,className:`shrink-0`},void 0,!1,{fileName:z,lineNumber:125,columnNumber:9},this),` `,o(e.label),(0,I.jsxDEV)(p,{ext:e,fieldLabel:a},void 0,!1,{fileName:z,lineNumber:126,columnNumber:9},this)]},void 0,!0,{fileName:z,lineNumber:124,columnNumber:7},this),(0,I.jsxDEV)(c,{items:e.fields,ctx:u},void 0,!1,{fileName:z,lineNumber:128,columnNumber:7},this)]},void 0,!0,{fileName:z,lineNumber:123,columnNumber:5},this)}function U(e,t,n){let[r]=(0,F.useState)(()=>{let n={};for(let r of e){let e=t?._extends?.[r.id];n[r.id]={};for(let[t,i]of C(r.fields)){let a=e?.[t];a==null?n[r.id][t]=i.prim===`checkbox`?!1:x(i)&&i.hints.multiple===!0?[]:``:i.prim===`checkbox`?n[r.id][t]=a===1||a===!0||a===`1`:x(i)?n[r.id][t]=a===``?``:g(a,i.hints.multiple===!0?[]:{}):n[r.id][t]=a}}return n}),[i,a]=(0,F.useState)(r),o=(0,F.useMemo)(()=>e.filter(e=>w(e.showWhen,n)),[e,n]);function s(e,t,n){a(r=>({...r,[e]:{...r[e],[t]:n}}))}function c(e){let t={};for(let n of o){let a=i[n.id]??{};if(e){let e=r[n.id]??{},i=Object.fromEntries(Object.entries(a).filter(([t,n])=>n!==e[t]));Object.keys(i).length>0&&(t[`_extend_${n.id}`]=i)}else{let e=Object.fromEntries(Object.entries(a).filter(([,e])=>e!==``&&e!==!1));t[`_extend_${n.id}`]=e}}return t}return{extValues:i,setExtValue:s,activeExts:o,buildExtendPatch:c}}function W({shelf:e,record:t,defaults:r,hiddenFields:i,onSuccess:a,onCancel:o}){let{t:s}=n(),c=u(s),l=!!t,p=(0,F.useMemo)(()=>T(e.fields),[e]),[m,h]=(0,F.useState)([]),[g,_]=(0,F.useState)(!1),[v,y]=(0,F.useState)(()=>B(e,t)),b=(0,F.useRef)(null),{extValues:x,setExtValue:S,activeExts:C,buildExtendPatch:w}=U((0,F.useMemo)(()=>A().filter(t=>t.attachTo.some(t=>t.library===e.library&&(!t.shelf||t.shelf===e.shelf))),[e]),t,v);function E(e){return l||String(e.name??``).trim()?{}:{name:s(`validation.required`)}}async function D(n){h([]),_(!0);let r={...n,...w()},i=String(t?.id??``),o=l?await N(e.library,e.shelf,i,r):await P(e.library,e.shelf,r);if(_(!1),o.ok){a(o.row);return}let s=o.issues??[],u={},f=[];for(let e of s)e.field&&p[e.field]?u[e.field]=c(e.code,e.params):f.push(e);let m=d(s,c);(Object.keys(u).length||Object.keys(m).length)&&(b.current?.setErrors(e=>({...e,...u,...m})),b.current?.setTouched(e=>new Set([...e,...Object.keys(u)]))),h(f)}return(0,I.jsxDEV)(`div`,{children:(0,I.jsxDEV)(R,{shelf:e,record:t,onSubmit:D,onCancel:o,submitLabel:s(g?`common.saving`:l?`actions.save`:`actions.create`),busy:g,hiddenFields:i,onValuesChange:y,errorSink:e=>{b.current=e},extraValidate:E,children:[C.map(e=>(0,I.jsxDEV)(H,{ext:e,values:x[e.id]??{},onChange:S,recordId:t?String(t.id):null,fieldLabel:e=>p[e]?.label?s(p[e].label):e},e.id,!1,{fileName:z,lineNumber:329,columnNumber:11},this)),m.length>0&&(0,I.jsxDEV)(f,{tone:`danger`,children:[(0,I.jsxDEV)(`p`,{className:`mb-2 font-semibold`,children:s(`form.serverRejected`)},void 0,!1,{fileName:z,lineNumber:341,columnNumber:13},this),(0,I.jsxDEV)(`ul`,{className:`space-y-1 text-text`,children:m.map((e,t)=>{let n=p[e.field],r=n?s(n.label):e.field,i=e.code===`pattern`&&e.params?.messageKey?s(String(e.params.messageKey)):s(`validation.${e.code}`,e.params);return(0,I.jsxDEV)(`li`,{className:`flex gap-1.5`,children:[r&&(0,I.jsxDEV)(`span`,{className:`text-muted font-medium`,children:[r,`:`]},void 0,!0,{fileName:z,lineNumber:352,columnNumber:31},this),i]},t,!0,{fileName:z,lineNumber:351,columnNumber:19},this)})},void 0,!1,{fileName:z,lineNumber:342,columnNumber:13},this)]},void 0,!0,{fileName:z,lineNumber:340,columnNumber:11},this)]},`${e.library}/${e.shelf}/${t?t.id:`new`}`,!0,{fileName:z,lineNumber:312,columnNumber:7},this)},void 0,!1,{fileName:z,lineNumber:304,columnNumber:5},this)}var G=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/record/NewRecordView.tsx`;function K(){let{t:e}=n(),{library:t,shelf:a}=i(),s=o(),c=j().flatMap(e=>e.shelves).find(e=>e.library===t&&e.shelf===a);return!c||c.standalone===!1?(0,I.jsxDEV)(`div`,{className:`p-6 text-muted`,children:e(`common.notFound`)},void 0,!1,{fileName:G,lineNumber:19,columnNumber:44},this):c.single?(0,I.jsxDEV)(r,{to:`/${t}/${a}`,replace:!0},void 0,!1,{fileName:G,lineNumber:24,columnNumber:24},this):(0,I.jsxDEV)(`div`,{className:`flex flex-col`,children:[(0,I.jsxDEV)(h,{children:(0,I.jsxDEV)(k,{variant:`ghost`,size:`sm`,className:`px-2`,onClick:()=>s(`/${t}/${a}`),children:[(0,I.jsxDEV)(O,{size:18},void 0,!1,{fileName:G,lineNumber:30,columnNumber:11},this),(0,I.jsxDEV)(`span`,{className:`text-sm`,children:e(c.label)},void 0,!1,{fileName:G,lineNumber:31,columnNumber:11},this)]},void 0,!0,{fileName:G,lineNumber:29,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:28,columnNumber:7},this),(0,I.jsxDEV)(`div`,{className:`flex-1 min-w-0`,children:(0,I.jsxDEV)(`div`,{className:`max-w-2xl mx-auto px-6 py-6`,children:(0,I.jsxDEV)(W,{shelf:c,onSuccess:e=>{M(`${c.library}/${c.shelf}`),e?.id?s(`/${t}/${a}/${e.id}`):s(`/${t}/${a}`)},onCancel:()=>s(`/${t}/${a}`)},void 0,!1,{fileName:G,lineNumber:36,columnNumber:11},this)},void 0,!1,{fileName:G,lineNumber:35,columnNumber:9},this)},void 0,!1,{fileName:G,lineNumber:34,columnNumber:7},this)]},void 0,!0,{fileName:G,lineNumber:27,columnNumber:5},this)}export{K as NewRecordView};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{d as r,t as i}from"./react-vendor-CzSUaSLk.js";import{_r as a}from"./src-Cp4yFztL.js";import{t as o}from"./SettingsForm-C_K9RpFr.js";var s=e(t(),1),c=i(),l=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/PluginSettingsPage.tsx`;function u(){let{groupId:e}=r(),{t}=n(),[i,u]=(0,s.useState)(null),[d,f]=(0,s.useState)(!0);if((0,s.useEffect)(()=>{let t=!1;return f(!0),fetch(`/api/settings`).then(e=>e.ok?e.json():[]).then(n=>{t||(u(n.find(t=>t.id===e)??null),f(!1))}).catch(()=>{t||(u(null),f(!1))}),()=>{t=!0}},[e]),d)return(0,c.jsxDEV)(a,{children:(0,c.jsxDEV)(`p`,{className:`text-muted`,children:t(`plugins.loading`)},void 0,!1,{fileName:l,lineNumber:44,columnNumber:9},this)},void 0,!1,{fileName:l,lineNumber:43,columnNumber:7},this);if(!i||i.fields.length===0)return(0,c.jsxDEV)(a,{children:(0,c.jsxDEV)(`p`,{className:`text-muted`,children:t(`common.notFound`)},void 0,!1,{fileName:l,lineNumber:52,columnNumber:9},this)},void 0,!1,{fileName:l,lineNumber:51,columnNumber:7},this);async function p(){let t=await fetch(`/api/settings/${e}`);return t.ok?t.json():{}}async function m(t){let n=await fetch(`/api/settings/${e}`,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)});return n.ok?{ok:!0,row:(await n.json()).row??{}}:n.status===422?{ok:!1,status:422,issues:(await n.json()).issues}:{ok:!1,status:n.status}}return(0,c.jsxDEV)(o,{fields:i.fields,recordCtx:{library:``,shelf:e??``,recordId:`settings`},load:p,save:m,title:t(i.label,{defaultValue:e??``}),backTo:`/settings`,backLabel:t(`settings.title`)},void 0,!1,{fileName:l,lineNumber:80,columnNumber:5},this)}export{u as PluginSettingsPage};
@@ -1 +0,0 @@
1
- import{t as e}from"./react-vendor-CzSUaSLk.js";var t=e(),n=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/plugin-devices/src/templates/ScanSummary.tsx`,r=({title:e,body:r,children:i})=>(0,t.jsxDEV)(`div`,{className:`space-y-1 border-t pt-2`,children:[(0,t.jsxDEV)(`p`,{className:`text-sm font-medium`,children:e},void 0,!1,{fileName:n,lineNumber:23,columnNumber:5},void 0),(0,t.jsxDEV)(`p`,{className:`text-xs text-muted`,children:r},void 0,!1,{fileName:n,lineNumber:24,columnNumber:5},void 0),(0,t.jsxDEV)(`ul`,{className:`space-y-1`,children:i},void 0,!1,{fileName:n,lineNumber:25,columnNumber:5},void 0)]},void 0,!0,{fileName:n,lineNumber:22,columnNumber:3},void 0);function i({data:e,t:i}){let a=e.failed??[],o=e.noMac??[],s=[[`devices.scan.activeLabel`,e.active],[`devices.scan.createdLabel`,e.created],[`devices.scan.macUpdatedLabel`,e.macChanged],[`devices.scan.skippedLabel`,e.skipped],...a.length?[[`devices.scan.failedLabel`,a.length]]:[]];return(0,t.jsxDEV)(`div`,{className:`space-y-2`,children:[(0,t.jsxDEV)(`p`,{className:`font-medium`,children:i(a.length?`devices.scan.summaryPartialTitle`:`devices.scan.summaryTitle`)},void 0,!1,{fileName:n,lineNumber:49,columnNumber:7},this),(0,t.jsxDEV)(`dl`,{className:`grid grid-cols-2 gap-x-4 gap-y-1 text-sm`,children:s.map(([e,r])=>(0,t.jsxDEV)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,t.jsxDEV)(`dt`,{className:`text-muted`,children:i(e)},void 0,!1,{fileName:n,lineNumber:55,columnNumber:13},this),(0,t.jsxDEV)(`dd`,{className:`font-mono tabular-nums`,children:r},void 0,!1,{fileName:n,lineNumber:56,columnNumber:13},this)]},e,!0,{fileName:n,lineNumber:54,columnNumber:11},this))},void 0,!1,{fileName:n,lineNumber:52,columnNumber:7},this),a.length>0&&(0,t.jsxDEV)(r,{title:i(`devices.scan.failedTitle`,{count:a.length}),body:i(`devices.scan.failedBody`),children:a.map(e=>(0,t.jsxDEV)(`li`,{className:`flex flex-wrap items-center gap-1.5 text-sm`,children:[(0,t.jsxDEV)(`span`,{className:`font-medium`,children:e.name||e.subject},void 0,!1,{fileName:n,lineNumber:64,columnNumber:15},this),(0,t.jsxDEV)(`code`,{className:`text-xs text-muted`,children:e.subject},void 0,!1,{fileName:n,lineNumber:65,columnNumber:15},this),(e.issues?.length?e.issues.map(e=>`${e.path}: ${e.code}`):[e.message]).map(e=>(0,t.jsxDEV)(`code`,{className:`rounded bg-muted px-1.5 py-0.5 text-xs`,children:e},e,!1,{fileName:n,lineNumber:67,columnNumber:17},this))]},`${e.subject}-${e.kind}`,!0,{fileName:n,lineNumber:63,columnNumber:13},this))},void 0,!1,{fileName:n,lineNumber:61,columnNumber:9},this),o.length>0&&(0,t.jsxDEV)(r,{title:i(`devices.scan.noMacTitle`,{count:o.length}),body:i(`devices.scan.noMacBody`),children:o.map(e=>(0,t.jsxDEV)(`li`,{className:`flex items-center gap-2 text-sm`,children:[(0,t.jsxDEV)(`code`,{children:e.ip},void 0,!1,{fileName:n,lineNumber:79,columnNumber:15},this),e.hostname&&(0,t.jsxDEV)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-xs`,children:e.hostname},void 0,!1,{fileName:n,lineNumber:80,columnNumber:30},this),(0,t.jsxDEV)(`button`,{type:`button`,className:`ml-auto text-xs underline opacity-70 hover:opacity-100`,onClick:()=>void navigator.clipboard?.writeText(e.ip),children:i(`devices.scan.copyIp`)},void 0,!1,{fileName:n,lineNumber:81,columnNumber:15},this)]},e.ip,!0,{fileName:n,lineNumber:78,columnNumber:13},this))},void 0,!1,{fileName:n,lineNumber:76,columnNumber:9},this)]},void 0,!0,{fileName:n,lineNumber:48,columnNumber:5},this)}export{i as default};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-CzSUaSLk.js";import{L as a,Wn as o,_r as s,di as c,en as l,g as u,pr as d}from"./src-Cp4yFztL.js";import{c as f,l as p}from"./shelf-CpE68_8d.js";import{n as m}from"./input-tJjsdU1x.js";import{t as h}from"./arrow-left-DDsxjRCq.js";import{l as g}from"./phone-input-CZF7hU3E.js";var _=e(t(),1),v=i(),y=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsForm.tsx`;function b(e){let{t}=n(),i=(0,_.useMemo)(()=>f(e.fields),[e.fields]),b=(0,_.useMemo)(()=>p(e.fields),[e.fields]),[x,S]=(0,_.useState)(!1),[C,w]=(0,_.useState)(null),{values:T,setValues:E,errors:D,setErrors:O,bridge:k}=u({fm:b,mode:`edit`,recordCtx:e.recordCtx,initial:{}});function A(e){let t={};for(let[n,r]of i)t[n]=e[n]??r.default??(r.prim!==`checkbox`&&``);return t}(0,_.useEffect)(()=>{E({}),O({});let n=!0;return e.load().then(e=>n&&E(A(e))).catch(()=>n&&w(t(`common.loadError`,{defaultValue:`Помилка завантаження`}))),()=>{n=!1}},[`${e.recordCtx.library}/${e.recordCtx.shelf}/${e.recordCtx.recordId}`]);async function j(){S(!0),O({});let n=c.loading(t(`save.saving`)),r=await e.save(T);if(S(!1),r.ok){E(A(r.row)),c.success(t(`save.done`),{id:n});return}if(r.status===422&&r.issues){let e={};for(let n of r.issues)n.field&&(e[n.field]=t(`validation.${n.code}`,n.params));O(e)}c.error(t(`save.failed`),{id:n})}return(0,v.jsxDEV)(`div`,{className:`flex flex-col h-full`,children:[(0,v.jsxDEV)(d,{actions:(0,v.jsxDEV)(g,{onClick:j,disabled:x,children:[(0,v.jsxDEV)(m,{size:16},void 0,!1,{fileName:y,lineNumber:101,columnNumber:13},this),(0,v.jsxDEV)(`span`,{className:`hidden sm:inline`,children:t(`actions.save`)},void 0,!1,{fileName:y,lineNumber:102,columnNumber:13},this)]},void 0,!0,{fileName:y,lineNumber:100,columnNumber:11},this),children:(0,v.jsxDEV)(g,{variant:`ghost`,size:`sm`,className:`px-2`,asChild:!0,children:(0,v.jsxDEV)(r,{to:e.backTo,"aria-label":e.backLabel,children:[(0,v.jsxDEV)(h,{size:18},void 0,!1,{fileName:y,lineNumber:108,columnNumber:13},this),(0,v.jsxDEV)(`span`,{className:`text-sm`,children:e.backLabel},void 0,!1,{fileName:y,lineNumber:109,columnNumber:13},this)]},void 0,!0,{fileName:y,lineNumber:107,columnNumber:11},this)},void 0,!1,{fileName:y,lineNumber:106,columnNumber:9},this)},void 0,!1,{fileName:y,lineNumber:98,columnNumber:7},this),(0,v.jsxDEV)(s,{children:[(0,v.jsxDEV)(`h1`,{className:`mb-6 ${l}`,children:e.title},void 0,!1,{fileName:y,lineNumber:115,columnNumber:9},this),C&&(0,v.jsxDEV)(o,{tone:`danger`,className:`mb-5`,children:C},void 0,!1,{fileName:y,lineNumber:118,columnNumber:11},this),(0,v.jsxDEV)(`div`,{className:`flex flex-col gap-5`,children:(0,v.jsxDEV)(a,{items:e.fields,ctx:{bridge:k}},void 0,!1,{fileName:y,lineNumber:124,columnNumber:11},this)},void 0,!1,{fileName:y,lineNumber:123,columnNumber:9},this),e.footer]},void 0,!0,{fileName:y,lineNumber:114,columnNumber:7},this)]},void 0,!0,{fileName:y,lineNumber:97,columnNumber:5},this)}export{b as t};
@@ -1,3 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{r,t as i}from"./react-vendor-CzSUaSLk.js";import{On as a,Qn as o,Wn as s,Wt as c,_r as l,cr as u,en as d,or as f,vr as p}from"./src-Cp4yFztL.js";import{t as m}from"./ThemeSwitcher-BPuCvU1U.js";import{l as h}from"./phone-input-CZF7hU3E.js";import{A as g,I as _,N as ee,P as v,m as y,v as b}from"./api-COuWgOWV.js";import{n as x}from"./auth-context-L2NSpevo.js";import{t as S}from"./version-CtfLXkhy.js";var C=e(t(),1),w=i(),T=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/app/SettingsPage.tsx`,E=null,D=null;function O(){E=null}function te(e=!1){if(!e&&E)return Promise.resolve(E);if(!e&&D)return D;let t=Promise.all([b(e?{refresh:!0}:void 0),y(e?{refresh:!0}:void 0)]).then(([e,t])=>{let n={plugins:e,runtime:t,checkedAt:Date.now()};return E=n,n});return e||(D=t,t.then(()=>{D===t&&(D=null)},()=>{D===t&&(D=null)})),t}async function k(){let e=Date.now();for(;Date.now()-e<6e4;){await new Promise(e=>setTimeout(e,1e3));try{if((await fetch(`/health`)).ok)return!0}catch{}}return!1}function A(){let{t:e}=n(),{role:t}=x(),i=t===`admin`,[y,b]=(0,C.useState)(()=>E?.plugins??[]),[D,A]=(0,C.useState)(()=>E===null),[M,N]=(0,C.useState)(()=>E?.checkedAt??null),[P,F]=(0,C.useState)(null),[I,L]=(0,C.useState)(!1),R=e=>P===e||P===`*`,[z,B]=(0,C.useState)(()=>E?.runtime??null),V=y.filter(e=>e.latestVersion&&S(e.latestVersion,e.installedVersion)),H=!!(z?.latestVersion&&z.installedVersion&&S(z.latestVersion,z.installedVersion)),U=V.length+ +!!H,[W,G]=(0,C.useState)(null),[K,q]=(0,C.useState)(!1),J=t=>e(`${t}.plugin.label`,{defaultValue:t}),Y=t=>e(`${t}.plugin.description`,{defaultValue:``}),X=t=>e(`${t}.library.label`,{defaultValue:t}),Z=(t,n)=>e(`${t}.${n}.label`,{defaultValue:n}),Q={has_dependents:t=>e(`plugins.errors.has_dependents`,{list:t.dependents.join(`, `)}),missing_deps:t=>e(`plugins.errors.missing_deps`,{list:t.deps.join(`, `)}),unknown_plugin:()=>e(`plugins.errors.unknown_plugin`)},$=(e=!1)=>te(e).then(({plugins:e,runtime:t,checkedAt:n})=>{b(e),B(t),N(n),A(!1)});(0,C.useEffect)(()=>{$()},[]);async function ne(){L(!0),G(null);try{await $(!0)}catch{G(e(`plugins.updateCheckError`))}finally{L(!1)}}async function re(t){if(!await o({title:e(`plugins.purgeTitle`),description:e(`plugins.confirmPurge`,{id:t.id}),confirmLabel:e(`plugins.purgeButton`),variant:`destructive`}))return;F(t.id),G(null);let n=await fetch(`/api/plugins/${t.id}/data`,{method:`DELETE`}),r=await n.json().catch(()=>({}));if(F(null),!n.ok){G(Q[r.error]?.(r)??e(`plugins.genericError`,{code:r.error??n.status}));return}q(!0),await $()}async function ie(t){F(t.id),G(null);let n=await g(t.id,!t.enabled);if(!n.ok){F(null),G(Q[n.error]?.(n.data??{})??e(`plugins.genericError`,{code:n.error}));return}window.location.reload()}async function ae(t){if(!t.latestVersion||!await o({title:e(`plugins.updateTitle`,{from:t.installedVersion,to:t.latestVersion}),description:e(`plugins.confirmUpdate`,{id:t.id,from:t.installedVersion,to:t.latestVersion}),confirmLabel:e(`plugins.updateButton`)}))return;F(t.id),G(null);let n=await v(t.id);if(!n.ok){F(null),G(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}q(!0),await k()?(O(),window.location.reload()):(F(null),G(e(`plugins.restartTimeout`)))}async function oe(){if(U===0)return;let t=V.map(e=>`${J(e.id)}: v${e.installedVersion} → v${e.latestVersion}`);H&&t.push(`${e(`plugins.runtimeLabel`)}: v${z.installedVersion} → v${z.latestVersion}`);let n=t.join(`
2
- `);if(!await o({title:e(`plugins.updateAllButton`,{count:U}),description:e(`plugins.confirmUpdateAll`,{count:U,list:n}),confirmLabel:e(`plugins.updateButton`)}))return;F(`*`),G(null);let r=await ee();if(!r.ok){F(null),G(r.stderr?`${e(`plugins.updateError`)}: ${r.stderr}`:e(`plugins.genericError`,{code:r.error}));return}q(!0),await k()?(O(),window.location.reload()):(F(null),G(e(`plugins.restartTimeout`)))}let se=H;async function ce(){let t=[];if(H&&t.push(`${e(`plugins.runtimeLabel`)}: v${z.installedVersion} → v${z.latestVersion}`),t.length===0||!await o({title:e(`plugins.updateAllButton`,{count:t.length}),description:e(`plugins.confirmUpdateAll`,{count:t.length,list:t.join(`
3
- `)}),confirmLabel:e(`plugins.updateButton`)}))return;F(`*`),G(null);let n=await _();if(!n.ok){F(null),G(n.stderr?`${e(`plugins.updateError`)}: ${n.stderr}`:e(`plugins.genericError`,{code:n.error}));return}q(!0),await k()?(O(),window.location.reload()):(F(null),G(e(`plugins.restartTimeout`)))}return(0,w.jsxDEV)(l,{children:[(0,w.jsxDEV)(`h1`,{className:`mb-6 ${d}`,children:e(`settings.title`)},void 0,!1,{fileName:T,lineNumber:290,columnNumber:7},this),(0,w.jsxDEV)(`section`,{className:`mb-6`,children:[(0,w.jsxDEV)(`h2`,{className:`mb-1 ${c}`,children:e(`settings.appearance`)},void 0,!1,{fileName:T,lineNumber:293,columnNumber:9},this),(0,w.jsxDEV)(f,{className:`flex items-center gap-4 px-4 py-2`,children:(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,w.jsxDEV)(m,{},void 0,!1,{fileName:T,lineNumber:298,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:297,columnNumber:11},this)},void 0,!1,{fileName:T,lineNumber:296,columnNumber:9},this)]},void 0,!0,{fileName:T,lineNumber:292,columnNumber:7},this),(0,w.jsxDEV)(`section`,{className:`mb-6`,children:[(0,w.jsxDEV)(`h2`,{className:`mb-1 ${c}`,children:e(`settings.personalTitle`)},void 0,!1,{fileName:T,lineNumber:305,columnNumber:9},this),(0,w.jsxDEV)(f,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,w.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`auth.accountTitle`)},void 0,!1,{fileName:T,lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:307,columnNumber:11},this),(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,w.jsxDEV)(r,{to:`/settings/account`,title:e(`auth.accountTitle`),"aria-label":e(`auth.accountTitle`),children:(0,w.jsxDEV)(p,{name:`lucide:settings`,size:16},void 0,!1,{fileName:T,lineNumber:312,columnNumber:15},this)},void 0,!1,{fileName:T,lineNumber:311,columnNumber:13},this)},void 0,!1,{fileName:T,lineNumber:310,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:306,columnNumber:9},this)]},void 0,!0,{fileName:T,lineNumber:304,columnNumber:7},this),i&&(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(`section`,{className:`mb-6`,children:[(0,w.jsxDEV)(`h2`,{className:`mb-1 min-w-0 font-sans text-[11px] font-medium tracking-wide text-muted`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:T,lineNumber:322,columnNumber:13},this),(0,w.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.usersDescription`)},void 0,!1,{fileName:T,lineNumber:323,columnNumber:13},this),(0,w.jsxDEV)(f,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,w.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`settings.usersTitle`)},void 0,!1,{fileName:T,lineNumber:326,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:325,columnNumber:15},this),(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,w.jsxDEV)(r,{to:`/settings/users`,title:e(`settings.usersTitle`),"aria-label":e(`settings.usersTitle`),children:(0,w.jsxDEV)(p,{name:`lucide:settings`,size:16},void 0,!1,{fileName:T,lineNumber:330,columnNumber:19},this)},void 0,!1,{fileName:T,lineNumber:329,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:328,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:324,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:321,columnNumber:11},this),(0,w.jsxDEV)(`section`,{className:`mb-6`,children:[(0,w.jsxDEV)(`h2`,{className:`mb-1 min-w-0 font-sans text-[11px] font-medium tracking-wide text-muted`,children:e(`settings.diagnosticsTitle`)},void 0,!1,{fileName:T,lineNumber:337,columnNumber:13},this),(0,w.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.diagnosticsDescription`)},void 0,!1,{fileName:T,lineNumber:338,columnNumber:13},this),(0,w.jsxDEV)(f,{className:`flex items-center gap-4 px-4 py-3`,children:[(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:(0,w.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`diagnostics.title`)},void 0,!1,{fileName:T,lineNumber:341,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:340,columnNumber:15},this),(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,className:`shrink-0 border border-border`,asChild:!0,children:(0,w.jsxDEV)(r,{to:`/settings/diagnostics`,title:e(`diagnostics.title`),"aria-label":e(`diagnostics.title`),children:(0,w.jsxDEV)(p,{name:`lucide:activity`,size:16},void 0,!1,{fileName:T,lineNumber:345,columnNumber:19},this)},void 0,!1,{fileName:T,lineNumber:344,columnNumber:17},this)},void 0,!1,{fileName:T,lineNumber:343,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:339,columnNumber:13},this)]},void 0,!0,{fileName:T,lineNumber:336,columnNumber:11},this),(0,w.jsxDEV)(`section`,{children:[(0,w.jsxDEV)(`div`,{className:`mb-1 flex items-center gap-3`,children:[(0,w.jsxDEV)(`h2`,{className:`min-w-0 font-sans text-[11px] font-medium tracking-wide text-muted`,children:e(`settings.componentsTitle`)},void 0,!1,{fileName:T,lineNumber:354,columnNumber:15},this),(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,disabled:P!==null||I,onClick:ne,title:e(`plugins.checkUpdates`),className:`shrink-0 border border-border`,children:[(0,w.jsxDEV)(p,{name:`lucide:refresh-cw`,size:14,className:I?`animate-spin`:void 0},void 0,!1,{fileName:T,lineNumber:364,columnNumber:17},this),e(I?`plugins.checkingUpdates`:`plugins.checkUpdates`)]},void 0,!0,{fileName:T,lineNumber:355,columnNumber:15},this),U>0&&(0,w.jsxDEV)(h,{size:`sm`,type:`button`,disabled:P!==null,onClick:oe,variant:`accentOutline`,className:`shrink-0`,children:e(`plugins.updateAllButton`,{count:U})},void 0,!1,{fileName:T,lineNumber:368,columnNumber:17},this)]},void 0,!0,{fileName:T,lineNumber:353,columnNumber:13},this),(0,w.jsxDEV)(`p`,{className:`mb-3 text-sm text-muted`,children:e(`settings.componentsDescription`)},void 0,!1,{fileName:T,lineNumber:380,columnNumber:13},this),!D&&M!==null&&(0,w.jsxDEV)(`p`,{className:`mb-3 text-xs text-muted`,"aria-live":`polite`,children:[U>0?e(`plugins.updatesAvailable`,{count:U}):e(`plugins.noUpdates`),` `,e(`plugins.lastChecked`,{time:new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}).format(M)})]},void 0,!0,{fileName:T,lineNumber:382,columnNumber:15},this),D?(0,w.jsxDEV)(`p`,{className:`text-muted`,children:e(`plugins.loading`)},void 0,!1,{fileName:T,lineNumber:393,columnNumber:15},this):(0,w.jsxDEV)(w.Fragment,{children:[K&&(0,w.jsxDEV)(s,{tone:`info`,className:`mb-5`,children:[e(`plugins.restartBannerBefore`),(0,w.jsxDEV)(`b`,{children:e(`plugins.restartBannerBold`)},void 0,!1,{fileName:T,lineNumber:399,columnNumber:21},this),e(`plugins.restartBannerAfter`)]},void 0,!0,{fileName:T,lineNumber:397,columnNumber:19},this),W&&(0,w.jsxDEV)(s,{tone:`danger`,className:`mb-5`,children:W},void 0,!1,{fileName:T,lineNumber:404,columnNumber:19},this),(0,w.jsxDEV)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-surface`,children:[(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-3 border-b border-border px-4 py-3 sm:flex-row sm:items-center sm:gap-4`,children:[(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,w.jsxDEV)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsxDEV)(`span`,{className:`font-semibold text-text`,children:e(`core.settings.label`)},void 0,!1,{fileName:T,lineNumber:414,columnNumber:25},this),z?.installedVersion&&(0,w.jsxDEV)(u,{variant:`secondary`,className:`text-[10px] font-medium`,children:[`v`,z.installedVersion]},void 0,!0,{fileName:T,lineNumber:416,columnNumber:27},this),se&&(0,w.jsxDEV)(h,{size:`sm`,type:`button`,disabled:P!==null,onClick:ce,title:e(`settings.systemUpdateTitle`),variant:`accentOutline`,className:`shrink-0`,children:e(`plugins.updateButton`)},void 0,!1,{fileName:T,lineNumber:421,columnNumber:27},this)]},void 0,!0,{fileName:T,lineNumber:413,columnNumber:23},this),(0,w.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:e(`settings.systemDescription`)},void 0,!1,{fileName:T,lineNumber:434,columnNumber:23},this)]},void 0,!0,{fileName:T,lineNumber:412,columnNumber:21},this),(0,w.jsxDEV)(`div`,{className:`flex w-full shrink-0 justify-end border-t border-border pt-3 sm:w-auto sm:border-t-0 sm:pt-0`,children:(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,className:`border border-border`,asChild:!0,children:(0,w.jsxDEV)(r,{to:`/settings/system`,title:e(`core.settings.label`),"aria-label":e(`core.settings.label`),children:(0,w.jsxDEV)(p,{name:`lucide:settings`,size:16},void 0,!1,{fileName:T,lineNumber:443,columnNumber:27},this)},void 0,!1,{fileName:T,lineNumber:438,columnNumber:25},this)},void 0,!1,{fileName:T,lineNumber:437,columnNumber:23},this)},void 0,!1,{fileName:T,lineNumber:436,columnNumber:21},this)]},void 0,!0,{fileName:T,lineNumber:411,columnNumber:19},this),y.map(t=>{let n=Y(t.id),i=t.enabled?y.filter(e=>e.enabled&&e.id!==t.id&&e.dependsOn.includes(t.id)):[],o=i.length>0,s=o?e(`plugins.blockedByDependents`,{list:i.map(e=>J(e.id)).join(`, `)}):t.enabled?e(`plugins.switchDisable`):e(`plugins.switchEnable`),c=[t.dependsOn.length>0&&`${e(`plugins.metaDepends`)} ${t.dependsOn.map(J).join(`, `)}`,t.libraries.length>0&&`${e(`plugins.metaLibraries`)} ${t.libraries.map(X).join(`, `)}`,t.extends.length>0&&`${e(`plugins.metaExtends`)} ${t.extends.map(e=>Z(t.id,e)).join(`, `)}`].filter(Boolean).join(` · `)||`—`;return(0,w.jsxDEV)(`div`,{className:`flex flex-col gap-3 border-b border-border px-4 py-3 last:border-b-0 sm:flex-row sm:items-center sm:gap-4`,children:[(0,w.jsxDEV)(`div`,{className:`min-w-0 flex-1`,children:[(0,w.jsxDEV)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,w.jsxDEV)(`span`,{className:`font-semibold text-text`,children:J(t.id)},void 0,!1,{fileName:T,lineNumber:480,columnNumber:29},this),(0,w.jsxDEV)(j,{plugin:t,busy:R(t.id),onUpdate:()=>ae(t)},void 0,!1,{fileName:T,lineNumber:481,columnNumber:29},this)]},void 0,!0,{fileName:T,lineNumber:479,columnNumber:27},this),n&&(0,w.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:n},void 0,!1,{fileName:T,lineNumber:483,columnNumber:43},this),(0,w.jsxDEV)(`div`,{className:`text-xs text-muted mt-0.5 truncate`,children:c},void 0,!1,{fileName:T,lineNumber:484,columnNumber:27},this)]},void 0,!0,{fileName:T,lineNumber:478,columnNumber:25},this),(0,w.jsxDEV)(`div`,{className:`flex w-full shrink-0 items-center justify-end gap-2 border-t border-border pt-3 sm:w-auto sm:border-t-0 sm:pt-0`,children:[t.hasSettings&&(0,w.jsxDEV)(h,{variant:`ghost`,size:`sm`,type:`button`,className:`border border-border`,asChild:!0,children:(0,w.jsxDEV)(r,{to:`/settings/${t.id}`,title:e(`plugins.settingsTitle`,{defaultValue:`Settings`}),"aria-label":e(`plugins.settingsTitle`,{defaultValue:`Settings`}),children:(0,w.jsxDEV)(p,{name:`lucide:settings`,size:16},void 0,!1,{fileName:T,lineNumber:494,columnNumber:33},this)},void 0,!1,{fileName:T,lineNumber:489,columnNumber:31},this)},void 0,!1,{fileName:T,lineNumber:488,columnNumber:29},this),(0,w.jsxDEV)(h,{size:`iconSm`,type:`button`,disabled:R(t.id),onClick:()=>re(t),title:e(`plugins.purgeTitle`),"aria-label":e(`plugins.purgeTitle`),variant:`destructiveOutline`,children:(0,w.jsxDEV)(p,{name:`lucide:trash-2`,size:16},void 0,!1,{fileName:T,lineNumber:507,columnNumber:29},this)},void 0,!1,{fileName:T,lineNumber:498,columnNumber:27},this),(0,w.jsxDEV)(`span`,{title:s,children:(0,w.jsxDEV)(a,{checked:t.enabled,disabled:R(t.id)||o,onCheckedChange:()=>ie(t),title:s},void 0,!1,{fileName:T,lineNumber:512,columnNumber:29},this)},void 0,!1,{fileName:T,lineNumber:511,columnNumber:27},this)]},void 0,!0,{fileName:T,lineNumber:486,columnNumber:25},this)]},t.id,!0,{fileName:T,lineNumber:474,columnNumber:23},this)})]},void 0,!0,{fileName:T,lineNumber:409,columnNumber:17},this)]},void 0,!0,{fileName:T,lineNumber:395,columnNumber:15},this)]},void 0,!0,{fileName:T,lineNumber:352,columnNumber:11},this)]},void 0,!0,{fileName:T,lineNumber:319,columnNumber:9},this)]},void 0,!0,{fileName:T,lineNumber:289,columnNumber:5},this)}function j({plugin:e,busy:t,onUpdate:r}){let{t:i}=n(),a=!!(e.latestVersion&&S(e.latestVersion,e.installedVersion));return(0,w.jsxDEV)(w.Fragment,{children:[(0,w.jsxDEV)(u,{variant:`secondary`,className:`text-[11px] font-medium`,children:[`v`,e.installedVersion]},void 0,!0,{fileName:T,lineNumber:538,columnNumber:7},this),a&&(0,w.jsxDEV)(h,{size:`sm`,type:`button`,disabled:t,onClick:r,title:i(`plugins.updateTitle`,{from:e.installedVersion,to:e.latestVersion}),variant:`accentOutline`,className:`shrink-0`,children:i(`plugins.updateButton`)},void 0,!1,{fileName:T,lineNumber:542,columnNumber:9},this)]},void 0,!0,{fileName:T,lineNumber:537,columnNumber:5},this)}export{A as SettingsPage};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{a as t,t as n}from"./i18n-vendor-T6EnJ_TL.js";import{t as r}from"./react-vendor-CzSUaSLk.js";import{kr as i}from"./src-Cp4yFztL.js";import{i as a,r as o}from"./input-tJjsdU1x.js";import{a as s,i as c,t as l}from"./popover-C2xHG6L3.js";var u=o(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),d=o(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),f=o(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),p=e(t(),1),m=`coffer-theme`;function h(e){return e===`light`||e===`dark`||e===`eink`?e:`auto`}function g(){try{return h(localStorage.getItem(m))}catch{return h(null)}}function _(e){if(e===`auto`){delete document.documentElement.dataset.theme;try{localStorage.removeItem(m)}catch{}}else{document.documentElement.dataset.theme=e;try{localStorage.setItem(m,e)}catch{}}}var v=`coffer-accent`,y=`oklch(0.45 0.073 162)`,b=[{titleKey:`appearance.colours`,items:[[12,`red`],[42,`orange`],[72,`yellow`],[102,`lime`],[132,`green`],[162,`emerald`],[192,`teal`],[222,`azure`],[252,`blue`],[282,`violet`],[312,`purple`],[342,`pink`]].map(([e,t])=>({id:`oklch(0.62 0.107 ${e})`,titleKey:`appearance.hue.${t}`}))},{titleKey:`appearance.muted`,items:[{id:`oklch(0.45 0.073 42)`,titleKey:`appearance.hue.brown`},{id:`oklch(0.45 0.073 162)`,titleKey:`appearance.hue.pine`},{id:`oklch(0.45 0.073 282)`,titleKey:`appearance.hue.plum`}]},{titleKey:`appearance.neutral`,items:[{id:`oklch(0.5 0 0)`,titleKey:`appearance.hue.grey`}]}],x=/^(#[0-9a-f]{6}|oklch\(\s*[\d.]+\s+[\d.]+\s+[\d.]+\s*\))$/i;function S(e){let t=e?.trim();return t&&x.test(t)?t:y}function C(){try{return S(localStorage.getItem(v))}catch{return y}}function w(e){let t=S(e);document.documentElement.style.setProperty(`--accent`,t);try{t===`oklch(0.45 0.073 162)`?localStorage.removeItem(v):localStorage.setItem(v,t)}catch{}}function T(){let[e,t]=(0,p.useState)(()=>g()),[n,r]=(0,p.useState)(()=>C());return{choice:e,setChoice:(0,p.useCallback)(e=>{_(e),t(e)},[]),accent:n,setAccent:(0,p.useCallback)(e=>{w(e),r(e)},[])}}var E=r(),D=`/home/grigorii/Projects/GitHub/grigorii-horos/coffer/packages/web/theme/ThemeSwitcher.tsx`,O=[{value:`auto`,Icon:i,labelKey:`theme.auto`},{value:`light`,Icon:f,labelKey:`theme.light`},{value:`dark`,Icon:d,labelKey:`theme.dark`},{value:`eink`,Icon:u,labelKey:`theme.eink`}];function k({compact:e=!1}){let{t}=n(),{choice:r,setChoice:i,accent:o,setAccent:u}=T();return(0,E.jsxDEV)(l,{children:[(0,E.jsxDEV)(s,{"aria-label":t(`appearance.label`),className:a(`flex min-h-11 touch-manipulation items-center rounded-xl text-sm text-muted outline-none transition-colors hover:bg-elevated hover:text-text focus-visible:ring-2 focus-visible:ring-accent`,e?`w-full flex-col gap-0.5 py-2`:`w-full gap-2 px-3 py-2`),children:[(0,E.jsxDEV)(`span`,{className:`block size-4 shrink-0 rounded-full border border-border`,style:{background:o}},void 0,!1,{fileName:D,lineNumber:40,columnNumber:9},this),e?(0,E.jsxDEV)(`span`,{className:`text-[10px] font-semibold`,children:t(`appearance.label`)},void 0,!1,{fileName:D,lineNumber:42,columnNumber:11},this):(0,E.jsxDEV)(`span`,{className:`flex-1 text-left`,children:t(`appearance.label`)},void 0,!1,{fileName:D,lineNumber:44,columnNumber:11},this)]},void 0,!0,{fileName:D,lineNumber:31,columnNumber:7},this),(0,E.jsxDEV)(c,{align:`end`,className:`w-[292px] max-w-[calc(100vw-32px)] p-3`,children:[(0,E.jsxDEV)(`section`,{children:[(0,E.jsxDEV)(`h3`,{className:`label mb-1.5 border-b border-border pb-1.5`,children:t(`appearance.theme`)},void 0,!1,{fileName:D,lineNumber:50,columnNumber:11},this),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-2 gap-1`,children:O.map(({value:e,Icon:n,labelKey:o})=>(0,E.jsxDEV)(`button`,{type:`button`,"aria-pressed":r===e,onClick:()=>i(e),className:a(`flex min-h-11 touch-manipulation items-center gap-2 rounded-md border border-transparent px-2 text-sm hover:bg-bg`,r===e&&`border-border bg-bg text-text`),children:[(0,E.jsxDEV)(n,{size:15,className:`shrink-0`},void 0,!1,{fileName:D,lineNumber:63,columnNumber:17},this),(0,E.jsxDEV)(`span`,{className:`truncate`,children:t(o)},void 0,!1,{fileName:D,lineNumber:64,columnNumber:17},this)]},e,!0,{fileName:D,lineNumber:53,columnNumber:15},this))},void 0,!1,{fileName:D,lineNumber:51,columnNumber:11},this)]},void 0,!0,{fileName:D,lineNumber:49,columnNumber:9},this),b.map(e=>(0,E.jsxDEV)(`section`,{className:`mt-3`,children:[(0,E.jsxDEV)(`h3`,{className:`label mb-1.5 border-b border-border pb-1.5`,children:t(e.titleKey)},void 0,!1,{fileName:D,lineNumber:72,columnNumber:13},this),(0,E.jsxDEV)(`div`,{className:`grid grid-cols-3 gap-0.5`,children:e.items.map(e=>(0,E.jsxDEV)(`button`,{type:`button`,"aria-pressed":o===e.id,onClick:()=>u(e.id),className:a(`flex min-w-0 touch-manipulation flex-col items-center gap-1.5 rounded-md border border-transparent px-1 py-2 hover:bg-bg`,o===e.id&&`border-text bg-bg`),children:[(0,E.jsxDEV)(`span`,{className:`block size-4 shrink-0 rounded-full border border-border`,style:{background:e.id}},void 0,!1,{fileName:D,lineNumber:86,columnNumber:19},this),(0,E.jsxDEV)(`span`,{className:a(`w-full truncate text-[11px] leading-tight`,o===e.id?`text-text`:`text-muted`),children:t(e.titleKey)},void 0,!1,{fileName:D,lineNumber:90,columnNumber:19},this)]},e.id,!0,{fileName:D,lineNumber:76,columnNumber:17},this))},void 0,!1,{fileName:D,lineNumber:74,columnNumber:13},this)]},e.titleKey,!0,{fileName:D,lineNumber:71,columnNumber:11},this))]},void 0,!0,{fileName:D,lineNumber:48,columnNumber:7},this)]},void 0,!0,{fileName:D,lineNumber:30,columnNumber:5},this)}export{k as t};
@@ -1 +0,0 @@
1
- import{r as e}from"./input-tJjsdU1x.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};