tracer-sh 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tracer-sh",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "type": "module",
5
5
  "description": "Local-first debugging & analysis platform",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -1 +1 @@
1
- import{a as q,r as s,j as r}from"./index-mD-B-NKT.js";var P=q();function $(c){const n=c?`tracer:starred:${c}`:null,[i,S]=s.useState(()=>{if(!n)return new Set;try{const a=localStorage.getItem(n);return a?new Set(JSON.parse(a)):new Set}catch{return new Set}});return[i,a=>{S(u=>{const t=new Set(u);return t.has(a)?t.delete(a):t.add(a),n&&localStorage.setItem(n,JSON.stringify([...t])),t})}]}function I({options:c,value:n,onChange:i,placeholder:S="Select...",storageKey:v,fitContent:a,disabled:u}){const[t,l]=s.useState(!1),[w,y]=s.useState(""),f=s.useRef(null),j=s.useRef(null),N=s.useRef(null),g=s.useRef(null),[x,C]=$(v),[m,L]=s.useState({top:0,left:0,minWidth:0});s.useEffect(()=>{if(!t)return;const e=d=>{f.current?.contains(d.target)||j.current?.contains(d.target)||l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]);const R=s.useCallback(()=>{if(!f.current)return;const e=f.current.getBoundingClientRect();L({top:e.bottom+4,left:e.left,minWidth:e.width})},[]);s.useEffect(()=>{t&&(R(),y(""),requestAnimationFrame(()=>N.current?.focus()))},[t,R]);const h=c.find(e=>e.value===n),p=s.useMemo(()=>{const e=w.toLowerCase();return[...e?c.filter(o=>o.label.toLowerCase().includes(e)||o.value.toLowerCase().includes(e)):c].sort((o,b)=>{const k=x.has(o.value)?0:1,E=x.has(b.value)?0:1;return k!==E?k-E:o.label.localeCompare(b.label)})},[c,w,x]);s.useEffect(()=>{if(t&&n&&g.current){const e=g.current.querySelector(`[data-value="${CSS.escape(n)}"]`);e&&e.scrollIntoView({block:"nearest"})}},[t,n]);const W=t?P.createPortal(r.jsxs("div",{ref:j,className:"fixed z-[100] bg-white border border-[#d4d2cd] rounded shadow-lg",style:{top:m.top,left:m.left,minWidth:m.minWidth,width:a?"max-content":m.minWidth},children:[r.jsx("div",{className:"p-1.5 border-b border-[#e8e6e1]",children:r.jsx("input",{ref:N,type:"text",value:w,onChange:e=>y(e.target.value),placeholder:"Search...",className:"w-full px-2 py-1.5 text-xs text-[#2c2c2c] font-sans bg-[#f5f4f0] border border-[#e8e6e1] rounded focus:outline-none focus:border-[#2b5ea7] placeholder:text-[#9c9890]",onKeyDown:e=>{e.key==="Escape"&&l(!1),e.key==="Enter"&&p.length>0&&(i(p[0].value),l(!1))}})}),r.jsx("div",{ref:g,className:"max-h-[280px] overflow-y-auto",children:p.length===0?r.jsx("div",{className:"px-3 py-3 text-xs text-[#9c9890] text-center",children:"No projects found"}):p.map(e=>{const d=e.value===n,o=x.has(e.value);return r.jsxs("div",{"data-value":e.value,className:`flex items-center gap-1.5 px-2 py-1.5 text-xs font-sans cursor-pointer transition-colors ${d?"bg-[#2b5ea7]/10 text-[#2b5ea7]":"text-[#2c2c2c] hover:bg-[#f5f4f0]"}`,onClick:()=>{i(e.value),l(!1)},children:[r.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),C(e.value)},className:`shrink-0 w-4 h-4 flex items-center justify-center text-[10px] transition-colors ${o?"text-[#d4a017]":"text-[#d4d2cd] hover:text-[#9c9890]"}`,title:o?"Unstar":"Star to pin to top",children:o?"★":"☆"}),r.jsx("span",{className:a?"whitespace-nowrap":"truncate flex-1",children:e.label})]},e.value)})})]}),document.body):null;return r.jsxs(r.Fragment,{children:[r.jsxs("button",{ref:f,type:"button",onClick:()=>!u&&l(!t),disabled:u,className:"w-full bg-white border border-[#d4d2cd] rounded px-3 py-2 text-xs text-[#2c2c2c] font-sans text-left flex items-center justify-between focus:outline-none focus:border-[#2b5ea7] hover:border-[#b0ada6] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[r.jsx("span",{className:h?"text-[#2c2c2c] truncate":"text-[#9c9890]",children:h?h.displayLabel??h.label:S}),r.jsx("span",{className:"text-[#9c9890] text-[10px] ml-2 shrink-0 transition-transform duration-200",style:{transform:t?"rotate(180deg)":"rotate(0deg)"},children:"▾"})]}),W]})}export{I as S,P as r,$ as u};
1
+ import{a as q,r as s,j as r}from"./index-BBsv6iUg.js";var P=q();function $(c){const n=c?`tracer:starred:${c}`:null,[i,S]=s.useState(()=>{if(!n)return new Set;try{const a=localStorage.getItem(n);return a?new Set(JSON.parse(a)):new Set}catch{return new Set}});return[i,a=>{S(u=>{const t=new Set(u);return t.has(a)?t.delete(a):t.add(a),n&&localStorage.setItem(n,JSON.stringify([...t])),t})}]}function I({options:c,value:n,onChange:i,placeholder:S="Select...",storageKey:v,fitContent:a,disabled:u}){const[t,l]=s.useState(!1),[w,y]=s.useState(""),f=s.useRef(null),j=s.useRef(null),N=s.useRef(null),g=s.useRef(null),[x,C]=$(v),[m,L]=s.useState({top:0,left:0,minWidth:0});s.useEffect(()=>{if(!t)return;const e=d=>{f.current?.contains(d.target)||j.current?.contains(d.target)||l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]);const R=s.useCallback(()=>{if(!f.current)return;const e=f.current.getBoundingClientRect();L({top:e.bottom+4,left:e.left,minWidth:e.width})},[]);s.useEffect(()=>{t&&(R(),y(""),requestAnimationFrame(()=>N.current?.focus()))},[t,R]);const h=c.find(e=>e.value===n),p=s.useMemo(()=>{const e=w.toLowerCase();return[...e?c.filter(o=>o.label.toLowerCase().includes(e)||o.value.toLowerCase().includes(e)):c].sort((o,b)=>{const k=x.has(o.value)?0:1,E=x.has(b.value)?0:1;return k!==E?k-E:o.label.localeCompare(b.label)})},[c,w,x]);s.useEffect(()=>{if(t&&n&&g.current){const e=g.current.querySelector(`[data-value="${CSS.escape(n)}"]`);e&&e.scrollIntoView({block:"nearest"})}},[t,n]);const W=t?P.createPortal(r.jsxs("div",{ref:j,className:"fixed z-[100] bg-white border border-[#d4d2cd] rounded shadow-lg",style:{top:m.top,left:m.left,minWidth:m.minWidth,width:a?"max-content":m.minWidth},children:[r.jsx("div",{className:"p-1.5 border-b border-[#e8e6e1]",children:r.jsx("input",{ref:N,type:"text",value:w,onChange:e=>y(e.target.value),placeholder:"Search...",className:"w-full px-2 py-1.5 text-xs text-[#2c2c2c] font-sans bg-[#f5f4f0] border border-[#e8e6e1] rounded focus:outline-none focus:border-[#2b5ea7] placeholder:text-[#9c9890]",onKeyDown:e=>{e.key==="Escape"&&l(!1),e.key==="Enter"&&p.length>0&&(i(p[0].value),l(!1))}})}),r.jsx("div",{ref:g,className:"max-h-[280px] overflow-y-auto",children:p.length===0?r.jsx("div",{className:"px-3 py-3 text-xs text-[#9c9890] text-center",children:"No projects found"}):p.map(e=>{const d=e.value===n,o=x.has(e.value);return r.jsxs("div",{"data-value":e.value,className:`flex items-center gap-1.5 px-2 py-1.5 text-xs font-sans cursor-pointer transition-colors ${d?"bg-[#2b5ea7]/10 text-[#2b5ea7]":"text-[#2c2c2c] hover:bg-[#f5f4f0]"}`,onClick:()=>{i(e.value),l(!1)},children:[r.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),C(e.value)},className:`shrink-0 w-4 h-4 flex items-center justify-center text-[10px] transition-colors ${o?"text-[#d4a017]":"text-[#d4d2cd] hover:text-[#9c9890]"}`,title:o?"Unstar":"Star to pin to top",children:o?"★":"☆"}),r.jsx("span",{className:a?"whitespace-nowrap":"truncate flex-1",children:e.label})]},e.value)})})]}),document.body):null;return r.jsxs(r.Fragment,{children:[r.jsxs("button",{ref:f,type:"button",onClick:()=>!u&&l(!t),disabled:u,className:"w-full bg-white border border-[#d4d2cd] rounded px-3 py-2 text-xs text-[#2c2c2c] font-sans text-left flex items-center justify-between focus:outline-none focus:border-[#2b5ea7] hover:border-[#b0ada6] transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:[r.jsx("span",{className:h?"text-[#2c2c2c] truncate":"text-[#9c9890]",children:h?h.displayLabel??h.label:S}),r.jsx("span",{className:"text-[#9c9890] text-[10px] ml-2 shrink-0 transition-transform duration-200",style:{transform:t?"rotate(180deg)":"rotate(0deg)"},children:"▾"})]}),W]})}export{I as S,P as r,$ as u};
@@ -1 +1 @@
1
- import{t as p,r as g,j as e,S as T,c as _,b as a,C as K,A as B,u as ee,d as se,W as q,M as te}from"./index-mD-B-NKT.js";import{S as ne}from"./SearchableSelect-B7Oz7kCC.js";function Z({type:s,label:n}){const o=p.useUtils(),{data:i,isLoading:c}=p.settings.getApiKey.useQuery(s),m=p.settings.saveApiKey.useMutation({onSuccess:()=>o.settings.getApiKey.invalidate(s)}),x=p.settings.removeApiKey.useMutation({onSuccess:()=>o.settings.getApiKey.invalidate(s)}),[d,l]=g.useState(!1),[h,r]=g.useState(""),[f,v]=g.useState(!1);async function N(){await m.mutateAsync({type:s,apiKey:h}),r(""),l(!1)}async function u(){await x.mutateAsync(s),l(!1),v(!1)}return c?e.jsx("div",{className:"px-4 py-3",children:e.jsx(T,{size:"sm"})}):e.jsxs("div",{className:"px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"text-sm font-medium w-24 shrink-0",children:n}),e.jsx("span",{className:a.maskedKey+" flex-1 truncate",style:i?{color:_.success}:void 0,children:i?i.maskedApiKey:"Not configured"}),!d&&e.jsx("button",{onClick:()=>{r(""),l(!0)},className:a.secondaryBtn+" text-xs px-3 py-1",children:i?"Edit":"Add"})]}),d&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-[#e8e6e1] space-y-2",children:[e.jsx("input",{type:h?"password":"text",value:h,onChange:b=>r(b.target.value),placeholder:i?.maskedApiKey??"Enter API key",className:a.input}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:N,disabled:!h||m.isPending,className:a.primaryBtn+" text-xs px-3 py-1",children:m.isPending?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save"}),e.jsx("button",{onClick:()=>l(!1),disabled:m.isPending,className:a.secondaryBtn+" text-xs px-3 py-1",children:"Cancel"}),i&&e.jsx("button",{onClick:()=>v(!0),disabled:x.isPending,className:a.dangerBtn+" text-xs px-3 py-1",children:"Remove"})]})]}),e.jsx(K,{open:f,title:"Remove API key",message:`Remove the ${n} API key?`,confirmLabel:"Remove",onConfirm:u,onCancel:()=>v(!1)})]})}function ae({configuredProviders:s}){return e.jsx("div",{className:"border-t border-[#e8e6e1]",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:a.tableHeaderRow,children:[e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2",children:"Model"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2",children:"Provider"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2 text-right",children:"Input ($/M)"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2 text-right",children:"Output ($/M)"})]})}),e.jsx("tbody",{className:"divide-y divide-[#e8e6e1]",children:B.map(n=>{const o=s.has(n.provider);return e.jsxs("tr",{style:o?{color:_.success}:{color:_.inkFaint},children:[e.jsx("td",{className:"px-4 py-2 font-mono text-xs",children:n.modelId}),e.jsx("td",{className:"px-4 py-2 capitalize",children:n.provider}),e.jsxs("td",{className:"px-4 py-2 text-right font-mono text-xs",children:["$",n.inputPrice.toFixed(2)]}),e.jsxs("td",{className:"px-4 py-2 text-right font-mono text-xs",children:["$",n.outputPrice.toFixed(2)]})]},n.modelId)})})]})})}function ie(){const[s,n]=g.useState(!1),o=ee();return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"max-w-lg bg-white border border-[#d4d2cd] rounded divide-y divide-[#e8e6e1] overflow-hidden",children:[e.jsx(Z,{type:"anthropic",label:"Anthropic"}),e.jsx(Z,{type:"google",label:"Google AI"})]}),e.jsxs("div",{className:"bg-white border border-[#d4d2cd] rounded overflow-hidden",children:[e.jsxs("button",{onClick:()=>n(!s),className:"w-full flex items-center justify-between px-4 py-3 text-sm text-[#666666] hover:bg-[#f5f4f0] transition-colors font-sans",children:[e.jsx("span",{className:"font-medium",children:"Model Pricing"}),e.jsx("span",{className:"text-xs transition-transform duration-200",style:{transform:s?"rotate(180deg)":"rotate(0deg)"},children:"▾"})]}),s&&e.jsx(ae,{configuredProviders:o})]})]})}function oe({status:s,label:n}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`inline-block h-2 w-2 rounded-full ${a.statusDot[s]}`}),n&&e.jsx("span",{className:a.statusLabel,children:n})]})}const U=`${B[1]?.provider??B[0].provider}:${B[1]?.modelId??B[0].modelId}`;function re({providerType:s}){const n=p.useUtils(),{data:o,isLoading:i}=p.settings.getSubAgentModel.useQuery(s),c=p.settings.saveSubAgentModel.useMutation({onSuccess:()=>n.settings.getSubAgentModel.invalidate(s)}),m=se(),x=o?`${o.provider}:${o.modelId}`:U,d=m.some(r=>`${r.provider}:${r.modelId}`===x),l=d?x:`${m[0].provider}:${m[0].modelId}`;if(g.useEffect(()=>{!i&&o&&!d&&c.mutate({providerType:s,model:null})},[i,d]),i)return null;function h(r){if(r===U&&!o)return;const f=m.find(v=>`${v.provider}:${v.modelId}`===r);f&&(r===U?c.mutate({providerType:s,model:null}):c.mutate({providerType:s,model:{provider:f.provider,modelId:f.modelId}}))}return e.jsxs("div",{className:"flex items-center gap-3 mt-3 pt-3 border-t border-[#d4d2cd]",children:[e.jsx("span",{className:"text-xs text-[#666666] whitespace-nowrap w-14",children:"Model"}),e.jsxs("div",{className:"relative flex-1",children:[e.jsx("select",{value:l,onChange:r=>h(r.target.value),disabled:c.isPending,className:"w-full appearance-none bg-white border border-[#d4d2cd] rounded px-3 py-2 pr-7 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans disabled:opacity-50 disabled:cursor-not-allowed",children:m.map(r=>e.jsx("option",{value:`${r.provider}:${r.modelId}`,children:r.modelId},`${r.provider}:${r.modelId}`))}),e.jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-[#9c9890] text-[10px]",children:"▾"})]})]})}function le({existingConfig:s}){const n=p.useUtils(),{data:o,isLoading:i}=p.provider.listGcpProjects.useQuery(void 0,{staleTime:q.updateCheckStaleTimeMs}),c=p.provider.saveConfig.useMutation({onSuccess:()=>{n.provider.getConfigs.invalidate(),n.provider.list.invalidate()}}),m=g.useMemo(()=>(o??[]).map(l=>({value:l.projectId,label:l.name?`${l.name} (${l.projectId})`:l.projectId,displayLabel:l.name||l.projectId})),[o]),x=s.projectId??"";function d(l){l!==x&&c.mutate({type:"gcp",config:{...s,projectId:l}})}return e.jsxs("div",{className:"flex items-center gap-3 mt-3 pt-3 border-t border-[#d4d2cd]",children:[e.jsx("span",{className:"text-xs text-[#666666] whitespace-nowrap w-14",children:"Project"}),e.jsx("div",{className:"flex-1",children:e.jsx(ne,{options:m,value:x,onChange:d,placeholder:i?"Loading...":"Select project...",storageKey:"gcp-projectId",fitContent:!0,disabled:i||c.isPending})})]})}function ce({checked:s,onChange:n,disabled:o,"aria-label":i}){return e.jsx("button",{type:"button",role:"switch","aria-checked":s,"aria-label":i,disabled:o,onClick:()=>n(!s),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${s?"bg-[#2b5ea7]":"bg-[#d4d2cd]"} ${o?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${s?"translate-x-[18px]":"translate-x-[3px]"}`})})}function de({type:s,label:n,connected:o,configured:i,onConfigure:c,onToggle:m,togglePending:x,toggleError:d,pingError:l,hasConfigFields:h,existingConfig:r}){const f=i||o;return e.jsxs("div",{className:a.settingsCard+" w-80",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ce,{checked:i,onChange:v=>{v&&h?c():m(v)},disabled:x}),e.jsx("span",{className:"font-medium",children:n}),f?e.jsx(oe,{status:o?"connected":"disconnected"}):e.jsx("span",{className:"text-xs opacity-40",children:"Not configured"})]}),e.jsx("button",{onClick:c,className:`${a.secondaryBtn} ${i&&h?"":"invisible"}`,children:"Edit"})]}),f&&e.jsx(re,{providerType:s}),f&&s==="gcp"&&r&&e.jsx(le,{existingConfig:r}),l&&!o&&e.jsx("p",{className:a.warnText+" mt-2",children:l}),d&&e.jsx("p",{className:a.errorText+" mt-2",children:d})]})}function H(s,n){return!!s&&!!n&&s===n}function ue({open:s,label:n,configFields:o,formValues:i,onFormChange:c,existingConfig:m,saveResult:x,savePending:d,configured:l,onSave:h,onClose:r,onRemove:f}){const v=o.some(u=>u.required!==!1&&u.type==="password"&&H(i[u.key],m?.[u.key])),N=o.some(u=>u.required!==!1&&!i[u.key]);return e.jsxs(te,{open:s,onClose:r,children:[e.jsxs("div",{className:a.dialogTitle+" text-base mb-4",children:["Configure ",n]}),e.jsx("div",{className:"space-y-3",children:o.map(u=>{const b=u.type==="password"&&H(i[u.key],m?.[u.key]);return e.jsxs("div",{children:[e.jsxs("label",{className:a.sectionTitle,children:[u.label,u.required===!1&&e.jsx("span",{className:"text-xs opacity-40 ml-1",children:"(optional)"})]}),e.jsx("input",{type:u.type==="password"&&i[u.key]&&!b?"password":"text",value:i[u.key]??"",onChange:S=>c(u.key,S.target.value),onFocus:S=>{b&&S.target.select()},placeholder:`Enter ${u.label.toLowerCase()}`,className:`${a.input} ${b?"!text-[#999] !border-l-2 !border-l-amber-400":""}`})]},u.key)})}),e.jsxs("div",{className:"flex items-center gap-2 mt-4 pt-4 border-t border-[#d4d2cd]",children:[e.jsx("button",{onClick:h,disabled:N||v||d,className:a.primaryBtn,children:d?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save & Test"}),e.jsx("button",{onClick:r,disabled:d,className:a.secondaryBtn,children:"Cancel"}),l&&e.jsx("button",{onClick:f,disabled:d,className:a.dangerBtn,children:"Remove"})]}),v&&!d&&!x&&e.jsx("p",{className:"mt-2 text-xs text-amber-600",children:"Re-enter highlighted fields to save"}),x&&e.jsx("div",{className:`mt-3 ${x.success?a.successText:a.errorText}`,children:x.success?"Connected successfully":x.error||"Connection failed"})]})}function me(s,n){const o={};for(const i of s)o[i.key]=n?.[i.key]??"";return o}function xe(){const s=p.useUtils(),{data:n,isLoading:o}=p.provider.list.useQuery(),{data:i,isLoading:c}=p.provider.getConfigs.useQuery(),{data:m,isLoading:x}=p.provider.getRegisteredTypes.useQuery(),{data:d}=p.provider.ping.useQuery(void 0,{staleTime:q.sessionStaleTimeMs,refetchOnMount:"always"}),l=p.provider.saveConfig.useMutation({onSuccess:()=>{s.provider.list.invalidate(),s.provider.getConfigs.invalidate(),s.provider.ping.invalidate()}}),h=p.provider.removeConfig.useMutation({onSuccess:()=>{s.provider.list.invalidate(),s.provider.getConfigs.invalidate(),s.provider.ping.invalidate()}}),[r,f]=g.useState(null),[v,N]=g.useState({}),[u,b]=g.useState(null),[S,A]=g.useState(null),[k,j]=g.useState({});function P(t){const y=i?.find(w=>w.type===t),C=m?.find(w=>w.type===t);N(me(C?.configFields??[],y?.config)),b(null),f(t)}function E(){f(null),N({}),b(null)}async function R(t){b(null);try{const y=await l.mutateAsync({type:t,config:v});b(y),y.success&&(f(null),N({}))}catch{b({success:!1,error:"Failed to save configuration"})}}async function O(t,y){if(y){j(C=>{const w={...C};return delete w[t],w});try{const C=await l.mutateAsync({type:t,config:{}});C.success||j(w=>({...w,[t]:C.error??"Connection failed"}))}catch{j(C=>({...C,[t]:"Failed to save configuration"}))}}else A(t)}async function z(t){await h.mutateAsync(t),f(null),N({}),b(null),A(null)}const F=o||c||x,$=m??[];if(F)return e.jsx(T,{size:"lg",centered:!0});const M=r?$.find(t=>t.type===r):null,D=r?i?.find(t=>t.type===r):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-wrap gap-3",children:$.map(({type:t,label:y,configFields:C})=>{const w=n?.find(I=>I.type===t),Q=i?.find(I=>I.type===t),W=!!Q,L=d?.find(I=>I.type===t),Y=L?L.ok:!!w?.connected,J=C.length>0,X=L&&!L.ok?L.error:void 0;return e.jsx(de,{type:t,label:y,connected:Y,configured:W,onConfigure:()=>P(t),onToggle:I=>O(t,I),togglePending:l.isPending||h.isPending,toggleError:k[t],pingError:X,hasConfigFields:J,existingConfig:Q?.config},t)})}),r&&M&&e.jsx(ue,{open:!0,label:M.label,configFields:M.configFields,formValues:v,onFormChange:(t,y)=>N(C=>({...C,[t]:y})),existingConfig:D?.config??null,saveResult:u,savePending:l.isPending,configured:!!D,onSave:()=>R(r),onClose:E,onRemove:()=>A(r)}),e.jsx(K,{open:S!==null,title:"Disable provider",message:`Disable ${$.find(t=>t.type===S)?.label??S}?`,confirmLabel:"Disable",onConfirm:()=>{S&&z(S)},onCancel:()=>A(null)})]})}function pe({memory:s,editingId:n,editNote:o,setEditNote:i,onUpdate:c,onCancelEdit:m,onStartEdit:x,onDelete:d,updatePending:l,removePending:h}){return e.jsxs("li",{className:"flex items-start justify-between gap-3 py-1.5 border-b border-[#d4d2cd] last:border-b-0",children:[e.jsx("div",{className:"flex-1 min-w-0",children:n===s.id?e.jsxs("div",{className:"space-y-2",children:[e.jsx("input",{type:"text",value:o,onChange:r=>i(r.target.value),className:a.input}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>c(s.id),disabled:!o||l,className:a.primaryBtn,children:"Save"}),e.jsx("button",{onClick:m,disabled:l,className:a.secondaryBtn,children:"Cancel"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm text-[#444444]",children:s.note}),s.reviewNote&&e.jsx("p",{className:"text-xs text-[#9c9890] italic mt-0.5",children:s.reviewNote}),e.jsx("p",{className:"text-xs text-[#666666] mt-0.5",children:new Date(s.createdAt*1e3).toLocaleDateString()})]})}),n!==s.id&&e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx("button",{onClick:()=>x(s.id,s.note),className:a.secondaryBtn,children:"Edit"}),e.jsx("button",{onClick:()=>d(s.id),disabled:h,className:a.dangerBtn,children:"Delete"})]})]})}function ge(){const s=p.useUtils(),{data:n,isLoading:o}=p.memory.list.useQuery(),{data:i}=p.provider.getRegisteredTypes.useQuery(),c=p.memory.create.useMutation({onSuccess:()=>{s.memory.list.invalidate(),E(""),j("orchestrator"),A(!1)}}),m=p.memory.update.useMutation({onSuccess:()=>s.memory.list.invalidate()}),x=p.memory.remove.useMutation({onSuccess:()=>s.memory.list.invalidate()}),[d,l]=g.useState(null),h=p.memory.optimize.useMutation({onSuccess:t=>{s.memory.list.invalidate(),l(t.stats)}}),[r,f]=g.useState(null),[v,N]=g.useState(""),[u,b]=g.useState(null),[S,A]=g.useState(!1),[k,j]=g.useState("orchestrator"),[P,E]=g.useState("");function R(t,y){f(t),N(y)}async function O(t){await m.mutateAsync({id:t,note:v}),f(null),N("")}function z(){f(null),N("")}const F=[{value:"orchestrator",label:"Orchestrator"},...(i??[]).map(t=>({value:t.type,label:t.label}))],$=5;if(o)return e.jsx(T,{size:"lg",centered:!0});const M=new Map;if(n)for(const t of n){const y=M.get(t.toolName)??[];y.push(t),M.set(t.toolName,y)}const D={editingId:r,editNote:v,setEditNote:N,onUpdate:O,onCancelEdit:z,onStartEdit:R,onDelete:t=>b(t),updatePending:m.isPending,removePending:x.isPending};return e.jsxs("div",{className:"space-y-4",children:[S?e.jsxs("div",{className:a.settingsCard+" space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("label",{className:"text-sm font-medium text-[#666666] font-sans",children:"Provider"}),e.jsx("select",{value:k,onChange:t=>{j(t.target.value),t.target.blur()},className:"bg-white border border-[#d4d2cd] rounded px-3 py-2 pr-8 text-sm text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans appearance-none bg-[length:16px_16px] bg-[right_8px_center] bg-no-repeat",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")`},children:F.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))})]}),e.jsxs("div",{children:[e.jsx("label",{className:a.sectionTitle,children:"Note"}),e.jsx("input",{type:"text",value:P,onChange:t=>E(t.target.value),onKeyDown:t=>{t.key==="Enter"&&P.trim()&&!c.isPending&&c.mutate({toolName:k,note:P})},placeholder:"Reusable lesson or pattern...",className:a.input})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>c.mutate({toolName:k,note:P}),disabled:!P.trim()||c.isPending,className:a.primaryBtn,children:c.isPending?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save"}),e.jsx("button",{onClick:()=>{A(!1),E(""),j("orchestrator")},disabled:c.isPending,className:a.secondaryBtn,children:"Cancel"})]})]}):e.jsx("button",{onClick:()=>A(!0),className:a.secondaryBtn,children:"+ Add Memory"}),M.size===0&&e.jsx("div",{className:a.settingsCard,children:e.jsx("p",{className:"text-sm text-[#666666]",children:"No memories yet. The agent will save notes here as it learns from tool usage."})}),[...M.entries()].map(([t,y])=>{const C=y.length>$;return e.jsxs("div",{className:a.settingsCard,children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("span",{className:`${a.badge} ${a.badgeVariants.info}`,children:t}),C&&e.jsxs("span",{className:"text-xs text-[#666666]",children:[y.length," memories"]}),e.jsx("button",{onClick:()=>h.mutate({toolName:t}),disabled:h.isPending||y.length===0,className:`ml-auto ${a.outlineBtn}`,title:"Optimize memories with AI",children:h.isPending&&h.variables?.toolName===t?e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(T,{size:"sm"})," Optimizing..."]}):"Optimize"})]}),e.jsx("ul",{className:`space-y-2${C?" max-h-64 overflow-y-auto":""}`,children:y.map(w=>e.jsx(pe,{memory:w,...D},w.id))})]},t)}),e.jsx(K,{open:u!==null,title:"Delete memory",message:"Delete this agent memory?",onConfirm:()=>{u!==null&&x.mutate({id:u}),b(null)},onCancel:()=>b(null)}),e.jsx(K,{open:d!==null,title:"Optimization Complete",message:d&&e.jsxs("div",{className:"space-y-1.5 text-sm text-[#444444]",children:[e.jsxs("p",{children:["Kept: ",e.jsx("span",{className:"font-medium",children:d.kept})]}),e.jsxs("p",{children:["Updated: ",e.jsx("span",{className:"font-medium",children:d.updated})]}),e.jsxs("p",{children:["Deleted: ",e.jsx("span",{className:"font-medium",children:d.deleted})]})]}),confirmLabel:"OK",cancelLabel:null,confirmStyle:"primary",onConfirm:()=>l(null),onCancel:()=>l(null)})]})}const G=["Pacific/Auckland","Australia/Sydney","Asia/Tokyo","Asia/Shanghai","Asia/Kolkata","Asia/Dubai","Europe/Moscow","Europe/Berlin","UTC","Europe/London","America/Sao_Paulo","America/New_York","America/Chicago","America/Denver","America/Los_Angeles","Pacific/Honolulu"];function V(s){try{const n=new Intl.DateTimeFormat("en-US",{timeZone:s,timeZoneName:"short"}).formatToParts(new Date).find(i=>i.type==="timeZoneName")?.value??"",o=new Intl.DateTimeFormat("en-US",{timeZone:s,timeZoneName:"shortOffset"}).formatToParts(new Date).find(i=>i.type==="timeZoneName")?.value??"";return`${n} (${o})`}catch{return s}}const he=new Map(G.map(s=>[s,V(s)]));function fe(){const s=p.useUtils(),{data:n,isLoading:o}=p.settings.getAgentConfig.useQuery(),i=p.settings.saveAgentConfig.useMutation({onSuccess:()=>{s.settings.getAgentConfig.invalidate(),b(!1)}}),[c,m]=g.useState(""),[x,d]=g.useState(100),[l,h]=g.useState(50),[r,f]=g.useState(1024),[v,N]=g.useState(1e4),[u,b]=g.useState(!1);if(g.useEffect(()=>{n&&(m(n.timezone),d(n.directModeMaxSteps),h(n.subAgentMaxSteps),f(n.thinkingBudgetGoogle),N(n.thinkingBudgetAnthropic),b(!1))},[n]),o||!n)return null;const S=u&&(c!==n.timezone||x!==n.directModeMaxSteps||l!==n.subAgentMaxSteps||r!==n.thinkingBudgetGoogle||v!==n.thinkingBudgetAnthropic);function A(){i.mutate({timezone:c,directModeMaxSteps:x,subAgentMaxSteps:l,thinkingBudgetGoogle:r,thinkingBudgetAnthropic:v})}function k(){b(!0)}return e.jsx("div",{className:"max-w-lg",children:e.jsxs("div",{className:a.settingsCard,children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Timezone"}),e.jsxs("select",{value:c,onChange:j=>{m(j.target.value),k()},className:"appearance-none bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans",children:[G.map(j=>e.jsx("option",{value:j,children:he.get(j)??j},j)),!G.includes(c)&&e.jsx("option",{value:c,children:V(c)})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Direct mode max steps"}),e.jsx("input",{type:"number",min:1,max:500,value:x,onChange:j=>{d(Number(j.target.value)),k()},className:"w-20 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Sub-agent max steps"}),e.jsx("input",{type:"number",min:1,max:500,value:l,onChange:j=>{h(Number(j.target.value)),k()},className:"w-20 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Google thinking budget"}),e.jsx("input",{type:"number",min:0,max:1e5,step:256,value:r,onChange:j=>{f(Number(j.target.value)),k()},className:"w-24 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"}),e.jsx("span",{className:"text-[10px] text-[#9c9890]",children:"tokens"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Anthropic thinking budget"}),e.jsx("input",{type:"number",min:0,max:1e5,step:1e3,value:v,onChange:j=>{N(Number(j.target.value)),k()},className:"w-24 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"}),e.jsx("span",{className:"text-[10px] text-[#9c9890]",children:"tokens"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-4 pt-3 border-t border-[#e8e6e1]",children:[e.jsx("button",{onClick:A,disabled:!S||i.isPending,className:a.primaryBtn,children:i.isPending?"Saving...":"Save"}),i.isSuccess&&!u&&e.jsx("span",{className:a.successText,children:"Saved"})]})]})})}function be(){return e.jsxs("div",{className:a.page,children:[e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"LLM API Keys"}),e.jsx(ie,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Data Providers"}),e.jsx(xe,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Agent Configuration"}),e.jsx(fe,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Agent Memory"}),e.jsx(ge,{})]})]})}export{be as Settings};
1
+ import{t as p,r as g,j as e,S as T,c as _,b as a,C as K,A as B,u as ee,d as se,W as q,M as te}from"./index-BBsv6iUg.js";import{S as ne}from"./SearchableSelect-CO0mH-rf.js";function Z({type:s,label:n}){const o=p.useUtils(),{data:i,isLoading:c}=p.settings.getApiKey.useQuery(s),m=p.settings.saveApiKey.useMutation({onSuccess:()=>o.settings.getApiKey.invalidate(s)}),x=p.settings.removeApiKey.useMutation({onSuccess:()=>o.settings.getApiKey.invalidate(s)}),[d,l]=g.useState(!1),[h,r]=g.useState(""),[f,v]=g.useState(!1);async function N(){await m.mutateAsync({type:s,apiKey:h}),r(""),l(!1)}async function u(){await x.mutateAsync(s),l(!1),v(!1)}return c?e.jsx("div",{className:"px-4 py-3",children:e.jsx(T,{size:"sm"})}):e.jsxs("div",{className:"px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("span",{className:"text-sm font-medium w-24 shrink-0",children:n}),e.jsx("span",{className:a.maskedKey+" flex-1 truncate",style:i?{color:_.success}:void 0,children:i?i.maskedApiKey:"Not configured"}),!d&&e.jsx("button",{onClick:()=>{r(""),l(!0)},className:a.secondaryBtn+" text-xs px-3 py-1",children:i?"Edit":"Add"})]}),d&&e.jsxs("div",{className:"mt-3 pt-3 border-t border-[#e8e6e1] space-y-2",children:[e.jsx("input",{type:h?"password":"text",value:h,onChange:b=>r(b.target.value),placeholder:i?.maskedApiKey??"Enter API key",className:a.input}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:N,disabled:!h||m.isPending,className:a.primaryBtn+" text-xs px-3 py-1",children:m.isPending?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save"}),e.jsx("button",{onClick:()=>l(!1),disabled:m.isPending,className:a.secondaryBtn+" text-xs px-3 py-1",children:"Cancel"}),i&&e.jsx("button",{onClick:()=>v(!0),disabled:x.isPending,className:a.dangerBtn+" text-xs px-3 py-1",children:"Remove"})]})]}),e.jsx(K,{open:f,title:"Remove API key",message:`Remove the ${n} API key?`,confirmLabel:"Remove",onConfirm:u,onCancel:()=>v(!1)})]})}function ae({configuredProviders:s}){return e.jsx("div",{className:"border-t border-[#e8e6e1]",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:a.tableHeaderRow,children:[e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2",children:"Model"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2",children:"Provider"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2 text-right",children:"Input ($/M)"}),e.jsx("th",{className:a.tableHeaderCell+" text-xs py-2 text-right",children:"Output ($/M)"})]})}),e.jsx("tbody",{className:"divide-y divide-[#e8e6e1]",children:B.map(n=>{const o=s.has(n.provider);return e.jsxs("tr",{style:o?{color:_.success}:{color:_.inkFaint},children:[e.jsx("td",{className:"px-4 py-2 font-mono text-xs",children:n.modelId}),e.jsx("td",{className:"px-4 py-2 capitalize",children:n.provider}),e.jsxs("td",{className:"px-4 py-2 text-right font-mono text-xs",children:["$",n.inputPrice.toFixed(2)]}),e.jsxs("td",{className:"px-4 py-2 text-right font-mono text-xs",children:["$",n.outputPrice.toFixed(2)]})]},n.modelId)})})]})})}function ie(){const[s,n]=g.useState(!1),o=ee();return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"max-w-lg bg-white border border-[#d4d2cd] rounded divide-y divide-[#e8e6e1] overflow-hidden",children:[e.jsx(Z,{type:"anthropic",label:"Anthropic"}),e.jsx(Z,{type:"google",label:"Google AI"})]}),e.jsxs("div",{className:"bg-white border border-[#d4d2cd] rounded overflow-hidden",children:[e.jsxs("button",{onClick:()=>n(!s),className:"w-full flex items-center justify-between px-4 py-3 text-sm text-[#666666] hover:bg-[#f5f4f0] transition-colors font-sans",children:[e.jsx("span",{className:"font-medium",children:"Model Pricing"}),e.jsx("span",{className:"text-xs transition-transform duration-200",style:{transform:s?"rotate(180deg)":"rotate(0deg)"},children:"▾"})]}),s&&e.jsx(ae,{configuredProviders:o})]})]})}function oe({status:s,label:n}){return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`inline-block h-2 w-2 rounded-full ${a.statusDot[s]}`}),n&&e.jsx("span",{className:a.statusLabel,children:n})]})}const U=`${B[1]?.provider??B[0].provider}:${B[1]?.modelId??B[0].modelId}`;function re({providerType:s}){const n=p.useUtils(),{data:o,isLoading:i}=p.settings.getSubAgentModel.useQuery(s),c=p.settings.saveSubAgentModel.useMutation({onSuccess:()=>n.settings.getSubAgentModel.invalidate(s)}),m=se(),x=o?`${o.provider}:${o.modelId}`:U,d=m.some(r=>`${r.provider}:${r.modelId}`===x),l=d?x:`${m[0].provider}:${m[0].modelId}`;if(g.useEffect(()=>{!i&&o&&!d&&c.mutate({providerType:s,model:null})},[i,d]),i)return null;function h(r){if(r===U&&!o)return;const f=m.find(v=>`${v.provider}:${v.modelId}`===r);f&&(r===U?c.mutate({providerType:s,model:null}):c.mutate({providerType:s,model:{provider:f.provider,modelId:f.modelId}}))}return e.jsxs("div",{className:"flex items-center gap-3 mt-3 pt-3 border-t border-[#d4d2cd]",children:[e.jsx("span",{className:"text-xs text-[#666666] whitespace-nowrap w-14",children:"Model"}),e.jsxs("div",{className:"relative flex-1",children:[e.jsx("select",{value:l,onChange:r=>h(r.target.value),disabled:c.isPending,className:"w-full appearance-none bg-white border border-[#d4d2cd] rounded px-3 py-2 pr-7 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans disabled:opacity-50 disabled:cursor-not-allowed",children:m.map(r=>e.jsx("option",{value:`${r.provider}:${r.modelId}`,children:r.modelId},`${r.provider}:${r.modelId}`))}),e.jsx("span",{className:"pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 text-[#9c9890] text-[10px]",children:"▾"})]})]})}function le({existingConfig:s}){const n=p.useUtils(),{data:o,isLoading:i}=p.provider.listGcpProjects.useQuery(void 0,{staleTime:q.updateCheckStaleTimeMs}),c=p.provider.saveConfig.useMutation({onSuccess:()=>{n.provider.getConfigs.invalidate(),n.provider.list.invalidate()}}),m=g.useMemo(()=>(o??[]).map(l=>({value:l.projectId,label:l.name?`${l.name} (${l.projectId})`:l.projectId,displayLabel:l.name||l.projectId})),[o]),x=s.projectId??"";function d(l){l!==x&&c.mutate({type:"gcp",config:{...s,projectId:l}})}return e.jsxs("div",{className:"flex items-center gap-3 mt-3 pt-3 border-t border-[#d4d2cd]",children:[e.jsx("span",{className:"text-xs text-[#666666] whitespace-nowrap w-14",children:"Project"}),e.jsx("div",{className:"flex-1",children:e.jsx(ne,{options:m,value:x,onChange:d,placeholder:i?"Loading...":"Select project...",storageKey:"gcp-projectId",fitContent:!0,disabled:i||c.isPending})})]})}function ce({checked:s,onChange:n,disabled:o,"aria-label":i}){return e.jsx("button",{type:"button",role:"switch","aria-checked":s,"aria-label":i,disabled:o,onClick:()=>n(!s),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${s?"bg-[#2b5ea7]":"bg-[#d4d2cd]"} ${o?"opacity-50 cursor-not-allowed":"cursor-pointer"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${s?"translate-x-[18px]":"translate-x-[3px]"}`})})}function de({type:s,label:n,connected:o,configured:i,onConfigure:c,onToggle:m,togglePending:x,toggleError:d,pingError:l,hasConfigFields:h,existingConfig:r}){const f=i||o;return e.jsxs("div",{className:a.settingsCard+" w-80",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ce,{checked:i,onChange:v=>{v&&h?c():m(v)},disabled:x}),e.jsx("span",{className:"font-medium",children:n}),f?e.jsx(oe,{status:o?"connected":"disconnected"}):e.jsx("span",{className:"text-xs opacity-40",children:"Not configured"})]}),e.jsx("button",{onClick:c,className:`${a.secondaryBtn} ${i&&h?"":"invisible"}`,children:"Edit"})]}),f&&e.jsx(re,{providerType:s}),f&&s==="gcp"&&r&&e.jsx(le,{existingConfig:r}),l&&!o&&e.jsx("p",{className:a.warnText+" mt-2",children:l}),d&&e.jsx("p",{className:a.errorText+" mt-2",children:d})]})}function H(s,n){return!!s&&!!n&&s===n}function ue({open:s,label:n,configFields:o,formValues:i,onFormChange:c,existingConfig:m,saveResult:x,savePending:d,configured:l,onSave:h,onClose:r,onRemove:f}){const v=o.some(u=>u.required!==!1&&u.type==="password"&&H(i[u.key],m?.[u.key])),N=o.some(u=>u.required!==!1&&!i[u.key]);return e.jsxs(te,{open:s,onClose:r,children:[e.jsxs("div",{className:a.dialogTitle+" text-base mb-4",children:["Configure ",n]}),e.jsx("div",{className:"space-y-3",children:o.map(u=>{const b=u.type==="password"&&H(i[u.key],m?.[u.key]);return e.jsxs("div",{children:[e.jsxs("label",{className:a.sectionTitle,children:[u.label,u.required===!1&&e.jsx("span",{className:"text-xs opacity-40 ml-1",children:"(optional)"})]}),e.jsx("input",{type:u.type==="password"&&i[u.key]&&!b?"password":"text",value:i[u.key]??"",onChange:S=>c(u.key,S.target.value),onFocus:S=>{b&&S.target.select()},placeholder:`Enter ${u.label.toLowerCase()}`,className:`${a.input} ${b?"!text-[#999] !border-l-2 !border-l-amber-400":""}`})]},u.key)})}),e.jsxs("div",{className:"flex items-center gap-2 mt-4 pt-4 border-t border-[#d4d2cd]",children:[e.jsx("button",{onClick:h,disabled:N||v||d,className:a.primaryBtn,children:d?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save & Test"}),e.jsx("button",{onClick:r,disabled:d,className:a.secondaryBtn,children:"Cancel"}),l&&e.jsx("button",{onClick:f,disabled:d,className:a.dangerBtn,children:"Remove"})]}),v&&!d&&!x&&e.jsx("p",{className:"mt-2 text-xs text-amber-600",children:"Re-enter highlighted fields to save"}),x&&e.jsx("div",{className:`mt-3 ${x.success?a.successText:a.errorText}`,children:x.success?"Connected successfully":x.error||"Connection failed"})]})}function me(s,n){const o={};for(const i of s)o[i.key]=n?.[i.key]??"";return o}function xe(){const s=p.useUtils(),{data:n,isLoading:o}=p.provider.list.useQuery(),{data:i,isLoading:c}=p.provider.getConfigs.useQuery(),{data:m,isLoading:x}=p.provider.getRegisteredTypes.useQuery(),{data:d}=p.provider.ping.useQuery(void 0,{staleTime:q.sessionStaleTimeMs,refetchOnMount:"always"}),l=p.provider.saveConfig.useMutation({onSuccess:()=>{s.provider.list.invalidate(),s.provider.getConfigs.invalidate(),s.provider.ping.invalidate()}}),h=p.provider.removeConfig.useMutation({onSuccess:()=>{s.provider.list.invalidate(),s.provider.getConfigs.invalidate(),s.provider.ping.invalidate()}}),[r,f]=g.useState(null),[v,N]=g.useState({}),[u,b]=g.useState(null),[S,A]=g.useState(null),[k,j]=g.useState({});function P(t){const y=i?.find(w=>w.type===t),C=m?.find(w=>w.type===t);N(me(C?.configFields??[],y?.config)),b(null),f(t)}function E(){f(null),N({}),b(null)}async function R(t){b(null);try{const y=await l.mutateAsync({type:t,config:v});b(y),y.success&&(f(null),N({}))}catch{b({success:!1,error:"Failed to save configuration"})}}async function O(t,y){if(y){j(C=>{const w={...C};return delete w[t],w});try{const C=await l.mutateAsync({type:t,config:{}});C.success||j(w=>({...w,[t]:C.error??"Connection failed"}))}catch{j(C=>({...C,[t]:"Failed to save configuration"}))}}else A(t)}async function z(t){await h.mutateAsync(t),f(null),N({}),b(null),A(null)}const F=o||c||x,$=m??[];if(F)return e.jsx(T,{size:"lg",centered:!0});const M=r?$.find(t=>t.type===r):null,D=r?i?.find(t=>t.type===r):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"flex flex-wrap gap-3",children:$.map(({type:t,label:y,configFields:C})=>{const w=n?.find(I=>I.type===t),Q=i?.find(I=>I.type===t),W=!!Q,L=d?.find(I=>I.type===t),Y=L?L.ok:!!w?.connected,J=C.length>0,X=L&&!L.ok?L.error:void 0;return e.jsx(de,{type:t,label:y,connected:Y,configured:W,onConfigure:()=>P(t),onToggle:I=>O(t,I),togglePending:l.isPending||h.isPending,toggleError:k[t],pingError:X,hasConfigFields:J,existingConfig:Q?.config},t)})}),r&&M&&e.jsx(ue,{open:!0,label:M.label,configFields:M.configFields,formValues:v,onFormChange:(t,y)=>N(C=>({...C,[t]:y})),existingConfig:D?.config??null,saveResult:u,savePending:l.isPending,configured:!!D,onSave:()=>R(r),onClose:E,onRemove:()=>A(r)}),e.jsx(K,{open:S!==null,title:"Disable provider",message:`Disable ${$.find(t=>t.type===S)?.label??S}?`,confirmLabel:"Disable",onConfirm:()=>{S&&z(S)},onCancel:()=>A(null)})]})}function pe({memory:s,editingId:n,editNote:o,setEditNote:i,onUpdate:c,onCancelEdit:m,onStartEdit:x,onDelete:d,updatePending:l,removePending:h}){return e.jsxs("li",{className:"flex items-start justify-between gap-3 py-1.5 border-b border-[#d4d2cd] last:border-b-0",children:[e.jsx("div",{className:"flex-1 min-w-0",children:n===s.id?e.jsxs("div",{className:"space-y-2",children:[e.jsx("input",{type:"text",value:o,onChange:r=>i(r.target.value),className:a.input}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>c(s.id),disabled:!o||l,className:a.primaryBtn,children:"Save"}),e.jsx("button",{onClick:m,disabled:l,className:a.secondaryBtn,children:"Cancel"})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm text-[#444444]",children:s.note}),s.reviewNote&&e.jsx("p",{className:"text-xs text-[#9c9890] italic mt-0.5",children:s.reviewNote}),e.jsx("p",{className:"text-xs text-[#666666] mt-0.5",children:new Date(s.createdAt*1e3).toLocaleDateString()})]})}),n!==s.id&&e.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[e.jsx("button",{onClick:()=>x(s.id,s.note),className:a.secondaryBtn,children:"Edit"}),e.jsx("button",{onClick:()=>d(s.id),disabled:h,className:a.dangerBtn,children:"Delete"})]})]})}function ge(){const s=p.useUtils(),{data:n,isLoading:o}=p.memory.list.useQuery(),{data:i}=p.provider.getRegisteredTypes.useQuery(),c=p.memory.create.useMutation({onSuccess:()=>{s.memory.list.invalidate(),E(""),j("orchestrator"),A(!1)}}),m=p.memory.update.useMutation({onSuccess:()=>s.memory.list.invalidate()}),x=p.memory.remove.useMutation({onSuccess:()=>s.memory.list.invalidate()}),[d,l]=g.useState(null),h=p.memory.optimize.useMutation({onSuccess:t=>{s.memory.list.invalidate(),l(t.stats)}}),[r,f]=g.useState(null),[v,N]=g.useState(""),[u,b]=g.useState(null),[S,A]=g.useState(!1),[k,j]=g.useState("orchestrator"),[P,E]=g.useState("");function R(t,y){f(t),N(y)}async function O(t){await m.mutateAsync({id:t,note:v}),f(null),N("")}function z(){f(null),N("")}const F=[{value:"orchestrator",label:"Orchestrator"},...(i??[]).map(t=>({value:t.type,label:t.label}))],$=5;if(o)return e.jsx(T,{size:"lg",centered:!0});const M=new Map;if(n)for(const t of n){const y=M.get(t.toolName)??[];y.push(t),M.set(t.toolName,y)}const D={editingId:r,editNote:v,setEditNote:N,onUpdate:O,onCancelEdit:z,onStartEdit:R,onDelete:t=>b(t),updatePending:m.isPending,removePending:x.isPending};return e.jsxs("div",{className:"space-y-4",children:[S?e.jsxs("div",{className:a.settingsCard+" space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("label",{className:"text-sm font-medium text-[#666666] font-sans",children:"Provider"}),e.jsx("select",{value:k,onChange:t=>{j(t.target.value),t.target.blur()},className:"bg-white border border-[#d4d2cd] rounded px-3 py-2 pr-8 text-sm text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans appearance-none bg-[length:16px_16px] bg-[right_8px_center] bg-no-repeat",style:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")`},children:F.map(t=>e.jsx("option",{value:t.value,children:t.label},t.value))})]}),e.jsxs("div",{children:[e.jsx("label",{className:a.sectionTitle,children:"Note"}),e.jsx("input",{type:"text",value:P,onChange:t=>E(t.target.value),onKeyDown:t=>{t.key==="Enter"&&P.trim()&&!c.isPending&&c.mutate({toolName:k,note:P})},placeholder:"Reusable lesson or pattern...",className:a.input})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>c.mutate({toolName:k,note:P}),disabled:!P.trim()||c.isPending,className:a.primaryBtn,children:c.isPending?e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(T,{size:"sm"})," Saving..."]}):"Save"}),e.jsx("button",{onClick:()=>{A(!1),E(""),j("orchestrator")},disabled:c.isPending,className:a.secondaryBtn,children:"Cancel"})]})]}):e.jsx("button",{onClick:()=>A(!0),className:a.secondaryBtn,children:"+ Add Memory"}),M.size===0&&e.jsx("div",{className:a.settingsCard,children:e.jsx("p",{className:"text-sm text-[#666666]",children:"No memories yet. The agent will save notes here as it learns from tool usage."})}),[...M.entries()].map(([t,y])=>{const C=y.length>$;return e.jsxs("div",{className:a.settingsCard,children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("span",{className:`${a.badge} ${a.badgeVariants.info}`,children:t}),C&&e.jsxs("span",{className:"text-xs text-[#666666]",children:[y.length," memories"]}),e.jsx("button",{onClick:()=>h.mutate({toolName:t}),disabled:h.isPending||y.length===0,className:`ml-auto ${a.outlineBtn}`,title:"Optimize memories with AI",children:h.isPending&&h.variables?.toolName===t?e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(T,{size:"sm"})," Optimizing..."]}):"Optimize"})]}),e.jsx("ul",{className:`space-y-2${C?" max-h-64 overflow-y-auto":""}`,children:y.map(w=>e.jsx(pe,{memory:w,...D},w.id))})]},t)}),e.jsx(K,{open:u!==null,title:"Delete memory",message:"Delete this agent memory?",onConfirm:()=>{u!==null&&x.mutate({id:u}),b(null)},onCancel:()=>b(null)}),e.jsx(K,{open:d!==null,title:"Optimization Complete",message:d&&e.jsxs("div",{className:"space-y-1.5 text-sm text-[#444444]",children:[e.jsxs("p",{children:["Kept: ",e.jsx("span",{className:"font-medium",children:d.kept})]}),e.jsxs("p",{children:["Updated: ",e.jsx("span",{className:"font-medium",children:d.updated})]}),e.jsxs("p",{children:["Deleted: ",e.jsx("span",{className:"font-medium",children:d.deleted})]})]}),confirmLabel:"OK",cancelLabel:null,confirmStyle:"primary",onConfirm:()=>l(null),onCancel:()=>l(null)})]})}const G=["Pacific/Auckland","Australia/Sydney","Asia/Tokyo","Asia/Shanghai","Asia/Kolkata","Asia/Dubai","Europe/Moscow","Europe/Berlin","UTC","Europe/London","America/Sao_Paulo","America/New_York","America/Chicago","America/Denver","America/Los_Angeles","Pacific/Honolulu"];function V(s){try{const n=new Intl.DateTimeFormat("en-US",{timeZone:s,timeZoneName:"short"}).formatToParts(new Date).find(i=>i.type==="timeZoneName")?.value??"",o=new Intl.DateTimeFormat("en-US",{timeZone:s,timeZoneName:"shortOffset"}).formatToParts(new Date).find(i=>i.type==="timeZoneName")?.value??"";return`${n} (${o})`}catch{return s}}const he=new Map(G.map(s=>[s,V(s)]));function fe(){const s=p.useUtils(),{data:n,isLoading:o}=p.settings.getAgentConfig.useQuery(),i=p.settings.saveAgentConfig.useMutation({onSuccess:()=>{s.settings.getAgentConfig.invalidate(),b(!1)}}),[c,m]=g.useState(""),[x,d]=g.useState(100),[l,h]=g.useState(50),[r,f]=g.useState(1024),[v,N]=g.useState(1e4),[u,b]=g.useState(!1);if(g.useEffect(()=>{n&&(m(n.timezone),d(n.directModeMaxSteps),h(n.subAgentMaxSteps),f(n.thinkingBudgetGoogle),N(n.thinkingBudgetAnthropic),b(!1))},[n]),o||!n)return null;const S=u&&(c!==n.timezone||x!==n.directModeMaxSteps||l!==n.subAgentMaxSteps||r!==n.thinkingBudgetGoogle||v!==n.thinkingBudgetAnthropic);function A(){i.mutate({timezone:c,directModeMaxSteps:x,subAgentMaxSteps:l,thinkingBudgetGoogle:r,thinkingBudgetAnthropic:v})}function k(){b(!0)}return e.jsx("div",{className:"max-w-lg",children:e.jsxs("div",{className:a.settingsCard,children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Timezone"}),e.jsxs("select",{value:c,onChange:j=>{m(j.target.value),k()},className:"appearance-none bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-sans",children:[G.map(j=>e.jsx("option",{value:j,children:he.get(j)??j},j)),!G.includes(c)&&e.jsx("option",{value:c,children:V(c)})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Direct mode max steps"}),e.jsx("input",{type:"number",min:1,max:500,value:x,onChange:j=>{d(Number(j.target.value)),k()},className:"w-20 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Sub-agent max steps"}),e.jsx("input",{type:"number",min:1,max:500,value:l,onChange:j=>{h(Number(j.target.value)),k()},className:"w-20 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Google thinking budget"}),e.jsx("input",{type:"number",min:0,max:1e5,step:256,value:r,onChange:j=>{f(Number(j.target.value)),k()},className:"w-24 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"}),e.jsx("span",{className:"text-[10px] text-[#9c9890]",children:"tokens"})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("label",{className:"text-xs text-[#666666] w-44 shrink-0",children:"Anthropic thinking budget"}),e.jsx("input",{type:"number",min:0,max:1e5,step:1e3,value:v,onChange:j=>{N(Number(j.target.value)),k()},className:"w-24 bg-white border border-[#d4d2cd] rounded px-3 py-1.5 text-xs text-[#2c2c2c] focus:outline-none focus:border-[#2b5ea7] font-mono"}),e.jsx("span",{className:"text-[10px] text-[#9c9890]",children:"tokens"})]})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-4 pt-3 border-t border-[#e8e6e1]",children:[e.jsx("button",{onClick:A,disabled:!S||i.isPending,className:a.primaryBtn,children:i.isPending?"Saving...":"Save"}),i.isSuccess&&!u&&e.jsx("span",{className:a.successText,children:"Saved"})]})]})})}function be(){return e.jsxs("div",{className:a.page,children:[e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"LLM API Keys"}),e.jsx(ie,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Data Providers"}),e.jsx(xe,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Agent Configuration"}),e.jsx(fe,{})]}),e.jsxs("div",{children:[e.jsx("h3",{className:a.sectionTitle,children:"Agent Memory"}),e.jsx(ge,{})]})]})}export{be as Settings};
@@ -1 +1 @@
1
- import{R as p,L as x,A as d}from"./mermaid-GHXKKRXX-8orKVVwC.js";import{r,j as f}from"./index-mD-B-NKT.js";import"./SearchableSelect-B7Oz7kCC.js";var j=({code:i,language:e,raw:t,className:m,startLine:u,lineNumbers:n,...g})=>{let{shikiTheme:o}=r.useContext(p),a=x(),[h,s]=r.useState(t);return r.useEffect(()=>{if(!a){s(t);return}let l=a.highlight({code:i,language:e,themes:o},c=>{s(c)});l&&s(l)},[i,e,o,a,t]),f.jsx(d,{className:m,language:e,lineNumbers:n,result:h,startLine:u,...g})};export{j as HighlightedCodeBlockBody};
1
+ import{R as p,L as x,A as d}from"./mermaid-GHXKKRXX-DMLLa87K.js";import{r,j as f}from"./index-BBsv6iUg.js";import"./SearchableSelect-CO0mH-rf.js";var j=({code:i,language:e,raw:t,className:m,startLine:u,lineNumbers:n,...g})=>{let{shikiTheme:o}=r.useContext(p),a=x(),[h,s]=r.useState(t);return r.useEffect(()=>{if(!a){s(t);return}let l=a.highlight({code:i,language:e,themes:o},c=>{s(c)});l&&s(l)},[i,e,o,a,t]),f.jsx(d,{className:m,language:e,lineNumbers:n,result:h,startLine:u,...g})};export{j as HighlightedCodeBlockBody};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid-GHXKKRXX-8orKVVwC.js","assets/SearchableSelect-B7Oz7kCC.js","assets/mermaid-GHXKKRXX-B9Z7D9kT.css","assets/Settings-6i0rgfI8.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid-GHXKKRXX-DMLLa87K.js","assets/SearchableSelect-CO0mH-rf.js","assets/mermaid-GHXKKRXX-B9Z7D9kT.css","assets/Settings-BFymfzWO.js"])))=>i.map(i=>d[i]);
2
2
  function Tb(n,a){for(var i=0;i<a.length;i++){const l=a[i];if(typeof l!="string"&&!Array.isArray(l)){for(const s in l)if(s!=="default"&&!(s in n)){const f=Object.getOwnPropertyDescriptor(l,s);f&&Object.defineProperty(n,s,f.get?f:{enumerable:!0,get:()=>l[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const f of s)if(f.type==="childList")for(const d of f.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function i(s){const f={};return s.integrity&&(f.integrity=s.integrity),s.referrerPolicy&&(f.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?f.credentials="include":s.crossOrigin==="anonymous"?f.credentials="omit":f.credentials="same-origin",f}function l(s){if(s.ep)return;s.ep=!0;const f=i(s);fetch(s.href,f)}})();function wb(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Jo={exports:{}},vr={};var em;function Ab(){if(em)return vr;em=1;var n=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function i(l,s,f){var d=null;if(f!==void 0&&(d=""+f),s.key!==void 0&&(d=""+s.key),"key"in s){f={};for(var h in s)h!=="key"&&(f[h]=s[h])}else f=s;return s=f.ref,{$$typeof:n,type:l,key:d,ref:s!==void 0?s:null,props:f}}return vr.Fragment=a,vr.jsx=i,vr.jsxs=i,vr}var tm;function jb(){return tm||(tm=1,Jo.exports=Ab()),Jo.exports}var Q=jb(),Fo={exports:{}},ce={};var nm;function Mb(){if(nm)return ce;nm=1;var n=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),f=Symbol.for("react.consumer"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),y=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),A=Symbol.iterator;function Z(_){return _===null||typeof _!="object"?null:(_=A&&_[A]||_["@@iterator"],typeof _=="function"?_:null)}var G={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},H=Object.assign,le={};function se(_,D,k){this.props=_,this.context=D,this.refs=le,this.updater=k||G}se.prototype.isReactComponent={},se.prototype.setState=function(_,D){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,D,"setState")},se.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function Me(){}Me.prototype=se.prototype;function me(_,D,k){this.props=_,this.context=D,this.refs=le,this.updater=k||G}var ve=me.prototype=new Me;ve.constructor=me,H(ve,se.prototype),ve.isPureReactComponent=!0;var K=Array.isArray;function Y(){}var M={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function I(_,D,k){var B=k.ref;return{$$typeof:n,type:_,key:D,ref:B!==void 0?B:null,props:k}}function ae(_,D){return I(_.type,D,_.props)}function ue(_){return typeof _=="object"&&_!==null&&_.$$typeof===n}function J(_){var D={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(k){return D[k]})}var de=/\/+/g;function fe(_,D){return typeof _=="object"&&_!==null&&_.key!=null?J(""+_.key):D.toString(36)}function F(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(Y,Y):(_.status="pending",_.then(function(D){_.status==="pending"&&(_.status="fulfilled",_.value=D)},function(D){_.status==="pending"&&(_.status="rejected",_.reason=D)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function E(_,D,k,B,ee){var oe=typeof _;(oe==="undefined"||oe==="boolean")&&(_=null);var xe=!1;if(_===null)xe=!0;else switch(oe){case"bigint":case"string":case"number":xe=!0;break;case"object":switch(_.$$typeof){case n:case a:xe=!0;break;case g:return xe=_._init,E(xe(_._payload),D,k,B,ee)}}if(xe)return ee=ee(_),xe=B===""?"."+fe(_,0):B,K(ee)?(k="",xe!=null&&(k=xe.replace(de,"$&/")+"/"),E(ee,D,k,"",function(Eu){return Eu})):ee!=null&&(ue(ee)&&(ee=ae(ee,k+(ee.key==null||_&&_.key===ee.key?"":(""+ee.key).replace(de,"$&/")+"/")+xe)),D.push(ee)),1;xe=0;var ht=B===""?".":B+":";if(K(_))for(var Pe=0;Pe<_.length;Pe++)B=_[Pe],oe=ht+fe(B,Pe),xe+=E(B,D,k,oe,ee);else if(Pe=Z(_),typeof Pe=="function")for(_=Pe.call(_),Pe=0;!(B=_.next()).done;)B=B.value,oe=ht+fe(B,Pe++),xe+=E(B,D,k,oe,ee);else if(oe==="object"){if(typeof _.then=="function")return E(F(_),D,k,B,ee);throw D=String(_),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.")}return xe}function q(_,D,k){if(_==null)return _;var B=[],ee=0;return E(_,B,"","",function(oe){return D.call(k,oe,ee++)}),B}function L(_){if(_._status===-1){var D=_._result;D=D(),D.then(function(k){(_._status===0||_._status===-1)&&(_._status=1,_._result=k)},function(k){(_._status===0||_._status===-1)&&(_._status=2,_._result=k)}),_._status===-1&&(_._status=0,_._result=D)}if(_._status===1)return _._result.default;throw _._result}var ne=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var D=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(D))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},ye={map:q,forEach:function(_,D,k){q(_,function(){D.apply(this,arguments)},k)},count:function(_){var D=0;return q(_,function(){D++}),D},toArray:function(_){return q(_,function(D){return D})||[]},only:function(_){if(!ue(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return ce.Activity=O,ce.Children=ye,ce.Component=se,ce.Fragment=i,ce.Profiler=s,ce.PureComponent=me,ce.StrictMode=l,ce.Suspense=m,ce.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=M,ce.__COMPILER_RUNTIME={__proto__:null,c:function(_){return M.H.useMemoCache(_)}},ce.cache=function(_){return function(){return _.apply(null,arguments)}},ce.cacheSignal=function(){return null},ce.cloneElement=function(_,D,k){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var B=H({},_.props),ee=_.key;if(D!=null)for(oe in D.key!==void 0&&(ee=""+D.key),D)!V.call(D,oe)||oe==="key"||oe==="__self"||oe==="__source"||oe==="ref"&&D.ref===void 0||(B[oe]=D[oe]);var oe=arguments.length-2;if(oe===1)B.children=k;else if(1<oe){for(var xe=Array(oe),ht=0;ht<oe;ht++)xe[ht]=arguments[ht+2];B.children=xe}return I(_.type,ee,B)},ce.createContext=function(_){return _={$$typeof:d,_currentValue:_,_currentValue2:_,_threadCount:0,Provider:null,Consumer:null},_.Provider=_,_.Consumer={$$typeof:f,_context:_},_},ce.createElement=function(_,D,k){var B,ee={},oe=null;if(D!=null)for(B in D.key!==void 0&&(oe=""+D.key),D)V.call(D,B)&&B!=="key"&&B!=="__self"&&B!=="__source"&&(ee[B]=D[B]);var xe=arguments.length-2;if(xe===1)ee.children=k;else if(1<xe){for(var ht=Array(xe),Pe=0;Pe<xe;Pe++)ht[Pe]=arguments[Pe+2];ee.children=ht}if(_&&_.defaultProps)for(B in xe=_.defaultProps,xe)ee[B]===void 0&&(ee[B]=xe[B]);return I(_,oe,ee)},ce.createRef=function(){return{current:null}},ce.forwardRef=function(_){return{$$typeof:h,render:_}},ce.isValidElement=ue,ce.lazy=function(_){return{$$typeof:g,_payload:{_status:-1,_result:_},_init:L}},ce.memo=function(_,D){return{$$typeof:y,type:_,compare:D===void 0?null:D}},ce.startTransition=function(_){var D=M.T,k={};M.T=k;try{var B=_(),ee=M.S;ee!==null&&ee(k,B),typeof B=="object"&&B!==null&&typeof B.then=="function"&&B.then(Y,ne)}catch(oe){ne(oe)}finally{D!==null&&k.types!==null&&(D.types=k.types),M.T=D}},ce.unstable_useCacheRefresh=function(){return M.H.useCacheRefresh()},ce.use=function(_){return M.H.use(_)},ce.useActionState=function(_,D,k){return M.H.useActionState(_,D,k)},ce.useCallback=function(_,D){return M.H.useCallback(_,D)},ce.useContext=function(_){return M.H.useContext(_)},ce.useDebugValue=function(){},ce.useDeferredValue=function(_,D){return M.H.useDeferredValue(_,D)},ce.useEffect=function(_,D){return M.H.useEffect(_,D)},ce.useEffectEvent=function(_){return M.H.useEffectEvent(_)},ce.useId=function(){return M.H.useId()},ce.useImperativeHandle=function(_,D,k){return M.H.useImperativeHandle(_,D,k)},ce.useInsertionEffect=function(_,D){return M.H.useInsertionEffect(_,D)},ce.useLayoutEffect=function(_,D){return M.H.useLayoutEffect(_,D)},ce.useMemo=function(_,D){return M.H.useMemo(_,D)},ce.useOptimistic=function(_,D){return M.H.useOptimistic(_,D)},ce.useReducer=function(_,D,k){return M.H.useReducer(_,D,k)},ce.useRef=function(_){return M.H.useRef(_)},ce.useState=function(_){return M.H.useState(_)},ce.useSyncExternalStore=function(_,D,k){return M.H.useSyncExternalStore(_,D,k)},ce.useTransition=function(){return M.H.useTransition()},ce.version="19.2.5",ce}var am;function Dc(){return am||(am=1,Fo.exports=Mb()),Fo.exports}var $=Dc();const Cb=wb($),Rb=Tb({__proto__:null,default:Cb},[$]);var Io={exports:{}},gr={},Wo={exports:{}},ec={};var um;function Db(){return um||(um=1,(function(n){function a(E,q){var L=E.length;E.push(q);e:for(;0<L;){var ne=L-1>>>1,ye=E[ne];if(0<s(ye,q))E[ne]=q,E[L]=ye,L=ne;else break e}}function i(E){return E.length===0?null:E[0]}function l(E){if(E.length===0)return null;var q=E[0],L=E.pop();if(L!==q){E[0]=L;e:for(var ne=0,ye=E.length,_=ye>>>1;ne<_;){var D=2*(ne+1)-1,k=E[D],B=D+1,ee=E[B];if(0>s(k,L))B<ye&&0>s(ee,k)?(E[ne]=ee,E[B]=L,ne=B):(E[ne]=k,E[D]=L,ne=D);else if(B<ye&&0>s(ee,L))E[ne]=ee,E[B]=L,ne=B;else break e}}return q}function s(E,q){var L=E.sortIndex-q.sortIndex;return L!==0?L:E.id-q.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var f=performance;n.unstable_now=function(){return f.now()}}else{var d=Date,h=d.now();n.unstable_now=function(){return d.now()-h}}var m=[],y=[],g=1,O=null,A=3,Z=!1,G=!1,H=!1,le=!1,se=typeof setTimeout=="function"?setTimeout:null,Me=typeof clearTimeout=="function"?clearTimeout:null,me=typeof setImmediate<"u"?setImmediate:null;function ve(E){for(var q=i(y);q!==null;){if(q.callback===null)l(y);else if(q.startTime<=E)l(y),q.sortIndex=q.expirationTime,a(m,q);else break;q=i(y)}}function K(E){if(H=!1,ve(E),!G)if(i(m)!==null)G=!0,Y||(Y=!0,J());else{var q=i(y);q!==null&&F(K,q.startTime-E)}}var Y=!1,M=-1,V=5,I=-1;function ae(){return le?!0:!(n.unstable_now()-I<V)}function ue(){if(le=!1,Y){var E=n.unstable_now();I=E;var q=!0;try{e:{G=!1,H&&(H=!1,Me(M),M=-1),Z=!0;var L=A;try{t:{for(ve(E),O=i(m);O!==null&&!(O.expirationTime>E&&ae());){var ne=O.callback;if(typeof ne=="function"){O.callback=null,A=O.priorityLevel;var ye=ne(O.expirationTime<=E);if(E=n.unstable_now(),typeof ye=="function"){O.callback=ye,ve(E),q=!0;break t}O===i(m)&&l(m),ve(E)}else l(m);O=i(m)}if(O!==null)q=!0;else{var _=i(y);_!==null&&F(K,_.startTime-E),q=!1}}break e}finally{O=null,A=L,Z=!1}q=void 0}}finally{q?J():Y=!1}}}var J;if(typeof me=="function")J=function(){me(ue)};else if(typeof MessageChannel<"u"){var de=new MessageChannel,fe=de.port2;de.port1.onmessage=ue,J=function(){fe.postMessage(null)}}else J=function(){se(ue,0)};function F(E,q){M=se(function(){E(n.unstable_now())},q)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(E){E.callback=null},n.unstable_forceFrameRate=function(E){0>E||125<E?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<E?Math.floor(1e3/E):5},n.unstable_getCurrentPriorityLevel=function(){return A},n.unstable_next=function(E){switch(A){case 1:case 2:case 3:var q=3;break;default:q=A}var L=A;A=q;try{return E()}finally{A=L}},n.unstable_requestPaint=function(){le=!0},n.unstable_runWithPriority=function(E,q){switch(E){case 1:case 2:case 3:case 4:case 5:break;default:E=3}var L=A;A=E;try{return q()}finally{A=L}},n.unstable_scheduleCallback=function(E,q,L){var ne=n.unstable_now();switch(typeof L=="object"&&L!==null?(L=L.delay,L=typeof L=="number"&&0<L?ne+L:ne):L=ne,E){case 1:var ye=-1;break;case 2:ye=250;break;case 5:ye=1073741823;break;case 4:ye=1e4;break;default:ye=5e3}return ye=L+ye,E={id:g++,callback:q,priorityLevel:E,startTime:L,expirationTime:ye,sortIndex:-1},L>ne?(E.sortIndex=L,a(y,E),i(m)===null&&E===i(y)&&(H?(Me(M),M=-1):H=!0,F(K,L-ne))):(E.sortIndex=ye,a(m,E),G||Z||(G=!0,Y||(Y=!0,J()))),E},n.unstable_shouldYield=ae,n.unstable_wrapCallback=function(E){var q=A;return function(){var L=A;A=q;try{return E.apply(this,arguments)}finally{A=L}}}})(ec)),ec}var rm;function Nb(){return rm||(rm=1,Wo.exports=Db()),Wo.exports}var tc={exports:{}},ft={};var im;function Ub(){if(im)return ft;im=1;var n=Dc();function a(m){var y="https://react.dev/errors/"+m;if(1<arguments.length){y+="?args[]="+encodeURIComponent(arguments[1]);for(var g=2;g<arguments.length;g++)y+="&args[]="+encodeURIComponent(arguments[g])}return"Minified React error #"+m+"; visit "+y+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var l={d:{f:i,r:function(){throw Error(a(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},s=Symbol.for("react.portal");function f(m,y,g){var O=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:O==null?null:""+O,children:m,containerInfo:y,implementation:g}}var d=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function h(m,y){if(m==="font")return"";if(typeof y=="string")return y==="use-credentials"?y:""}return ft.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,ft.createPortal=function(m,y){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!y||y.nodeType!==1&&y.nodeType!==9&&y.nodeType!==11)throw Error(a(299));return f(m,y,null,g)},ft.flushSync=function(m){var y=d.T,g=l.p;try{if(d.T=null,l.p=2,m)return m()}finally{d.T=y,l.p=g,l.d.f()}},ft.preconnect=function(m,y){typeof m=="string"&&(y?(y=y.crossOrigin,y=typeof y=="string"?y==="use-credentials"?y:"":void 0):y=null,l.d.C(m,y))},ft.prefetchDNS=function(m){typeof m=="string"&&l.d.D(m)},ft.preinit=function(m,y){if(typeof m=="string"&&y&&typeof y.as=="string"){var g=y.as,O=h(g,y.crossOrigin),A=typeof y.integrity=="string"?y.integrity:void 0,Z=typeof y.fetchPriority=="string"?y.fetchPriority:void 0;g==="style"?l.d.S(m,typeof y.precedence=="string"?y.precedence:void 0,{crossOrigin:O,integrity:A,fetchPriority:Z}):g==="script"&&l.d.X(m,{crossOrigin:O,integrity:A,fetchPriority:Z,nonce:typeof y.nonce=="string"?y.nonce:void 0})}},ft.preinitModule=function(m,y){if(typeof m=="string")if(typeof y=="object"&&y!==null){if(y.as==null||y.as==="script"){var g=h(y.as,y.crossOrigin);l.d.M(m,{crossOrigin:g,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0})}}else y==null&&l.d.M(m)},ft.preload=function(m,y){if(typeof m=="string"&&typeof y=="object"&&y!==null&&typeof y.as=="string"){var g=y.as,O=h(g,y.crossOrigin);l.d.L(m,g,{crossOrigin:O,integrity:typeof y.integrity=="string"?y.integrity:void 0,nonce:typeof y.nonce=="string"?y.nonce:void 0,type:typeof y.type=="string"?y.type:void 0,fetchPriority:typeof y.fetchPriority=="string"?y.fetchPriority:void 0,referrerPolicy:typeof y.referrerPolicy=="string"?y.referrerPolicy:void 0,imageSrcSet:typeof y.imageSrcSet=="string"?y.imageSrcSet:void 0,imageSizes:typeof y.imageSizes=="string"?y.imageSizes:void 0,media:typeof y.media=="string"?y.media:void 0})}},ft.preloadModule=function(m,y){if(typeof m=="string")if(y){var g=h(y.as,y.crossOrigin);l.d.m(m,{as:typeof y.as=="string"&&y.as!=="script"?y.as:void 0,crossOrigin:g,integrity:typeof y.integrity=="string"?y.integrity:void 0})}else l.d.m(m)},ft.requestFormReset=function(m){l.d.r(m)},ft.unstable_batchedUpdates=function(m,y){return m(y)},ft.useFormState=function(m,y,g){return d.H.useFormState(m,y,g)},ft.useFormStatus=function(){return d.H.useHostTransitionStatus()},ft.version="19.2.5",ft}var lm;function Zb(){if(lm)return tc.exports;lm=1;function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(a){console.error(a)}}return n(),tc.exports=Ub(),tc.exports}var sm;function qb(){if(sm)return gr;sm=1;var n=Nb(),a=Dc(),i=Zb();function l(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var u=2;u<arguments.length;u++)t+="&args[]="+encodeURIComponent(arguments[u])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function f(e){var t=e,u=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(u=t.return),e=t.return;while(e)}return t.tag===3?u:null}function d(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function h(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(f(e)!==e)throw Error(l(188))}function y(e){var t=e.alternate;if(!t){if(t=f(e),t===null)throw Error(l(188));return t!==e?null:e}for(var u=e,r=t;;){var o=u.return;if(o===null)break;var c=o.alternate;if(c===null){if(r=o.return,r!==null){u=r;continue}break}if(o.child===c.child){for(c=o.child;c;){if(c===u)return m(o),e;if(c===r)return m(o),t;c=c.sibling}throw Error(l(188))}if(u.return!==r.return)u=o,r=c;else{for(var p=!1,v=o.child;v;){if(v===u){p=!0,u=o,r=c;break}if(v===r){p=!0,r=o,u=c;break}v=v.sibling}if(!p){for(v=c.child;v;){if(v===u){p=!0,u=c,r=o;break}if(v===r){p=!0,r=c,u=o;break}v=v.sibling}if(!p)throw Error(l(189))}}if(u.alternate!==r)throw Error(l(190))}if(u.tag!==3)throw Error(l(188));return u.stateNode.current===u?e:t}function g(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=g(e),t!==null)return t;e=e.sibling}return null}var O=Object.assign,A=Symbol.for("react.element"),Z=Symbol.for("react.transitional.element"),G=Symbol.for("react.portal"),H=Symbol.for("react.fragment"),le=Symbol.for("react.strict_mode"),se=Symbol.for("react.profiler"),Me=Symbol.for("react.consumer"),me=Symbol.for("react.context"),ve=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),Y=Symbol.for("react.suspense_list"),M=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),I=Symbol.for("react.activity"),ae=Symbol.for("react.memo_cache_sentinel"),ue=Symbol.iterator;function J(e){return e===null||typeof e!="object"?null:(e=ue&&e[ue]||e["@@iterator"],typeof e=="function"?e:null)}var de=Symbol.for("react.client.reference");function fe(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===de?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case H:return"Fragment";case se:return"Profiler";case le:return"StrictMode";case K:return"Suspense";case Y:return"SuspenseList";case I:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case G:return"Portal";case me:return e.displayName||"Context";case Me:return(e._context.displayName||"Context")+".Consumer";case ve:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case M:return t=e.displayName||null,t!==null?t:fe(e.type)||"Memo";case V:t=e._payload,e=e._init;try{return fe(e(t))}catch{}}return null}var F=Array.isArray,E=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L={pending:!1,data:null,method:null,action:null},ne=[],ye=-1;function _(e){return{current:e}}function D(e){0>ye||(e.current=ne[ye],ne[ye]=null,ye--)}function k(e,t){ye++,ne[ye]=e.current,e.current=t}var B=_(null),ee=_(null),oe=_(null),xe=_(null);function ht(e,t){switch(k(oe,t),k(ee,e),k(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?zp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=zp(t),e=Ep(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}D(B),k(B,e)}function Pe(){D(B),D(ee),D(oe)}function Eu(e){e.memoizedState!==null&&k(xe,e);var t=B.current,u=Ep(t,e.type);t!==u&&(k(ee,e),k(B,u))}function qr(e){ee.current===e&&(D(B),D(ee)),xe.current===e&&(D(xe),hr._currentValue=L)}var Cl,Ic;function ra(e){if(Cl===void 0)try{throw Error()}catch(u){var t=u.stack.trim().match(/\n( *(at )?)/);Cl=t&&t[1]||"",Ic=-1<u.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<u.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+Cl+e+Ic}var Rl=!1;function Dl(e,t){if(!e||Rl)return"";Rl=!0;var u=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var U=function(){throw Error()};if(Object.defineProperty(U.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(U,[])}catch(j){var w=j}Reflect.construct(e,[],U)}else{try{U.call()}catch(j){w=j}e.call(U.prototype)}}else{try{throw Error()}catch(j){w=j}(U=e())&&typeof U.catch=="function"&&U.catch(function(){})}}catch(j){if(j&&w&&typeof j.stack=="string")return[j.stack,w.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=r.DetermineComponentFrameRoot(),p=c[0],v=c[1];if(p&&v){var b=p.split(`
@@ -45,4 +45,4 @@ Error generating stack: `+r.message+`
45
45
 
46
46
  `)}Z.write("payload.value = newResult;"),Z.write("return payload;");const Me=Z.compile();return(me,ve)=>Me(A,me,ve)};let f;const d=Cr,h=!uv.jitless,y=h&&w1.value,g=a.catchall;let O;n._zod.parse=(A,Z)=>{O??(O=l.value);const G=A.value;return d(G)?h&&y&&Z?.async===!1&&Z.jitless!==!0?(f||(f=s(a.shape)),A=f(A,Z),g?Sv([],G,A,Z,O,n):A):i(A,Z):(A.issues.push({expected:"object",code:"invalid_type",input:G,inst:n}),A)}});function Um(n,a,i,l){for(const f of n)if(f.issues.length===0)return a.value=f.value,a;const s=n.filter(f=>!vu(f));return s.length===1?(a.value=s[0].value,s[0]):(a.issues.push({code:"invalid_union",input:a.value,inst:i,errors:n.map(f=>f.issues.map(d=>ta(d,l,ea())))}),a)}const Ov=R("$ZodUnion",(n,a)=>{Be.init(n,a),ze(n._zod,"optin",()=>a.options.some(s=>s._zod.optin==="optional")?"optional":void 0),ze(n._zod,"optout",()=>a.options.some(s=>s._zod.optout==="optional")?"optional":void 0),ze(n._zod,"values",()=>{if(a.options.every(s=>s._zod.values))return new Set(a.options.flatMap(s=>Array.from(s._zod.values)))}),ze(n._zod,"pattern",()=>{if(a.options.every(s=>s._zod.pattern)){const s=a.options.map(f=>f._zod.pattern);return new RegExp(`^(${s.map(f=>Gc(f.source)).join("|")})$`)}});const i=a.options.length===1,l=a.options[0]._zod.run;n._zod.parse=(s,f)=>{if(i)return l(s,f);let d=!1;const h=[];for(const m of a.options){const y=m._zod.run({value:s.value,issues:[]},f);if(y instanceof Promise)h.push(y),d=!0;else{if(y.issues.length===0)return y;h.push(y)}}return d?Promise.all(h).then(m=>Um(m,s,n,f)):Um(h,s,n,f)}}),mO=R("$ZodDiscriminatedUnion",(n,a)=>{a.inclusive=!1,Ov.init(n,a);const i=n._zod.parse;ze(n._zod,"propValues",()=>{const s={};for(const f of a.options){const d=f._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${a.options.indexOf(f)}"`);for(const[h,m]of Object.entries(d)){s[h]||(s[h]=new Set);for(const y of m)s[h].add(y)}}return s});const l=wl(()=>{const s=a.options,f=new Map;for(const d of s){const h=d._zod.propValues?.[a.discriminator];if(!h||h.size===0)throw new Error(`Invalid discriminated union option at index "${a.options.indexOf(d)}"`);for(const m of h){if(f.has(m))throw new Error(`Duplicate discriminator value "${String(m)}"`);f.set(m,d)}}return f});n._zod.parse=(s,f)=>{const d=s.value;if(!Cr(d))return s.issues.push({code:"invalid_type",expected:"object",input:d,inst:n}),s;const h=l.value.get(d?.[a.discriminator]);return h?h._zod.run(s,f):a.unionFallback?i(s,f):(s.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:a.discriminator,input:d,path:[a.discriminator],inst:n}),s)}}),yO=R("$ZodIntersection",(n,a)=>{Be.init(n,a),n._zod.parse=(i,l)=>{const s=i.value,f=a.left._zod.run({value:s,issues:[]},l),d=a.right._zod.run({value:s,issues:[]},l);return f instanceof Promise||d instanceof Promise?Promise.all([f,d]).then(([m,y])=>Zm(i,m,y)):Zm(i,f,d)}});function jc(n,a){if(n===a)return{valid:!0,data:n};if(n instanceof Date&&a instanceof Date&&+n==+a)return{valid:!0,data:n};if(Su(n)&&Su(a)){const i=Object.keys(a),l=Object.keys(n).filter(f=>i.indexOf(f)!==-1),s={...n,...a};for(const f of l){const d=jc(n[f],a[f]);if(!d.valid)return{valid:!1,mergeErrorPath:[f,...d.mergeErrorPath]};s[f]=d.data}return{valid:!0,data:s}}if(Array.isArray(n)&&Array.isArray(a)){if(n.length!==a.length)return{valid:!1,mergeErrorPath:[]};const i=[];for(let l=0;l<n.length;l++){const s=n[l],f=a[l],d=jc(s,f);if(!d.valid)return{valid:!1,mergeErrorPath:[l,...d.mergeErrorPath]};i.push(d.data)}return{valid:!0,data:i}}return{valid:!1,mergeErrorPath:[]}}function Zm(n,a,i){const l=new Map;let s;for(const h of a.issues)if(h.code==="unrecognized_keys"){s??(s=h);for(const m of h.keys)l.has(m)||l.set(m,{}),l.get(m).l=!0}else n.issues.push(h);for(const h of i.issues)if(h.code==="unrecognized_keys")for(const m of h.keys)l.has(m)||l.set(m,{}),l.get(m).r=!0;else n.issues.push(h);const f=[...l].filter(([,h])=>h.l&&h.r).map(([h])=>h);if(f.length&&s&&n.issues.push({...s,keys:f}),vu(n))return n;const d=jc(a.value,i.value);if(!d.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(d.mergeErrorPath)}`);return n.value=d.data,n}const vO=R("$ZodRecord",(n,a)=>{Be.init(n,a),n._zod.parse=(i,l)=>{const s=i.value;if(!Su(s))return i.issues.push({expected:"record",code:"invalid_type",input:s,inst:n}),i;const f=[],d=a.keyType._zod.values;if(d){i.value={};const h=new Set;for(const y of d)if(typeof y=="string"||typeof y=="number"||typeof y=="symbol"){h.add(typeof y=="number"?y.toString():y);const g=a.valueType._zod.run({value:s[y],issues:[]},l);g instanceof Promise?f.push(g.then(O=>{O.issues.length&&i.issues.push(...gu(y,O.issues)),i.value[y]=O.value})):(g.issues.length&&i.issues.push(...gu(y,g.issues)),i.value[y]=g.value)}let m;for(const y in s)h.has(y)||(m=m??[],m.push(y));m&&m.length>0&&i.issues.push({code:"unrecognized_keys",input:s,inst:n,keys:m})}else{i.value={};for(const h of Reflect.ownKeys(s)){if(h==="__proto__")continue;let m=a.keyType._zod.run({value:h,issues:[]},l);if(m instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof h=="string"&&pv.test(h)&&m.issues.length){const O=a.keyType._zod.run({value:Number(h),issues:[]},l);if(O instanceof Promise)throw new Error("Async schemas not supported in object keys currently");O.issues.length===0&&(m=O)}if(m.issues.length){a.mode==="loose"?i.value[h]=s[h]:i.issues.push({code:"invalid_key",origin:"record",issues:m.issues.map(O=>ta(O,l,ea())),input:h,path:[h],inst:n});continue}const g=a.valueType._zod.run({value:s[h],issues:[]},l);g instanceof Promise?f.push(g.then(O=>{O.issues.length&&i.issues.push(...gu(h,O.issues)),i.value[m.value]=O.value})):(g.issues.length&&i.issues.push(...gu(h,g.issues)),i.value[m.value]=g.value)}}return f.length?Promise.all(f).then(()=>i):i}}),gO=R("$ZodEnum",(n,a)=>{Be.init(n,a);const i=rv(a.entries),l=new Set(i);n._zod.values=l,n._zod.pattern=new RegExp(`^(${i.filter(s=>A1.has(typeof s)).map(s=>typeof s=="string"?Ou(s):s.toString()).join("|")})$`),n._zod.parse=(s,f)=>{const d=s.value;return l.has(d)||s.issues.push({code:"invalid_value",values:i,input:d,inst:n}),s}}),bO=R("$ZodLiteral",(n,a)=>{if(Be.init(n,a),a.values.length===0)throw new Error("Cannot create literal schema with no valid values");const i=new Set(a.values);n._zod.values=i,n._zod.pattern=new RegExp(`^(${a.values.map(l=>typeof l=="string"?Ou(l):l?Ou(l.toString()):String(l)).join("|")})$`),n._zod.parse=(l,s)=>{const f=l.value;return i.has(f)||l.issues.push({code:"invalid_value",values:a.values,input:f,inst:n}),l}}),_O=R("$ZodTransform",(n,a)=>{Be.init(n,a),n._zod.parse=(i,l)=>{if(l.direction==="backward")throw new av(n.constructor.name);const s=a.transform(i.value,i);if(l.async)return(s instanceof Promise?s:Promise.resolve(s)).then(d=>(i.value=d,i));if(s instanceof Promise)throw new bu;return i.value=s,i}});function qm(n,a){return n.issues.length&&a===void 0?{issues:[],value:void 0}:n}const zv=R("$ZodOptional",(n,a)=>{Be.init(n,a),n._zod.optin="optional",n._zod.optout="optional",ze(n._zod,"values",()=>a.innerType._zod.values?new Set([...a.innerType._zod.values,void 0]):void 0),ze(n._zod,"pattern",()=>{const i=a.innerType._zod.pattern;return i?new RegExp(`^(${Gc(i.source)})?$`):void 0}),n._zod.parse=(i,l)=>{if(a.innerType._zod.optin==="optional"){const s=a.innerType._zod.run(i,l);return s instanceof Promise?s.then(f=>qm(f,i.value)):qm(s,i.value)}return i.value===void 0?i:a.innerType._zod.run(i,l)}}),SO=R("$ZodExactOptional",(n,a)=>{zv.init(n,a),ze(n._zod,"values",()=>a.innerType._zod.values),ze(n._zod,"pattern",()=>a.innerType._zod.pattern),n._zod.parse=(i,l)=>a.innerType._zod.run(i,l)}),OO=R("$ZodNullable",(n,a)=>{Be.init(n,a),ze(n._zod,"optin",()=>a.innerType._zod.optin),ze(n._zod,"optout",()=>a.innerType._zod.optout),ze(n._zod,"pattern",()=>{const i=a.innerType._zod.pattern;return i?new RegExp(`^(${Gc(i.source)}|null)$`):void 0}),ze(n._zod,"values",()=>a.innerType._zod.values?new Set([...a.innerType._zod.values,null]):void 0),n._zod.parse=(i,l)=>i.value===null?i:a.innerType._zod.run(i,l)}),zO=R("$ZodDefault",(n,a)=>{Be.init(n,a),n._zod.optin="optional",ze(n._zod,"values",()=>a.innerType._zod.values),n._zod.parse=(i,l)=>{if(l.direction==="backward")return a.innerType._zod.run(i,l);if(i.value===void 0)return i.value=a.defaultValue,i;const s=a.innerType._zod.run(i,l);return s instanceof Promise?s.then(f=>Qm(f,a)):Qm(s,a)}});function Qm(n,a){return n.value===void 0&&(n.value=a.defaultValue),n}const EO=R("$ZodPrefault",(n,a)=>{Be.init(n,a),n._zod.optin="optional",ze(n._zod,"values",()=>a.innerType._zod.values),n._zod.parse=(i,l)=>(l.direction==="backward"||i.value===void 0&&(i.value=a.defaultValue),a.innerType._zod.run(i,l))}),xO=R("$ZodNonOptional",(n,a)=>{Be.init(n,a),ze(n._zod,"values",()=>{const i=a.innerType._zod.values;return i?new Set([...i].filter(l=>l!==void 0)):void 0}),n._zod.parse=(i,l)=>{const s=a.innerType._zod.run(i,l);return s instanceof Promise?s.then(f=>km(f,n)):km(s,n)}});function km(n,a){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:a}),n}const TO=R("$ZodCatch",(n,a)=>{Be.init(n,a),ze(n._zod,"optin",()=>a.innerType._zod.optin),ze(n._zod,"optout",()=>a.innerType._zod.optout),ze(n._zod,"values",()=>a.innerType._zod.values),n._zod.parse=(i,l)=>{if(l.direction==="backward")return a.innerType._zod.run(i,l);const s=a.innerType._zod.run(i,l);return s instanceof Promise?s.then(f=>(i.value=f.value,f.issues.length&&(i.value=a.catchValue({...i,error:{issues:f.issues.map(d=>ta(d,l,ea()))},input:i.value}),i.issues=[]),i)):(i.value=s.value,s.issues.length&&(i.value=a.catchValue({...i,error:{issues:s.issues.map(f=>ta(f,l,ea()))},input:i.value}),i.issues=[]),i)}}),wO=R("$ZodPipe",(n,a)=>{Be.init(n,a),ze(n._zod,"values",()=>a.in._zod.values),ze(n._zod,"optin",()=>a.in._zod.optin),ze(n._zod,"optout",()=>a.out._zod.optout),ze(n._zod,"propValues",()=>a.in._zod.propValues),n._zod.parse=(i,l)=>{if(l.direction==="backward"){const f=a.out._zod.run(i,l);return f instanceof Promise?f.then(d=>rl(d,a.in,l)):rl(f,a.in,l)}const s=a.in._zod.run(i,l);return s instanceof Promise?s.then(f=>rl(f,a.out,l)):rl(s,a.out,l)}});function rl(n,a,i){return n.issues.length?(n.aborted=!0,n):a._zod.run({value:n.value,issues:n.issues},i)}const AO=R("$ZodReadonly",(n,a)=>{Be.init(n,a),ze(n._zod,"propValues",()=>a.innerType._zod.propValues),ze(n._zod,"values",()=>a.innerType._zod.values),ze(n._zod,"optin",()=>a.innerType?._zod?.optin),ze(n._zod,"optout",()=>a.innerType?._zod?.optout),n._zod.parse=(i,l)=>{if(l.direction==="backward")return a.innerType._zod.run(i,l);const s=a.innerType._zod.run(i,l);return s instanceof Promise?s.then(Hm):Hm(s)}});function Hm(n){return n.value=Object.freeze(n.value),n}const jO=R("$ZodLazy",(n,a)=>{Be.init(n,a),ze(n._zod,"innerType",()=>a.getter()),ze(n._zod,"pattern",()=>n._zod.innerType?._zod?.pattern),ze(n._zod,"propValues",()=>n._zod.innerType?._zod?.propValues),ze(n._zod,"optin",()=>n._zod.innerType?._zod?.optin??void 0),ze(n._zod,"optout",()=>n._zod.innerType?._zod?.optout??void 0),n._zod.parse=(i,l)=>n._zod.innerType._zod.run(i,l)}),MO=R("$ZodCustom",(n,a)=>{xt.init(n,a),Be.init(n,a),n._zod.parse=(i,l)=>i,n._zod.check=i=>{const l=i.value,s=a.fn(l);if(s instanceof Promise)return s.then(f=>Bm(f,i,l,n));Bm(s,i,l,n)}});function Bm(n,a,i,l){if(!n){const s={code:"custom",input:i,inst:l,path:[...l._zod.def.path??[]],continue:!l._zod.def.abort};l._zod.def.params&&(s.params=l._zod.def.params),a.issues.push(Rr(s))}}var Lm;class CO{constructor(){this._map=new WeakMap,this._idmap=new Map}add(a,...i){const l=i[0];return this._map.set(a,l),l&&typeof l=="object"&&"id"in l&&this._idmap.set(l.id,a),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(a){const i=this._map.get(a);return i&&typeof i=="object"&&"id"in i&&this._idmap.delete(i.id),this._map.delete(a),this}get(a){const i=a._zod.parent;if(i){const l={...this.get(i)??{}};delete l.id;const s={...l,...this._map.get(a)};return Object.keys(s).length?s:void 0}return this._map.get(a)}has(a){return this._map.has(a)}}function RO(){return new CO}(Lm=globalThis).__zod_globalRegistry??(Lm.__zod_globalRegistry=RO());const Sr=globalThis.__zod_globalRegistry;function DO(n,a){return new n({type:"string",...W(a)})}function NO(n,a){return new n({type:"string",format:"email",check:"string_format",abort:!1,...W(a)})}function $m(n,a){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...W(a)})}function UO(n,a){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...W(a)})}function ZO(n,a){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...W(a)})}function qO(n,a){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...W(a)})}function QO(n,a){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...W(a)})}function kO(n,a){return new n({type:"string",format:"url",check:"string_format",abort:!1,...W(a)})}function HO(n,a){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...W(a)})}function BO(n,a){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...W(a)})}function LO(n,a){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...W(a)})}function $O(n,a){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...W(a)})}function GO(n,a){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...W(a)})}function YO(n,a){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...W(a)})}function VO(n,a){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...W(a)})}function KO(n,a){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...W(a)})}function XO(n,a){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...W(a)})}function PO(n,a){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...W(a)})}function JO(n,a){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...W(a)})}function FO(n,a){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...W(a)})}function IO(n,a){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...W(a)})}function WO(n,a){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...W(a)})}function ez(n,a){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...W(a)})}function tz(n,a){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...W(a)})}function nz(n,a){return new n({type:"string",format:"date",check:"string_format",...W(a)})}function az(n,a){return new n({type:"string",format:"time",check:"string_format",precision:null,...W(a)})}function uz(n,a){return new n({type:"string",format:"duration",check:"string_format",...W(a)})}function rz(n,a){return new n({type:"number",checks:[],...W(a)})}function iz(n,a){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...W(a)})}function lz(n,a){return new n({type:"boolean",...W(a)})}function sz(n,a){return new n({type:"null",...W(a)})}function oz(n){return new n({type:"unknown"})}function cz(n,a){return new n({type:"never",...W(a)})}function Gm(n,a){return new yv({check:"less_than",...W(a),value:n,inclusive:!1})}function lc(n,a){return new yv({check:"less_than",...W(a),value:n,inclusive:!0})}function Ym(n,a){return new vv({check:"greater_than",...W(a),value:n,inclusive:!1})}function sc(n,a){return new vv({check:"greater_than",...W(a),value:n,inclusive:!0})}function Vm(n,a){return new O2({check:"multiple_of",...W(a),value:n})}function Ev(n,a){return new E2({check:"max_length",...W(a),maximum:n})}function yl(n,a){return new x2({check:"min_length",...W(a),minimum:n})}function xv(n,a){return new T2({check:"length_equals",...W(a),length:n})}function fz(n,a){return new w2({check:"string_format",format:"regex",...W(a),pattern:n})}function dz(n){return new A2({check:"string_format",format:"lowercase",...W(n)})}function hz(n){return new j2({check:"string_format",format:"uppercase",...W(n)})}function pz(n,a){return new M2({check:"string_format",format:"includes",...W(a),includes:n})}function mz(n,a){return new C2({check:"string_format",format:"starts_with",...W(a),prefix:n})}function yz(n,a){return new R2({check:"string_format",format:"ends_with",...W(a),suffix:n})}function zu(n){return new D2({check:"overwrite",tx:n})}function vz(n){return zu(a=>a.normalize(n))}function gz(){return zu(n=>n.trim())}function bz(){return zu(n=>n.toLowerCase())}function _z(){return zu(n=>n.toUpperCase())}function Sz(){return zu(n=>T1(n))}function Oz(n,a,i){return new n({type:"array",element:a,...W(i)})}function zz(n,a,i){const l=W(i);return l.abort??(l.abort=!0),new n({type:"custom",check:"custom",fn:a,...l})}function Ez(n,a,i){return new n({type:"custom",check:"custom",fn:a,...W(i)})}function xz(n){const a=Tz(i=>(i.addIssue=l=>{if(typeof l=="string")i.issues.push(Rr(l,i.value,a._zod.def));else{const s=l;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),s.input??(s.input=i.value),s.inst??(s.inst=a),s.continue??(s.continue=!a._zod.def.abort),i.issues.push(Rr(s))}},n(i.value,i)));return a}function Tz(n,a){const i=new xt({check:"custom",...W(a)});return i._zod.check=n,i}function vl(n){let a=n?.target??"draft-2020-12";return a==="draft-4"&&(a="draft-04"),a==="draft-7"&&(a="draft-07"),{processors:n.processors??{},metadataRegistry:n?.metadata??Sr,target:a,unrepresentable:n?.unrepresentable??"throw",override:n?.override??(()=>{}),io:n?.io??"output",counter:0,seen:new Map,cycles:n?.cycles??"ref",reused:n?.reused??"inline",external:n?.external??void 0}}function Qe(n,a,i={path:[],schemaPath:[]}){var l;const s=n._zod.def,f=a.seen.get(n);if(f)return f.count++,i.schemaPath.includes(n)&&(f.cycle=i.path),f.schema;const d={schema:{},count:1,cycle:void 0,path:i.path};a.seen.set(n,d);const h=n._zod.toJSONSchema?.();if(h)d.schema=h;else{const g={...i,schemaPath:[...i.schemaPath,n],path:i.path};if(n._zod.processJSONSchema)n._zod.processJSONSchema(a,d.schema,g);else{const A=d.schema,Z=a.processors[s.type];if(!Z)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${s.type}`);Z(n,a,A,g)}const O=n._zod.parent;O&&(d.ref||(d.ref=O),Qe(O,a,g),a.seen.get(O).isParent=!0)}const m=a.metadataRegistry.get(n);return m&&Object.assign(d.schema,m),a.io==="input"&&mt(n)&&(delete d.schema.examples,delete d.schema.default),a.io==="input"&&d.schema._prefault&&((l=d.schema).default??(l.default=d.schema._prefault)),delete d.schema._prefault,a.seen.get(n).schema}function gl(n,a){const i=n.seen.get(a);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const l=new Map;for(const d of n.seen.entries()){const h=n.metadataRegistry.get(d[0])?.id;if(h){const m=l.get(h);if(m&&m!==d[0])throw new Error(`Duplicate schema id "${h}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);l.set(h,d[0])}}const s=d=>{const h=n.target==="draft-2020-12"?"$defs":"definitions";if(n.external){const O=n.external.registry.get(d[0])?.id,A=n.external.uri??(G=>G);if(O)return{ref:A(O)};const Z=d[1].defId??d[1].schema.id??`schema${n.counter++}`;return d[1].defId=Z,{defId:Z,ref:`${A("__shared")}#/${h}/${Z}`}}if(d[1]===i)return{ref:"#"};const y=`#/${h}/`,g=d[1].schema.id??`__schema${n.counter++}`;return{defId:g,ref:y+g}},f=d=>{if(d[1].schema.$ref)return;const h=d[1],{ref:m,defId:y}=s(d);h.def={...h.schema},y&&(h.defId=y);const g=h.schema;for(const O in g)delete g[O];g.$ref=m};if(n.cycles==="throw")for(const d of n.seen.entries()){const h=d[1];if(h.cycle)throw new Error(`Cycle detected: #/${h.cycle?.join("/")}/<root>
47
47
 
48
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of n.seen.entries()){const h=d[1];if(a===d[0]){f(d);continue}if(n.external){const y=n.external.registry.get(d[0])?.id;if(a!==d[0]&&y){f(d);continue}}if(n.metadataRegistry.get(d[0])?.id){f(d);continue}if(h.cycle){f(d);continue}if(h.count>1&&n.reused==="ref"){f(d);continue}}}function bl(n,a){const i=n.seen.get(a);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const l=d=>{const h=n.seen.get(d);if(h.ref===null)return;const m=h.def??h.schema,y={...m},g=h.ref;if(h.ref=null,g){l(g);const A=n.seen.get(g),Z=A.schema;if(Z.$ref&&(n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(Z)):Object.assign(m,Z),Object.assign(m,y),d._zod.parent===g)for(const H in m)H==="$ref"||H==="allOf"||H in y||delete m[H];if(Z.$ref&&A.def)for(const H in m)H==="$ref"||H==="allOf"||H in A.def&&JSON.stringify(m[H])===JSON.stringify(A.def[H])&&delete m[H]}const O=d._zod.parent;if(O&&O!==g){l(O);const A=n.seen.get(O);if(A?.schema.$ref&&(m.$ref=A.schema.$ref,A.def))for(const Z in m)Z==="$ref"||Z==="allOf"||Z in A.def&&JSON.stringify(m[Z])===JSON.stringify(A.def[Z])&&delete m[Z]}n.override({zodSchema:d,jsonSchema:m,path:h.path??[]})};for(const d of[...n.seen.entries()].reverse())l(d[0]);const s={};if(n.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":n.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":n.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":n.target,n.external?.uri){const d=n.external.registry.get(a)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=n.external.uri(d)}Object.assign(s,i.def??i.schema);const f=n.external?.defs??{};for(const d of n.seen.entries()){const h=d[1];h.def&&h.defId&&(f[h.defId]=h.def)}n.external||Object.keys(f).length>0&&(n.target==="draft-2020-12"?s.$defs=f:s.definitions=f);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...a["~standard"],jsonSchema:{input:_l(a,"input",n.processors),output:_l(a,"output",n.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function mt(n,a){const i=a??{seen:new Set};if(i.seen.has(n))return!1;i.seen.add(n);const l=n._zod.def;if(l.type==="transform")return!0;if(l.type==="array")return mt(l.element,i);if(l.type==="set")return mt(l.valueType,i);if(l.type==="lazy")return mt(l.getter(),i);if(l.type==="promise"||l.type==="optional"||l.type==="nonoptional"||l.type==="nullable"||l.type==="readonly"||l.type==="default"||l.type==="prefault")return mt(l.innerType,i);if(l.type==="intersection")return mt(l.left,i)||mt(l.right,i);if(l.type==="record"||l.type==="map")return mt(l.keyType,i)||mt(l.valueType,i);if(l.type==="pipe")return mt(l.in,i)||mt(l.out,i);if(l.type==="object"){for(const s in l.shape)if(mt(l.shape[s],i))return!0;return!1}if(l.type==="union"){for(const s of l.options)if(mt(s,i))return!0;return!1}if(l.type==="tuple"){for(const s of l.items)if(mt(s,i))return!0;return!!(l.rest&&mt(l.rest,i))}return!1}const wz=(n,a={})=>i=>{const l=vl({...i,processors:a});return Qe(n,l),gl(l,n),bl(l,n)},_l=(n,a,i={})=>l=>{const{libraryOptions:s,target:f}=l??{},d=vl({...s??{},target:f,io:a,processors:i});return Qe(n,d),gl(d,n),bl(d,n)},Az={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Tv=(n,a,i,l)=>{const s=i;s.type="string";const{minimum:f,maximum:d,format:h,patterns:m,contentEncoding:y}=n._zod.bag;if(typeof f=="number"&&(s.minLength=f),typeof d=="number"&&(s.maxLength=d),h&&(s.format=Az[h]??h,s.format===""&&delete s.format,h==="time"&&delete s.format),y&&(s.contentEncoding=y),m&&m.size>0){const g=[...m];g.length===1?s.pattern=g[0].source:g.length>1&&(s.allOf=[...g.map(O=>({...a.target==="draft-07"||a.target==="draft-04"||a.target==="openapi-3.0"?{type:"string"}:{},pattern:O.source}))])}},wv=(n,a,i,l)=>{const s=i,{minimum:f,maximum:d,format:h,multipleOf:m,exclusiveMaximum:y,exclusiveMinimum:g}=n._zod.bag;typeof h=="string"&&h.includes("int")?s.type="integer":s.type="number",typeof g=="number"&&(a.target==="draft-04"||a.target==="openapi-3.0"?(s.minimum=g,s.exclusiveMinimum=!0):s.exclusiveMinimum=g),typeof f=="number"&&(s.minimum=f,typeof g=="number"&&a.target!=="draft-04"&&(g>=f?delete s.minimum:delete s.exclusiveMinimum)),typeof y=="number"&&(a.target==="draft-04"||a.target==="openapi-3.0"?(s.maximum=y,s.exclusiveMaximum=!0):s.exclusiveMaximum=y),typeof d=="number"&&(s.maximum=d,typeof y=="number"&&a.target!=="draft-04"&&(y<=d?delete s.maximum:delete s.exclusiveMaximum)),typeof m=="number"&&(s.multipleOf=m)},Av=(n,a,i,l)=>{i.type="boolean"},jz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Mz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},jv=(n,a,i,l)=>{a.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},Cz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Rz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Mv=(n,a,i,l)=>{i.not={}},Dz=(n,a,i,l)=>{},Cv=(n,a,i,l)=>{},Nz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Rv=(n,a,i,l)=>{const s=n._zod.def,f=rv(s.entries);f.every(d=>typeof d=="number")&&(i.type="number"),f.every(d=>typeof d=="string")&&(i.type="string"),i.enum=f},Dv=(n,a,i,l)=>{const s=n._zod.def,f=[];for(const d of s.values)if(d===void 0){if(a.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof d=="bigint"){if(a.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");f.push(Number(d))}else f.push(d);if(f.length!==0)if(f.length===1){const d=f[0];i.type=d===null?"null":typeof d,a.target==="draft-04"||a.target==="openapi-3.0"?i.enum=[d]:i.const=d}else f.every(d=>typeof d=="number")&&(i.type="number"),f.every(d=>typeof d=="string")&&(i.type="string"),f.every(d=>typeof d=="boolean")&&(i.type="boolean"),f.every(d=>d===null)&&(i.type="null"),i.enum=f},Uz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Zz=(n,a,i,l)=>{const s=i,f=n._zod.pattern;if(!f)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=f.source},qz=(n,a,i,l)=>{const s=i,f={type:"string",format:"binary",contentEncoding:"binary"},{minimum:d,maximum:h,mime:m}=n._zod.bag;d!==void 0&&(f.minLength=d),h!==void 0&&(f.maxLength=h),m?m.length===1?(f.contentMediaType=m[0],Object.assign(s,f)):(Object.assign(s,f),s.anyOf=m.map(y=>({contentMediaType:y}))):Object.assign(s,f)},Qz=(n,a,i,l)=>{i.type="boolean"},Nv=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},kz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Uv=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Hz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Bz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Zv=(n,a,i,l)=>{const s=i,f=n._zod.def,{minimum:d,maximum:h}=n._zod.bag;typeof d=="number"&&(s.minItems=d),typeof h=="number"&&(s.maxItems=h),s.type="array",s.items=Qe(f.element,a,{...l,path:[...l.path,"items"]})},qv=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="object",s.properties={};const d=f.shape;for(const y in d)s.properties[y]=Qe(d[y],a,{...l,path:[...l.path,"properties",y]});const h=new Set(Object.keys(d)),m=new Set([...h].filter(y=>{const g=f.shape[y]._zod;return a.io==="input"?g.optin===void 0:g.optout===void 0}));m.size>0&&(s.required=Array.from(m)),f.catchall?._zod.def.type==="never"?s.additionalProperties=!1:f.catchall?f.catchall&&(s.additionalProperties=Qe(f.catchall,a,{...l,path:[...l.path,"additionalProperties"]})):a.io==="output"&&(s.additionalProperties=!1)},Qv=(n,a,i,l)=>{const s=n._zod.def,f=s.inclusive===!1,d=s.options.map((h,m)=>Qe(h,a,{...l,path:[...l.path,f?"oneOf":"anyOf",m]}));f?i.oneOf=d:i.anyOf=d},kv=(n,a,i,l)=>{const s=n._zod.def,f=Qe(s.left,a,{...l,path:[...l.path,"allOf",0]}),d=Qe(s.right,a,{...l,path:[...l.path,"allOf",1]}),h=y=>"allOf"in y&&Object.keys(y).length===1,m=[...h(f)?f.allOf:[f],...h(d)?d.allOf:[d]];i.allOf=m},Lz=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="array";const d=a.target==="draft-2020-12"?"prefixItems":"items",h=a.target==="draft-2020-12"||a.target==="openapi-3.0"?"items":"additionalItems",m=f.items.map((A,Z)=>Qe(A,a,{...l,path:[...l.path,d,Z]})),y=f.rest?Qe(f.rest,a,{...l,path:[...l.path,h,...a.target==="openapi-3.0"?[f.items.length]:[]]}):null;a.target==="draft-2020-12"?(s.prefixItems=m,y&&(s.items=y)):a.target==="openapi-3.0"?(s.items={anyOf:m},y&&s.items.anyOf.push(y),s.minItems=m.length,y||(s.maxItems=m.length)):(s.items=m,y&&(s.additionalItems=y));const{minimum:g,maximum:O}=n._zod.bag;typeof g=="number"&&(s.minItems=g),typeof O=="number"&&(s.maxItems=O)},Hv=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="object";const d=f.keyType,m=d._zod.bag?.patterns;if(f.mode==="loose"&&m&&m.size>0){const g=Qe(f.valueType,a,{...l,path:[...l.path,"patternProperties","*"]});s.patternProperties={};for(const O of m)s.patternProperties[O.source]=g}else(a.target==="draft-07"||a.target==="draft-2020-12")&&(s.propertyNames=Qe(f.keyType,a,{...l,path:[...l.path,"propertyNames"]})),s.additionalProperties=Qe(f.valueType,a,{...l,path:[...l.path,"additionalProperties"]});const y=d._zod.values;if(y){const g=[...y].filter(O=>typeof O=="string"||typeof O=="number");g.length>0&&(s.required=g)}},Bv=(n,a,i,l)=>{const s=n._zod.def,f=Qe(s.innerType,a,l),d=a.seen.get(n);a.target==="openapi-3.0"?(d.ref=s.innerType,i.nullable=!0):i.anyOf=[f,{type:"null"}]},Lv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},$v=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,i.default=JSON.parse(JSON.stringify(s.defaultValue))},Gv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,a.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},Yv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType;let d;try{d=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=d},Vv=(n,a,i,l)=>{const s=n._zod.def,f=a.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;Qe(f,a,l);const d=a.seen.get(n);d.ref=f},Kv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,i.readOnly=!0},$z=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},Pc=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},Xv=(n,a,i,l)=>{const s=n._zod.innerType;Qe(s,a,l);const f=a.seen.get(n);f.ref=s},Km={string:Tv,number:wv,boolean:Av,bigint:jz,symbol:Mz,null:jv,undefined:Cz,void:Rz,never:Mv,any:Dz,unknown:Cv,date:Nz,enum:Rv,literal:Dv,nan:Uz,template_literal:Zz,file:qz,success:Qz,custom:Nv,function:kz,transform:Uv,map:Hz,set:Bz,array:Zv,object:qv,union:Qv,intersection:kv,tuple:Lz,record:Hv,nullable:Bv,nonoptional:Lv,default:$v,prefault:Gv,catch:Yv,pipe:Vv,readonly:Kv,promise:$z,optional:Pc,lazy:Xv};function Dx(n,a){if("_idmap"in n){const l=n,s=vl({...a,processors:Km}),f={};for(const m of l._idmap.entries()){const[y,g]=m;Qe(g,s)}const d={},h={registry:l,uri:a?.uri,defs:f};s.external=h;for(const m of l._idmap.entries()){const[y,g]=m;gl(s,g),d[y]=bl(s,g)}if(Object.keys(f).length>0){const m=s.target==="draft-2020-12"?"$defs":"definitions";d.__shared={[m]:f}}return{schemas:d}}const i=vl({...a,processors:Km});return Qe(n,i),gl(i,n),bl(i,n)}const Gz=R("ZodISODateTime",(n,a)=>{K2.init(n,a),Ye.init(n,a)});function Yz(n){return tz(Gz,n)}const Vz=R("ZodISODate",(n,a)=>{X2.init(n,a),Ye.init(n,a)});function Kz(n){return nz(Vz,n)}const Xz=R("ZodISOTime",(n,a)=>{P2.init(n,a),Ye.init(n,a)});function Pz(n){return az(Xz,n)}const Jz=R("ZodISODuration",(n,a)=>{J2.init(n,a),Ye.init(n,a)});function Fz(n){return uz(Jz,n)}const Iz=(n,a)=>{ov.init(n,a),n.name="ZodError",Object.defineProperties(n,{format:{value:i=>k1(n,i)},flatten:{value:i=>Q1(n,i)},addIssue:{value:i=>{n.issues.push(i),n.message=JSON.stringify(n.issues,Ac,2)}},addIssues:{value:i=>{n.issues.push(...i),n.message=JSON.stringify(n.issues,Ac,2)}},isEmpty:{get(){return n.issues.length===0}}})},Xt=R("ZodError",Iz,{Parent:Error}),Wz=Vc(Xt),eE=Kc(Xt),tE=Al(Xt),nE=jl(Xt),aE=L1(Xt),uE=$1(Xt),rE=G1(Xt),iE=Y1(Xt),lE=V1(Xt),sE=K1(Xt),oE=X1(Xt),cE=P1(Xt),Le=R("ZodType",(n,a)=>(Be.init(n,a),Object.assign(n["~standard"],{jsonSchema:{input:_l(n,"input"),output:_l(n,"output")}}),n.toJSONSchema=wz(n,{}),n.def=a,n.type=a.type,Object.defineProperty(n,"_def",{value:a}),n.check=(...i)=>n.clone(aa(a,{checks:[...a.checks??[],...i.map(l=>typeof l=="function"?{_zod:{check:l,def:{check:"custom"},onattach:[]}}:l)]}),{parent:!0}),n.with=n.check,n.clone=(i,l)=>ua(n,i,l),n.brand=()=>n,n.register=((i,l)=>(i.add(n,l),n)),n.parse=(i,l)=>Wz(n,i,l,{callee:n.parse}),n.safeParse=(i,l)=>tE(n,i,l),n.parseAsync=async(i,l)=>eE(n,i,l,{callee:n.parseAsync}),n.safeParseAsync=async(i,l)=>nE(n,i,l),n.spa=n.safeParseAsync,n.encode=(i,l)=>aE(n,i,l),n.decode=(i,l)=>uE(n,i,l),n.encodeAsync=async(i,l)=>rE(n,i,l),n.decodeAsync=async(i,l)=>iE(n,i,l),n.safeEncode=(i,l)=>lE(n,i,l),n.safeDecode=(i,l)=>sE(n,i,l),n.safeEncodeAsync=async(i,l)=>oE(n,i,l),n.safeDecodeAsync=async(i,l)=>cE(n,i,l),n.refine=(i,l)=>n.check(lx(i,l)),n.superRefine=i=>n.check(sx(i)),n.overwrite=i=>n.check(zu(i)),n.optional=()=>Im(n),n.exactOptional=()=>XE(n),n.nullable=()=>Wm(n),n.nullish=()=>Im(Wm(n)),n.nonoptional=i=>ex(n,i),n.array=()=>Iv(n),n.or=i=>QE([n,i]),n.and=i=>BE(n,i),n.transform=i=>ey(n,VE(i)),n.default=i=>FE(n,i),n.prefault=i=>WE(n,i),n.catch=i=>nx(n,i),n.pipe=i=>ey(n,i),n.readonly=()=>rx(n),n.describe=i=>{const l=n.clone();return Sr.add(l,{description:i}),l},Object.defineProperty(n,"description",{get(){return Sr.get(n)?.description},configurable:!0}),n.meta=(...i)=>{if(i.length===0)return Sr.get(n);const l=n.clone();return Sr.add(l,i[0]),l},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n.apply=i=>i(n),n)),Pv=R("_ZodString",(n,a)=>{Xc.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>Tv(n,l,s);const i=n._zod.bag;n.format=i.format??null,n.minLength=i.minimum??null,n.maxLength=i.maximum??null,n.regex=(...l)=>n.check(fz(...l)),n.includes=(...l)=>n.check(pz(...l)),n.startsWith=(...l)=>n.check(mz(...l)),n.endsWith=(...l)=>n.check(yz(...l)),n.min=(...l)=>n.check(yl(...l)),n.max=(...l)=>n.check(Ev(...l)),n.length=(...l)=>n.check(xv(...l)),n.nonempty=(...l)=>n.check(yl(1,...l)),n.lowercase=l=>n.check(dz(l)),n.uppercase=l=>n.check(hz(l)),n.trim=()=>n.check(gz()),n.normalize=(...l)=>n.check(vz(...l)),n.toLowerCase=()=>n.check(bz()),n.toUpperCase=()=>n.check(_z()),n.slugify=()=>n.check(Sz())}),fE=R("ZodString",(n,a)=>{Xc.init(n,a),Pv.init(n,a),n.email=i=>n.check(NO(dE,i)),n.url=i=>n.check(kO(hE,i)),n.jwt=i=>n.check(ez(AE,i)),n.emoji=i=>n.check(HO(pE,i)),n.guid=i=>n.check($m(Pm,i)),n.uuid=i=>n.check(UO(il,i)),n.uuidv4=i=>n.check(ZO(il,i)),n.uuidv6=i=>n.check(qO(il,i)),n.uuidv7=i=>n.check(QO(il,i)),n.nanoid=i=>n.check(BO(mE,i)),n.guid=i=>n.check($m(Pm,i)),n.cuid=i=>n.check(LO(yE,i)),n.cuid2=i=>n.check($O(vE,i)),n.ulid=i=>n.check(GO(gE,i)),n.base64=i=>n.check(FO(xE,i)),n.base64url=i=>n.check(IO(TE,i)),n.xid=i=>n.check(YO(bE,i)),n.ksuid=i=>n.check(VO(_E,i)),n.ipv4=i=>n.check(KO(SE,i)),n.ipv6=i=>n.check(XO(OE,i)),n.cidrv4=i=>n.check(PO(zE,i)),n.cidrv6=i=>n.check(JO(EE,i)),n.e164=i=>n.check(WO(wE,i)),n.datetime=i=>n.check(Yz(i)),n.date=i=>n.check(Kz(i)),n.time=i=>n.check(Pz(i)),n.duration=i=>n.check(Fz(i))});function Xm(n){return DO(fE,n)}const Ye=R("ZodStringFormat",(n,a)=>{Ge.init(n,a),Pv.init(n,a)}),dE=R("ZodEmail",(n,a)=>{Q2.init(n,a),Ye.init(n,a)}),Pm=R("ZodGUID",(n,a)=>{Z2.init(n,a),Ye.init(n,a)}),il=R("ZodUUID",(n,a)=>{q2.init(n,a),Ye.init(n,a)}),hE=R("ZodURL",(n,a)=>{k2.init(n,a),Ye.init(n,a)}),pE=R("ZodEmoji",(n,a)=>{H2.init(n,a),Ye.init(n,a)}),mE=R("ZodNanoID",(n,a)=>{B2.init(n,a),Ye.init(n,a)}),yE=R("ZodCUID",(n,a)=>{L2.init(n,a),Ye.init(n,a)}),vE=R("ZodCUID2",(n,a)=>{$2.init(n,a),Ye.init(n,a)}),gE=R("ZodULID",(n,a)=>{G2.init(n,a),Ye.init(n,a)}),bE=R("ZodXID",(n,a)=>{Y2.init(n,a),Ye.init(n,a)}),_E=R("ZodKSUID",(n,a)=>{V2.init(n,a),Ye.init(n,a)}),SE=R("ZodIPv4",(n,a)=>{F2.init(n,a),Ye.init(n,a)}),OE=R("ZodIPv6",(n,a)=>{I2.init(n,a),Ye.init(n,a)}),zE=R("ZodCIDRv4",(n,a)=>{W2.init(n,a),Ye.init(n,a)}),EE=R("ZodCIDRv6",(n,a)=>{eO.init(n,a),Ye.init(n,a)}),xE=R("ZodBase64",(n,a)=>{tO.init(n,a),Ye.init(n,a)}),TE=R("ZodBase64URL",(n,a)=>{aO.init(n,a),Ye.init(n,a)}),wE=R("ZodE164",(n,a)=>{uO.init(n,a),Ye.init(n,a)}),AE=R("ZodJWT",(n,a)=>{iO.init(n,a),Ye.init(n,a)}),Jv=R("ZodNumber",(n,a)=>{bv.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>wv(n,l,s),n.gt=(l,s)=>n.check(Ym(l,s)),n.gte=(l,s)=>n.check(sc(l,s)),n.min=(l,s)=>n.check(sc(l,s)),n.lt=(l,s)=>n.check(Gm(l,s)),n.lte=(l,s)=>n.check(lc(l,s)),n.max=(l,s)=>n.check(lc(l,s)),n.int=l=>n.check(Jm(l)),n.safe=l=>n.check(Jm(l)),n.positive=l=>n.check(Ym(0,l)),n.nonnegative=l=>n.check(sc(0,l)),n.negative=l=>n.check(Gm(0,l)),n.nonpositive=l=>n.check(lc(0,l)),n.multipleOf=(l,s)=>n.check(Vm(l,s)),n.step=(l,s)=>n.check(Vm(l,s)),n.finite=()=>n;const i=n._zod.bag;n.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),n.isFinite=!0,n.format=i.format??null});function jE(n){return rz(Jv,n)}const ME=R("ZodNumberFormat",(n,a)=>{lO.init(n,a),Jv.init(n,a)});function Jm(n){return iz(ME,n)}const CE=R("ZodBoolean",(n,a)=>{sO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Av(n,i,l)});function Nx(n){return lz(CE,n)}const RE=R("ZodNull",(n,a)=>{oO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>jv(n,i,l)});function Ux(n){return sz(RE,n)}const DE=R("ZodUnknown",(n,a)=>{cO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Cv()});function Mc(){return oz(DE)}const NE=R("ZodNever",(n,a)=>{fO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Mv(n,i,l)});function Fv(n){return cz(NE,n)}const UE=R("ZodArray",(n,a)=>{dO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Zv(n,i,l,s),n.element=a.element,n.min=(i,l)=>n.check(yl(i,l)),n.nonempty=i=>n.check(yl(1,i)),n.max=(i,l)=>n.check(Ev(i,l)),n.length=(i,l)=>n.check(xv(i,l)),n.unwrap=()=>n.element});function Iv(n,a){return Oz(UE,n,a)}const Jc=R("ZodObject",(n,a)=>{pO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>qv(n,i,l,s),ze(n,"shape",()=>a.shape),n.keyof=()=>$E(Object.keys(n._zod.def.shape)),n.catchall=i=>n.clone({...n._zod.def,catchall:i}),n.passthrough=()=>n.clone({...n._zod.def,catchall:Mc()}),n.loose=()=>n.clone({...n._zod.def,catchall:Mc()}),n.strict=()=>n.clone({...n._zod.def,catchall:Fv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=i=>D1(n,i),n.safeExtend=i=>N1(n,i),n.merge=i=>U1(n,i),n.pick=i=>C1(n,i),n.omit=i=>R1(n,i),n.partial=(...i)=>Z1(eg,n,i[0]),n.required=(...i)=>q1(tg,n,i[0])});function ZE(n,a){const i={type:"object",shape:n??{},...W(a)};return new Jc(i)}function Zx(n,a){return new Jc({type:"object",shape:n,catchall:Fv(),...W(a)})}function qE(n,a){return new Jc({type:"object",shape:n,catchall:Mc(),...W(a)})}const Wv=R("ZodUnion",(n,a)=>{Ov.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Qv(n,i,l,s),n.options=a.options});function QE(n,a){return new Wv({type:"union",options:n,...W(a)})}const kE=R("ZodDiscriminatedUnion",(n,a)=>{Wv.init(n,a),mO.init(n,a)});function qx(n,a,i){return new kE({type:"union",options:a,discriminator:n,...W(i)})}const HE=R("ZodIntersection",(n,a)=>{yO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>kv(n,i,l,s)});function BE(n,a){return new HE({type:"intersection",left:n,right:a})}const LE=R("ZodRecord",(n,a)=>{vO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Hv(n,i,l,s),n.keyType=a.keyType,n.valueType=a.valueType});function Qx(n,a,i){return new LE({type:"record",keyType:n,valueType:a,...W(i)})}const Cc=R("ZodEnum",(n,a)=>{gO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>Rv(n,l,s),n.enum=a.entries,n.options=Object.values(a.entries);const i=new Set(Object.keys(a.entries));n.extract=(l,s)=>{const f={};for(const d of l)if(i.has(d))f[d]=a.entries[d];else throw new Error(`Key ${d} not found in enum`);return new Cc({...a,checks:[],...W(s),entries:f})},n.exclude=(l,s)=>{const f={...a.entries};for(const d of l)if(i.has(d))delete f[d];else throw new Error(`Key ${d} not found in enum`);return new Cc({...a,checks:[],...W(s),entries:f})}});function $E(n,a){const i=Array.isArray(n)?Object.fromEntries(n.map(l=>[l,l])):n;return new Cc({type:"enum",entries:i,...W(a)})}const GE=R("ZodLiteral",(n,a)=>{bO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Dv(n,i,l),n.values=new Set(a.values),Object.defineProperty(n,"value",{get(){if(a.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return a.values[0]}})});function Fm(n,a){return new GE({type:"literal",values:Array.isArray(n)?n:[n],...W(a)})}const YE=R("ZodTransform",(n,a)=>{_O.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Uv(n,i),n._zod.parse=(i,l)=>{if(l.direction==="backward")throw new av(n.constructor.name);i.addIssue=f=>{if(typeof f=="string")i.issues.push(Rr(f,i.value,a));else{const d=f;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=i.value),d.inst??(d.inst=n),i.issues.push(Rr(d))}};const s=a.transform(i.value,i);return s instanceof Promise?s.then(f=>(i.value=f,i)):(i.value=s,i)}});function VE(n){return new YE({type:"transform",transform:n})}const eg=R("ZodOptional",(n,a)=>{zv.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Pc(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function Im(n){return new eg({type:"optional",innerType:n})}const KE=R("ZodExactOptional",(n,a)=>{SO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Pc(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function XE(n){return new KE({type:"optional",innerType:n})}const PE=R("ZodNullable",(n,a)=>{OO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Bv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function Wm(n){return new PE({type:"nullable",innerType:n})}const JE=R("ZodDefault",(n,a)=>{zO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>$v(n,i,l,s),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function FE(n,a){return new JE({type:"default",innerType:n,get defaultValue(){return typeof a=="function"?a():lv(a)}})}const IE=R("ZodPrefault",(n,a)=>{EO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Gv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function WE(n,a){return new IE({type:"prefault",innerType:n,get defaultValue(){return typeof a=="function"?a():lv(a)}})}const tg=R("ZodNonOptional",(n,a)=>{xO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Lv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function ex(n,a){return new tg({type:"nonoptional",innerType:n,...W(a)})}const tx=R("ZodCatch",(n,a)=>{TO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Yv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function nx(n,a){return new tx({type:"catch",innerType:n,catchValue:typeof a=="function"?a:()=>a})}const ax=R("ZodPipe",(n,a)=>{wO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Vv(n,i,l,s),n.in=a.in,n.out=a.out});function ey(n,a){return new ax({type:"pipe",in:n,out:a})}const ux=R("ZodReadonly",(n,a)=>{AO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Kv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function rx(n){return new ux({type:"readonly",innerType:n})}const ix=R("ZodLazy",(n,a)=>{jO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Xv(n,i,l,s),n.unwrap=()=>n._zod.def.getter()});function kx(n){return new ix({type:"lazy",getter:n})}const Fc=R("ZodCustom",(n,a)=>{MO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Nv(n,i)});function Hx(n,a){return zz(Fc,n??(()=>!0),a)}function lx(n,a={}){return Ez(Fc,n,a)}function sx(n){return xz(n)}function Bx(n,a={}){const i=new Fc({type:"custom",check:"custom",fn:l=>l instanceof n,abort:!0,...W(a)});return i._zod.bag.Class=n,i._zod.check=l=>{l.value instanceof n||l.issues.push({code:"invalid_type",expected:n.name,input:l.value,inst:i,path:[...i._zod.def.path??[]]})},i}const ox={CREATE_WIDGET:"create_widget",UPDATE_WIDGET:"update_widget",DELETE_WIDGET:"delete_widget",CREATE_MONITOR:"create_monitor",UPDATE_MONITOR:"update_monitor",DELETE_MONITOR:"delete_monitor",TOGGLE_MONITOR:"toggle_monitor",BEGIN_ANALYSIS:"begin_analysis"},Lx=Object.fromEntries(Object.entries(ox).map(([n,a])=>[n,`tool-${a}`])),$x=ZE({v:Fm(1),kind:Fm("analysis"),sourceTitle:Xm().max(400),sourceCreatedAt:jE().int().nonnegative(),parts:Iv(qE({type:Xm()})).max(200)}),ll={dashboards:!1,monitors:!1},Gx={paper:"#fafaf8",inkLight:"#444444",inkMuted:"#666666",inkFaint:"#9c9890",border:"#d4d2cd",success:"#2a7a4a"},De={shell:"bg-[#fafaf8] text-[#2c2c2c] font-sans",sidebar:"bg-[#f7f6f3] border-r border-[#d4d2cd] font-sans",sidebarLogo:"text-[#2b5ea7]",sidebarSubtitle:"text-[#666666]",navActive:"text-[#2b5ea7] bg-[#eaf0f8] border-l-2 border-[#2b5ea7]",navInactive:"text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] border-l-2 border-transparent",sidebarFooter:"border-t border-[#d4d2cd] text-[#666666]",page:"p-6 space-y-6 bg-[#fafaf8]",sectionTitle:"text-sm font-medium text-[#666666] mb-3 font-sans",card:"rounded bg-white border border-[#d4d2cd] p-6",cardTitle:"text-sm text-[#666666] font-sans",cardValue:"text-2xl font-bold text-[#2c2c2c] mt-1",tableContainer:"bg-white rounded border border-[#d4d2cd] overflow-auto max-h-[440px]",tableHeaderRow:"bg-[#f5f4f0]",tableHeaderCell:"px-4 py-3 text-left text-sm font-medium text-[#666666] uppercase tracking-wider font-sans",tableRow:"border-b border-[#e8e6e1] hover:bg-[#f5f4f0]/50",tableCell:"px-4 py-3 text-sm text-[#444444] max-w-[300px]",tableCellText:"line-clamp-2 cursor-default",badge:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium font-sans",badgeVariants:{info:"bg-[#2b5ea7]/10 text-[#2b5ea7]"},spinner:"border-[#e8e6e1] border-t-[#2b5ea7]",statusLabel:"text-sm text-[#666666]",statusDot:{connected:"bg-[#2a7a4a]",disconnected:"bg-[#b33a2a]",checking:"bg-[#a07020] animate-pulse"},input:"w-full bg-white border border-[#d4d2cd] rounded px-3 py-2 text-sm text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] font-sans",primaryBtn:"px-4 py-1.5 text-sm bg-[#2b5ea7] hover:bg-[#234d8a] text-white rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed font-sans",secondaryBtn:"px-4 py-1.5 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] rounded transition-colors disabled:opacity-50 font-sans",dangerBtn:"px-4 py-1.5 text-sm bg-[#b33a2a]/10 hover:bg-[#b33a2a]/20 text-[#b33a2a] rounded transition-colors disabled:opacity-50 ml-auto font-sans",outlineBtn:"px-2.5 py-1 text-xs font-medium border border-[#2b5ea7] text-[#2b5ea7] rounded hover:bg-[#2b5ea7] hover:text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent disabled:hover:text-[#2b5ea7] font-sans",successText:"text-sm text-[#2a7a4a] font-sans",errorText:"text-sm text-[#b33a2a] font-sans",warnText:"text-xs text-[#a07020] font-sans",maskedKey:"text-xs text-[#666666] font-mono",chatContainer:"flex flex-col h-full bg-[#fafaf8] font-serif",chatUserLabel:"text-[10px] uppercase tracking-[0.15em] text-[#666666] mb-2 font-sans font-medium",chatAssistantLabel:"text-[10px] uppercase tracking-[0.15em] text-[#2b5ea7] mb-2 font-sans font-medium",chatUserMessage:"text-[#2c2c2c] text-base leading-[1.8] [overflow-wrap:break-word]",chatAssistantMessage:"text-[#444444] text-base leading-[1.8] [overflow-wrap:break-word]",chatSeparator:"my-6 border-b border-[#e8e6e1]",chatInputArea:"px-10 py-5 bg-white border-t border-[#d4d2cd]",chatInput:"flex-1 bg-white border border-[#d4d2cd] rounded px-4 py-2.5 text-base text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] disabled:opacity-50 font-serif resize-none overflow-y-auto max-h-40",chatButton:"px-5 py-2.5 text-sm bg-[#2b5ea7] text-white font-sans font-medium rounded hover:bg-[#234d8a] disabled:opacity-50 disabled:cursor-not-allowed",chatThinking:"text-[#2b5ea7] text-base italic",chatEmptyState:"text-[#666666] text-base italic font-serif",toolLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2b5ea7] font-sans font-semibold mb-2",toolLoading:"text-sm italic text-[#2b5ea7] font-sans",toolQueryToggle:"text-[11px] text-[#666666] font-mono cursor-pointer select-none font-sans",toolQueryCode:"mt-1 px-3 py-2 text-[12px] font-mono text-[#444444] bg-[#f5f4f0] rounded border border-[#d4d2cd] whitespace-pre-wrap",chatMessageCard:"bg-[#fafaf8] p-4 rounded",chatMessageActions:"absolute right-0 top-0 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",chatActionButton:"p-1 rounded text-[#9c9890] hover:text-[#2b5ea7] hover:bg-[#eaf0f8] transition-colors",chatEditTextarea:"w-full bg-white border border-[#2b5ea7] rounded px-3 py-2 text-base text-[#2c2c2c] focus:outline-none font-serif leading-[1.8] resize-none",chatEditActions:"flex items-center gap-2 mt-2",chatEditSave:"px-3 py-1 text-xs bg-[#2b5ea7] hover:bg-[#234d8a] text-white rounded transition-colors font-sans",chatEditCancel:"px-3 py-1 text-xs bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] rounded transition-colors font-sans",chatStopButton:"px-5 py-2.5 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] font-sans font-medium rounded transition-colors",chatContinueButton:"px-4 py-2 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#2b5ea7] font-sans font-medium rounded transition-colors border border-[#d4d2cd]",resultListItem:"px-4 py-2 text-sm text-[#444444] border-b border-[#e8e6e1] last:border-b-0",resultErrorMessage:"text-sm text-[#b33a2a] font-sans bg-[#b33a2a]/5 border border-[#b33a2a]/20 rounded px-4 py-3 my-2",analysisContainer:"bg-[#eaf0f8] border border-[#2b5ea7]/20 rounded px-4 py-3 my-3",investigationContainer:"border-l-2 border-[#2a7a4a] pl-4 my-3",investigationLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2a7a4a] font-sans font-semibold mb-2",investigationTask:"text-xs text-[#9c9890] font-sans mb-2 italic",investigationThinking:"text-[#9c9890] py-2",analysisBlock:"text-sm text-[#444444] bg-[#f2f8f5] border border-[#c8e0d2] rounded px-4 py-3 my-2 leading-relaxed font-sans",summaryBlock:"text-sm text-[#2c2c2c] bg-[#eaf0f8] border border-[#2b5ea7]/20 rounded px-4 py-3 my-2 leading-relaxed font-sans",summaryLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2b5ea7] font-sans font-semibold mb-1",chartContainer:"bg-white rounded border border-[#d4d2cd] p-4 my-2",settingsCard:"bg-white border border-[#d4d2cd] rounded p-4",dialogBackdrop:"fixed inset-0 z-50 bg-black/20",dialogCard:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white border border-[#d4d2cd] rounded-lg shadow-lg p-6 w-[340px] font-sans",modalCard:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white border border-[#d4d2cd] rounded-lg shadow-lg p-6 w-[480px] max-h-[85vh] overflow-y-auto font-sans",dialogTitle:"text-sm font-semibold text-[#2c2c2c] mb-2",dialogMessage:"text-sm text-[#666666] mb-5",sessionItem:"w-full flex items-center gap-2 pl-9 pr-4 py-1.5 text-xs text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] transition-colors cursor-pointer group",sessionItemActive:"w-full flex items-center gap-2 pl-9 pr-4 py-1.5 text-xs text-[#2b5ea7] bg-[#eaf0f8] cursor-pointer group font-medium",sessionDeleteBtn:"ml-auto text-[#666666] hover:text-[#b33a2a] transition-colors text-[10px] shrink-0 opacity-0 group-hover:opacity-100",sessionNewBtn:"w-full flex items-center gap-2 pl-9 pr-3 py-1.5 text-xs text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] transition-colors",panelChatUserMessage:"text-sm leading-relaxed text-[#2c2c2c] [overflow-wrap:break-word]",panelChatAssistantMessage:"text-sm leading-relaxed text-[#444444] [overflow-wrap:break-word]",panelChatEmptyState:"text-[#666666] text-sm italic font-sans",panelChatThinking:"text-[#666666] text-sm italic",panelChatSeparator:"my-3 border-b border-[#d4d2cd]",panelChatInputArea:"px-4 py-3 bg-white border-t border-[#d4d2cd]",panelChatTextarea:"flex-1 bg-white border border-[#d4d2cd] rounded px-3 py-2 text-sm text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] disabled:opacity-50 font-sans resize-none overflow-y-auto max-h-24",chartColors:["#6b9fd4","#6bb88a","#d4806e","#d4b06b","#a488c4","#6bb8aa"],popoverWide:"absolute z-30 bg-[#faf8f4] border border-[#e8e3da] rounded-md shadow-lg py-2 px-3 w-72",popoverLabel:"text-[10px] uppercase tracking-wider text-[#9c9890] font-sans mb-2",popoverRow:"flex items-start gap-2 py-1 text-xs text-[#6b6560] font-sans",popoverItemRow:"flex items-center justify-between text-[11px] text-[#6b6560] font-sans py-0.5",popoverDivider:"border-t border-[#e8e3da] my-1",popoverFootnote:"text-[10px] text-[#9c9890] font-sans mt-1 pt-1 border-t border-[#e8e3da]",titleBar:"sticky top-0 z-20 bg-[#faf8f4] px-10 pt-4 pb-4 mb-2 border-b border-[#e8e3da]",titleText:"text-base font-serif font-medium text-[#2b5ea7] tracking-tight",metaLink:"text-xs text-[#666666] hover:text-[#2b5ea7] font-sans transition-colors",streamingDot:"inline-block w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse",tokenSummary:"text-[10px] text-[#9c9890] font-sans tracking-wide hover:text-[#6b6560] transition-colors cursor-default"};function cx({sidebar:n,children:a}){return Q.jsxs("div",{className:`flex h-screen ${De.shell}`,children:[Q.jsx("aside",{className:"w-52 flex-shrink-0 h-full",children:n}),Q.jsx("main",{className:"flex-1 overflow-auto",children:a})]})}const Rc=[{provider:"google",modelId:"gemini-3.1-pro-preview",inputPrice:2,outputPrice:12,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"google",modelId:"gemini-3-flash-preview",inputPrice:.5,outputPrice:3,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"google",modelId:"gemini-3.1-flash-lite-preview",inputPrice:.25,outputPrice:1.5,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"anthropic",modelId:"claude-haiku-4-5-20251001",inputPrice:.8,outputPrice:4,cacheReadMultiplier:.1,cacheWriteMultiplier:1.25}],fx=Object.fromEntries(Rc.map(n=>[n.modelId,{input:n.inputPrice,output:n.outputPrice,cacheRead:n.cacheReadMultiplier,cacheWrite:n.cacheWriteMultiplier}]));function Yx(n,a,i,l=0,s=0){if(!n)return 0;const f=fx[n];return f?((a-l)*f.input+l*f.input*f.cacheRead+s*f.input*f.cacheWrite+i*f.output)/1e6:0}function Vx(n){return n<.01?`$${n.toFixed(4)}`:`$${n.toFixed(2)}`}function Kx(){const n=$.useRef(null),a=$.useRef(null),i=$.useRef(!0),[l,s]=$.useState(!0),f=$.useCallback(m=>{const y=n.current;y&&(i.current=!0,y.scrollTo({top:y.scrollHeight,behavior:m?.animation==="smooth"?"smooth":"instant"}))},[]),d=$.useCallback(m=>{const y=n.current;y&&(i.current=!1,y.scrollTo({top:0,behavior:m?.animation==="smooth"?"smooth":"instant"}))},[]),h=$.useCallback(m=>{m.deltaY<0&&(i.current=!1)},[]);return $.useEffect(()=>{const m=n.current;if(!m)return;const y=()=>{const g=m.scrollHeight-m.scrollTop-m.clientHeight<50;s(g),g&&(i.current=!0)};return m.addEventListener("scroll",y,{passive:!0}),()=>m.removeEventListener("scroll",y)},[]),$.useEffect(()=>{const m=a.current;if(!m)return;const y=new ResizeObserver(()=>{i.current&&f()});return y.observe(m),()=>y.disconnect()},[f]),{scrollRef:n,contentRef:a,isAtBottom:l,handleWheel:h,scrollToBottom:f,scrollToTop:d}}function Xx(){const n=$.useRef(null),[a,i]=$.useState({width:0,height:0});return $.useEffect(()=>{const l=n.current;if(!l)return;const s=new ResizeObserver(f=>{const d=f[0]?.contentRect;d&&d.width>0&&i({width:d.width,height:d.height})});return s.observe(l),()=>s.disconnect()},[]),{ref:n,size:a}}function ty(n,a,i){const l=$.useRef(n);l.current=n,$.useEffect(()=>{if(!i)return;l.current();const s=setInterval(()=>{document.visibilityState==="visible"&&l.current()},a),f=()=>{document.visibilityState==="visible"&&l.current()};return document.addEventListener("visibilitychange",f),()=>{clearInterval(s),document.removeEventListener("visibilitychange",f)}},[i,a])}function dx(n){const[a,i]=$.useState(!1),[l,s]=$.useState(!1);return $.useEffect(()=>{const f=n.current;if(!f)return;const d=()=>{i(f.scrollTop>0),s(f.scrollTop+f.clientHeight<f.scrollHeight-1)};d(),f.addEventListener("scroll",d,{passive:!0});const h=new ResizeObserver(d);return h.observe(f),()=>{f.removeEventListener("scroll",d),h.disconnect()}},[n]),{showTopFade:a,showBottomFade:l}}function hx(){const{data:n}=yt.settings.getApiKey.useQuery("anthropic"),{data:a}=yt.settings.getApiKey.useQuery("google");return $.useMemo(()=>{const i=new Set;return n&&i.add("anthropic"),a&&i.add("google"),i},[n,a])}function Px(){const n=hx();return $.useMemo(()=>{const a=Rc.filter(i=>n.has(i.provider));return a.length>0?a:Rc},[n])}function Jx(n,a){const i=$.useRef(a);$.useEffect(()=>{i.current=a}),$.useEffect(()=>{function l(s){n.current&&!n.current.contains(s.target)&&i.current()}return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[n])}const Or={sessionStaleTimeMs:3e4,activeStreamPollingMs:5e3,monitorPollingMs:6e4,updateCheckStaleTimeMs:300*1e3,chatThrottleMs:50,maxSseErrors:3};function oc({children:n}){const a=$.useRef(null),{showTopFade:i,showBottomFade:l}=dx(a);return Q.jsxs("div",{className:"relative",children:[Q.jsx("div",{className:`absolute top-0 left-0 right-0 h-6 bg-gradient-to-b from-[#f7f6f3] to-transparent z-10 pointer-events-none transition-opacity ${i?"opacity-100":"opacity-0"}`}),Q.jsx("div",{ref:a,className:"max-h-[300px] overflow-y-auto scrollbar-none",children:n}),Q.jsx("div",{className:`absolute bottom-0 left-0 right-0 h-6 bg-gradient-to-t from-[#f7f6f3] to-transparent z-10 pointer-events-none transition-opacity ${l?"opacity-100":"opacity-0"}`})]})}function px({open:n,title:a,message:i,confirmLabel:l="Delete",cancelLabel:s="Cancel",confirmStyle:f="danger",onConfirm:d,onCancel:h}){const m=$.useRef(null);return $.useEffect(()=>{n&&m.current?.focus()},[n]),$.useEffect(()=>{if(!n)return;const y=g=>{g.key==="Escape"&&h()};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[n,h]),n?Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:De.dialogBackdrop,onClick:h}),Q.jsxs("div",{className:De.dialogCard,children:[Q.jsx("div",{className:De.dialogTitle,children:a}),Q.jsx("div",{className:De.dialogMessage,children:i}),Q.jsxs("div",{className:"flex justify-end gap-2",children:[s!==null&&Q.jsx("button",{onClick:h,className:De.secondaryBtn,children:s}),Q.jsx("button",{ref:m,onClick:d,className:f==="primary"?De.primaryBtn:De.dangerBtn,children:l})]})]})]}):null}function mx({open:n,onClose:a,children:i}){return $.useEffect(()=>{if(!n)return;const l=s=>{s.key==="Escape"&&a()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[n,a]),n?Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:De.dialogBackdrop,onClick:a}),Q.jsx("div",{className:De.modalCard,children:i})]}):null}function yx({open:n,onClose:a}){const i=yt.update.check.useQuery(void 0,{staleTime:Or.updateCheckStaleTimeMs});return Q.jsxs(mx,{open:n,onClose:a,children:[Q.jsx("div",{className:De.dialogTitle,children:"Update Available"}),Q.jsxs("div",{className:"text-sm text-[#666666] mb-4 space-y-1",children:[Q.jsxs("p",{children:["Current version: ",Q.jsx("span",{className:"font-mono",children:i.data?.currentVersion})]}),Q.jsxs("p",{children:["Latest version: ",Q.jsx("span",{className:"font-mono",children:i.data?.latestVersion})]})]}),Q.jsxs("div",{className:"text-sm text-[#666666] mb-4",children:[Q.jsx("p",{children:"Run this command to update:"}),Q.jsx("code",{className:"block mt-2 p-2 bg-[#1a1a1a] rounded font-mono text-xs text-[#e0e0e0]",children:"npm update -g tracer-sh"})]}),Q.jsx("div",{className:"flex justify-end",children:Q.jsx("button",{onClick:a,className:De.secondaryBtn,children:"Close"})})]})}const sl=({page:n})=>{const a={width:16,height:16,fill:"none",stroke:"currentColor",strokeWidth:1.5};switch(n){case"dashboard":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("rect",{x:"2",y:"2",width:"12",height:"12",rx:"1.5"})});case"debug":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M8 1.5L14.5 8L8 14.5L1.5 8Z"})});case"monitors":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("circle",{cx:"8",cy:"8",r:"6"})});case"settings":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M3 4.5h10M3 8h10M3 11.5h10"})})}},vx=[{page:"debug",label:"Debug"}];function gx({currentPage:n,onNavigate:a,currentSessionId:i,onSelectSession:l,onNewSession:s,currentDashboardId:f,onSelectDashboard:d,onNewDashboard:h}){const m=yt.sessions.list.useQuery(void 0,{staleTime:Or.sessionStaleTimeMs}),y=yt.dashboards.list.useQuery(void 0,{enabled:ll.dashboards}),g=yt.monitorAlerts.activeCount.useQuery(void 0,{enabled:ll.monitors}),O=yt.sessions.activeCount.useQuery(),A=yt.useUtils(),Z=(O.data?.streaming??0)>0;ty(()=>{A.sessions.activeCount.invalidate(),n==="debug"&&A.sessions.list.invalidate()},Or.activeStreamPollingMs,Z);const G=yt.monitors.shouldPoll.useQuery(void 0,{enabled:ll.monitors});ty(()=>{A.monitorAlerts.activeCount.invalidate(),A.monitors.shouldPoll.invalidate()},Or.monitorPollingMs,(G.data??!1)&&ll.monitors);const H=yt.sessions.markViewed.useMutation();$.useEffect(()=>{if(!i||n!=="debug"||!m.data)return;const F=m.data.find(E=>E.id===i);!F||F.status!=="done"||(A.sessions.list.setData(void 0,E=>E?.map(q=>q.id===i?{...q,status:"idle"}:q)),A.sessions.activeCount.setData(void 0,E=>E&&{...E,done:Math.max(0,E.done-1)}),H.mutate({id:i}))},[m.data,i,n]);const{regularSessions:le,importedSessions:se}=$.useMemo(()=>{const F=m.data??[],E=F.filter(L=>L.kind!==Mm.IMPORTED),q=F.filter(L=>L.kind===Mm.IMPORTED);return{regularSessions:E,importedSessions:q}},[m.data]),Me=g.data??0,me=n==="debug"&&m.data?m.data.filter(F=>F.status==="done"&&F.id!==i).length:O.data?.done??0,ve=yt.sessions.delete.useMutation(),K=yt.dashboards.delete.useMutation(),[Y,M]=$.useState(null),[V,I]=$.useState(!1),ae=yt.update.check.useQuery(void 0,{staleTime:Or.updateCheckStaleTimeMs}),ue=ae.data?.available===!0,J=(F,E)=>{F.stopPropagation(),M({type:"session",id:E})},de=(F,E)=>{F.stopPropagation(),M({type:"dashboard",id:E})},fe=()=>{Y&&(Y.type==="session"?ve.mutate({id:Y.id},{onSuccess:()=>{A.sessions.list.invalidate(),i===Y.id&&s()}}):K.mutate({id:Y.id},{onSuccess:()=>{A.dashboards.list.invalidate(),f===Y.id&&a("dashboard")}}),M(null))};return Q.jsxs("div",{className:`flex flex-col h-full ${De.sidebar}`,children:[Q.jsxs("div",{className:"p-6",children:[Q.jsxs("h1",{className:`text-2xl font-bold ${De.sidebarLogo} flex items-center gap-2`,children:[Q.jsx("img",{src:"/logo.svg",alt:"",className:"w-6 h-6"}),"Tracer"]}),Q.jsx("p",{className:`text-xs mt-1 ${De.sidebarSubtitle}`,children:"Observability Platform"})]}),Q.jsx("nav",{className:"flex-1 px-3 space-y-1 overflow-y-auto",children:vx.map(({page:F,label:E})=>{const q=n===F;return Q.jsxs("div",{children:[Q.jsxs("button",{onClick:()=>a(F),className:`w-full flex items-center gap-3 px-3 py-2 rounded-sm text-sm transition-colors ${q?De.navActive:De.navInactive}`,children:[F==="monitors"&&Me>0?Q.jsxs("span",{className:"relative flex items-center justify-center w-5 shrink-0",children:[Q.jsx(sl,{page:F}),Q.jsx("span",{className:"absolute inset-0 flex items-center justify-center",style:{animation:"fill-up-down 4s ease-in-out infinite"},children:Q.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",children:Q.jsx("circle",{cx:"8",cy:"8",r:"6",fill:"#b33a2a",stroke:"none"})})})]}):F==="debug"&&me>0?Q.jsxs("span",{className:"relative flex items-center justify-center w-5 shrink-0",children:[Q.jsx(sl,{page:F}),Q.jsx("span",{className:"absolute inset-0 flex items-center justify-center",style:{animation:"fill-up-down 4s ease-in-out infinite"},children:Q.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M8 1.5L14.5 8L8 14.5L1.5 8Z",fill:"#2b5ea7",stroke:"none"})})})]}):Q.jsx("span",{className:"w-5 flex items-center justify-center shrink-0",children:Q.jsx(sl,{page:F})}),E,F==="monitors"&&Me>0&&Q.jsx("span",{className:"ml-auto flex items-center gap-1.5",children:Q.jsx("span",{className:"text-[10px] font-medium text-[#b33a2a]",children:Me})})]}),F==="dashboard"&&n==="dashboard"&&Q.jsxs("div",{className:"mt-1 space-y-0.5",children:[Q.jsxs("button",{onClick:h,className:De.sessionNewBtn,children:[Q.jsx("span",{className:"text-[10px]",children:"+"}),"New dashboard"]}),Q.jsx(oc,{children:y.data?.map(L=>Q.jsxs("button",{onClick:()=>d(L.id),className:f===L.id?De.sessionItemActive:De.sessionItem,children:[Q.jsx("span",{className:"truncate flex-1 text-left",children:L.title}),Q.jsx("span",{onClick:ne=>de(ne,L.id),className:De.sessionDeleteBtn,children:"×"})]},L.id))})]}),F==="debug"&&(()=>{const L=ne=>Q.jsxs("button",{onClick:()=>l(ne.id),className:i===ne.id?De.sessionItemActive:De.sessionItem,children:[Q.jsx("span",{className:`truncate flex-1 text-left ${(ne.status==="streaming"||ne.status==="done")&&ne.id!==i?"text-[#2b5ea7] underline":""}`,title:ne.title,children:ne.title}),Q.jsx("span",{onClick:ye=>J(ye,ne.id),className:De.sessionDeleteBtn,children:"×"})]},ne.id);return Q.jsxs("div",{className:"mt-1 space-y-0.5",children:[Q.jsxs("button",{onClick:s,className:De.sessionNewBtn,children:[Q.jsx("span",{className:"text-[10px]",children:"+"}),"New chat"]}),Q.jsx(oc,{children:le.map(L)}),se.length>0&&Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#9c9890]/60 px-3 pt-3 pb-1",children:"Imported"}),Q.jsx(oc,{children:se.map(L)})]})]})})()]},F)})}),Q.jsx("div",{className:"px-3 pb-2",children:Q.jsxs("button",{onClick:()=>a("settings"),className:`w-full flex items-center gap-3 px-3 py-2 rounded-sm text-sm transition-colors ${n==="settings"?De.navActive:De.navInactive}`,children:[Q.jsx("span",{className:"w-5 flex items-center justify-center shrink-0",children:Q.jsx(sl,{page:"settings"})}),"Settings"]})}),Q.jsx("div",{className:`p-4 ${De.sidebarFooter}`,children:Q.jsxs("button",{onClick:()=>ue&&I(!0),className:`font-mono text-[10px] tracking-wider inline-flex items-center gap-1.5 ${ue?"cursor-pointer hover:text-[#2b5ea7]":"cursor-default"}`,children:["v","0.1.0",ue?Q.jsx("span",{className:"w-2 h-2 rounded-full bg-[#2b5ea7] animate-pulse"}):ae.data&&!ae.isLoading?Q.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",className:"text-[#2a7a4a]",children:Q.jsx("path",{d:"M2 5.5L4 7.5L8 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):null]})}),Q.jsx(yx,{open:V,onClose:()=>I(!1)}),Q.jsx(px,{open:Y!==null,title:Y?.type==="session"?"Delete session":"Delete dashboard",message:Y?.type==="session"?"Delete this chat session?":"Delete this dashboard and all its widgets?",onConfirm:fe,onCancel:()=>M(null)})]})}const bx={sm:"h-4 w-4",md:"h-8 w-8",lg:"h-12 w-12"};function _x({size:n="md",centered:a=!1}){const i=Q.jsx("div",{className:`${bx[n]} animate-spin rounded-full border-2 ${De.spinner}`});return a?Q.jsx("div",{className:"flex items-center justify-center py-12",children:i}):i}const Sx=$.lazy(()=>nv(()=>import("./mermaid-GHXKKRXX-8orKVVwC.js").then(n=>n.D),__vite__mapDeps([0,1,2])).then(n=>({default:n.Debug}))),Ox=$.lazy(()=>nv(()=>import("./Settings-6i0rgfI8.js"),__vite__mapDeps([3,1])).then(n=>({default:n.Settings}))),zx=null,Ex=null,xx=new Set(["debug","settings"]);function ng(){const n=window.location.pathname.replace(/^\/+/,"").split("/"),a=n[0]&&xx.has(n[0])?n[0]:"debug",i=a==="debug"&&n[1]?n[1]:null,l=a==="dashboard"&&n[1]?n[1]:null;return{page:a,sessionId:i,dashboardId:l}}let ny="",ay=ng();function Tx(){const n=window.location.pathname;return n!==ny&&(ny=n,ay=ng()),ay}function wx(n){return window.addEventListener("popstate",n),()=>window.removeEventListener("popstate",n)}function _r(n){window.history.pushState(null,"",n),window.dispatchEvent(new PopStateEvent("popstate"))}const Ax=()=>Q.jsx(_x,{size:"lg",centered:!0});function jx(){const{page:n,sessionId:a,dashboardId:i}=$.useSyncExternalStore(wx,Tx),l=$.useCallback(m=>{_r(m==="debug"?"/":`/${m}`)},[]),s=$.useCallback(m=>{_r(`/debug/${m}`)},[]),f=$.useCallback(()=>{_r("/debug")},[]),d=$.useCallback(m=>{_r(`/dashboard/${m}`)},[]),h=$.useCallback(()=>{_r(`/dashboard/${crypto.randomUUID()}`)},[]);return Q.jsx(cx,{sidebar:Q.jsx(gx,{currentPage:n,onNavigate:l,currentSessionId:a,onSelectSession:s,onNewSession:f,currentDashboardId:i,onSelectDashboard:d,onNewDashboard:h}),children:Q.jsxs($.Suspense,{fallback:Q.jsx(Ax,{}),children:[zx,n==="debug"&&Q.jsx(Sx,{sessionId:a,onSessionChange:s},a??"new"),Ex,n==="settings"&&Q.jsx(Ox,{})]})})}function Mx(){const[n]=$.useState(()=>new d_),[a]=$.useState(()=>yt.createClient({links:[cS({url:"/api/trpc",transformer:Ee})]}));return Q.jsx(yt.Provider,{client:a,queryClient:n,children:Q.jsx(h_,{client:n,children:Q.jsx(jx,{})})})}kb.createRoot(document.getElementById("root")).render(Q.jsx($.StrictMode,{children:Q.jsx(Mx,{})}));export{Rc as A,nv as B,px as C,Dc as D,Xx as E,Lx as F,Cb as G,Kx as H,ty as I,Jx as J,Yx as K,Vx as L,mx as M,$x as N,Mm as O,Rx as P,Rb as R,_x as S,Or as W,Bx as _,Zb as a,De as b,Gx as c,Px as d,Dx as e,QE as f,Xm as g,Hx as h,Qx as i,Q as j,Fm as k,kx as l,Nx as m,Mc as n,ZE as o,qx as p,Iv as q,$ as r,nE as s,yt as t,hx as u,Ux as v,jE as w,Zx as x,$E as y,wb as z};
48
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of n.seen.entries()){const h=d[1];if(a===d[0]){f(d);continue}if(n.external){const y=n.external.registry.get(d[0])?.id;if(a!==d[0]&&y){f(d);continue}}if(n.metadataRegistry.get(d[0])?.id){f(d);continue}if(h.cycle){f(d);continue}if(h.count>1&&n.reused==="ref"){f(d);continue}}}function bl(n,a){const i=n.seen.get(a);if(!i)throw new Error("Unprocessed schema. This is a bug in Zod.");const l=d=>{const h=n.seen.get(d);if(h.ref===null)return;const m=h.def??h.schema,y={...m},g=h.ref;if(h.ref=null,g){l(g);const A=n.seen.get(g),Z=A.schema;if(Z.$ref&&(n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0")?(m.allOf=m.allOf??[],m.allOf.push(Z)):Object.assign(m,Z),Object.assign(m,y),d._zod.parent===g)for(const H in m)H==="$ref"||H==="allOf"||H in y||delete m[H];if(Z.$ref&&A.def)for(const H in m)H==="$ref"||H==="allOf"||H in A.def&&JSON.stringify(m[H])===JSON.stringify(A.def[H])&&delete m[H]}const O=d._zod.parent;if(O&&O!==g){l(O);const A=n.seen.get(O);if(A?.schema.$ref&&(m.$ref=A.schema.$ref,A.def))for(const Z in m)Z==="$ref"||Z==="allOf"||Z in A.def&&JSON.stringify(m[Z])===JSON.stringify(A.def[Z])&&delete m[Z]}n.override({zodSchema:d,jsonSchema:m,path:h.path??[]})};for(const d of[...n.seen.entries()].reverse())l(d[0]);const s={};if(n.target==="draft-2020-12"?s.$schema="https://json-schema.org/draft/2020-12/schema":n.target==="draft-07"?s.$schema="http://json-schema.org/draft-07/schema#":n.target==="draft-04"?s.$schema="http://json-schema.org/draft-04/schema#":n.target,n.external?.uri){const d=n.external.registry.get(a)?.id;if(!d)throw new Error("Schema is missing an `id` property");s.$id=n.external.uri(d)}Object.assign(s,i.def??i.schema);const f=n.external?.defs??{};for(const d of n.seen.entries()){const h=d[1];h.def&&h.defId&&(f[h.defId]=h.def)}n.external||Object.keys(f).length>0&&(n.target==="draft-2020-12"?s.$defs=f:s.definitions=f);try{const d=JSON.parse(JSON.stringify(s));return Object.defineProperty(d,"~standard",{value:{...a["~standard"],jsonSchema:{input:_l(a,"input",n.processors),output:_l(a,"output",n.processors)}},enumerable:!1,writable:!1}),d}catch{throw new Error("Error converting schema to JSON.")}}function mt(n,a){const i=a??{seen:new Set};if(i.seen.has(n))return!1;i.seen.add(n);const l=n._zod.def;if(l.type==="transform")return!0;if(l.type==="array")return mt(l.element,i);if(l.type==="set")return mt(l.valueType,i);if(l.type==="lazy")return mt(l.getter(),i);if(l.type==="promise"||l.type==="optional"||l.type==="nonoptional"||l.type==="nullable"||l.type==="readonly"||l.type==="default"||l.type==="prefault")return mt(l.innerType,i);if(l.type==="intersection")return mt(l.left,i)||mt(l.right,i);if(l.type==="record"||l.type==="map")return mt(l.keyType,i)||mt(l.valueType,i);if(l.type==="pipe")return mt(l.in,i)||mt(l.out,i);if(l.type==="object"){for(const s in l.shape)if(mt(l.shape[s],i))return!0;return!1}if(l.type==="union"){for(const s of l.options)if(mt(s,i))return!0;return!1}if(l.type==="tuple"){for(const s of l.items)if(mt(s,i))return!0;return!!(l.rest&&mt(l.rest,i))}return!1}const wz=(n,a={})=>i=>{const l=vl({...i,processors:a});return Qe(n,l),gl(l,n),bl(l,n)},_l=(n,a,i={})=>l=>{const{libraryOptions:s,target:f}=l??{},d=vl({...s??{},target:f,io:a,processors:i});return Qe(n,d),gl(d,n),bl(d,n)},Az={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Tv=(n,a,i,l)=>{const s=i;s.type="string";const{minimum:f,maximum:d,format:h,patterns:m,contentEncoding:y}=n._zod.bag;if(typeof f=="number"&&(s.minLength=f),typeof d=="number"&&(s.maxLength=d),h&&(s.format=Az[h]??h,s.format===""&&delete s.format,h==="time"&&delete s.format),y&&(s.contentEncoding=y),m&&m.size>0){const g=[...m];g.length===1?s.pattern=g[0].source:g.length>1&&(s.allOf=[...g.map(O=>({...a.target==="draft-07"||a.target==="draft-04"||a.target==="openapi-3.0"?{type:"string"}:{},pattern:O.source}))])}},wv=(n,a,i,l)=>{const s=i,{minimum:f,maximum:d,format:h,multipleOf:m,exclusiveMaximum:y,exclusiveMinimum:g}=n._zod.bag;typeof h=="string"&&h.includes("int")?s.type="integer":s.type="number",typeof g=="number"&&(a.target==="draft-04"||a.target==="openapi-3.0"?(s.minimum=g,s.exclusiveMinimum=!0):s.exclusiveMinimum=g),typeof f=="number"&&(s.minimum=f,typeof g=="number"&&a.target!=="draft-04"&&(g>=f?delete s.minimum:delete s.exclusiveMinimum)),typeof y=="number"&&(a.target==="draft-04"||a.target==="openapi-3.0"?(s.maximum=y,s.exclusiveMaximum=!0):s.exclusiveMaximum=y),typeof d=="number"&&(s.maximum=d,typeof y=="number"&&a.target!=="draft-04"&&(y<=d?delete s.maximum:delete s.exclusiveMaximum)),typeof m=="number"&&(s.multipleOf=m)},Av=(n,a,i,l)=>{i.type="boolean"},jz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},Mz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},jv=(n,a,i,l)=>{a.target==="openapi-3.0"?(i.type="string",i.nullable=!0,i.enum=[null]):i.type="null"},Cz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},Rz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},Mv=(n,a,i,l)=>{i.not={}},Dz=(n,a,i,l)=>{},Cv=(n,a,i,l)=>{},Nz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},Rv=(n,a,i,l)=>{const s=n._zod.def,f=rv(s.entries);f.every(d=>typeof d=="number")&&(i.type="number"),f.every(d=>typeof d=="string")&&(i.type="string"),i.enum=f},Dv=(n,a,i,l)=>{const s=n._zod.def,f=[];for(const d of s.values)if(d===void 0){if(a.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof d=="bigint"){if(a.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");f.push(Number(d))}else f.push(d);if(f.length!==0)if(f.length===1){const d=f[0];i.type=d===null?"null":typeof d,a.target==="draft-04"||a.target==="openapi-3.0"?i.enum=[d]:i.const=d}else f.every(d=>typeof d=="number")&&(i.type="number"),f.every(d=>typeof d=="string")&&(i.type="string"),f.every(d=>typeof d=="boolean")&&(i.type="boolean"),f.every(d=>d===null)&&(i.type="null"),i.enum=f},Uz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},Zz=(n,a,i,l)=>{const s=i,f=n._zod.pattern;if(!f)throw new Error("Pattern not found in template literal");s.type="string",s.pattern=f.source},qz=(n,a,i,l)=>{const s=i,f={type:"string",format:"binary",contentEncoding:"binary"},{minimum:d,maximum:h,mime:m}=n._zod.bag;d!==void 0&&(f.minLength=d),h!==void 0&&(f.maxLength=h),m?m.length===1?(f.contentMediaType=m[0],Object.assign(s,f)):(Object.assign(s,f),s.anyOf=m.map(y=>({contentMediaType:y}))):Object.assign(s,f)},Qz=(n,a,i,l)=>{i.type="boolean"},Nv=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},kz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Uv=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},Hz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},Bz=(n,a,i,l)=>{if(a.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Zv=(n,a,i,l)=>{const s=i,f=n._zod.def,{minimum:d,maximum:h}=n._zod.bag;typeof d=="number"&&(s.minItems=d),typeof h=="number"&&(s.maxItems=h),s.type="array",s.items=Qe(f.element,a,{...l,path:[...l.path,"items"]})},qv=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="object",s.properties={};const d=f.shape;for(const y in d)s.properties[y]=Qe(d[y],a,{...l,path:[...l.path,"properties",y]});const h=new Set(Object.keys(d)),m=new Set([...h].filter(y=>{const g=f.shape[y]._zod;return a.io==="input"?g.optin===void 0:g.optout===void 0}));m.size>0&&(s.required=Array.from(m)),f.catchall?._zod.def.type==="never"?s.additionalProperties=!1:f.catchall?f.catchall&&(s.additionalProperties=Qe(f.catchall,a,{...l,path:[...l.path,"additionalProperties"]})):a.io==="output"&&(s.additionalProperties=!1)},Qv=(n,a,i,l)=>{const s=n._zod.def,f=s.inclusive===!1,d=s.options.map((h,m)=>Qe(h,a,{...l,path:[...l.path,f?"oneOf":"anyOf",m]}));f?i.oneOf=d:i.anyOf=d},kv=(n,a,i,l)=>{const s=n._zod.def,f=Qe(s.left,a,{...l,path:[...l.path,"allOf",0]}),d=Qe(s.right,a,{...l,path:[...l.path,"allOf",1]}),h=y=>"allOf"in y&&Object.keys(y).length===1,m=[...h(f)?f.allOf:[f],...h(d)?d.allOf:[d]];i.allOf=m},Lz=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="array";const d=a.target==="draft-2020-12"?"prefixItems":"items",h=a.target==="draft-2020-12"||a.target==="openapi-3.0"?"items":"additionalItems",m=f.items.map((A,Z)=>Qe(A,a,{...l,path:[...l.path,d,Z]})),y=f.rest?Qe(f.rest,a,{...l,path:[...l.path,h,...a.target==="openapi-3.0"?[f.items.length]:[]]}):null;a.target==="draft-2020-12"?(s.prefixItems=m,y&&(s.items=y)):a.target==="openapi-3.0"?(s.items={anyOf:m},y&&s.items.anyOf.push(y),s.minItems=m.length,y||(s.maxItems=m.length)):(s.items=m,y&&(s.additionalItems=y));const{minimum:g,maximum:O}=n._zod.bag;typeof g=="number"&&(s.minItems=g),typeof O=="number"&&(s.maxItems=O)},Hv=(n,a,i,l)=>{const s=i,f=n._zod.def;s.type="object";const d=f.keyType,m=d._zod.bag?.patterns;if(f.mode==="loose"&&m&&m.size>0){const g=Qe(f.valueType,a,{...l,path:[...l.path,"patternProperties","*"]});s.patternProperties={};for(const O of m)s.patternProperties[O.source]=g}else(a.target==="draft-07"||a.target==="draft-2020-12")&&(s.propertyNames=Qe(f.keyType,a,{...l,path:[...l.path,"propertyNames"]})),s.additionalProperties=Qe(f.valueType,a,{...l,path:[...l.path,"additionalProperties"]});const y=d._zod.values;if(y){const g=[...y].filter(O=>typeof O=="string"||typeof O=="number");g.length>0&&(s.required=g)}},Bv=(n,a,i,l)=>{const s=n._zod.def,f=Qe(s.innerType,a,l),d=a.seen.get(n);a.target==="openapi-3.0"?(d.ref=s.innerType,i.nullable=!0):i.anyOf=[f,{type:"null"}]},Lv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},$v=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,i.default=JSON.parse(JSON.stringify(s.defaultValue))},Gv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,a.io==="input"&&(i._prefault=JSON.parse(JSON.stringify(s.defaultValue)))},Yv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType;let d;try{d=s.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}i.default=d},Vv=(n,a,i,l)=>{const s=n._zod.def,f=a.io==="input"?s.in._zod.def.type==="transform"?s.out:s.in:s.out;Qe(f,a,l);const d=a.seen.get(n);d.ref=f},Kv=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType,i.readOnly=!0},$z=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},Pc=(n,a,i,l)=>{const s=n._zod.def;Qe(s.innerType,a,l);const f=a.seen.get(n);f.ref=s.innerType},Xv=(n,a,i,l)=>{const s=n._zod.innerType;Qe(s,a,l);const f=a.seen.get(n);f.ref=s},Km={string:Tv,number:wv,boolean:Av,bigint:jz,symbol:Mz,null:jv,undefined:Cz,void:Rz,never:Mv,any:Dz,unknown:Cv,date:Nz,enum:Rv,literal:Dv,nan:Uz,template_literal:Zz,file:qz,success:Qz,custom:Nv,function:kz,transform:Uv,map:Hz,set:Bz,array:Zv,object:qv,union:Qv,intersection:kv,tuple:Lz,record:Hv,nullable:Bv,nonoptional:Lv,default:$v,prefault:Gv,catch:Yv,pipe:Vv,readonly:Kv,promise:$z,optional:Pc,lazy:Xv};function Dx(n,a){if("_idmap"in n){const l=n,s=vl({...a,processors:Km}),f={};for(const m of l._idmap.entries()){const[y,g]=m;Qe(g,s)}const d={},h={registry:l,uri:a?.uri,defs:f};s.external=h;for(const m of l._idmap.entries()){const[y,g]=m;gl(s,g),d[y]=bl(s,g)}if(Object.keys(f).length>0){const m=s.target==="draft-2020-12"?"$defs":"definitions";d.__shared={[m]:f}}return{schemas:d}}const i=vl({...a,processors:Km});return Qe(n,i),gl(i,n),bl(i,n)}const Gz=R("ZodISODateTime",(n,a)=>{K2.init(n,a),Ye.init(n,a)});function Yz(n){return tz(Gz,n)}const Vz=R("ZodISODate",(n,a)=>{X2.init(n,a),Ye.init(n,a)});function Kz(n){return nz(Vz,n)}const Xz=R("ZodISOTime",(n,a)=>{P2.init(n,a),Ye.init(n,a)});function Pz(n){return az(Xz,n)}const Jz=R("ZodISODuration",(n,a)=>{J2.init(n,a),Ye.init(n,a)});function Fz(n){return uz(Jz,n)}const Iz=(n,a)=>{ov.init(n,a),n.name="ZodError",Object.defineProperties(n,{format:{value:i=>k1(n,i)},flatten:{value:i=>Q1(n,i)},addIssue:{value:i=>{n.issues.push(i),n.message=JSON.stringify(n.issues,Ac,2)}},addIssues:{value:i=>{n.issues.push(...i),n.message=JSON.stringify(n.issues,Ac,2)}},isEmpty:{get(){return n.issues.length===0}}})},Xt=R("ZodError",Iz,{Parent:Error}),Wz=Vc(Xt),eE=Kc(Xt),tE=Al(Xt),nE=jl(Xt),aE=L1(Xt),uE=$1(Xt),rE=G1(Xt),iE=Y1(Xt),lE=V1(Xt),sE=K1(Xt),oE=X1(Xt),cE=P1(Xt),Le=R("ZodType",(n,a)=>(Be.init(n,a),Object.assign(n["~standard"],{jsonSchema:{input:_l(n,"input"),output:_l(n,"output")}}),n.toJSONSchema=wz(n,{}),n.def=a,n.type=a.type,Object.defineProperty(n,"_def",{value:a}),n.check=(...i)=>n.clone(aa(a,{checks:[...a.checks??[],...i.map(l=>typeof l=="function"?{_zod:{check:l,def:{check:"custom"},onattach:[]}}:l)]}),{parent:!0}),n.with=n.check,n.clone=(i,l)=>ua(n,i,l),n.brand=()=>n,n.register=((i,l)=>(i.add(n,l),n)),n.parse=(i,l)=>Wz(n,i,l,{callee:n.parse}),n.safeParse=(i,l)=>tE(n,i,l),n.parseAsync=async(i,l)=>eE(n,i,l,{callee:n.parseAsync}),n.safeParseAsync=async(i,l)=>nE(n,i,l),n.spa=n.safeParseAsync,n.encode=(i,l)=>aE(n,i,l),n.decode=(i,l)=>uE(n,i,l),n.encodeAsync=async(i,l)=>rE(n,i,l),n.decodeAsync=async(i,l)=>iE(n,i,l),n.safeEncode=(i,l)=>lE(n,i,l),n.safeDecode=(i,l)=>sE(n,i,l),n.safeEncodeAsync=async(i,l)=>oE(n,i,l),n.safeDecodeAsync=async(i,l)=>cE(n,i,l),n.refine=(i,l)=>n.check(lx(i,l)),n.superRefine=i=>n.check(sx(i)),n.overwrite=i=>n.check(zu(i)),n.optional=()=>Im(n),n.exactOptional=()=>XE(n),n.nullable=()=>Wm(n),n.nullish=()=>Im(Wm(n)),n.nonoptional=i=>ex(n,i),n.array=()=>Iv(n),n.or=i=>QE([n,i]),n.and=i=>BE(n,i),n.transform=i=>ey(n,VE(i)),n.default=i=>FE(n,i),n.prefault=i=>WE(n,i),n.catch=i=>nx(n,i),n.pipe=i=>ey(n,i),n.readonly=()=>rx(n),n.describe=i=>{const l=n.clone();return Sr.add(l,{description:i}),l},Object.defineProperty(n,"description",{get(){return Sr.get(n)?.description},configurable:!0}),n.meta=(...i)=>{if(i.length===0)return Sr.get(n);const l=n.clone();return Sr.add(l,i[0]),l},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n.apply=i=>i(n),n)),Pv=R("_ZodString",(n,a)=>{Xc.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>Tv(n,l,s);const i=n._zod.bag;n.format=i.format??null,n.minLength=i.minimum??null,n.maxLength=i.maximum??null,n.regex=(...l)=>n.check(fz(...l)),n.includes=(...l)=>n.check(pz(...l)),n.startsWith=(...l)=>n.check(mz(...l)),n.endsWith=(...l)=>n.check(yz(...l)),n.min=(...l)=>n.check(yl(...l)),n.max=(...l)=>n.check(Ev(...l)),n.length=(...l)=>n.check(xv(...l)),n.nonempty=(...l)=>n.check(yl(1,...l)),n.lowercase=l=>n.check(dz(l)),n.uppercase=l=>n.check(hz(l)),n.trim=()=>n.check(gz()),n.normalize=(...l)=>n.check(vz(...l)),n.toLowerCase=()=>n.check(bz()),n.toUpperCase=()=>n.check(_z()),n.slugify=()=>n.check(Sz())}),fE=R("ZodString",(n,a)=>{Xc.init(n,a),Pv.init(n,a),n.email=i=>n.check(NO(dE,i)),n.url=i=>n.check(kO(hE,i)),n.jwt=i=>n.check(ez(AE,i)),n.emoji=i=>n.check(HO(pE,i)),n.guid=i=>n.check($m(Pm,i)),n.uuid=i=>n.check(UO(il,i)),n.uuidv4=i=>n.check(ZO(il,i)),n.uuidv6=i=>n.check(qO(il,i)),n.uuidv7=i=>n.check(QO(il,i)),n.nanoid=i=>n.check(BO(mE,i)),n.guid=i=>n.check($m(Pm,i)),n.cuid=i=>n.check(LO(yE,i)),n.cuid2=i=>n.check($O(vE,i)),n.ulid=i=>n.check(GO(gE,i)),n.base64=i=>n.check(FO(xE,i)),n.base64url=i=>n.check(IO(TE,i)),n.xid=i=>n.check(YO(bE,i)),n.ksuid=i=>n.check(VO(_E,i)),n.ipv4=i=>n.check(KO(SE,i)),n.ipv6=i=>n.check(XO(OE,i)),n.cidrv4=i=>n.check(PO(zE,i)),n.cidrv6=i=>n.check(JO(EE,i)),n.e164=i=>n.check(WO(wE,i)),n.datetime=i=>n.check(Yz(i)),n.date=i=>n.check(Kz(i)),n.time=i=>n.check(Pz(i)),n.duration=i=>n.check(Fz(i))});function Xm(n){return DO(fE,n)}const Ye=R("ZodStringFormat",(n,a)=>{Ge.init(n,a),Pv.init(n,a)}),dE=R("ZodEmail",(n,a)=>{Q2.init(n,a),Ye.init(n,a)}),Pm=R("ZodGUID",(n,a)=>{Z2.init(n,a),Ye.init(n,a)}),il=R("ZodUUID",(n,a)=>{q2.init(n,a),Ye.init(n,a)}),hE=R("ZodURL",(n,a)=>{k2.init(n,a),Ye.init(n,a)}),pE=R("ZodEmoji",(n,a)=>{H2.init(n,a),Ye.init(n,a)}),mE=R("ZodNanoID",(n,a)=>{B2.init(n,a),Ye.init(n,a)}),yE=R("ZodCUID",(n,a)=>{L2.init(n,a),Ye.init(n,a)}),vE=R("ZodCUID2",(n,a)=>{$2.init(n,a),Ye.init(n,a)}),gE=R("ZodULID",(n,a)=>{G2.init(n,a),Ye.init(n,a)}),bE=R("ZodXID",(n,a)=>{Y2.init(n,a),Ye.init(n,a)}),_E=R("ZodKSUID",(n,a)=>{V2.init(n,a),Ye.init(n,a)}),SE=R("ZodIPv4",(n,a)=>{F2.init(n,a),Ye.init(n,a)}),OE=R("ZodIPv6",(n,a)=>{I2.init(n,a),Ye.init(n,a)}),zE=R("ZodCIDRv4",(n,a)=>{W2.init(n,a),Ye.init(n,a)}),EE=R("ZodCIDRv6",(n,a)=>{eO.init(n,a),Ye.init(n,a)}),xE=R("ZodBase64",(n,a)=>{tO.init(n,a),Ye.init(n,a)}),TE=R("ZodBase64URL",(n,a)=>{aO.init(n,a),Ye.init(n,a)}),wE=R("ZodE164",(n,a)=>{uO.init(n,a),Ye.init(n,a)}),AE=R("ZodJWT",(n,a)=>{iO.init(n,a),Ye.init(n,a)}),Jv=R("ZodNumber",(n,a)=>{bv.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>wv(n,l,s),n.gt=(l,s)=>n.check(Ym(l,s)),n.gte=(l,s)=>n.check(sc(l,s)),n.min=(l,s)=>n.check(sc(l,s)),n.lt=(l,s)=>n.check(Gm(l,s)),n.lte=(l,s)=>n.check(lc(l,s)),n.max=(l,s)=>n.check(lc(l,s)),n.int=l=>n.check(Jm(l)),n.safe=l=>n.check(Jm(l)),n.positive=l=>n.check(Ym(0,l)),n.nonnegative=l=>n.check(sc(0,l)),n.negative=l=>n.check(Gm(0,l)),n.nonpositive=l=>n.check(lc(0,l)),n.multipleOf=(l,s)=>n.check(Vm(l,s)),n.step=(l,s)=>n.check(Vm(l,s)),n.finite=()=>n;const i=n._zod.bag;n.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??.5),n.isFinite=!0,n.format=i.format??null});function jE(n){return rz(Jv,n)}const ME=R("ZodNumberFormat",(n,a)=>{lO.init(n,a),Jv.init(n,a)});function Jm(n){return iz(ME,n)}const CE=R("ZodBoolean",(n,a)=>{sO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Av(n,i,l)});function Nx(n){return lz(CE,n)}const RE=R("ZodNull",(n,a)=>{oO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>jv(n,i,l)});function Ux(n){return sz(RE,n)}const DE=R("ZodUnknown",(n,a)=>{cO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Cv()});function Mc(){return oz(DE)}const NE=R("ZodNever",(n,a)=>{fO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Mv(n,i,l)});function Fv(n){return cz(NE,n)}const UE=R("ZodArray",(n,a)=>{dO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Zv(n,i,l,s),n.element=a.element,n.min=(i,l)=>n.check(yl(i,l)),n.nonempty=i=>n.check(yl(1,i)),n.max=(i,l)=>n.check(Ev(i,l)),n.length=(i,l)=>n.check(xv(i,l)),n.unwrap=()=>n.element});function Iv(n,a){return Oz(UE,n,a)}const Jc=R("ZodObject",(n,a)=>{pO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>qv(n,i,l,s),ze(n,"shape",()=>a.shape),n.keyof=()=>$E(Object.keys(n._zod.def.shape)),n.catchall=i=>n.clone({...n._zod.def,catchall:i}),n.passthrough=()=>n.clone({...n._zod.def,catchall:Mc()}),n.loose=()=>n.clone({...n._zod.def,catchall:Mc()}),n.strict=()=>n.clone({...n._zod.def,catchall:Fv()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=i=>D1(n,i),n.safeExtend=i=>N1(n,i),n.merge=i=>U1(n,i),n.pick=i=>C1(n,i),n.omit=i=>R1(n,i),n.partial=(...i)=>Z1(eg,n,i[0]),n.required=(...i)=>q1(tg,n,i[0])});function ZE(n,a){const i={type:"object",shape:n??{},...W(a)};return new Jc(i)}function Zx(n,a){return new Jc({type:"object",shape:n,catchall:Fv(),...W(a)})}function qE(n,a){return new Jc({type:"object",shape:n,catchall:Mc(),...W(a)})}const Wv=R("ZodUnion",(n,a)=>{Ov.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Qv(n,i,l,s),n.options=a.options});function QE(n,a){return new Wv({type:"union",options:n,...W(a)})}const kE=R("ZodDiscriminatedUnion",(n,a)=>{Wv.init(n,a),mO.init(n,a)});function qx(n,a,i){return new kE({type:"union",options:a,discriminator:n,...W(i)})}const HE=R("ZodIntersection",(n,a)=>{yO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>kv(n,i,l,s)});function BE(n,a){return new HE({type:"intersection",left:n,right:a})}const LE=R("ZodRecord",(n,a)=>{vO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Hv(n,i,l,s),n.keyType=a.keyType,n.valueType=a.valueType});function Qx(n,a,i){return new LE({type:"record",keyType:n,valueType:a,...W(i)})}const Cc=R("ZodEnum",(n,a)=>{gO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(l,s,f)=>Rv(n,l,s),n.enum=a.entries,n.options=Object.values(a.entries);const i=new Set(Object.keys(a.entries));n.extract=(l,s)=>{const f={};for(const d of l)if(i.has(d))f[d]=a.entries[d];else throw new Error(`Key ${d} not found in enum`);return new Cc({...a,checks:[],...W(s),entries:f})},n.exclude=(l,s)=>{const f={...a.entries};for(const d of l)if(i.has(d))delete f[d];else throw new Error(`Key ${d} not found in enum`);return new Cc({...a,checks:[],...W(s),entries:f})}});function $E(n,a){const i=Array.isArray(n)?Object.fromEntries(n.map(l=>[l,l])):n;return new Cc({type:"enum",entries:i,...W(a)})}const GE=R("ZodLiteral",(n,a)=>{bO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Dv(n,i,l),n.values=new Set(a.values),Object.defineProperty(n,"value",{get(){if(a.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return a.values[0]}})});function Fm(n,a){return new GE({type:"literal",values:Array.isArray(n)?n:[n],...W(a)})}const YE=R("ZodTransform",(n,a)=>{_O.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Uv(n,i),n._zod.parse=(i,l)=>{if(l.direction==="backward")throw new av(n.constructor.name);i.addIssue=f=>{if(typeof f=="string")i.issues.push(Rr(f,i.value,a));else{const d=f;d.fatal&&(d.continue=!1),d.code??(d.code="custom"),d.input??(d.input=i.value),d.inst??(d.inst=n),i.issues.push(Rr(d))}};const s=a.transform(i.value,i);return s instanceof Promise?s.then(f=>(i.value=f,i)):(i.value=s,i)}});function VE(n){return new YE({type:"transform",transform:n})}const eg=R("ZodOptional",(n,a)=>{zv.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Pc(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function Im(n){return new eg({type:"optional",innerType:n})}const KE=R("ZodExactOptional",(n,a)=>{SO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Pc(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function XE(n){return new KE({type:"optional",innerType:n})}const PE=R("ZodNullable",(n,a)=>{OO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Bv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function Wm(n){return new PE({type:"nullable",innerType:n})}const JE=R("ZodDefault",(n,a)=>{zO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>$v(n,i,l,s),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function FE(n,a){return new JE({type:"default",innerType:n,get defaultValue(){return typeof a=="function"?a():lv(a)}})}const IE=R("ZodPrefault",(n,a)=>{EO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Gv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function WE(n,a){return new IE({type:"prefault",innerType:n,get defaultValue(){return typeof a=="function"?a():lv(a)}})}const tg=R("ZodNonOptional",(n,a)=>{xO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Lv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function ex(n,a){return new tg({type:"nonoptional",innerType:n,...W(a)})}const tx=R("ZodCatch",(n,a)=>{TO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Yv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function nx(n,a){return new tx({type:"catch",innerType:n,catchValue:typeof a=="function"?a:()=>a})}const ax=R("ZodPipe",(n,a)=>{wO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Vv(n,i,l,s),n.in=a.in,n.out=a.out});function ey(n,a){return new ax({type:"pipe",in:n,out:a})}const ux=R("ZodReadonly",(n,a)=>{AO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Kv(n,i,l,s),n.unwrap=()=>n._zod.def.innerType});function rx(n){return new ux({type:"readonly",innerType:n})}const ix=R("ZodLazy",(n,a)=>{jO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Xv(n,i,l,s),n.unwrap=()=>n._zod.def.getter()});function kx(n){return new ix({type:"lazy",getter:n})}const Fc=R("ZodCustom",(n,a)=>{MO.init(n,a),Le.init(n,a),n._zod.processJSONSchema=(i,l,s)=>Nv(n,i)});function Hx(n,a){return zz(Fc,n??(()=>!0),a)}function lx(n,a={}){return Ez(Fc,n,a)}function sx(n){return xz(n)}function Bx(n,a={}){const i=new Fc({type:"custom",check:"custom",fn:l=>l instanceof n,abort:!0,...W(a)});return i._zod.bag.Class=n,i._zod.check=l=>{l.value instanceof n||l.issues.push({code:"invalid_type",expected:n.name,input:l.value,inst:i,path:[...i._zod.def.path??[]]})},i}const ox={CREATE_WIDGET:"create_widget",UPDATE_WIDGET:"update_widget",DELETE_WIDGET:"delete_widget",CREATE_MONITOR:"create_monitor",UPDATE_MONITOR:"update_monitor",DELETE_MONITOR:"delete_monitor",TOGGLE_MONITOR:"toggle_monitor",BEGIN_ANALYSIS:"begin_analysis"},Lx=Object.fromEntries(Object.entries(ox).map(([n,a])=>[n,`tool-${a}`])),$x=ZE({v:Fm(1),kind:Fm("analysis"),sourceTitle:Xm().max(400),sourceCreatedAt:jE().int().nonnegative(),parts:Iv(qE({type:Xm()})).max(200)}),ll={dashboards:!1,monitors:!1},Gx={paper:"#fafaf8",inkLight:"#444444",inkMuted:"#666666",inkFaint:"#9c9890",border:"#d4d2cd",success:"#2a7a4a"},De={shell:"bg-[#fafaf8] text-[#2c2c2c] font-sans",sidebar:"bg-[#f7f6f3] border-r border-[#d4d2cd] font-sans",sidebarLogo:"text-[#2b5ea7]",sidebarSubtitle:"text-[#666666]",navActive:"text-[#2b5ea7] bg-[#eaf0f8] border-l-2 border-[#2b5ea7]",navInactive:"text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] border-l-2 border-transparent",sidebarFooter:"border-t border-[#d4d2cd] text-[#666666]",page:"p-6 space-y-6 bg-[#fafaf8]",sectionTitle:"text-sm font-medium text-[#666666] mb-3 font-sans",card:"rounded bg-white border border-[#d4d2cd] p-6",cardTitle:"text-sm text-[#666666] font-sans",cardValue:"text-2xl font-bold text-[#2c2c2c] mt-1",tableContainer:"bg-white rounded border border-[#d4d2cd] overflow-auto max-h-[440px]",tableHeaderRow:"bg-[#f5f4f0]",tableHeaderCell:"px-4 py-3 text-left text-sm font-medium text-[#666666] uppercase tracking-wider font-sans",tableRow:"border-b border-[#e8e6e1] hover:bg-[#f5f4f0]/50",tableCell:"px-4 py-3 text-sm text-[#444444] max-w-[300px]",tableCellText:"line-clamp-2 cursor-default",badge:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium font-sans",badgeVariants:{info:"bg-[#2b5ea7]/10 text-[#2b5ea7]"},spinner:"border-[#e8e6e1] border-t-[#2b5ea7]",statusLabel:"text-sm text-[#666666]",statusDot:{connected:"bg-[#2a7a4a]",disconnected:"bg-[#b33a2a]",checking:"bg-[#a07020] animate-pulse"},input:"w-full bg-white border border-[#d4d2cd] rounded px-3 py-2 text-sm text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] font-sans",primaryBtn:"px-4 py-1.5 text-sm bg-[#2b5ea7] hover:bg-[#234d8a] text-white rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed font-sans",secondaryBtn:"px-4 py-1.5 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] rounded transition-colors disabled:opacity-50 font-sans",dangerBtn:"px-4 py-1.5 text-sm bg-[#b33a2a]/10 hover:bg-[#b33a2a]/20 text-[#b33a2a] rounded transition-colors disabled:opacity-50 ml-auto font-sans",outlineBtn:"px-2.5 py-1 text-xs font-medium border border-[#2b5ea7] text-[#2b5ea7] rounded hover:bg-[#2b5ea7] hover:text-white transition-colors disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent disabled:hover:text-[#2b5ea7] font-sans",successText:"text-sm text-[#2a7a4a] font-sans",errorText:"text-sm text-[#b33a2a] font-sans",warnText:"text-xs text-[#a07020] font-sans",maskedKey:"text-xs text-[#666666] font-mono",chatContainer:"flex flex-col h-full bg-[#fafaf8] font-serif",chatUserLabel:"text-[10px] uppercase tracking-[0.15em] text-[#666666] mb-2 font-sans font-medium",chatAssistantLabel:"text-[10px] uppercase tracking-[0.15em] text-[#2b5ea7] mb-2 font-sans font-medium",chatUserMessage:"text-[#2c2c2c] text-base leading-[1.8] [overflow-wrap:break-word]",chatAssistantMessage:"text-[#444444] text-base leading-[1.8] [overflow-wrap:break-word]",chatSeparator:"my-6 border-b border-[#e8e6e1]",chatInputArea:"px-10 py-5 bg-white border-t border-[#d4d2cd]",chatInput:"flex-1 bg-white border border-[#d4d2cd] rounded px-4 py-2.5 text-base text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] disabled:opacity-50 font-serif resize-none overflow-y-auto max-h-40",chatButton:"px-5 py-2.5 text-sm bg-[#2b5ea7] text-white font-sans font-medium rounded hover:bg-[#234d8a] disabled:opacity-50 disabled:cursor-not-allowed",chatThinking:"text-[#2b5ea7] text-base italic",chatEmptyState:"text-[#666666] text-base italic font-serif",toolLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2b5ea7] font-sans font-semibold mb-2",toolLoading:"text-sm italic text-[#2b5ea7] font-sans",toolQueryToggle:"text-[11px] text-[#666666] font-mono cursor-pointer select-none font-sans",toolQueryCode:"mt-1 px-3 py-2 text-[12px] font-mono text-[#444444] bg-[#f5f4f0] rounded border border-[#d4d2cd] whitespace-pre-wrap",chatMessageCard:"bg-[#fafaf8] p-4 rounded",chatMessageActions:"absolute right-0 top-0 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity",chatActionButton:"p-1 rounded text-[#9c9890] hover:text-[#2b5ea7] hover:bg-[#eaf0f8] transition-colors",chatEditTextarea:"w-full bg-white border border-[#2b5ea7] rounded px-3 py-2 text-base text-[#2c2c2c] focus:outline-none font-serif leading-[1.8] resize-none",chatEditActions:"flex items-center gap-2 mt-2",chatEditSave:"px-3 py-1 text-xs bg-[#2b5ea7] hover:bg-[#234d8a] text-white rounded transition-colors font-sans",chatEditCancel:"px-3 py-1 text-xs bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] rounded transition-colors font-sans",chatStopButton:"px-5 py-2.5 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#666666] font-sans font-medium rounded transition-colors",chatContinueButton:"px-4 py-2 text-sm bg-[#f5f4f0] hover:bg-[#eeece7] text-[#2b5ea7] font-sans font-medium rounded transition-colors border border-[#d4d2cd]",resultListItem:"px-4 py-2 text-sm text-[#444444] border-b border-[#e8e6e1] last:border-b-0",resultErrorMessage:"text-sm text-[#b33a2a] font-sans bg-[#b33a2a]/5 border border-[#b33a2a]/20 rounded px-4 py-3 my-2",analysisContainer:"bg-[#eaf0f8] border border-[#2b5ea7]/20 rounded px-4 py-3 my-3",investigationContainer:"border-l-2 border-[#2a7a4a] pl-4 my-3",investigationLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2a7a4a] font-sans font-semibold mb-2",investigationTask:"text-xs text-[#9c9890] font-sans mb-2 italic",investigationThinking:"text-[#9c9890] py-2",analysisBlock:"text-sm text-[#444444] bg-[#f2f8f5] border border-[#c8e0d2] rounded px-4 py-3 my-2 leading-relaxed font-sans",summaryBlock:"text-sm text-[#2c2c2c] bg-[#eaf0f8] border border-[#2b5ea7]/20 rounded px-4 py-3 my-2 leading-relaxed font-sans",summaryLabel:"text-[9px] uppercase tracking-[0.15em] text-[#2b5ea7] font-sans font-semibold mb-1",chartContainer:"bg-white rounded border border-[#d4d2cd] p-4 my-2",settingsCard:"bg-white border border-[#d4d2cd] rounded p-4",dialogBackdrop:"fixed inset-0 z-50 bg-black/20",dialogCard:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white border border-[#d4d2cd] rounded-lg shadow-lg p-6 w-[340px] font-sans",modalCard:"fixed z-50 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 bg-white border border-[#d4d2cd] rounded-lg shadow-lg p-6 w-[480px] max-h-[85vh] overflow-y-auto font-sans",dialogTitle:"text-sm font-semibold text-[#2c2c2c] mb-2",dialogMessage:"text-sm text-[#666666] mb-5",sessionItem:"w-full flex items-center gap-2 pl-9 pr-4 py-1.5 text-xs text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] transition-colors cursor-pointer group",sessionItemActive:"w-full flex items-center gap-2 pl-9 pr-4 py-1.5 text-xs text-[#2b5ea7] bg-[#eaf0f8] cursor-pointer group font-medium",sessionDeleteBtn:"ml-auto text-[#666666] hover:text-[#b33a2a] transition-colors text-[10px] shrink-0 opacity-0 group-hover:opacity-100",sessionNewBtn:"w-full flex items-center gap-2 pl-9 pr-3 py-1.5 text-xs text-[#666666] hover:bg-[#eeece7] hover:text-[#2b5ea7] transition-colors",panelChatUserMessage:"text-sm leading-relaxed text-[#2c2c2c] [overflow-wrap:break-word]",panelChatAssistantMessage:"text-sm leading-relaxed text-[#444444] [overflow-wrap:break-word]",panelChatEmptyState:"text-[#666666] text-sm italic font-sans",panelChatThinking:"text-[#666666] text-sm italic",panelChatSeparator:"my-3 border-b border-[#d4d2cd]",panelChatInputArea:"px-4 py-3 bg-white border-t border-[#d4d2cd]",panelChatTextarea:"flex-1 bg-white border border-[#d4d2cd] rounded px-3 py-2 text-sm text-[#2c2c2c] placeholder-[#9c9890] focus:outline-none focus:border-[#2b5ea7] disabled:opacity-50 font-sans resize-none overflow-y-auto max-h-24",chartColors:["#6b9fd4","#6bb88a","#d4806e","#d4b06b","#a488c4","#6bb8aa"],popoverWide:"absolute z-30 bg-[#faf8f4] border border-[#e8e3da] rounded-md shadow-lg py-2 px-3 w-72",popoverLabel:"text-[10px] uppercase tracking-wider text-[#9c9890] font-sans mb-2",popoverRow:"flex items-start gap-2 py-1 text-xs text-[#6b6560] font-sans",popoverItemRow:"flex items-center justify-between text-[11px] text-[#6b6560] font-sans py-0.5",popoverDivider:"border-t border-[#e8e3da] my-1",popoverFootnote:"text-[10px] text-[#9c9890] font-sans mt-1 pt-1 border-t border-[#e8e3da]",titleBar:"sticky top-0 z-20 bg-[#faf8f4] px-10 pt-4 pb-4 mb-2 border-b border-[#e8e3da]",titleText:"text-base font-serif font-medium text-[#2b5ea7] tracking-tight",metaLink:"text-xs text-[#666666] hover:text-[#2b5ea7] font-sans transition-colors",streamingDot:"inline-block w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse",tokenSummary:"text-[10px] text-[#9c9890] font-sans tracking-wide hover:text-[#6b6560] transition-colors cursor-default"};function cx({sidebar:n,children:a}){return Q.jsxs("div",{className:`flex h-screen ${De.shell}`,children:[Q.jsx("aside",{className:"w-52 flex-shrink-0 h-full",children:n}),Q.jsx("main",{className:"flex-1 overflow-auto",children:a})]})}const Rc=[{provider:"google",modelId:"gemini-3.1-pro-preview",inputPrice:2,outputPrice:12,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"google",modelId:"gemini-3-flash-preview",inputPrice:.5,outputPrice:3,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"google",modelId:"gemini-3.1-flash-lite-preview",inputPrice:.25,outputPrice:1.5,cacheReadMultiplier:.25,cacheWriteMultiplier:1},{provider:"anthropic",modelId:"claude-haiku-4-5-20251001",inputPrice:.8,outputPrice:4,cacheReadMultiplier:.1,cacheWriteMultiplier:1.25}],fx=Object.fromEntries(Rc.map(n=>[n.modelId,{input:n.inputPrice,output:n.outputPrice,cacheRead:n.cacheReadMultiplier,cacheWrite:n.cacheWriteMultiplier}]));function Yx(n,a,i,l=0,s=0){if(!n)return 0;const f=fx[n];return f?((a-l)*f.input+l*f.input*f.cacheRead+s*f.input*f.cacheWrite+i*f.output)/1e6:0}function Vx(n){return n<.01?`$${n.toFixed(4)}`:`$${n.toFixed(2)}`}function Kx(){const n=$.useRef(null),a=$.useRef(null),i=$.useRef(!0),[l,s]=$.useState(!0),f=$.useCallback(m=>{const y=n.current;y&&(i.current=!0,y.scrollTo({top:y.scrollHeight,behavior:m?.animation==="smooth"?"smooth":"instant"}))},[]),d=$.useCallback(m=>{const y=n.current;y&&(i.current=!1,y.scrollTo({top:0,behavior:m?.animation==="smooth"?"smooth":"instant"}))},[]),h=$.useCallback(m=>{m.deltaY<0&&(i.current=!1)},[]);return $.useEffect(()=>{const m=n.current;if(!m)return;const y=()=>{const g=m.scrollHeight-m.scrollTop-m.clientHeight<50;s(g),g&&(i.current=!0)};return m.addEventListener("scroll",y,{passive:!0}),()=>m.removeEventListener("scroll",y)},[]),$.useEffect(()=>{const m=a.current;if(!m)return;const y=new ResizeObserver(()=>{i.current&&f()});return y.observe(m),()=>y.disconnect()},[f]),{scrollRef:n,contentRef:a,isAtBottom:l,handleWheel:h,scrollToBottom:f,scrollToTop:d}}function Xx(){const n=$.useRef(null),[a,i]=$.useState({width:0,height:0});return $.useEffect(()=>{const l=n.current;if(!l)return;const s=new ResizeObserver(f=>{const d=f[0]?.contentRect;d&&d.width>0&&i({width:d.width,height:d.height})});return s.observe(l),()=>s.disconnect()},[]),{ref:n,size:a}}function ty(n,a,i){const l=$.useRef(n);l.current=n,$.useEffect(()=>{if(!i)return;l.current();const s=setInterval(()=>{document.visibilityState==="visible"&&l.current()},a),f=()=>{document.visibilityState==="visible"&&l.current()};return document.addEventListener("visibilitychange",f),()=>{clearInterval(s),document.removeEventListener("visibilitychange",f)}},[i,a])}function dx(n){const[a,i]=$.useState(!1),[l,s]=$.useState(!1);return $.useEffect(()=>{const f=n.current;if(!f)return;const d=()=>{i(f.scrollTop>0),s(f.scrollTop+f.clientHeight<f.scrollHeight-1)};d(),f.addEventListener("scroll",d,{passive:!0});const h=new ResizeObserver(d);return h.observe(f),()=>{f.removeEventListener("scroll",d),h.disconnect()}},[n]),{showTopFade:a,showBottomFade:l}}function hx(){const{data:n}=yt.settings.getApiKey.useQuery("anthropic"),{data:a}=yt.settings.getApiKey.useQuery("google");return $.useMemo(()=>{const i=new Set;return n&&i.add("anthropic"),a&&i.add("google"),i},[n,a])}function Px(){const n=hx();return $.useMemo(()=>{const a=Rc.filter(i=>n.has(i.provider));return a.length>0?a:Rc},[n])}function Jx(n,a){const i=$.useRef(a);$.useEffect(()=>{i.current=a}),$.useEffect(()=>{function l(s){n.current&&!n.current.contains(s.target)&&i.current()}return document.addEventListener("mousedown",l),()=>document.removeEventListener("mousedown",l)},[n])}const Or={sessionStaleTimeMs:3e4,activeStreamPollingMs:5e3,monitorPollingMs:6e4,updateCheckStaleTimeMs:300*1e3,chatThrottleMs:50,maxSseErrors:3};function oc({children:n}){const a=$.useRef(null),{showTopFade:i,showBottomFade:l}=dx(a);return Q.jsxs("div",{className:"relative",children:[Q.jsx("div",{className:`absolute top-0 left-0 right-0 h-6 bg-gradient-to-b from-[#f7f6f3] to-transparent z-10 pointer-events-none transition-opacity ${i?"opacity-100":"opacity-0"}`}),Q.jsx("div",{ref:a,className:"max-h-[300px] overflow-y-auto scrollbar-none",children:n}),Q.jsx("div",{className:`absolute bottom-0 left-0 right-0 h-6 bg-gradient-to-t from-[#f7f6f3] to-transparent z-10 pointer-events-none transition-opacity ${l?"opacity-100":"opacity-0"}`})]})}function px({open:n,title:a,message:i,confirmLabel:l="Delete",cancelLabel:s="Cancel",confirmStyle:f="danger",onConfirm:d,onCancel:h}){const m=$.useRef(null);return $.useEffect(()=>{n&&m.current?.focus()},[n]),$.useEffect(()=>{if(!n)return;const y=g=>{g.key==="Escape"&&h()};return document.addEventListener("keydown",y),()=>document.removeEventListener("keydown",y)},[n,h]),n?Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:De.dialogBackdrop,onClick:h}),Q.jsxs("div",{className:De.dialogCard,children:[Q.jsx("div",{className:De.dialogTitle,children:a}),Q.jsx("div",{className:De.dialogMessage,children:i}),Q.jsxs("div",{className:"flex justify-end gap-2",children:[s!==null&&Q.jsx("button",{onClick:h,className:De.secondaryBtn,children:s}),Q.jsx("button",{ref:m,onClick:d,className:f==="primary"?De.primaryBtn:De.dangerBtn,children:l})]})]})]}):null}function mx({open:n,onClose:a,children:i}){return $.useEffect(()=>{if(!n)return;const l=s=>{s.key==="Escape"&&a()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[n,a]),n?Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:De.dialogBackdrop,onClick:a}),Q.jsx("div",{className:De.modalCard,children:i})]}):null}function yx({open:n,onClose:a}){const i=yt.update.check.useQuery(void 0,{staleTime:Or.updateCheckStaleTimeMs});return Q.jsxs(mx,{open:n,onClose:a,children:[Q.jsx("div",{className:De.dialogTitle,children:"Update Available"}),Q.jsxs("div",{className:"text-sm text-[#666666] mb-4 space-y-1",children:[Q.jsxs("p",{children:["Current version: ",Q.jsx("span",{className:"font-mono",children:i.data?.currentVersion})]}),Q.jsxs("p",{children:["Latest version: ",Q.jsx("span",{className:"font-mono",children:i.data?.latestVersion})]})]}),Q.jsxs("div",{className:"text-sm text-[#666666] mb-4",children:[Q.jsx("p",{children:"Run this command to update:"}),Q.jsx("code",{className:"block mt-2 p-2 bg-[#1a1a1a] rounded font-mono text-xs text-[#e0e0e0]",children:"npm update -g tracer-sh"})]}),Q.jsx("div",{className:"flex justify-end",children:Q.jsx("button",{onClick:a,className:De.secondaryBtn,children:"Close"})})]})}const sl=({page:n})=>{const a={width:16,height:16,fill:"none",stroke:"currentColor",strokeWidth:1.5};switch(n){case"dashboard":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("rect",{x:"2",y:"2",width:"12",height:"12",rx:"1.5"})});case"debug":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M8 1.5L14.5 8L8 14.5L1.5 8Z"})});case"monitors":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("circle",{cx:"8",cy:"8",r:"6"})});case"settings":return Q.jsx("svg",{...a,viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M3 4.5h10M3 8h10M3 11.5h10"})})}},vx=[{page:"debug",label:"Debug"}];function gx({currentPage:n,onNavigate:a,currentSessionId:i,onSelectSession:l,onNewSession:s,currentDashboardId:f,onSelectDashboard:d,onNewDashboard:h}){const m=yt.sessions.list.useQuery(void 0,{staleTime:Or.sessionStaleTimeMs}),y=yt.dashboards.list.useQuery(void 0,{enabled:ll.dashboards}),g=yt.monitorAlerts.activeCount.useQuery(void 0,{enabled:ll.monitors}),O=yt.sessions.activeCount.useQuery(),A=yt.useUtils(),Z=(O.data?.streaming??0)>0;ty(()=>{A.sessions.activeCount.invalidate(),n==="debug"&&A.sessions.list.invalidate()},Or.activeStreamPollingMs,Z);const G=yt.monitors.shouldPoll.useQuery(void 0,{enabled:ll.monitors});ty(()=>{A.monitorAlerts.activeCount.invalidate(),A.monitors.shouldPoll.invalidate()},Or.monitorPollingMs,(G.data??!1)&&ll.monitors);const H=yt.sessions.markViewed.useMutation();$.useEffect(()=>{if(!i||n!=="debug"||!m.data)return;const F=m.data.find(E=>E.id===i);!F||F.status!=="done"||(A.sessions.list.setData(void 0,E=>E?.map(q=>q.id===i?{...q,status:"idle"}:q)),A.sessions.activeCount.setData(void 0,E=>E&&{...E,done:Math.max(0,E.done-1)}),H.mutate({id:i}))},[m.data,i,n]);const{regularSessions:le,importedSessions:se}=$.useMemo(()=>{const F=m.data??[],E=F.filter(L=>L.kind!==Mm.IMPORTED),q=F.filter(L=>L.kind===Mm.IMPORTED);return{regularSessions:E,importedSessions:q}},[m.data]),Me=g.data??0,me=n==="debug"&&m.data?m.data.filter(F=>F.status==="done"&&F.id!==i).length:O.data?.done??0,ve=yt.sessions.delete.useMutation(),K=yt.dashboards.delete.useMutation(),[Y,M]=$.useState(null),[V,I]=$.useState(!1),ae=yt.update.check.useQuery(void 0,{staleTime:Or.updateCheckStaleTimeMs}),ue=ae.data?.available===!0,J=(F,E)=>{F.stopPropagation(),M({type:"session",id:E})},de=(F,E)=>{F.stopPropagation(),M({type:"dashboard",id:E})},fe=()=>{Y&&(Y.type==="session"?ve.mutate({id:Y.id},{onSuccess:()=>{A.sessions.list.invalidate(),i===Y.id&&s()}}):K.mutate({id:Y.id},{onSuccess:()=>{A.dashboards.list.invalidate(),f===Y.id&&a("dashboard")}}),M(null))};return Q.jsxs("div",{className:`flex flex-col h-full ${De.sidebar}`,children:[Q.jsxs("div",{className:"p-6",children:[Q.jsxs("h1",{className:`text-2xl font-bold ${De.sidebarLogo} flex items-center gap-2`,children:[Q.jsx("img",{src:"/logo.svg",alt:"",className:"w-6 h-6"}),"Tracer"]}),Q.jsx("p",{className:`text-xs mt-1 ${De.sidebarSubtitle}`,children:"Observability Platform"})]}),Q.jsx("nav",{className:"flex-1 px-3 space-y-1 overflow-y-auto",children:vx.map(({page:F,label:E})=>{const q=n===F;return Q.jsxs("div",{children:[Q.jsxs("button",{onClick:()=>a(F),className:`w-full flex items-center gap-3 px-3 py-2 rounded-sm text-sm transition-colors ${q?De.navActive:De.navInactive}`,children:[F==="monitors"&&Me>0?Q.jsxs("span",{className:"relative flex items-center justify-center w-5 shrink-0",children:[Q.jsx(sl,{page:F}),Q.jsx("span",{className:"absolute inset-0 flex items-center justify-center",style:{animation:"fill-up-down 4s ease-in-out infinite"},children:Q.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",children:Q.jsx("circle",{cx:"8",cy:"8",r:"6",fill:"#b33a2a",stroke:"none"})})})]}):F==="debug"&&me>0?Q.jsxs("span",{className:"relative flex items-center justify-center w-5 shrink-0",children:[Q.jsx(sl,{page:F}),Q.jsx("span",{className:"absolute inset-0 flex items-center justify-center",style:{animation:"fill-up-down 4s ease-in-out infinite"},children:Q.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",children:Q.jsx("path",{d:"M8 1.5L14.5 8L8 14.5L1.5 8Z",fill:"#2b5ea7",stroke:"none"})})})]}):Q.jsx("span",{className:"w-5 flex items-center justify-center shrink-0",children:Q.jsx(sl,{page:F})}),E,F==="monitors"&&Me>0&&Q.jsx("span",{className:"ml-auto flex items-center gap-1.5",children:Q.jsx("span",{className:"text-[10px] font-medium text-[#b33a2a]",children:Me})})]}),F==="dashboard"&&n==="dashboard"&&Q.jsxs("div",{className:"mt-1 space-y-0.5",children:[Q.jsxs("button",{onClick:h,className:De.sessionNewBtn,children:[Q.jsx("span",{className:"text-[10px]",children:"+"}),"New dashboard"]}),Q.jsx(oc,{children:y.data?.map(L=>Q.jsxs("button",{onClick:()=>d(L.id),className:f===L.id?De.sessionItemActive:De.sessionItem,children:[Q.jsx("span",{className:"truncate flex-1 text-left",children:L.title}),Q.jsx("span",{onClick:ne=>de(ne,L.id),className:De.sessionDeleteBtn,children:"×"})]},L.id))})]}),F==="debug"&&(()=>{const L=ne=>Q.jsxs("button",{onClick:()=>l(ne.id),className:i===ne.id?De.sessionItemActive:De.sessionItem,children:[Q.jsx("span",{className:`truncate flex-1 text-left ${(ne.status==="streaming"||ne.status==="done")&&ne.id!==i?"text-[#2b5ea7] underline":""}`,title:ne.title,children:ne.title}),Q.jsx("span",{onClick:ye=>J(ye,ne.id),className:De.sessionDeleteBtn,children:"×"})]},ne.id);return Q.jsxs("div",{className:"mt-1 space-y-0.5",children:[Q.jsxs("button",{onClick:s,className:De.sessionNewBtn,children:[Q.jsx("span",{className:"text-[10px]",children:"+"}),"New chat"]}),Q.jsx(oc,{children:le.map(L)}),se.length>0&&Q.jsxs(Q.Fragment,{children:[Q.jsx("div",{className:"text-[10px] uppercase tracking-wider text-[#9c9890]/60 px-3 pt-3 pb-1",children:"Imported"}),Q.jsx(oc,{children:se.map(L)})]})]})})()]},F)})}),Q.jsx("div",{className:"px-3 pb-2",children:Q.jsxs("button",{onClick:()=>a("settings"),className:`w-full flex items-center gap-3 px-3 py-2 rounded-sm text-sm transition-colors ${n==="settings"?De.navActive:De.navInactive}`,children:[Q.jsx("span",{className:"w-5 flex items-center justify-center shrink-0",children:Q.jsx(sl,{page:"settings"})}),"Settings"]})}),Q.jsx("div",{className:`p-4 ${De.sidebarFooter}`,children:Q.jsxs("button",{onClick:()=>ue&&I(!0),className:`font-mono text-[10px] tracking-wider inline-flex items-center gap-1.5 ${ue?"cursor-pointer hover:text-[#2b5ea7]":"cursor-default"}`,children:["v","0.1.1",ue?Q.jsx("span",{className:"w-2 h-2 rounded-full bg-[#2b5ea7] animate-pulse"}):ae.data&&!ae.isLoading?Q.jsx("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",className:"text-[#2a7a4a]",children:Q.jsx("path",{d:"M2 5.5L4 7.5L8 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}):null]})}),Q.jsx(yx,{open:V,onClose:()=>I(!1)}),Q.jsx(px,{open:Y!==null,title:Y?.type==="session"?"Delete session":"Delete dashboard",message:Y?.type==="session"?"Delete this chat session?":"Delete this dashboard and all its widgets?",onConfirm:fe,onCancel:()=>M(null)})]})}const bx={sm:"h-4 w-4",md:"h-8 w-8",lg:"h-12 w-12"};function _x({size:n="md",centered:a=!1}){const i=Q.jsx("div",{className:`${bx[n]} animate-spin rounded-full border-2 ${De.spinner}`});return a?Q.jsx("div",{className:"flex items-center justify-center py-12",children:i}):i}const Sx=$.lazy(()=>nv(()=>import("./mermaid-GHXKKRXX-DMLLa87K.js").then(n=>n.D),__vite__mapDeps([0,1,2])).then(n=>({default:n.Debug}))),Ox=$.lazy(()=>nv(()=>import("./Settings-BFymfzWO.js"),__vite__mapDeps([3,1])).then(n=>({default:n.Settings}))),zx=null,Ex=null,xx=new Set(["debug","settings"]);function ng(){const n=window.location.pathname.replace(/^\/+/,"").split("/"),a=n[0]&&xx.has(n[0])?n[0]:"debug",i=a==="debug"&&n[1]?n[1]:null,l=a==="dashboard"&&n[1]?n[1]:null;return{page:a,sessionId:i,dashboardId:l}}let ny="",ay=ng();function Tx(){const n=window.location.pathname;return n!==ny&&(ny=n,ay=ng()),ay}function wx(n){return window.addEventListener("popstate",n),()=>window.removeEventListener("popstate",n)}function _r(n){window.history.pushState(null,"",n),window.dispatchEvent(new PopStateEvent("popstate"))}const Ax=()=>Q.jsx(_x,{size:"lg",centered:!0});function jx(){const{page:n,sessionId:a,dashboardId:i}=$.useSyncExternalStore(wx,Tx),l=$.useCallback(m=>{_r(m==="debug"?"/":`/${m}`)},[]),s=$.useCallback(m=>{_r(`/debug/${m}`)},[]),f=$.useCallback(()=>{_r("/debug")},[]),d=$.useCallback(m=>{_r(`/dashboard/${m}`)},[]),h=$.useCallback(()=>{_r(`/dashboard/${crypto.randomUUID()}`)},[]);return Q.jsx(cx,{sidebar:Q.jsx(gx,{currentPage:n,onNavigate:l,currentSessionId:a,onSelectSession:s,onNewSession:f,currentDashboardId:i,onSelectDashboard:d,onNewDashboard:h}),children:Q.jsxs($.Suspense,{fallback:Q.jsx(Ax,{}),children:[zx,n==="debug"&&Q.jsx(Sx,{sessionId:a,onSessionChange:s},a??"new"),Ex,n==="settings"&&Q.jsx(Ox,{})]})})}function Mx(){const[n]=$.useState(()=>new d_),[a]=$.useState(()=>yt.createClient({links:[cS({url:"/api/trpc",transformer:Ee})]}));return Q.jsx(yt.Provider,{client:a,queryClient:n,children:Q.jsx(h_,{client:n,children:Q.jsx(jx,{})})})}kb.createRoot(document.getElementById("root")).render(Q.jsx($.StrictMode,{children:Q.jsx(Mx,{})}));export{Rc as A,nv as B,px as C,Dc as D,Xx as E,Lx as F,Cb as G,Kx as H,ty as I,Jx as J,Yx as K,Vx as L,mx as M,$x as N,Mm as O,Rx as P,Rb as R,_x as S,Or as W,Bx as _,Zb as a,De as b,Gx as c,Px as d,Dx as e,QE as f,Xm as g,Hx as h,Qx as i,Q as j,Fm as k,kx as l,Nx as m,Mc as n,ZE as o,qx as p,Iv as q,$ as r,nE as s,yt as t,hx as u,Ux as v,jE as w,Zx as x,$E as y,wb as z};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-OFNGDK62-B2U64epE.js","assets/index-mD-B-NKT.js","assets/index-ckfqBqoi.css","assets/SearchableSelect-B7Oz7kCC.js"])))=>i.map(i=>d[i]);
2
- import{s as mP,e as gP,f as or,g as te,_ as Ju,h as vw,l as bP,i as rs,o as ze,k as me,m as qt,n as Un,p as yP,q as Ns,v as vP,w as xP,x as Ke,y as EP,r as m,z as On,j as E,B as xw,D as cm,R as TP,c as Vt,b as z,E as wP,F as yn,G as AP,H as Ew,W as ns,t as bt,I as Tw,J as ww,K as Kg,L as fu,N as SP,O as Gg,P as Ch,C as kP}from"./index-mD-B-NKT.js";import{r as Ps,u as _P}from"./SearchableSelect-B7Oz7kCC.js";const Aw=new Set(["timestamp","start","end","created_at","updated_at","time"]);function CP(e,t){return Aw.has(e)?t>1e12:/time/i.test(e)&&t>1e12&&t<3e12}function IP(e,t){return Aw.has(e)?t>1e9&&t<1e12:/time/i.test(e)&&t>1e9&&t<3e9}var Sw="vercel.ai.error",OP=Symbol.for(Sw),Xg,Zg,nn=class kw extends(Zg=Error,Xg=OP,Zg){constructor({name:t,message:r,cause:n}){super(r),this[Xg]=!0,this.name=t,this.cause=n}static isInstance(t){return kw.hasMarker(t,Sw)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}};function _w(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var Cw="AI_InvalidArgumentError",Iw=`vercel.ai.error.${Cw}`,NP=Symbol.for(Iw),Qg,Jg,PP=class extends(Jg=nn,Qg=NP,Jg){constructor({message:e,cause:t,argument:r}){super({name:Cw,message:e,cause:t}),this[Qg]=!0,this.argument=r}static isInstance(e){return nn.hasMarker(e,Iw)}},Ow="AI_JSONParseError",Nw=`vercel.ai.error.${Ow}`,DP=Symbol.for(Nw),eb,tb,rb=class extends(tb=nn,eb=DP,tb){constructor({text:e,cause:t}){super({name:Ow,message:`JSON parsing failed: Text: ${e}.
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-OFNGDK62-ItGy-8Np.js","assets/index-BBsv6iUg.js","assets/index-ckfqBqoi.css","assets/SearchableSelect-CO0mH-rf.js"])))=>i.map(i=>d[i]);
2
+ import{s as mP,e as gP,f as or,g as te,_ as Ju,h as vw,l as bP,i as rs,o as ze,k as me,m as qt,n as Un,p as yP,q as Ns,v as vP,w as xP,x as Ke,y as EP,r as m,z as On,j as E,B as xw,D as cm,R as TP,c as Vt,b as z,E as wP,F as yn,G as AP,H as Ew,W as ns,t as bt,I as Tw,J as ww,K as Kg,L as fu,N as SP,O as Gg,P as Ch,C as kP}from"./index-BBsv6iUg.js";import{r as Ps,u as _P}from"./SearchableSelect-CO0mH-rf.js";const Aw=new Set(["timestamp","start","end","created_at","updated_at","time"]);function CP(e,t){return Aw.has(e)?t>1e12:/time/i.test(e)&&t>1e12&&t<3e12}function IP(e,t){return Aw.has(e)?t>1e9&&t<1e12:/time/i.test(e)&&t>1e9&&t<3e9}var Sw="vercel.ai.error",OP=Symbol.for(Sw),Xg,Zg,nn=class kw extends(Zg=Error,Xg=OP,Zg){constructor({name:t,message:r,cause:n}){super(r),this[Xg]=!0,this.name=t,this.cause=n}static isInstance(t){return kw.hasMarker(t,Sw)}static hasMarker(t,r){const n=Symbol.for(r);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}};function _w(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.message:JSON.stringify(e)}var Cw="AI_InvalidArgumentError",Iw=`vercel.ai.error.${Cw}`,NP=Symbol.for(Iw),Qg,Jg,PP=class extends(Jg=nn,Qg=NP,Jg){constructor({message:e,cause:t,argument:r}){super({name:Cw,message:e,cause:t}),this[Qg]=!0,this.argument=r}static isInstance(e){return nn.hasMarker(e,Iw)}},Ow="AI_JSONParseError",Nw=`vercel.ai.error.${Ow}`,DP=Symbol.for(Nw),eb,tb,rb=class extends(tb=nn,eb=DP,tb){constructor({text:e,cause:t}){super({name:Ow,message:`JSON parsing failed: Text: ${e}.
3
3
  Error message: ${_w(t)}`,cause:t}),this[eb]=!0,this.text=e}static isInstance(e){return nn.hasMarker(e,Nw)}},Pw="AI_TypeValidationError",Dw=`vercel.ai.error.${Pw}`,RP=Symbol.for(Dw),nb,ib,Pa=class Ih extends(ib=nn,nb=RP,ib){constructor({value:t,cause:r,context:n}){let i="Type validation failed";if(n?.field&&(i+=` for ${n.field}`),n?.entityName||n?.entityId){i+=" (";const a=[];n.entityName&&a.push(n.entityName),n.entityId&&a.push(`id: "${n.entityId}"`),i+=a.join(", "),i+=")"}super({name:Pw,message:`${i}: Value: ${JSON.stringify(t)}.
4
4
  Error message: ${_w(r)}`,cause:r}),this[nb]=!0,this.value=t,this.context=n}static isInstance(t){return nn.hasMarker(t,Dw)}static wrap({value:t,cause:r,context:n}){var i,a,o;return Ih.isInstance(r)&&r.value===t&&((i=r.context)==null?void 0:i.field)===n?.field&&((a=r.context)==null?void 0:a.entityName)===n?.entityName&&((o=r.context)==null?void 0:o.entityId)===n?.entityId?r:new Ih({value:t,cause:r,context:n})}},is;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function r(i){throw new Error}e.assertNever=r,e.arrayToEnum=i=>{const a={};for(const o of i)a[o]=o;return a},e.getValidEnumValues=i=>{const a=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(const s of a)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const a=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},e.find=(i,a)=>{for(const o of i)if(a(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function n(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}e.joinValues=n,e.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(is||(is={}));var ab;(function(e){e.mergeShapes=(t,r)=>({...t,...r})})(ab||(ab={}));is.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);is.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class el extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=t}format(t){const r=t||function(a){return a.message},n={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let s=n,u=0;for(;u<o.path.length;){const l=o.path[u];u===o.path.length-1?(s[l]=s[l]||{_errors:[]},s[l]._errors.push(r(o))):s[l]=s[l]||{_errors:[]},s=s[l],u++}}};return i(this),n}static assert(t){if(!(t instanceof el))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,is.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=r=>r.message){const r=Object.create(null),n=[];for(const i of this.issues)if(i.path.length>0){const a=i.path[0];r[a]=r[a]||[],r[a].push(t(i))}else n.push(t(i));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}}el.create=e=>new el(e);var ob;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(ob||(ob={}));var ve;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(ve||(ve={}));class sb extends Error{constructor(t,r){super(t),this.name="ParseError",this.type=r.type,this.field=r.field,this.value=r.value,this.line=r.line}}const ub=10,LP=13,hi=32;function wf(e){}function MP(e){if(typeof e=="function")throw new TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");const{onEvent:t=wf,onError:r=wf,onRetry:n=wf,onComment:i}=e,a=[];let o=!0,s,u="",l=0,c;function f(v){if(o&&(o=!1,v.charCodeAt(0)===239&&v.charCodeAt(1)===187&&v.charCodeAt(2)===191&&(v=v.slice(3))),a.length===0){const S=d(v);S!==""&&a.push(S);return}if(v.indexOf(`
5
5
  `)===-1&&v.indexOf("\r")===-1){a.push(v);return}a.push(v);const T=a.join("");a.length=0;const x=d(T);x!==""&&a.push(x)}function d(v){let T=0;if(v.indexOf("\r")===-1){let x=v.indexOf(`
@@ -128,7 +128,7 @@ ${t}</tr>
128
128
  `}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${bn(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:r,tokens:n}){let i=this.parser.parseInline(n),a=$y(t);if(a===null)return i;t=a;let o='<a href="'+t+'"';return r&&(o+=' title="'+bn(r)+'"'),o+=">"+i+"</a>",o}image({href:t,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=$y(t);if(a===null)return bn(n);t=a;let o=`<img src="${t}" alt="${n}"`;return r&&(o+=` title="${bn(r)}"`),o+=">",o}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:bn(t.text)}},Vm=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},Rr=class Qh{options;renderer;textRenderer;constructor(t){this.options=t||Zi,this.options.renderer=this.options.renderer||new fl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Vm}static parse(t,r){return new Qh(r).parse(t)}static parseInline(t,r){return new Qh(r).parseInline(t)}parse(t){let r="";for(let n=0;n<t.length;n++){let i=t[n];if(this.options.extensions?.renderers?.[i.type]){let o=i,s=this.options.extensions.renderers[o.type].call({parser:this},o);if(s!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(o.type)){r+=s||"";continue}}let a=i;switch(a.type){case"space":{r+=this.renderer.space(a);break}case"hr":{r+=this.renderer.hr(a);break}case"heading":{r+=this.renderer.heading(a);break}case"code":{r+=this.renderer.code(a);break}case"table":{r+=this.renderer.table(a);break}case"blockquote":{r+=this.renderer.blockquote(a);break}case"list":{r+=this.renderer.list(a);break}case"checkbox":{r+=this.renderer.checkbox(a);break}case"html":{r+=this.renderer.html(a);break}case"def":{r+=this.renderer.def(a);break}case"paragraph":{r+=this.renderer.paragraph(a);break}case"text":{r+=this.renderer.text(a);break}default:{let o='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(o),"";throw new Error(o)}}}return r}parseInline(t,r=this.renderer){let n="";for(let i=0;i<t.length;i++){let a=t[i];if(this.options.extensions?.renderers?.[a.type]){let s=this.options.extensions.renderers[a.type].call({parser:this},a);if(s!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){n+=s||"";continue}}let o=a;switch(o.type){case"escape":{n+=r.text(o);break}case"html":{n+=r.html(o);break}case"link":{n+=r.link(o);break}case"image":{n+=r.image(o);break}case"checkbox":{n+=r.checkbox(o);break}case"strong":{n+=r.strong(o);break}case"em":{n+=r.em(o);break}case"codespan":{n+=r.codespan(o);break}case"br":{n+=r.br(o);break}case"del":{n+=r.del(o);break}case"text":{n+=r.text(o);break}default:{let s='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return n}},Ro=class{options;block;constructor(e){this.options=e||Zi}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?_r.lex:_r.lexInline}provideParser(){return this.block?Rr.parse:Rr.parseInline}},O7=class{defaults=Bm();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Rr;Renderer=fl;TextRenderer=Vm;Lexer=_r;Tokenizer=cl;Hooks=Ro;constructor(...e){this.use(...e)}walkTokens(e,t){let r=[];for(let n of e)switch(r=r.concat(t.call(this,n)),n.type){case"table":{let i=n;for(let a of i.header)r=r.concat(this.walkTokens(a.tokens,t));for(let a of i.rows)for(let o of a)r=r.concat(this.walkTokens(o.tokens,t));break}case"list":{let i=n;r=r.concat(this.walkTokens(i.items,t));break}default:{let i=n;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(a=>{let o=i[a].flat(1/0);r=r.concat(this.walkTokens(o,t))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,t)))}}return r}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=t.renderers[i.name];a?t.renderers[i.name]=function(...o){let s=i.renderer.apply(this,o);return s===!1&&(s=a.apply(this,o)),s}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=t[i.level];a?a.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),n.extensions=t),r.renderer){let i=this.defaults.renderer||new fl(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let o=a,s=r.renderer[o],u=i[o];i[o]=(...l)=>{let c=s.apply(i,l);return c===!1&&(c=u.apply(i,l)),c||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new cl(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let o=a,s=r.tokenizer[o],u=i[o];i[o]=(...l)=>{let c=s.apply(i,l);return c===!1&&(c=u.apply(i,l)),c}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new Ro;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let o=a,s=r.hooks[o],u=i[o];Ro.passThroughHooks.has(a)?i[o]=l=>{if(this.defaults.async&&Ro.passThroughHooksRespectAsync.has(a))return(async()=>{let f=await s.call(i,l);return u.call(i,f)})();let c=s.call(i,l);return u.call(i,c)}:i[o]=(...l)=>{if(this.defaults.async)return(async()=>{let f=await s.apply(i,l);return f===!1&&(f=await u.apply(i,l)),f})();let c=s.apply(i,l);return c===!1&&(c=u.apply(i,l)),c}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(o){let s=[];return s.push(a.call(this,o)),i&&(s=s.concat(i.call(this,o))),s}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return _r.lex(e,t??this.defaults)}parser(e,t){return Rr.parse(e,t??this.defaults)}parseMarkdown(e){return(t,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let o=i.hooks?await i.hooks.preprocess(t):t,s=await(i.hooks?await i.hooks.provideLexer():e?_r.lex:_r.lexInline)(o,i),u=i.hooks?await i.hooks.processAllTokens(s):s;i.walkTokens&&await Promise.all(this.walkTokens(u,i.walkTokens));let l=await(i.hooks?await i.hooks.provideParser():e?Rr.parse:Rr.parseInline)(u,i);return i.hooks?await i.hooks.postprocess(l):l})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let o=(i.hooks?i.hooks.provideLexer():e?_r.lex:_r.lexInline)(t,i);i.hooks&&(o=i.hooks.processAllTokens(o)),i.walkTokens&&this.walkTokens(o,i.walkTokens);let s=(i.hooks?i.hooks.provideParser():e?Rr.parse:Rr.parseInline)(o,i);return i.hooks&&(s=i.hooks.postprocess(s)),s}catch(o){return a(o)}}}onError(e,t){return r=>{if(r.message+=`
129
129
  Please report this to https://github.com/markedjs/marked.`,e){let n="<p>An error occurred:</p><pre>"+bn(r.message+"",!0)+"</pre>";return t?Promise.resolve(n):n}if(t)return Promise.reject(r);throw r}}},Bi=new O7;function He(e,t){return Bi.parse(e,t)}He.options=He.setOptions=function(e){return Bi.setOptions(e),He.defaults=Bi.defaults,mk(He.defaults),He};He.getDefaults=Bm;He.defaults=Zi;He.use=function(...e){return Bi.use(...e),He.defaults=Bi.defaults,mk(He.defaults),He};He.walkTokens=function(e,t){return Bi.walkTokens(e,t)};He.parseInline=Bi.parseInline;He.Parser=Rr;He.parser=Rr.parse;He.Renderer=fl;He.TextRenderer=Vm;He.Lexer=_r;He.lexer=_r.lex;He.Tokenizer=cl;He.Hooks=Ro;He.parse=He;He.options;He.setOptions;He.use;He.walkTokens;He.parseInline;Rr.parse;_r.lex;var N7=300,P7="300px",D7=500;function R7(e={}){let{immediate:t=!1,debounceDelay:r=N7,rootMargin:n=P7,idleTimeout:i=D7}=e,[a,o]=m.useState(!1),s=m.useRef(null),u=m.useRef(null),l=m.useRef(null),c=m.useMemo(()=>h=>{let p=Date.now();return window.setTimeout(()=>{h({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-p))})},1)},[]),f=m.useMemo(()=>typeof window<"u"&&window.requestIdleCallback?(h,p)=>window.requestIdleCallback(h,p):c,[c]),d=m.useMemo(()=>typeof window<"u"&&window.cancelIdleCallback?h=>window.cancelIdleCallback(h):h=>{clearTimeout(h)},[]);return m.useEffect(()=>{if(t){o(!0);return}let h=s.current;if(!h)return;u.current&&(clearTimeout(u.current),u.current=null),l.current&&(d(l.current),l.current=null);let p=()=>{u.current&&(clearTimeout(u.current),u.current=null),l.current&&(d(l.current),l.current=null)},b=x=>{l.current=f(S=>{S.timeRemaining()>0||S.didTimeout?(o(!0),x.disconnect()):l.current=f(()=>{o(!0),x.disconnect()},{timeout:i/2})},{timeout:i})},y=x=>{p(),u.current=window.setTimeout(()=>{var S,w;let A=x.takeRecords();(A.length===0||(w=(S=A.at(-1))==null?void 0:S.isIntersecting)!=null&&w)&&b(x)},r)},v=(x,S)=>{x.isIntersecting?y(S):p()},T=new IntersectionObserver(x=>{for(let S of x)v(S,T)},{rootMargin:n,threshold:0});return T.observe(h),()=>{u.current&&clearTimeout(u.current),l.current&&d(l.current),T.disconnect()}},[t,r,n,i,d,f]),{shouldRender:a,containerRef:s}}var kk=/\s/,L7=/^\s+$/,M7=new Set(["code","pre","svg","math","annotation"]),j7=e=>typeof e=="object"&&e!==null&&"type"in e&&e.type==="element",B7=e=>e.some(t=>j7(t)&&M7.has(t.tagName)),F7=e=>{let t=[],r="",n=!1;for(let i of e){let a=kk.test(i);a!==n&&r&&(t.push(r),r=""),r+=i,n=a}return r&&t.push(r),t},$7=e=>{let t=[],r="";for(let n of e)kk.test(n)?r+=n:(r&&(t.push(r),r=""),t.push(n));return r&&t.push(r),t},U7=(e,t,r,n,i,a)=>{let o=`--sd-animation:sd-${t};--sd-duration:${i?0:r}ms;--sd-easing:${n}`;return a&&(o+=`;--sd-delay:${a}ms`),{type:"element",tagName:"span",properties:{"data-sd-animate":!0,style:o},children:[{type:"text",value:e}]}},H7=(e,t,r,n,i)=>{let a=t.at(-1);if(!(a&&"children"in a))return;if(B7(t))return Ea;let o=a,s=o.children.indexOf(e);if(s===-1)return;let u=e.value;if(!u.trim()){i.count+=u.length;return}let l=r.sep==="char"?$7(u):F7(u),c=n.prevContentLength,f=l.map(d=>{let h=i.count;if(i.count+=d.length,L7.test(d))return{type:"text",value:d};let p=c>0&&h<c,b=p?0:i.newIndex++*r.stagger;return U7(d,r.animation,r.duration,r.easing,p,b)});return o.children.splice(s,1,...f),s+f.length},z7=0;function Jh(e){var t,r,n,i,a;let o={animation:(t=e?.animation)!=null?t:"fadeIn",duration:(r=e?.duration)!=null?r:150,easing:(n=e?.easing)!=null?n:"ease",sep:(i=e?.sep)!=null?i:"word",stagger:(a=e?.stagger)!=null?a:40},s={prevContentLength:0,lastRenderCharCount:0},u=z7++,l=()=>c=>{let f={count:0,newIndex:0};hm(c,"text",(d,h)=>H7(d,h,o,s,f)),s.lastRenderCharCount=f.count,s.prevContentLength=0};return Object.defineProperty(l,"name",{value:`rehypeAnimate$${u}`}),{name:"animate",type:"animate",rehypePlugin:l,setPrevContentLength(c){s.prevContentLength=c},getLastRenderCharCount(){let c=s.lastRenderCharCount;return s.lastRenderCharCount=0,c}}}Jh();var _k=m.createContext(!1),q7=()=>m.useContext(_k),Ym=(...e)=>ik(Le(e)),W7=(e,t)=>{if(!e||!t)return t;let r=`${e}:`;return t.split(/\s+/).filter(Boolean).map(n=>n.startsWith(r)?n:`${e}:${n}`).join(" ")},V7=e=>e?(...t)=>W7(e,ik(Le(t))):Ym,ka=(e,t,r)=>{let n=typeof t=="string"&&r.startsWith("text/csv")?"\uFEFF":"",i=typeof t=="string"?new Blob([n+t],{type:r}):t,a=URL.createObjectURL(i),o=document.createElement("a");o.href=a,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},ep=m.createContext(Ym),ke=()=>m.useContext(ep),Y7=Ym("block","before:content-[counter(line)]","before:inline-block","before:[counter-increment:line]","before:w-6","before:mr-4","before:text-[13px]","before:text-right","before:text-muted-foreground/50","before:font-mono","before:select-none"),K7=e=>{let t={};for(let r of e.split(";")){let n=r.indexOf(":");if(n>0){let i=r.slice(0,n).trim(),a=r.slice(n+1).trim();i&&a&&(t[i]=a)}}return t},G7=m.memo(({children:e,result:t,language:r,className:n,startLine:i,lineNumbers:a=!0,...o})=>{let s=ke(),u=m.useMemo(()=>s(Y7),[s]),l=m.useMemo(()=>{let c={};return t.bg&&(c["--sdm-bg"]=t.bg),t.fg&&(c["--sdm-fg"]=t.fg),t.rootStyle&&Object.assign(c,K7(t.rootStyle)),c},[t.bg,t.fg,t.rootStyle]);return E.jsx("div",{className:s(n,"overflow-x-auto rounded-md border border-border bg-background p-4 text-sm"),"data-language":r,"data-streamdown":"code-block-body",...o,children:E.jsx("pre",{className:s(n,"bg-[var(--sdm-bg,inherit]","dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit)]"),style:l,children:E.jsx("code",{className:a?s("[counter-increment:line_0] [counter-reset:line]"):void 0,style:a&&i&&i>1?{counterReset:`line ${i-1}`}:void 0,children:t.tokens.map((c,f)=>E.jsx("span",{className:a?u:void 0,children:c.length===0||c.length===1&&c[0].content===""?`
130
130
  `:c.map((d,h)=>{let p={},b=!!d.bgColor;if(d.color&&(p["--sdm-c"]=d.color),d.bgColor&&(p["--sdm-tbg"]=d.bgColor),d.htmlStyle)for(let[y,v]of Object.entries(d.htmlStyle))y==="color"?p["--sdm-c"]=v:y==="background-color"?(p["--sdm-tbg"]=v,b=!0):p[y]=v;return E.jsx("span",{className:s("text-[var(--sdm-c,inherit)]","dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]",b&&"bg-[var(--sdm-tbg)]",b&&"dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]"),style:p,...d.htmlAttrs,children:d.content},h)})},f))})})})},(e,t)=>e.result===t.result&&e.language===t.language&&e.className===t.className&&e.startLine===t.startLine&&e.lineNumbers===t.lineNumbers),X7=({className:e,language:t,style:r,isIncomplete:n,...i})=>{let a=ke();return E.jsx("div",{className:a("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2",e),"data-incomplete":n||void 0,"data-language":t,"data-streamdown":"code-block",style:{contentVisibility:"auto",containIntrinsicSize:"auto 200px",...r},...i})},Ck=m.createContext({code:""}),Ik=()=>m.useContext(Ck),Z7=({language:e})=>{let t=ke();return E.jsx("div",{className:t("flex h-8 items-center text-muted-foreground text-xs"),"data-language":e,"data-streamdown":"code-block-header",children:E.jsx("span",{className:t("ml-1 font-mono lowercase"),children:e})})},Q7=e=>{let t=e.length;for(;t>0&&e[t-1]===`
131
- `;)t--;return e.slice(0,t)},J7=m.lazy(()=>xw(()=>import("./highlighted-body-OFNGDK62-B2U64epE.js"),__vite__mapDeps([0,1,2,3])).then(e=>({default:e.HighlightedCodeBlockBody}))),e$=({code:e,language:t,className:r,children:n,isIncomplete:i=!1,startLine:a,lineNumbers:o,...s})=>{let u=ke(),l=m.useMemo(()=>Q7(e),[e]),c=m.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:l.split(`
131
+ `;)t--;return e.slice(0,t)},J7=m.lazy(()=>xw(()=>import("./highlighted-body-OFNGDK62-ItGy-8Np.js"),__vite__mapDeps([0,1,2,3])).then(e=>({default:e.HighlightedCodeBlockBody}))),e$=({code:e,language:t,className:r,children:n,isIncomplete:i=!1,startLine:a,lineNumbers:o,...s})=>{let u=ke(),l=m.useMemo(()=>Q7(e),[e]),c=m.useMemo(()=>({bg:"transparent",fg:"inherit",tokens:l.split(`
132
132
  `).map(f=>[{content:f,color:"inherit",bgColor:"transparent",htmlStyle:{},offset:0}])}),[l]);return E.jsx(Ck.Provider,{value:{code:e},children:E.jsxs(X7,{isIncomplete:i,language:t,children:[E.jsx(Z7,{language:t}),n?E.jsx("div",{className:u("pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end"),children:E.jsx("div",{className:u("pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur"),"data-streamdown":"code-block-actions",children:n})}):null,E.jsx(m.Suspense,{fallback:E.jsx(G7,{className:r,language:t,lineNumbers:o,result:c,startLine:a,...s}),children:E.jsx(J7,{className:r,code:l,language:t,lineNumbers:o,raw:c,startLine:a,...s})})]})})},t$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z",fill:"currentColor",fillRule:"evenodd"})}),r$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z",fill:"currentColor",fillRule:"evenodd"})}),n$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z",fill:"currentColor",fillRule:"evenodd"})}),i$=e=>E.jsxs("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:[E.jsx("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),E.jsx("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),a$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z",fill:"currentColor",fillRule:"evenodd"})}),o$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z",fill:"currentColor",fillRule:"evenodd"})}),s$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z",fill:"currentColor",fillRule:"evenodd"})}),u$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z",fill:"currentColor",fillRule:"evenodd"})}),l$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),c$=e=>E.jsx("svg",{color:"currentColor",height:16,strokeLinejoin:"round",viewBox:"0 0 16 16",width:16,...e,children:E.jsx("path",{clipRule:"evenodd",d:"M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z",fill:"currentColor",fillRule:"evenodd"})}),Lo={CheckIcon:t$,CopyIcon:r$,DownloadIcon:n$,ExternalLinkIcon:u$,Loader2Icon:i$,Maximize2Icon:a$,RotateCcwIcon:o$,XIcon:s$,ZoomInIcon:l$,ZoomOutIcon:c$},Ok=m.createContext(Lo),f$=(e,t)=>{if(e===t)return!0;if(!(e&&t))return e===t;let r=Object.keys(e),n=Object.keys(t);return r.length!==n.length?!1:r.every(i=>e[i]===t[i])},zy=({icons:e,children:t})=>{let r=m.useRef(e),n=m.useRef(e?{...Lo,...e}:Lo);f$(r.current,e)||(r.current=e,n.current=e?{...Lo,...e}:Lo);let i=n.current;return E.jsx(Ok.Provider,{value:i,children:t})},zr=()=>m.useContext(Ok),Nk={copyCode:"Copy Code",downloadFile:"Download file",downloadDiagram:"Download diagram",downloadDiagramAsSvg:"Download diagram as SVG",downloadDiagramAsPng:"Download diagram as PNG",downloadDiagramAsMmd:"Download diagram as MMD",viewFullscreen:"View fullscreen",exitFullscreen:"Exit fullscreen",mermaidFormatSvg:"SVG",mermaidFormatPng:"PNG",mermaidFormatMmd:"MMD",copyTable:"Copy table",copyTableAsMarkdown:"Copy table as Markdown",copyTableAsCsv:"Copy table as CSV",copyTableAsTsv:"Copy table as TSV",downloadTable:"Download table",downloadTableAsCsv:"Download table as CSV",downloadTableAsMarkdown:"Download table as Markdown",tableFormatMarkdown:"Markdown",tableFormatCsv:"CSV",tableFormatTsv:"TSV",imageNotAvailable:"Image not available",downloadImage:"Download image",openExternalLink:"Open external link?",externalLinkWarning:"You're about to visit an external website.",close:"Close",copyLink:"Copy link",copied:"Copied",openLink:"Open link"},tp=m.createContext(Nk),Pn=()=>m.useContext(tp),qy=({onCopy:e,onError:t,timeout:r=2e3,children:n,className:i,code:a,...o})=>{let s=ke(),[u,l]=m.useState(!1),c=m.useRef(0),{code:f}=Ik(),{isAnimating:d}=m.useContext(yr),h=Pn(),p=a??f,b=async()=>{var T;if(typeof window>"u"||!((T=navigator?.clipboard)!=null&&T.writeText)){t?.(new Error("Clipboard API not available"));return}try{u||(await navigator.clipboard.writeText(p),l(!0),e?.(),c.current=window.setTimeout(()=>l(!1),r))}catch(x){t?.(x)}};m.useEffect(()=>()=>{window.clearTimeout(c.current)},[]);let y=zr(),v=u?y.CheckIcon:y.CopyIcon;return E.jsx("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-copy-button",disabled:d,onClick:b,title:h.copyCode,type:"button",...o,children:n??E.jsx(v,{size:14})})},Wy={"1c":"1c","1c-query":"1cq",abap:"abap","actionscript-3":"as",ada:"ada",adoc:"adoc","angular-html":"html","angular-ts":"ts",apache:"conf",apex:"cls",apl:"apl",applescript:"applescript",ara:"ara",asciidoc:"adoc",asm:"asm",astro:"astro",awk:"awk",ballerina:"bal",bash:"sh",bat:"bat",batch:"bat",be:"be",beancount:"beancount",berry:"berry",bibtex:"bib",bicep:"bicep",blade:"blade.php",bsl:"bsl",c:"c","c#":"cs","c++":"cpp",cadence:"cdc",cairo:"cairo",cdc:"cdc",clarity:"clar",clj:"clj",clojure:"clj","closure-templates":"soy",cmake:"cmake",cmd:"cmd",cobol:"cob",codeowners:"CODEOWNERS",codeql:"ql",coffee:"coffee",coffeescript:"coffee","common-lisp":"lisp",console:"sh",coq:"v",cpp:"cpp",cql:"cql",crystal:"cr",cs:"cs",csharp:"cs",css:"css",csv:"csv",cue:"cue",cypher:"cql",d:"d",dart:"dart",dax:"dax",desktop:"desktop",diff:"diff",docker:"dockerfile",dockerfile:"dockerfile",dotenv:"env","dream-maker":"dm",edge:"edge",elisp:"el",elixir:"ex",elm:"elm","emacs-lisp":"el",erb:"erb",erl:"erl",erlang:"erl",f:"f","f#":"fs",f03:"f03",f08:"f08",f18:"f18",f77:"f77",f90:"f90",f95:"f95",fennel:"fnl",fish:"fish",fluent:"ftl",for:"for","fortran-fixed-form":"f","fortran-free-form":"f90",fs:"fs",fsharp:"fs",fsl:"fsl",ftl:"ftl",gdresource:"tres",gdscript:"gd",gdshader:"gdshader",genie:"gs",gherkin:"feature","git-commit":"gitcommit","git-rebase":"gitrebase",gjs:"js",gleam:"gleam","glimmer-js":"js","glimmer-ts":"ts",glsl:"glsl",gnuplot:"plt",go:"go",gql:"gql",graphql:"graphql",groovy:"groovy",gts:"gts",hack:"hack",haml:"haml",handlebars:"hbs",haskell:"hs",haxe:"hx",hbs:"hbs",hcl:"hcl",hjson:"hjson",hlsl:"hlsl",hs:"hs",html:"html","html-derivative":"html",http:"http",hxml:"hxml",hy:"hy",imba:"imba",ini:"ini",jade:"jade",java:"java",javascript:"js",jinja:"jinja",jison:"jison",jl:"jl",js:"js",json:"json",json5:"json5",jsonc:"jsonc",jsonl:"jsonl",jsonnet:"jsonnet",jssm:"jssm",jsx:"jsx",julia:"jl",kotlin:"kt",kql:"kql",kt:"kt",kts:"kts",kusto:"kql",latex:"tex",lean:"lean",lean4:"lean",less:"less",liquid:"liquid",lisp:"lisp",lit:"lit",llvm:"ll",log:"log",logo:"logo",lua:"lua",luau:"luau",make:"mak",makefile:"mak",markdown:"md",marko:"marko",matlab:"m",md:"md",mdc:"mdc",mdx:"mdx",mediawiki:"wiki",mermaid:"mmd",mips:"s",mipsasm:"s",mmd:"mmd",mojo:"mojo",move:"move",nar:"nar",narrat:"narrat",nextflow:"nf",nf:"nf",nginx:"conf",nim:"nim",nix:"nix",nu:"nu",nushell:"nu",objc:"m","objective-c":"m","objective-cpp":"mm",ocaml:"ml",pascal:"pas",perl:"pl",perl6:"p6",php:"php",plsql:"pls",po:"po",polar:"polar",postcss:"pcss",pot:"pot",potx:"potx",powerquery:"pq",powershell:"ps1",prisma:"prisma",prolog:"pl",properties:"properties",proto:"proto",protobuf:"proto",ps:"ps",ps1:"ps1",pug:"pug",puppet:"pp",purescript:"purs",py:"py",python:"py",ql:"ql",qml:"qml",qmldir:"qmldir",qss:"qss",r:"r",racket:"rkt",raku:"raku",razor:"cshtml",rb:"rb",reg:"reg",regex:"regex",regexp:"regexp",rel:"rel",riscv:"s",rs:"rs",rst:"rst",ruby:"rb",rust:"rs",sas:"sas",sass:"sass",scala:"scala",scheme:"scm",scss:"scss",sdbl:"sdbl",sh:"sh",shader:"shader",shaderlab:"shader",shell:"sh",shellscript:"sh",shellsession:"sh",smalltalk:"st",solidity:"sol",soy:"soy",sparql:"rq",spl:"spl",splunk:"spl",sql:"sql","ssh-config":"config",stata:"do",styl:"styl",stylus:"styl",svelte:"svelte",swift:"swift","system-verilog":"sv",systemd:"service",talon:"talon",talonscript:"talon",tasl:"tasl",tcl:"tcl",templ:"templ",terraform:"tf",tex:"tex",tf:"tf",tfvars:"tfvars",toml:"toml",ts:"ts","ts-tags":"ts",tsp:"tsp",tsv:"tsv",tsx:"tsx",turtle:"ttl",twig:"twig",typ:"typ",typescript:"ts",typespec:"tsp",typst:"typ",v:"v",vala:"vala",vb:"vb",verilog:"v",vhdl:"vhdl",vim:"vim",viml:"vim",vimscript:"vim",vue:"vue","vue-html":"html","vue-vine":"vine",vy:"vy",vyper:"vy",wasm:"wasm",wenyan:"wy",wgsl:"wgsl",wiki:"wiki",wikitext:"wiki",wit:"wit",wl:"wl",wolfram:"wl",xml:"xml",xsl:"xsl",yaml:"yaml",yml:"yml",zenscript:"zs",zig:"zig",zsh:"zsh",文言:"wy"},d$=({onDownload:e,onError:t,language:r,children:n,className:i,code:a,...o})=>{let s=ke(),{code:u}=Ik(),{isAnimating:l}=m.useContext(yr),c=Pn(),f=zr(),d=a??u,h=`file.${r&&r in Wy?Wy[r]:"txt"}`,p="text/plain",b=()=>{try{ka(h,d,p),e?.()}catch(y){t?.(y)}};return E.jsx("button",{className:s("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),"data-streamdown":"code-block-download-button",disabled:l,onClick:b,title:c.downloadFile,type:"button",...o,children:n??E.jsx(f.DownloadIcon,{size:14})})},Vy=()=>{let{Loader2Icon:e}=zr(),t=ke();return E.jsxs("div",{className:t("w-full divide-y divide-border overflow-hidden rounded-xl border border-border"),children:[E.jsx("div",{className:t("h-[46px] w-full bg-muted/80")}),E.jsx("div",{className:t("flex w-full items-center justify-center p-4"),children:E.jsx(e,{className:t("size-4 animate-spin")})})]})},h$=/\.[^/.]+$/,p$=({node:e,className:t,src:r,alt:n,onLoad:i,onError:a,...o})=>{let{DownloadIcon:s}=zr(),u=ke(),l=m.useRef(null),[c,f]=m.useState(!1),[d,h]=m.useState(!1),p=Pn(),b=o.width!=null||o.height!=null,y=(c||b)&&!d,v=d&&!b;m.useEffect(()=>{let w=l.current;if(w!=null&&w.complete){let A=w.naturalWidth>0;f(A),h(!A)}},[]);let T=m.useCallback(w=>{f(!0),h(!1),i?.(w)},[i]),x=m.useCallback(w=>{f(!1),h(!0),a?.(w)},[a]),S=async()=>{if(r)try{let w=await(await fetch(r)).blob(),A=new URL(r,window.location.origin).pathname.split("/").pop()||"",_=A.split(".").pop(),O=A.includes(".")&&_!==void 0&&_.length<=4,R="";if(O)R=A;else{let C=w.type,M="png";C.includes("jpeg")||C.includes("jpg")?M="jpg":C.includes("png")?M="png":C.includes("svg")?M="svg":C.includes("gif")?M="gif":C.includes("webp")&&(M="webp"),R=`${(n||A||"image").replace(h$,"")}.${M}`}ka(R,w,w.type)}catch{window.open(r,"_blank")}};return r?E.jsxs("div",{className:u("group relative my-4 inline-block"),"data-streamdown":"image-wrapper",children:[E.jsx("img",{alt:n,className:u("max-w-full rounded-lg",v&&"hidden",t),"data-streamdown":"image",onError:x,onLoad:T,ref:l,src:r,...o}),v&&E.jsx("span",{className:u("text-muted-foreground text-xs italic"),"data-streamdown":"image-fallback",children:p.imageNotAvailable}),E.jsx("div",{className:u("pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block")}),y&&E.jsx("button",{className:u("absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background","opacity-0 group-hover:opacity-100"),onClick:S,title:p.downloadImage,type:"button",children:E.jsx(s,{size:14})})]}):null},Zo=0,Km=()=>{Zo+=1,Zo===1&&(document.body.style.overflow="hidden")},Gm=()=>{Zo=Math.max(0,Zo-1),Zo===0&&(document.body.style.overflow="")},m$=({url:e,isOpen:t,onClose:r,onConfirm:n})=>{let{CheckIcon:i,CopyIcon:a,ExternalLinkIcon:o,XIcon:s}=zr(),u=ke(),[l,c]=m.useState(!1),f=Pn(),d=m.useCallback(async()=>{try{await navigator.clipboard.writeText(e),c(!0),setTimeout(()=>c(!1),2e3)}catch{}},[e]),h=m.useCallback(()=>{n(),r()},[n,r]);return m.useEffect(()=>{if(t){Km();let p=b=>{b.key==="Escape"&&r()};return document.addEventListener("keydown",p),()=>{document.removeEventListener("keydown",p),Gm()}}},[t,r]),t?E.jsx("div",{className:u("fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm"),"data-streamdown":"link-safety-modal",onClick:r,onKeyDown:p=>{p.key==="Escape"&&r()},role:"button",tabIndex:0,children:E.jsxs("div",{className:u("relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg"),onClick:p=>p.stopPropagation(),onKeyDown:p=>p.stopPropagation(),role:"presentation",children:[E.jsx("button",{className:u("absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:r,title:f.close,type:"button",children:E.jsx(s,{size:16})}),E.jsxs("div",{className:u("flex flex-col gap-2"),children:[E.jsxs("div",{className:u("flex items-center gap-2 font-semibold text-lg"),children:[E.jsx(o,{size:20}),E.jsx("span",{children:f.openExternalLink})]}),E.jsx("p",{className:u("text-muted-foreground text-sm"),children:f.externalLinkWarning})]}),E.jsx("div",{className:u("break-all rounded-md bg-muted p-3 font-mono text-sm",e.length>100&&"max-h-32 overflow-y-auto"),children:e}),E.jsxs("div",{className:u("flex gap-2"),children:[E.jsx("button",{className:u("flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted"),onClick:d,type:"button",children:l?E.jsxs(E.Fragment,{children:[E.jsx(i,{size:14}),E.jsx("span",{children:f.copied})]}):E.jsxs(E.Fragment,{children:[E.jsx(a,{size:14}),E.jsx("span",{children:f.copyLink})]})}),E.jsxs("button",{className:u("flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90"),onClick:h,type:"button",children:[E.jsx(o,{size:14}),E.jsx("span",{children:f.openLink})]})]})]})}):null},rp=m.createContext(null),Xm=()=>m.useContext(rp),que=()=>{var e;let t=Xm();return(e=t?.code)!=null?e:null},Zm=()=>{var e;let t=Xm();return(e=t?.mermaid)!=null?e:null},g$=e=>{var t;let r=Xm();return r!=null&&r.renderers&&e&&(t=r.renderers.find(n=>Array.isArray(n.language)?n.language.includes(e):n.language===e))!=null?t:null},b$=(e,t)=>{var r;let n=(r=void 0)!=null?r:5;return new Promise((i,a)=>{let o="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(e))),s=new Image;s.crossOrigin="anonymous",s.onload=()=>{let u=document.createElement("canvas"),l=s.width*n,c=s.height*n;u.width=l,u.height=c;let f=u.getContext("2d");if(!f){a(new Error("Failed to create 2D canvas context for PNG export"));return}f.drawImage(s,0,0,l,c),u.toBlob(d=>{if(!d){a(new Error("Failed to create PNG blob"));return}i(d)},"image/png")},s.onerror=()=>a(new Error("Failed to load SVG image")),s.src=o})},y$=({chart:e,children:t,className:r,onDownload:n,config:i,onError:a})=>{let o=ke(),[s,u]=m.useState(!1),l=m.useRef(null),{isAnimating:c}=m.useContext(yr),f=zr(),d=Zm(),h=Pn(),p=async b=>{try{if(b==="mmd"){ka("diagram.mmd",e,"text/plain"),u(!1),n?.(b);return}if(!d){a?.(new Error("Mermaid plugin not available"));return}let y=d.getMermaid(i),v=e.split("").reduce((S,w)=>(S<<5)-S+w.charCodeAt(0)|0,0),T=`mermaid-${Math.abs(v)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:x}=await y.render(T,e);if(!x){a?.(new Error("SVG not found. Please wait for the diagram to render."));return}if(b==="svg"){ka("diagram.svg",x,"image/svg+xml"),u(!1),n?.(b);return}if(b==="png"){let S=await b$(x);ka("diagram.png",S,"image/png"),n?.(b),u(!1);return}}catch(y){a?.(y)}};return m.useEffect(()=>{let b=y=>{let v=y.composedPath();l.current&&!v.includes(l.current)&&u(!1)};return document.addEventListener("mousedown",b),()=>{document.removeEventListener("mousedown",b)}},[]),E.jsxs("div",{className:o("relative"),ref:l,children:[E.jsx("button",{className:o("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",r),disabled:c,onClick:()=>u(!s),title:h.downloadDiagram,type:"button",children:t??E.jsx(f.DownloadIcon,{size:14})}),s?E.jsxs("div",{className:o("absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg"),children:[E.jsx("button",{className:o("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>p("svg"),title:h.downloadDiagramAsSvg,type:"button",children:h.mermaidFormatSvg}),E.jsx("button",{className:o("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>p("png"),title:h.downloadDiagramAsPng,type:"button",children:h.mermaidFormatPng}),E.jsx("button",{className:o("w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40"),onClick:()=>p("mmd"),title:h.downloadDiagramAsMmd,type:"button",children:h.mermaidFormatMmd})]}):null]})},v$=({chart:e,config:t,onFullscreen:r,onExit:n,className:i,...a})=>{let{Maximize2Icon:o,XIcon:s}=zr(),u=ke(),[l,c]=m.useState(!1),{isAnimating:f,controls:d}=m.useContext(yr),h=Pn(),p=(()=>{if(typeof d=="boolean")return d;let y=d.mermaid;return y===!1?!1:y===!0||y===void 0?!0:y.panZoom!==!1})(),b=()=>{c(!l)};return m.useEffect(()=>{if(l){Km();let y=v=>{v.key==="Escape"&&c(!1)};return document.addEventListener("keydown",y),()=>{document.removeEventListener("keydown",y),Gm()}}},[l]),m.useEffect(()=>{l?r?.():n&&n()},[l,r,n]),E.jsxs(E.Fragment,{children:[E.jsx("button",{className:u("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50",i),disabled:f,onClick:b,title:h.viewFullscreen,type:"button",...a,children:E.jsx(o,{size:14})}),l?Ps.createPortal(E.jsxs("div",{className:u("fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm"),onClick:b,onKeyDown:y=>{y.key==="Escape"&&b()},role:"button",tabIndex:0,children:[E.jsx("button",{className:u("absolute top-4 right-4 z-10 rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground"),onClick:b,title:h.exitFullscreen,type:"button",children:E.jsx(s,{size:20})}),E.jsx("div",{className:u("flex size-full items-center justify-center p-4"),onClick:y=>y.stopPropagation(),onKeyDown:y=>y.stopPropagation(),role:"presentation",children:E.jsx(f2,{chart:e,className:u("size-full [&_svg]:h-auto [&_svg]:w-auto"),config:t,fullscreen:!0,showControls:p})})]}),document.body):null]})},Pk=e=>{var t,r;let n=[],i=[],a=e.querySelectorAll("thead th");for(let s of a)n.push(((t=s.textContent)==null?void 0:t.trim())||"");let o=e.querySelectorAll("tbody tr");for(let s of o){let u=[],l=s.querySelectorAll("td");for(let c of l)u.push(((r=c.textContent)==null?void 0:r.trim())||"");i.push(u)}return{headers:n,rows:i}},Dk=e=>{let{headers:t,rows:r}=e,n=s=>{let u=!1,l=!1;for(let c of s){if(c==='"'){u=!0,l=!0;break}(c===","||c===`
133
133
  `)&&(u=!0)}return u?l?`"${s.replace(/"/g,'""')}"`:`"${s}"`:s},i=t.length>0?r.length+1:r.length,a=new Array(i),o=0;t.length>0&&(a[o]=t.map(n).join(","),o+=1);for(let s of r)a[o]=s.map(n).join(","),o+=1;return a.join(`
134
134
  `)},x$=e=>{let{headers:t,rows:r}=e,n=s=>{let u=!1;for(let c of s)if(c===" "||c===`
@@ -14,7 +14,7 @@
14
14
  media="print"
15
15
  onload="this.media='all'"
16
16
  />
17
- <script type="module" crossorigin src="/assets/index-mD-B-NKT.js"></script>
17
+ <script type="module" crossorigin src="/assets/index-BBsv6iUg.js"></script>
18
18
  <link rel="stylesheet" crossorigin href="/assets/index-ckfqBqoi.css">
19
19
  </head>
20
20
  <body>