@kaitranntt/ccs 7.74.0-dev.7 → 7.74.0-dev.9
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/dist/bin/ccsxp-runtime.d.ts +4 -0
- package/dist/bin/ccsxp-runtime.d.ts.map +1 -1
- package/dist/bin/ccsxp-runtime.js +49 -3
- package/dist/bin/ccsxp-runtime.js.map +1 -1
- package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
- package/dist/cliproxy/binary/lifecycle.js +2 -1
- package/dist/cliproxy/binary/lifecycle.js.map +1 -1
- package/dist/cliproxy/service-manager.d.ts +17 -1
- package/dist/cliproxy/service-manager.d.ts.map +1 -1
- package/dist/cliproxy/service-manager.js +10 -5
- package/dist/cliproxy/service-manager.js.map +1 -1
- package/dist/cliproxy/types.d.ts +8 -0
- package/dist/cliproxy/types.d.ts.map +1 -1
- package/dist/cliproxy/types.js.map +1 -1
- package/dist/commands/command-catalog.d.ts.map +1 -1
- package/dist/commands/command-catalog.js +4 -1
- package/dist/commands/command-catalog.js.map +1 -1
- package/dist/ui/assets/{accounts-BHXLCVr2.js → accounts-DCJVsC1R.js} +1 -1
- package/dist/ui/assets/{alert-dialog-_HsPBPYt.js → alert-dialog-BZtIoyBc.js} +1 -1
- package/dist/ui/assets/{api-DJfWWXFl.js → api-DNXD8EA9.js} +1 -1
- package/dist/ui/assets/{auth-section-BAacZ7AC.js → auth-section-2-a8KRNY.js} +1 -1
- package/dist/ui/assets/{backups-section-BZRNv86z.js → backups-section-CezuWNFi.js} +1 -1
- package/dist/ui/assets/{channels-DP9aCTUd.js → channels-DaijLXYu.js} +1 -1
- package/dist/ui/assets/{checkbox-DcZz3WGM.js → checkbox-D6sWns2x.js} +1 -1
- package/dist/ui/assets/{claude-extension-CENyhVUo.js → claude-extension-BFbvT7N_.js} +1 -1
- package/dist/ui/assets/{cliproxy-Bxpop7Hy.js → cliproxy-4Z6gEF3R.js} +1 -1
- package/dist/ui/assets/{cliproxy-ai-providers-CRDA8-Ut.js → cliproxy-ai-providers-BZ0mTP-l.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-mve89_rF.js → cliproxy-control-panel-CFFjKRRQ.js} +1 -1
- package/dist/ui/assets/codex-D9ivkuYH.js +27 -0
- package/dist/ui/assets/{confirm-dialog-CA_kx7yS.js → confirm-dialog-CpZGygf5.js} +1 -1
- package/dist/ui/assets/{copilot-DS2c7d1T.js → copilot-DMmn_rxB.js} +1 -1
- package/dist/ui/assets/{cursor-Bbta1Z_q.js → cursor-D_Q86_Ei.js} +1 -1
- package/dist/ui/assets/{droid-bFC5rthA.js → droid-BAf_vL2l.js} +1 -1
- package/dist/ui/assets/{globalenv-section-CZNxpuZE.js → globalenv-section-B8jXcXvb.js} +1 -1
- package/dist/ui/assets/{health-DTrCPTsQ.js → health-BO8TUGV-.js} +1 -1
- package/dist/ui/assets/{index-CEuKLsUj.js → index-8bXW-BpK.js} +3 -3
- package/dist/ui/assets/{index-hh65jn6S.js → index-BsAeVEGk.js} +1 -1
- package/dist/ui/assets/{index-DjptczWk.js → index-CC4Wj5Im.js} +1 -1
- package/dist/ui/assets/{index-DkB98h6I.js → index-DcX4r1mv.js} +1 -1
- package/dist/ui/assets/{index-BzK9qB9a.js → index-DwhLYuc2.js} +1 -1
- package/dist/ui/assets/{index-CEtMdB2w.js → index-mHMlp8Vb.js} +1 -1
- package/dist/ui/assets/{index-B4dFnnun.js → index-vlkxIfEe.js} +1 -1
- package/dist/ui/assets/{logs-CskpzGaG.js → logs-Be6Ybx9a.js} +1 -1
- package/dist/ui/assets/{masked-input-Ck9tgCY7.js → masked-input-DXnXVYlE.js} +1 -1
- package/dist/ui/assets/{proxy-status-widget-CjDFDoLb.js → proxy-status-widget-BnvVPoy1.js} +1 -1
- package/dist/ui/assets/{raw-json-settings-editor-panel-DtHR8TT6.js → raw-json-settings-editor-panel-Bzz3efQU.js} +1 -1
- package/dist/ui/assets/{searchable-select-DmX9VGp5.js → searchable-select-DZale_hJ.js} +1 -1
- package/dist/ui/assets/{separator-CF37MlTs.js → separator-BkmmPPJc.js} +1 -1
- package/dist/ui/assets/{shared-CQDIfxlI.js → shared-ruYPWqHA.js} +1 -1
- package/dist/ui/assets/{table-Ce_lz0Ia.js → table-DdulTUSB.js} +1 -1
- package/dist/ui/assets/updates-COyrJbQd.js +1 -0
- package/dist/ui/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/codex-DxHcxVjR.js +0 -27
- package/dist/ui/assets/updates-BRRjuRCH.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as o}from"./react-vendor-CNOkPC89.js";import{a as q,bi as J,bk as X,d as I,n as Y,L as A,r as R,s as M,t as K,v as B,w as E,I as F,aI as Q}from"./index-CEuKLsUj.js";import{R as $,w as Z,x as ee,ad as se,_ as te,s as re}from"./icons-DyorC3Xk.js";import"./tanstack-CrmUhA7Z.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const z={mode:"auto",tier_defaults:{opus:"high",sonnet:"medium",haiku:"low"},show_warnings:!0},U=1e4;function ie(){const[t,i]=o.useState(null),[b,d]=o.useState(!0),[_,N]=o.useState(!1),[p,g]=o.useState(null),[P,y]=o.useState(!1),f=o.useRef(void 0),w=o.useRef(!1),k=o.useCallback(async()=>{const r=new AbortController,c=setTimeout(()=>r.abort(),U);try{d(!0),g(null);const n=await fetch("/api/thinking",{signal:r.signal});if(clearTimeout(c),!n.ok)throw n.headers.get("content-type")?.includes("text/html")?new Error(`Server error (${n.status})`):new Error("Failed to load Thinking config");const m=await n.json();i(m.config||z),f.current=m.lastModified,w.current=!0}catch(n){clearTimeout(c),n.name==="AbortError"?g("Request timeout - please try again"):g(n.message)}finally{d(!1)}return()=>r.abort()},[]),l=o.useCallback(async r=>{if(!w.current||t===null){g("Cannot save settings before they load. Click Refresh and try again.");return}const c=t,n={...c,...r.mode!==void 0?{mode:r.mode}:{},...r.tier_defaults!==void 0?{tier_defaults:r.tier_defaults}:{},...r.show_warnings!==void 0?{show_warnings:r.show_warnings}:{}};r.clear_override||r.override===null?delete n.override:r.override!==void 0&&(n.override=r.override),r.clear_provider_overrides||r.provider_overrides===null?delete n.provider_overrides:r.provider_overrides!==void 0&&(n.provider_overrides=r.provider_overrides),i(n);const m=new AbortController,h=setTimeout(()=>m.abort(),U);try{N(!0),g(null);const x={...n,lastModified:f.current},u=await fetch("/api/thinking",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x),signal:m.signal});if(clearTimeout(h),!u.ok){if(u.headers.get("content-type")?.includes("text/html"))throw new Error(`Server error (${u.status})`);const s=await u.json();throw u.status===409?new Error("Config changed by another session. Refreshing..."):new Error(s.error||"Failed to save")}const v=await u.json();i(v.config),f.current=v.lastModified,y(!0),setTimeout(()=>y(!1),1500)}catch(x){clearTimeout(h),i(c),x.name==="AbortError"?g("Request timeout - please try again"):(g(x.message),x.message.includes("another session")&&setTimeout(()=>k(),1e3))}finally{N(!1)}},[t,k]),T=o.useCallback(r=>{l({mode:r})},[l]),C=o.useCallback((r,c)=>{const n=t?.tier_defaults||z.tier_defaults;l({tier_defaults:{...n,[r]:c}})},[t,l]),O=o.useCallback(r=>{l({show_warnings:r})},[l]),D=o.useCallback(r=>{if(r===void 0){l({override:null,clear_override:!0});return}l({override:r,clear_override:!1})},[l]),L=o.useCallback((r,c,n)=>{const m=t?.provider_overrides||{},h=m[r]||{};if(n===void 0){const{[c]:x,...u}=h,v=Object.keys(u).length>0?u:void 0,{[r]:S,...s}=m,a=v?{...s,[r]:v}:s;l({provider_overrides:Object.keys(a).length>0?a:null,clear_provider_overrides:Object.keys(a).length===0})}else l({provider_overrides:{...m,[r]:{...h,[c]:n}},clear_provider_overrides:!1})},[t,l]);return{config:t||z,loading:b,saving:_,error:p,success:P,fetchConfig:k,saveConfig:l,setMode:T,setTierDefault:C,setShowWarnings:O,setOverride:D,setProviderOverride:L}}const H=[{value:"minimal",label:"Minimal (512 tokens)"},{value:"low",label:"Low (1K tokens)"},{value:"medium",label:"Medium (8K tokens)"},{value:"high",label:"High (24K tokens)"},{value:"xhigh",label:"Extra High (32K tokens)"},{value:"max",label:"Max (adaptive ceiling)"},{value:"auto",label:"Auto (dynamic)"}],ne=[{value:"__none__",label:"None (use CLI flags only)"},...H,{value:"__custom__",label:"Custom budget (number)"},{value:"off",label:"Off (disable thinking)"}],ae=["agy","gemini","codex"],G=0,V=1e5;function fe(){const{t}=q(),{config:i,loading:b,saving:d,error:_,success:N,fetchConfig:p,setMode:g,setTierDefault:P,setShowWarnings:y,setOverride:f,setProviderOverride:w}=ie(),[k,l]=o.useState(null),[T,C]=o.useState(""),[O,D]=o.useState([]),[L,r]=o.useState(null),c=o.useMemo(()=>Array.from(new Set([...ae,...Object.keys(i.provider_overrides??{}),...O])),[O,i.provider_overrides]),n=i.override===void 0?"__none__":typeof i.override=="number"||/^\d+$/.test(String(i.override))?"__custom__":String(i.override),m=typeof i.override=="number"||/^\d+$/.test(String(i.override??""))?String(i.override):"",h=L??m,x=Object.keys(i.provider_overrides??{}).length>0,u=k??x;o.useEffect(()=>{p()},[p]);const v=()=>{const s=T.trim().toLowerCase();s&&(c.includes(s)||D(a=>[...a,s]),C(""),l(!0))},S=()=>{const s=h.trim();if(!s){f(void 0);return}const a=Number.parseInt(s,10);Number.isNaN(a)||a<G||a>V||!/^\d+$/.test(s)||f(a)};return b?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx($,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:t("settings.loading")})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${_||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[_&&e.jsx(J,{variant:"destructive",className:"py-2 shadow-lg",children:e.jsxs("div",{className:"flex items-center justify-between w-full",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Z,{className:"h-4 w-4"}),e.jsx(X,{children:_})]}),e.jsxs(I,{variant:"outline",size:"sm",onClick:p,className:"h-7 px-2 text-xs border-destructive/50 hover:bg-destructive/10",children:[e.jsx($,{className:"w-3 h-3 mr-1"}),t("sharedPage.retry")]})]})}),N&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(ee,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:t("settings.saved")})]})]}),e.jsx(Y,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{className:"w-5 h-5 text-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.description")})]}),e.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800",children:[e.jsx(te,{className:"w-4 h-4 text-blue-600 dark:text-blue-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm text-blue-700 dark:text-blue-300",children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.supportedProviders")}),e.jsxs("ul",{className:"mt-1 space-y-0.5 text-blue-600 dark:text-blue-400",children:[e.jsxs("li",{children:[t("settingsThinking.supportLine1Prefix")," ",e.jsx("strong",{children:"agy"}),","," ",e.jsx("strong",{children:"gemini"})," ",t("settingsThinking.supportLine1Suffix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine2Prefix")," ",e.jsx("strong",{children:"codex"})," ",t("settingsThinking.supportLine2SuffixPrefix"),e.jsx("code",{children:"--effort"}),t("settingsThinking.supportLine2SuffixPostfix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine3Prefix")," ",e.jsx("code",{children:"-high"}),t("settingsThinking.supportLine3Suffix")]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.modeTitle")}),e.jsx("div",{className:"space-y-2",children:["auto","off","manual"].map(s=>e.jsxs("div",{className:`flex items-center justify-between p-4 rounded-lg cursor-pointer transition-colors ${i.mode===s?"bg-primary/10 border border-primary/30":"bg-muted/50 hover:bg-muted/80"} ${d?"opacity-70 pointer-events-none":""}`,onClick:()=>{d||g(s)},children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium capitalize",children:s}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[s==="auto"&&t("settingsThinking.modeAutoDesc"),s==="off"&&t("settingsThinking.modeOffDesc"),s==="manual"&&t("settingsThinking.modeManualDesc")]})]}),e.jsx("div",{className:`w-4 h-4 rounded-full border-2 ${i.mode===s?"bg-primary border-primary":"border-muted-foreground/50"}`})]},s))})]}),i.mode==="auto"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.tierDefaults")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.tierDefaultsDesc")}),e.jsx("div",{className:"space-y-3",children:["opus","sonnet","haiku"].map(s=>e.jsxs("div",{className:"flex items-center gap-4 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"w-20 capitalize font-medium",children:s}),e.jsxs(R,{value:i.tier_defaults[s],onValueChange:a=>P(s,a),disabled:d,children:[e.jsx(M,{className:"flex-1",children:e.jsx(K,{})}),e.jsx(B,{children:H.map(a=>e.jsx(E,{value:a.value,children:a.label},a.value))})]})]},s))})]}),i.mode==="manual"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.persistentOverride")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.persistentOverrideDesc")}),e.jsxs(R,{value:n,onValueChange:s=>{if(s==="__none__"){f(void 0);return}if(s==="__custom__"){h||r("8192");return}r(null),f(s)},disabled:d,children:[e.jsx(M,{children:e.jsx(K,{})}),e.jsx(B,{children:ne.map(s=>e.jsx(E,{value:s.value,children:s.label},s.value))})]}),n==="__custom__"&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{type:"number",min:G,max:V,value:h,onChange:s=>r(s.target.value),onBlur:S,disabled:d,placeholder:t("settingsThinking.enterCustomBudget")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:S,disabled:d,children:t("settingsThinking.apply")})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Range: ",G," to ",V]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-2 text-base font-medium w-full text-left",onClick:()=>l(s=>!(s??x)),disabled:d,children:[e.jsx(re,{className:`w-4 h-4 transition-transform ${u?"rotate-0":"-rotate-90"}`}),t("settingsThinking.providerOverrides",{count:Object.keys(i.provider_overrides??{}).length})]}),u&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.providerOverridesDesc")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{value:T,onChange:s=>C(s.target.value),disabled:d,placeholder:t("settingsThinking.addProviderPlaceholder")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:v,disabled:d,children:t("settingsGlobalEnv.add")})]}),c.map(s=>e.jsxs("div",{className:"space-y-2 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"capitalize font-medium text-sm",children:s}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:["opus","sonnet","haiku"].map(a=>{const W=i.provider_overrides?.[s]?.[a]||"__default__";return e.jsxs("div",{className:"space-y-1",children:[e.jsx(A,{className:"text-xs text-muted-foreground capitalize",children:a}),e.jsxs(R,{value:W,onValueChange:j=>w(s,a,j==="__default__"?void 0:j),disabled:d,children:[e.jsx(M,{className:"h-8 text-xs",children:e.jsx(K,{})}),e.jsxs(B,{children:[e.jsx(E,{value:"__default__",children:t("cursorPage.default")}),H.map(j=>e.jsx(E,{value:j.value,children:j.label},j.value))]})]})]},a)})})]},s))]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.showWarnings")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.showWarningsDesc")})]}),e.jsx(Q,{checked:i.show_warnings??!0,onCheckedChange:y,disabled:d})]}),e.jsxs("div",{className:"p-4 rounded-lg border bg-muted/30",children:[e.jsx("h4",{className:"text-sm font-medium mb-2",children:t("settingsThinking.cliEnvOverride")}),e.jsxs("p",{className:"text-sm text-muted-foreground mb-2",children:["Override per session with flags or"," ",e.jsx("code",{className:"px-1.5 py-0.5 rounded bg-muted",children:"CCS_THINKING"})," env var. Priority: flag > env > config."]}),e.jsxs("div",{className:"space-y-1 text-sm font-mono text-muted-foreground",children:[e.jsx("p",{children:"ccs gemini --thinking high"}),e.jsx("p",{children:"ccs codex --effort xhigh"}),e.jsx("p",{children:'CCS_THINKING=high ccs codex "debug this"'}),e.jsx("p",{children:"ccs config thinking --mode auto"})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(I,{variant:"outline",size:"sm",onClick:p,disabled:b||d,className:"w-full",children:[e.jsx($,{className:`w-4 h-4 mr-2 ${b?"animate-spin":""}`}),t("settings.refresh")]})})]})}export{fe as default};
|
|
1
|
+
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as o}from"./react-vendor-CNOkPC89.js";import{a as q,bi as J,bk as X,d as I,n as Y,L as A,r as R,s as M,t as K,v as B,w as E,I as F,aI as Q}from"./index-8bXW-BpK.js";import{R as $,w as Z,x as ee,ad as se,_ as te,s as re}from"./icons-DyorC3Xk.js";import"./tanstack-CrmUhA7Z.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const z={mode:"auto",tier_defaults:{opus:"high",sonnet:"medium",haiku:"low"},show_warnings:!0},U=1e4;function ie(){const[t,i]=o.useState(null),[b,d]=o.useState(!0),[_,N]=o.useState(!1),[p,g]=o.useState(null),[P,y]=o.useState(!1),f=o.useRef(void 0),w=o.useRef(!1),k=o.useCallback(async()=>{const r=new AbortController,c=setTimeout(()=>r.abort(),U);try{d(!0),g(null);const n=await fetch("/api/thinking",{signal:r.signal});if(clearTimeout(c),!n.ok)throw n.headers.get("content-type")?.includes("text/html")?new Error(`Server error (${n.status})`):new Error("Failed to load Thinking config");const m=await n.json();i(m.config||z),f.current=m.lastModified,w.current=!0}catch(n){clearTimeout(c),n.name==="AbortError"?g("Request timeout - please try again"):g(n.message)}finally{d(!1)}return()=>r.abort()},[]),l=o.useCallback(async r=>{if(!w.current||t===null){g("Cannot save settings before they load. Click Refresh and try again.");return}const c=t,n={...c,...r.mode!==void 0?{mode:r.mode}:{},...r.tier_defaults!==void 0?{tier_defaults:r.tier_defaults}:{},...r.show_warnings!==void 0?{show_warnings:r.show_warnings}:{}};r.clear_override||r.override===null?delete n.override:r.override!==void 0&&(n.override=r.override),r.clear_provider_overrides||r.provider_overrides===null?delete n.provider_overrides:r.provider_overrides!==void 0&&(n.provider_overrides=r.provider_overrides),i(n);const m=new AbortController,h=setTimeout(()=>m.abort(),U);try{N(!0),g(null);const x={...n,lastModified:f.current},u=await fetch("/api/thinking",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x),signal:m.signal});if(clearTimeout(h),!u.ok){if(u.headers.get("content-type")?.includes("text/html"))throw new Error(`Server error (${u.status})`);const s=await u.json();throw u.status===409?new Error("Config changed by another session. Refreshing..."):new Error(s.error||"Failed to save")}const v=await u.json();i(v.config),f.current=v.lastModified,y(!0),setTimeout(()=>y(!1),1500)}catch(x){clearTimeout(h),i(c),x.name==="AbortError"?g("Request timeout - please try again"):(g(x.message),x.message.includes("another session")&&setTimeout(()=>k(),1e3))}finally{N(!1)}},[t,k]),T=o.useCallback(r=>{l({mode:r})},[l]),C=o.useCallback((r,c)=>{const n=t?.tier_defaults||z.tier_defaults;l({tier_defaults:{...n,[r]:c}})},[t,l]),O=o.useCallback(r=>{l({show_warnings:r})},[l]),D=o.useCallback(r=>{if(r===void 0){l({override:null,clear_override:!0});return}l({override:r,clear_override:!1})},[l]),L=o.useCallback((r,c,n)=>{const m=t?.provider_overrides||{},h=m[r]||{};if(n===void 0){const{[c]:x,...u}=h,v=Object.keys(u).length>0?u:void 0,{[r]:S,...s}=m,a=v?{...s,[r]:v}:s;l({provider_overrides:Object.keys(a).length>0?a:null,clear_provider_overrides:Object.keys(a).length===0})}else l({provider_overrides:{...m,[r]:{...h,[c]:n}},clear_provider_overrides:!1})},[t,l]);return{config:t||z,loading:b,saving:_,error:p,success:P,fetchConfig:k,saveConfig:l,setMode:T,setTierDefault:C,setShowWarnings:O,setOverride:D,setProviderOverride:L}}const H=[{value:"minimal",label:"Minimal (512 tokens)"},{value:"low",label:"Low (1K tokens)"},{value:"medium",label:"Medium (8K tokens)"},{value:"high",label:"High (24K tokens)"},{value:"xhigh",label:"Extra High (32K tokens)"},{value:"max",label:"Max (adaptive ceiling)"},{value:"auto",label:"Auto (dynamic)"}],ne=[{value:"__none__",label:"None (use CLI flags only)"},...H,{value:"__custom__",label:"Custom budget (number)"},{value:"off",label:"Off (disable thinking)"}],ae=["agy","gemini","codex"],G=0,V=1e5;function fe(){const{t}=q(),{config:i,loading:b,saving:d,error:_,success:N,fetchConfig:p,setMode:g,setTierDefault:P,setShowWarnings:y,setOverride:f,setProviderOverride:w}=ie(),[k,l]=o.useState(null),[T,C]=o.useState(""),[O,D]=o.useState([]),[L,r]=o.useState(null),c=o.useMemo(()=>Array.from(new Set([...ae,...Object.keys(i.provider_overrides??{}),...O])),[O,i.provider_overrides]),n=i.override===void 0?"__none__":typeof i.override=="number"||/^\d+$/.test(String(i.override))?"__custom__":String(i.override),m=typeof i.override=="number"||/^\d+$/.test(String(i.override??""))?String(i.override):"",h=L??m,x=Object.keys(i.provider_overrides??{}).length>0,u=k??x;o.useEffect(()=>{p()},[p]);const v=()=>{const s=T.trim().toLowerCase();s&&(c.includes(s)||D(a=>[...a,s]),C(""),l(!0))},S=()=>{const s=h.trim();if(!s){f(void 0);return}const a=Number.parseInt(s,10);Number.isNaN(a)||a<G||a>V||!/^\d+$/.test(s)||f(a)};return b?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx($,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:t("settings.loading")})]})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${_||N?"opacity-100 translate-y-0":"opacity-0 -translate-y-2 pointer-events-none"}`,children:[_&&e.jsx(J,{variant:"destructive",className:"py-2 shadow-lg",children:e.jsxs("div",{className:"flex items-center justify-between w-full",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Z,{className:"h-4 w-4"}),e.jsx(X,{children:_})]}),e.jsxs(I,{variant:"outline",size:"sm",onClick:p,className:"h-7 px-2 text-xs border-destructive/50 hover:bg-destructive/10",children:[e.jsx($,{className:"w-3 h-3 mr-1"}),t("sharedPage.retry")]})]})}),N&&e.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded-md border border-green-200 bg-green-50 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(ee,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:t("settings.saved")})]})]}),e.jsx(Y,{className:"flex-1",children:e.jsxs("div",{className:"p-5 space-y-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{className:"w-5 h-5 text-primary"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.description")})]}),e.jsxs("div",{className:"flex items-start gap-2 p-3 rounded-lg bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800",children:[e.jsx(te,{className:"w-4 h-4 text-blue-600 dark:text-blue-400 shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm text-blue-700 dark:text-blue-300",children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.supportedProviders")}),e.jsxs("ul",{className:"mt-1 space-y-0.5 text-blue-600 dark:text-blue-400",children:[e.jsxs("li",{children:[t("settingsThinking.supportLine1Prefix")," ",e.jsx("strong",{children:"agy"}),","," ",e.jsx("strong",{children:"gemini"})," ",t("settingsThinking.supportLine1Suffix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine2Prefix")," ",e.jsx("strong",{children:"codex"})," ",t("settingsThinking.supportLine2SuffixPrefix"),e.jsx("code",{children:"--effort"}),t("settingsThinking.supportLine2SuffixPostfix")]}),e.jsxs("li",{children:[t("settingsThinking.supportLine3Prefix")," ",e.jsx("code",{children:"-high"}),t("settingsThinking.supportLine3Suffix")]})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.modeTitle")}),e.jsx("div",{className:"space-y-2",children:["auto","off","manual"].map(s=>e.jsxs("div",{className:`flex items-center justify-between p-4 rounded-lg cursor-pointer transition-colors ${i.mode===s?"bg-primary/10 border border-primary/30":"bg-muted/50 hover:bg-muted/80"} ${d?"opacity-70 pointer-events-none":""}`,onClick:()=>{d||g(s)},children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium capitalize",children:s}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:[s==="auto"&&t("settingsThinking.modeAutoDesc"),s==="off"&&t("settingsThinking.modeOffDesc"),s==="manual"&&t("settingsThinking.modeManualDesc")]})]}),e.jsx("div",{className:`w-4 h-4 rounded-full border-2 ${i.mode===s?"bg-primary border-primary":"border-muted-foreground/50"}`})]},s))})]}),i.mode==="auto"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.tierDefaults")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.tierDefaultsDesc")}),e.jsx("div",{className:"space-y-3",children:["opus","sonnet","haiku"].map(s=>e.jsxs("div",{className:"flex items-center gap-4 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"w-20 capitalize font-medium",children:s}),e.jsxs(R,{value:i.tier_defaults[s],onValueChange:a=>P(s,a),disabled:d,children:[e.jsx(M,{className:"flex-1",children:e.jsx(K,{})}),e.jsx(B,{children:H.map(a=>e.jsx(E,{value:a.value,children:a.label},a.value))})]})]},s))})]}),i.mode==="manual"&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("h3",{className:"text-base font-medium",children:t("settingsThinking.persistentOverride")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.persistentOverrideDesc")}),e.jsxs(R,{value:n,onValueChange:s=>{if(s==="__none__"){f(void 0);return}if(s==="__custom__"){h||r("8192");return}r(null),f(s)},disabled:d,children:[e.jsx(M,{children:e.jsx(K,{})}),e.jsx(B,{children:ne.map(s=>e.jsx(E,{value:s.value,children:s.label},s.value))})]}),n==="__custom__"&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{type:"number",min:G,max:V,value:h,onChange:s=>r(s.target.value),onBlur:S,disabled:d,placeholder:t("settingsThinking.enterCustomBudget")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:S,disabled:d,children:t("settingsThinking.apply")})]}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Range: ",G," to ",V]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("button",{type:"button",className:"flex items-center gap-2 text-base font-medium w-full text-left",onClick:()=>l(s=>!(s??x)),disabled:d,children:[e.jsx(re,{className:`w-4 h-4 transition-transform ${u?"rotate-0":"-rotate-90"}`}),t("settingsThinking.providerOverrides",{count:Object.keys(i.provider_overrides??{}).length})]}),u&&e.jsxs("div",{className:"space-y-3",children:[e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.providerOverridesDesc")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{value:T,onChange:s=>C(s.target.value),disabled:d,placeholder:t("settingsThinking.addProviderPlaceholder")}),e.jsx(I,{type:"button",size:"sm",variant:"outline",onClick:v,disabled:d,children:t("settingsGlobalEnv.add")})]}),c.map(s=>e.jsxs("div",{className:"space-y-2 p-3 rounded-lg bg-muted/30",children:[e.jsx(A,{className:"capitalize font-medium text-sm",children:s}),e.jsx("div",{className:"grid grid-cols-3 gap-2",children:["opus","sonnet","haiku"].map(a=>{const W=i.provider_overrides?.[s]?.[a]||"__default__";return e.jsxs("div",{className:"space-y-1",children:[e.jsx(A,{className:"text-xs text-muted-foreground capitalize",children:a}),e.jsxs(R,{value:W,onValueChange:j=>w(s,a,j==="__default__"?void 0:j),disabled:d,children:[e.jsx(M,{className:"h-8 text-xs",children:e.jsx(K,{})}),e.jsxs(B,{children:[e.jsx(E,{value:"__default__",children:t("cursorPage.default")}),H.map(j=>e.jsx(E,{value:j.value,children:j.label},j.value))]})]})]},a)})})]},s))]})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-muted/50",children:[e.jsxs("div",{children:[e.jsx("p",{className:"font-medium",children:t("settingsThinking.showWarnings")}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t("settingsThinking.showWarningsDesc")})]}),e.jsx(Q,{checked:i.show_warnings??!0,onCheckedChange:y,disabled:d})]}),e.jsxs("div",{className:"p-4 rounded-lg border bg-muted/30",children:[e.jsx("h4",{className:"text-sm font-medium mb-2",children:t("settingsThinking.cliEnvOverride")}),e.jsxs("p",{className:"text-sm text-muted-foreground mb-2",children:["Override per session with flags or"," ",e.jsx("code",{className:"px-1.5 py-0.5 rounded bg-muted",children:"CCS_THINKING"})," env var. Priority: flag > env > config."]}),e.jsxs("div",{className:"space-y-1 text-sm font-mono text-muted-foreground",children:[e.jsx("p",{children:"ccs gemini --thinking high"}),e.jsx("p",{children:"ccs codex --effort xhigh"}),e.jsx("p",{children:'CCS_THINKING=high ccs codex "debug this"'}),e.jsx("p",{children:"ccs config thinking --mode auto"})]})]})]})}),e.jsx("div",{className:"p-4 border-t bg-background",children:e.jsxs(I,{variant:"outline",size:"sm",onClick:p,disabled:b||d,className:"w-full",children:[e.jsx($,{className:`w-4 h-4 mr-2 ${b?"animate-spin":""}`}),t("settings.refresh")]})})]})}export{fe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as o}from"./react-vendor-CNOkPC89.js";import{a as Ne,bv as ke,Y as re,bi as se,bk as ne,d as C,n as we,B as m,c as g,aI as Se,I as q,r as ie,s as le,t as de,v as oe,w as z,W as l}from"./index-CEuKLsUj.js";import{R as G,w as ce,x as Ae,a8 as me,aC as Ce,A as Me,aa as Pe,at as Be,t as Re,s as _e,a9 as Ve,aL as Te}from"./icons-DyorC3Xk.js";import"./tanstack-CrmUhA7Z.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const M="__no_backend__";function ue(t){return!!t&&typeof t=="object"&&!Array.isArray(t)&&Object.values(t).every(r=>typeof r=="string")}function De(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const r=t;return!!r.config&&typeof r.config.enabled=="boolean"&&typeof r.config.timeout=="number"&&ue(r.config.providerModels)&&(r.config.fallbackBackend===null||typeof r.config.fallbackBackend=="string")&&ue(r.config.profileBackends)&&!!r.summary&&typeof r.summary.state=="string"&&typeof r.summary.title=="string"&&typeof r.summary.detail=="string"&&Array.isArray(r.backends)&&Array.isArray(r.profiles)&&!!r.catalog&&Array.isArray(r.catalog.knownBackends)&&Array.isArray(r.catalog.profileNames)&&typeof r.summary.nativeProfileCount=="number"}function Ie(t){return Object.entries(t).sort(([r],[s])=>r.localeCompare(s)).map(([r,s],x)=>({id:`${r}-${s}-${x}`,profileName:r,backendId:s}))}function Ee(t){switch(t){case"ready":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-900 dark:text-emerald-200";case"partial":return"border-amber-500/25 bg-amber-500/10 text-amber-900 dark:text-amber-200";case"needs_setup":return"border-rose-500/25 bg-rose-500/10 text-rose-900 dark:text-rose-200";case"disabled":return"border-border/80 bg-background/85 text-muted-foreground"}}function $e(t){switch(t){case"ready":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"starts_on_launch":return"border-sky-500/25 bg-sky-500/10 text-sky-800 dark:text-sky-200";case"needs_auth":return"border-rose-500/25 bg-rose-500/10 text-rose-800 dark:text-rose-200";case"needs_proxy":return"border-amber-500/25 bg-amber-500/10 text-amber-800 dark:text-amber-200";case"review":return"border-border/80 bg-background/85 text-muted-foreground"}}function ge(t){switch(t){case"active":return l.t("imageAnalysisStatus.badgeReady");case"bypassed":return l.t("imageAnalysisStatus.badgeBypassed");case"fallback":return l.t("imageAnalysisStatus.nativeFallback");case"setup":return l.t("imageAnalysisStatus.badgeSetup");case"disabled":return l.t("imageAnalysisStatus.badgeDisabled");case"native":return l.t("imageAnalysisStatus.badgeNative");case"unresolved":return l.t("imageAnalysisStatus.nativeImageReading")}}function xe(t){switch(t){case"active":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"bypassed":return"border-sky-500/25 bg-sky-500/10 text-sky-800 dark:text-sky-200";case"fallback":case"setup":return"border-amber-500/25 bg-amber-500/10 text-amber-800 dark:text-amber-200";case"native":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"disabled":case"unresolved":return"border-border/80 bg-background/85 text-muted-foreground"}}function Fe(t){switch(t){case"starts_on_launch":return l.t("imageAnalysisSection.backendStartsOnLaunch",{defaultValue:"Starts on launch"});case"needs_auth":return l.t("imageAnalysisStatus.needsAuth");case"needs_proxy":return l.t("imageAnalysisStatus.needsProxy");case"review":return l.t("imageAnalysisSection.review",{defaultValue:"Review"});case"ready":return l.t("imageAnalysisStatus.badgeReady")}}function Oe(t){if(!t)return l.t("imageAnalysisSection.noModelConfigured",{defaultValue:"No model configured."});switch(t.state){case"needs_auth":return t.authReason||l.t("imageAnalysisSection.authenticateToRoute",{defaultValue:"Authenticate to route here."});case"needs_proxy":return t.proxyReason||l.t("imageAnalysisSection.proxyUnavailable",{defaultValue:"Proxy unavailable."});case"starts_on_launch":return l.t("imageAnalysisSection.authReadyLaunchesLocally",{defaultValue:"Auth ready. Launches locally on demand."});case"review":return l.t("imageAnalysisSection.needsManualReview",{defaultValue:"Needs manual review."});case"ready":return null}}function ze(t){switch(t){case"profile-backend":return l.t("imageAnalysisSection.explicitMapping",{defaultValue:"Explicit mapping"});case"fallback-backend":return l.t("imageAnalysisSection.fallbackBackend",{defaultValue:"Fallback backend"});case"cliproxy-provider":return l.t("imageAnalysisSection.providerMatch",{defaultValue:"Provider match"});case"cliproxy-bridge":return l.t("imageAnalysisSection.bridgeMatch",{defaultValue:"Bridge match"});case"native-compatible":return l.t("imageAnalysisSection.nativePath",{defaultValue:"Native path"});case"copilot-alias":return l.t("imageAnalysisSection.copilotAlias",{defaultValue:"Copilot alias"});default:return t.replace(/-/g," ")}}function k(t){return"border-border/50 bg-background/40"}function Le(t){switch(t){case"ready":return"bg-[linear-gradient(90deg,rgba(16,185,129,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(16,185,129,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"starts_on_launch":return"bg-[linear-gradient(90deg,rgba(14,165,233,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(14,165,233,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"needs_auth":return"bg-[linear-gradient(90deg,rgba(244,63,94,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(244,63,94,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"needs_proxy":return"bg-[linear-gradient(90deg,rgba(245,158,11,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(245,158,11,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"review":default:return"bg-[linear-gradient(180deg,rgba(255,255,255,0.74),rgba(255,255,255,0.5))] dark:bg-[linear-gradient(180deg,rgba(15,23,42,0.8),rgba(15,23,42,0.58))]"}}function Ke(t){switch(t){case"ready":return"from-emerald-500 to-emerald-400/30";case"starts_on_launch":return"from-sky-500 to-sky-400/30";case"needs_auth":return"from-rose-500 to-rose-400/30";case"needs_proxy":return"from-amber-500 to-amber-400/30";case"review":default:return"from-slate-400 to-slate-300/20"}}function Ue(t,r){return r.nativeReadPreference?t%2===0?"bg-emerald-500/[0.06]":"bg-emerald-500/[0.08]":t%2===0?"bg-background/75":"bg-muted/18"}function He(t){const r=[`${t.activeProfileCount} routed`,`${t.nativeProfileCount} native`];return t.mappedProfileCount>0&&r.push(`${t.mappedProfileCount} override${t.mappedProfileCount===1?"":"s"}`),r.join(" · ")}function Je(t){return Object.entries(t).reduce((r,[s,x])=>{const h=x.trim();return r[s]=h||null,r},{})}function W(t){return Object.entries(t).filter(([,r])=>r.trim().length>0).map(([r])=>r)}function qe(t){return t.reduce((r,s)=>{const x=s.profileName.trim();return!x||!s.backendId||(r[x]=s.backendId),r},{})}function pe(t,r){const s=Number.parseInt(t.trim(),10);return Number.isInteger(s)?String(Math.min(600,Math.max(10,s))):r}function T({title:t,description:r,icon:s,meta:x,action:h,children:D,className:c}){return e.jsxs("div",{className:g("relative overflow-hidden rounded-2xl border bg-gradient-to-br from-background via-background to-muted/25 p-4 shadow-sm",c),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-primary/40 via-primary/10 to-transparent"}),e.jsxs("div",{className:"relative space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-primary/20 bg-primary/10 text-primary",children:s}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h3",{className:"text-base font-semibold tracking-tight",children:t}),x]}),e.jsx("p",{className:"mt-0.5 text-sm leading-5 text-muted-foreground",children:r})]})]}),h&&e.jsx("div",{className:"shrink-0",children:h})]}),e.jsx("div",{className:"space-y-3",children:D})]})]})}function ra(){const{t}=Ne(),{fetchRawConfig:r}=ke(),[s,x]=o.useState(null),[h,D]=o.useState(!0),[c,Y]=o.useState(!1),[I,N]=o.useState(null),[P,L]=o.useState(null),[E,Q]=o.useState(!1),[B,X]=o.useState(!0),[K,U]=o.useState("60"),[v,R]=o.useState(""),[w,$]=o.useState({}),[p,F]=o.useState([]),S=o.useCallback(a=>{X(a.config.enabled),U(String(a.config.timeout)),R(a.config.fallbackBackend??""),$(a.catalog.knownBackends.reduce((n,i)=>(n[i]=a.config.providerModels[i]??"",n),{})),F(Ie(a.config.profileBackends))},[]),H=o.useCallback(async()=>{try{D(!0),N(null);const a=await re.imageAnalysis.get();if(!De(a))throw new Error("Image settings returned an unexpected response. Restart the dashboard server so the new API route is available.");x(a),S(a)}catch(a){N(a instanceof Error?a.message:"Failed to load image settings.")}finally{D(!1)}},[S]);o.useEffect(()=>{H(),r()},[H,r]),o.useEffect(()=>{if(!P)return;const a=window.setTimeout(()=>L(null),2500);return()=>window.clearTimeout(a)},[P]),o.useEffect(()=>{s&&Object.keys(s.config.profileBackends).length>0&&Q(!0)},[s]);const u=o.useMemo(()=>W(w),[w]),Z=o.useMemo(()=>{if(!s)return[];const a=s.catalog.knownBackends.filter(i=>u.includes(i)),n=s.catalog.knownBackends.filter(i=>!u.includes(i));return[...a,...n]},[u,s]),O=o.useMemo(()=>s?.profiles.filter(a=>a.nativeReadPreference)??[],[s]);o.useEffect(()=>{if(u.length===0){R("");return}u.includes(v)||R(u[0])},[u,v]);const _=o.useCallback(async a=>{if(!s)return!1;const n=a?.enabled??B,i=a?.providerModels??w,d=W(i),b=pe(a?.timeout??K,String(s.config.timeout)),y=a?.fallbackBackend??v,A=d.length===0?"":d.includes(y)?y:d[0],f=a?.mappingDrafts??p,V={enabled:n,timeout:b,fallbackBackend:A,providerModels:Je(i),profileBackends:qe(f)},je={enabled:s.config.enabled,timeout:String(s.config.timeout),fallbackBackend:s.config.fallbackBackend??"",providerModels:s.catalog.knownBackends.reduce((j,te)=>(j[te]=s.config.providerModels[te]??null,j),{}),profileBackends:s.config.profileBackends};if(JSON.stringify(V)===JSON.stringify(je))return!0;if(n&&d.length===0)return N("Keep at least one provider model configured, or disable Image globally."),S(s),!1;try{Y(!0),N(null);const j=await re.imageAnalysis.update({enabled:n,timeout:Number.parseInt(b,10),fallbackBackend:A||null,providerModels:V.providerModels,profileBackends:V.profileBackends});return x(j),S(j),L(t("commonToast.settingsSaved")),await r(),!0}catch(j){return N(j instanceof Error?j.message:"Failed to save image settings."),S(s),!1}finally{Y(!1)}},[s,B,v,r,S,p,w,t,K]),ee=async()=>{h||c||(L(null),await Promise.all([H(),r()]))},be=async a=>{if(!c){if(a&&u.length===0){N("Keep at least one provider model configured, or disable Image globally.");return}X(a),await _({enabled:a})}},fe=async a=>{if(!s||c)return;const n=pe(a,String(s.config.timeout));U(n),await _({timeout:n})},he=async a=>{c||(R(a),await _({fallbackBackend:a}))},ae=async(a,n)=>{if(!s||c)return;const i=n.trim(),d={...w,[a]:i},b=W(d);if(B&&b.length===0){N("Disable Image first or keep one backend configured."),$(A=>({...A,[a]:s.config.providerModels[a]??""}));return}const y=b.length===0?"":b.includes(v)?v:b[0];$(d),R(y),await _({providerModels:d,fallbackBackend:y})},ve=(a,n)=>{F(i=>i.map(d=>d.id===a?{...d,...n}:d))},J=async a=>{c||(F(a),await _({mappingDrafts:a}))},ye=p.filter(a=>a.profileName.trim()&&a.backendId).length;return h?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(G,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:t("settingsPage.imageAnalysisSection.loading")})]})}):s?e.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col",children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${I||P?"translate-y-0 opacity-100":"pointer-events-none -translate-y-2 opacity-0"}`,children:[I&&e.jsxs(se,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsx(ne,{children:I})]}),P&&e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 px-3 py-2 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(Ae,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:P})]})]}),e.jsx(we,{className:"min-h-0 flex-1",children:e.jsxs("div",{className:"space-y-6 p-5",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border bg-gradient-to-br from-background via-background to-muted/30 p-4 shadow-sm",children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-primary/70 via-primary/20 to-transparent"}),e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.035]",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent, transparent 2px, currentColor 2px, currentColor 3px)"}}),e.jsxs("div",{className:"relative",children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"inline-flex h-8 w-8 items-center justify-center rounded-xl border border-primary/20 bg-primary/8 text-primary",children:e.jsx(me,{className:"h-4 w-4"})}),e.jsx("p",{className:"text-sm font-semibold tracking-tight",children:t("settingsPage.imageAnalysisSection.title")})]}),e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(m,{className:g("border",Ee(s.summary.state)),children:s.summary.title}),e.jsx("span",{children:He(s.summary)})]})]}),e.jsx(C,{variant:"ghost",size:"sm",onClick:ee,disabled:h||c,"aria-label":"Refresh",title:"Refresh",children:e.jsx(G,{className:`h-4 w-4 ${h?"animate-spin":""}`})})]}),e.jsxs("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-[18px] border bg-background/72 px-3 py-2.5 backdrop-blur-sm",children:[e.jsx("div",{className:"text-[10px] font-medium uppercase tracking-[0.14em] text-muted-foreground",children:"Active routes"}),e.jsx("div",{className:"mt-1.5 text-xl font-semibold text-foreground",children:s.summary.activeProfileCount}),e.jsx("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Current target path"})]}),e.jsxs("div",{className:"rounded-[18px] border bg-background/72 px-3 py-2.5 backdrop-blur-sm",children:[e.jsx("div",{className:"text-[10px] font-medium uppercase tracking-[0.14em] text-muted-foreground",children:"Native path"}),e.jsx("div",{className:"mt-1.5 text-xl font-semibold text-foreground",children:s.summary.nativeProfileCount}),e.jsx("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Skip transformer"})]})]})]})]}),e.jsxs(T,{tone:"amber",eyebrow:"Control deck",title:"Core setup",description:t("settingsPage.imageAnalysisSection.description"),icon:e.jsx(Ce,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",className:"border-amber-500/25 bg-amber-500/10 text-[10px]",children:[u.length," configured"]}),children:[e.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Enabled"}),e.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-sm font-semibold text-foreground",children:B?"Transformer on":"Transformer off"}),e.jsx("p",{className:"text-[11px] leading-4 text-muted-foreground",children:"Profile flags stay untouched."})]}),e.jsx(Se,{checked:B,onCheckedChange:a=>{be(a)},disabled:c})]})]}),e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Timeout"}),e.jsxs("div",{className:"mt-2.5 flex items-center gap-2",children:[e.jsx(q,{value:K,onChange:a=>U(a.target.value),inputMode:"numeric",className:"h-10 border-amber-500/15 bg-background/90 text-base",disabled:c,onBlur:a=>{fe(a.currentTarget.value)},onKeyDown:a=>{a.key==="Enter"&&a.currentTarget.blur()}}),e.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"sec"})]}),e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:"Keeps large reads from hanging."})]}),e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Fallback backend"}),e.jsx("div",{className:"mt-2.5",children:e.jsxs(ie,{value:v||M,onValueChange:a=>{he(a===M?"":a)},disabled:c,children:[e.jsx(le,{className:"h-10 border-amber-500/15 bg-background/90",children:e.jsx(de,{placeholder:t("settingsPage.thinkingSection.configureModelFirst")})}),e.jsx(oe,{children:u.length===0?e.jsx(z,{value:M,children:t("settingsPage.thinkingSection.configureModelFirst")}):u.map(a=>e.jsx(z,{value:a,children:a},a))})]})}),e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:"Used when no direct route exists."})]})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[ye," overrides"]}),e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[O.length," native"]}),e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[v||"No fallback"," fallback"]})]})]}),e.jsx(T,{tone:"cyan",eyebrow:"Route inventory",title:"Backend routes",description:"Model entry plus route health.",icon:e.jsx(Me,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",className:"border-cyan-500/25 bg-cyan-500/10 text-[10px]",children:[Z.length," backends"]}),children:e.jsx("div",{className:"overflow-hidden rounded-[20px] border border-cyan-500/12 bg-background/65 shadow-sm backdrop-blur-sm",children:Z.map((a,n)=>{const i=s.backends.find(f=>f.backendId===a),d=i?.displayName||a,b=w[a]??"",y=Oe(i),A=b?[`${i?.profilesUsing??0} active`,i?.authReadiness==="missing"?"auth missing":i?.proxyReadiness==="stopped"?"starts on launch":null].filter(Boolean).join(" · "):"No model configured.";return e.jsxs("div",{className:g("relative px-3 py-3 md:px-4",n>0&&"border-t border-cyan-500/10",Le(i?.state)),children:[e.jsx("div",{className:g("absolute bottom-3 left-0 top-3 w-1 rounded-r-full bg-gradient-to-b",Ke(i?.state))}),e.jsxs("div",{className:"pl-2.5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h4",{className:"text-sm font-semibold text-foreground",children:d}),e.jsx(m,{variant:"outline",className:"font-mono text-[10px]",children:a}),i?.profilesUsing?e.jsxs(m,{variant:"outline",className:"border-cyan-500/20 bg-cyan-500/10 text-[10px]",children:[i.profilesUsing," active"]}):null]}),e.jsx("p",{className:"mt-0.5 text-[11px] leading-4 text-muted-foreground",children:A})]}),e.jsx(m,{className:g("border",i?$e(i.state):"border-border/80 bg-background/85 text-muted-foreground"),children:i?Fe(i.state):"Inactive"})]}),e.jsxs("div",{className:"mt-2 flex flex-col gap-2 sm:flex-row",children:[e.jsx(q,{className:"h-10 flex-1 border-cyan-500/15 bg-background/88 text-base",placeholder:t("imageAnalysisSection.setModel",{defaultValue:"Set model"}),value:b,disabled:c,onChange:f=>$(V=>({...V,[a]:f.target.value})),onBlur:f=>{ae(a,f.currentTarget.value)},onKeyDown:f=>{f.key==="Enter"&&f.currentTarget.blur()}}),b.trim().length>0&&e.jsx(C,{type:"button",variant:"outline",size:"sm",className:"h-10 sm:self-stretch",disabled:c,onClick:()=>{ae(a,"")},children:t("common.clear",{defaultValue:"Clear"})})]}),y&&e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:y})]})]},a)})})}),e.jsx(T,{tone:"emerald",eyebrow:"Native path",title:"Native reading",description:"Profiles that skip the transformer.",icon:e.jsx(Pe,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",children:[O.length," profiles"]}),children:O.length===0?e.jsx("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3.5 text-sm text-muted-foreground",k()),children:t("imageAnalysisSection.noProfilesPreferNative",{defaultValue:"No profiles prefer native reading yet."})}):e.jsx("div",{className:"grid gap-2 md:grid-cols-2",children:O.map(a=>e.jsx("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("div",{className:"truncate text-sm font-semibold text-foreground",children:a.name}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.kind==="variant"?t("cliproxyPage.variant"):t("apiProfiles.title")}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.nativeImageCapable?t("imageAnalysisStatus.capabilityVerified"):t("imageAnalysisSection.review",{defaultValue:"Review"})})]}),e.jsxs("div",{className:"mt-1 text-[11px] leading-4 text-muted-foreground",children:[a.profileModel||t("imageAnalysisSection.modelNotDetected",{defaultValue:"Model not detected"})," ","·"," ",a.nativeImageReason||t("imageAnalysisSection.nativeReadPreferred",{defaultValue:"Native read preferred."})]})]}),e.jsx(m,{className:g("border",xe(a.currentTargetMode)),children:ge(a.currentTargetMode)})]})},`native-${a.kind}-${a.name}`))})}),e.jsxs(T,{tone:"slate",eyebrow:"Override lab",title:"Profile routing",description:"Only for explicit route overrides.",icon:e.jsx(Te,{className:"h-4 w-4"}),meta:e.jsx(m,{variant:"outline",className:"border-amber-500/25 bg-amber-500/10 text-[10px] text-amber-800 dark:text-amber-200",children:"Advanced"}),action:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:()=>Q(a=>!a),children:[E?e.jsx(Re,{className:"mr-1 h-4 w-4"}):e.jsx(_e,{className:"mr-1 h-4 w-4"}),E?t("common.hide",{defaultValue:"Hide"}):t("common.show",{defaultValue:"Show"})]}),E&&e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:()=>F(a=>[...a,{id:`mapping-${Date.now()}`,profileName:"",backendId:u[0]??""}]),disabled:u.length===0||c,children:[e.jsx(Ve,{className:"mr-1 h-4 w-4"}),t("imageAnalysisSection.addMapping",{defaultValue:"Add mapping"})]})]}),className:"border-dashed",children:[e.jsx("datalist",{id:"image-profile-suggestions",children:s.catalog.profileNames.map(a=>e.jsx("option",{value:a},a))}),E?e.jsx("div",{className:"space-y-2",children:p.length===0?e.jsx("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3.5 text-sm text-muted-foreground",k()),children:"No explicit overrides saved."}):e.jsx("div",{className:"space-y-2",children:p.map(a=>e.jsxs("div",{className:"rounded-[18px] border border-slate-400/20 bg-[linear-gradient(180deg,rgba(255,255,255,0.72),rgba(248,250,252,0.52))] p-3 shadow-sm dark:bg-[linear-gradient(180deg,rgba(15,23,42,0.84),rgba(15,23,42,0.56))]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] leading-4 text-muted-foreground",children:[e.jsx("span",{children:t("imageAnalysisSection.directOverride",{defaultValue:"Direct override"})}),!(a.profileName.trim()&&a.backendId)&&e.jsx(m,{variant:"outline",className:"text-[10px]",children:"Draft"})]}),e.jsxs(C,{type:"button",variant:"ghost",size:"sm",disabled:c,onClick:()=>{const n=p.filter(i=>i.id!==a.id);J(n)},children:[e.jsx(Be,{className:"mr-1 h-4 w-4"}),t("common.remove",{defaultValue:"Remove"})]})]}),e.jsxs("div",{className:"mt-2 grid gap-2 sm:grid-cols-2",children:[e.jsx(q,{value:a.profileName,list:"image-profile-suggestions",disabled:c,placeholder:t("imageAnalysisSection.profileOrVariantName",{defaultValue:"Profile or variant name"}),className:"h-10 border-slate-400/15 bg-background/88 text-base",onChange:n=>{ve(a.id,{profileName:n.target.value})},onBlur:n=>{const i=p.map(d=>d.id===a.id?{...d,profileName:n.currentTarget.value.trim()}:d);J(i)},onKeyDown:n=>{n.key==="Enter"&&n.currentTarget.blur()}}),e.jsxs(ie,{value:a.backendId||M,disabled:c,onValueChange:n=>{const i=p.map(d=>d.id===a.id?{...d,backendId:n===M?"":n}:d);J(i)},children:[e.jsx(le,{className:"h-10 border-slate-400/15 bg-background/88",children:e.jsx(de,{placeholder:t("settingsPage.thinkingSection.configureModelFirst")})}),e.jsx(oe,{children:u.length===0?e.jsx(z,{value:M,children:t("settingsPage.thinkingSection.configureModelFirst")}):u.map(n=>e.jsx(z,{value:n,children:n},n))})]})]})]},a.id))})}):e.jsxs("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3 text-sm text-muted-foreground",k()),children:["Hidden by default.",p.length>0?` ${p.length} override${p.length===1?"":"s"} saved.`:" No overrides saved."]})]}),e.jsx(T,{tone:"slate",eyebrow:"Audit view",title:"Coverage",description:"Read-only routing ledger for the current path.",icon:e.jsx(me,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",children:[s.profiles.length," profiles"]}),children:e.jsx("div",{className:"overflow-hidden rounded-[20px] border border-slate-400/15 bg-background/75 shadow-sm backdrop-blur-sm",children:s.profiles.map((a,n)=>e.jsxs("div",{className:g("grid gap-2 px-3.5 py-2.5 md:grid-cols-[minmax(0,1fr)_auto] md:items-center",n>0&&"border-t border-slate-400/12",Ue(n,a)),children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("div",{className:"truncate text-sm font-semibold text-foreground",children:a.name}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.kind==="variant"?t("cliproxyPage.variant"):t("apiProfiles.title")}),e.jsx(m,{variant:"outline",className:"font-mono text-[10px] uppercase",children:a.target}),a.nativeReadPreference&&e.jsx(m,{variant:"outline",className:"border-emerald-500/20 bg-emerald-500/10 text-[10px]",children:"Native"})]}),e.jsxs("div",{className:"mt-0.5 text-[11px] leading-4 text-muted-foreground",children:[a.backendDisplayName||a.profileModel||"Native file access"," ·"," ",ze(a.resolutionSource)]})]}),e.jsxs("div",{className:"flex items-center gap-2 md:justify-end",children:[a.profileModel&&e.jsx(m,{variant:"outline",className:"font-mono text-[10px]",children:a.profileModel}),e.jsx(m,{className:g("border",xe(a.currentTargetMode)),children:ge(a.currentTargetMode)})]})]},`${a.kind}-${a.name}`))})})]})})]}):e.jsxs("div",{className:"p-5",children:[e.jsxs(se,{variant:"destructive",children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsx(ne,{children:I??t("settingsPage.imageAnalysisSection.description")})]}),e.jsx("div",{className:"mt-4",children:e.jsxs(C,{variant:"outline",size:"sm",onClick:ee,children:[e.jsx(G,{className:"mr-1 h-4 w-4"}),t("sharedPage.retry")]})})]})}export{ra as default};
|
|
1
|
+
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as o}from"./react-vendor-CNOkPC89.js";import{a as Ne,bv as ke,Y as re,bi as se,bk as ne,d as C,n as we,B as m,c as g,aI as Se,I as q,r as ie,s as le,t as de,v as oe,w as z,W as l}from"./index-8bXW-BpK.js";import{R as G,w as ce,x as Ae,a8 as me,aC as Ce,A as Me,aa as Pe,at as Be,t as Re,s as _e,a9 as Ve,aL as Te}from"./icons-DyorC3Xk.js";import"./tanstack-CrmUhA7Z.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";const M="__no_backend__";function ue(t){return!!t&&typeof t=="object"&&!Array.isArray(t)&&Object.values(t).every(r=>typeof r=="string")}function De(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const r=t;return!!r.config&&typeof r.config.enabled=="boolean"&&typeof r.config.timeout=="number"&&ue(r.config.providerModels)&&(r.config.fallbackBackend===null||typeof r.config.fallbackBackend=="string")&&ue(r.config.profileBackends)&&!!r.summary&&typeof r.summary.state=="string"&&typeof r.summary.title=="string"&&typeof r.summary.detail=="string"&&Array.isArray(r.backends)&&Array.isArray(r.profiles)&&!!r.catalog&&Array.isArray(r.catalog.knownBackends)&&Array.isArray(r.catalog.profileNames)&&typeof r.summary.nativeProfileCount=="number"}function Ie(t){return Object.entries(t).sort(([r],[s])=>r.localeCompare(s)).map(([r,s],x)=>({id:`${r}-${s}-${x}`,profileName:r,backendId:s}))}function Ee(t){switch(t){case"ready":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-900 dark:text-emerald-200";case"partial":return"border-amber-500/25 bg-amber-500/10 text-amber-900 dark:text-amber-200";case"needs_setup":return"border-rose-500/25 bg-rose-500/10 text-rose-900 dark:text-rose-200";case"disabled":return"border-border/80 bg-background/85 text-muted-foreground"}}function $e(t){switch(t){case"ready":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"starts_on_launch":return"border-sky-500/25 bg-sky-500/10 text-sky-800 dark:text-sky-200";case"needs_auth":return"border-rose-500/25 bg-rose-500/10 text-rose-800 dark:text-rose-200";case"needs_proxy":return"border-amber-500/25 bg-amber-500/10 text-amber-800 dark:text-amber-200";case"review":return"border-border/80 bg-background/85 text-muted-foreground"}}function ge(t){switch(t){case"active":return l.t("imageAnalysisStatus.badgeReady");case"bypassed":return l.t("imageAnalysisStatus.badgeBypassed");case"fallback":return l.t("imageAnalysisStatus.nativeFallback");case"setup":return l.t("imageAnalysisStatus.badgeSetup");case"disabled":return l.t("imageAnalysisStatus.badgeDisabled");case"native":return l.t("imageAnalysisStatus.badgeNative");case"unresolved":return l.t("imageAnalysisStatus.nativeImageReading")}}function xe(t){switch(t){case"active":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"bypassed":return"border-sky-500/25 bg-sky-500/10 text-sky-800 dark:text-sky-200";case"fallback":case"setup":return"border-amber-500/25 bg-amber-500/10 text-amber-800 dark:text-amber-200";case"native":return"border-emerald-500/25 bg-emerald-500/10 text-emerald-800 dark:text-emerald-200";case"disabled":case"unresolved":return"border-border/80 bg-background/85 text-muted-foreground"}}function Fe(t){switch(t){case"starts_on_launch":return l.t("imageAnalysisSection.backendStartsOnLaunch",{defaultValue:"Starts on launch"});case"needs_auth":return l.t("imageAnalysisStatus.needsAuth");case"needs_proxy":return l.t("imageAnalysisStatus.needsProxy");case"review":return l.t("imageAnalysisSection.review",{defaultValue:"Review"});case"ready":return l.t("imageAnalysisStatus.badgeReady")}}function Oe(t){if(!t)return l.t("imageAnalysisSection.noModelConfigured",{defaultValue:"No model configured."});switch(t.state){case"needs_auth":return t.authReason||l.t("imageAnalysisSection.authenticateToRoute",{defaultValue:"Authenticate to route here."});case"needs_proxy":return t.proxyReason||l.t("imageAnalysisSection.proxyUnavailable",{defaultValue:"Proxy unavailable."});case"starts_on_launch":return l.t("imageAnalysisSection.authReadyLaunchesLocally",{defaultValue:"Auth ready. Launches locally on demand."});case"review":return l.t("imageAnalysisSection.needsManualReview",{defaultValue:"Needs manual review."});case"ready":return null}}function ze(t){switch(t){case"profile-backend":return l.t("imageAnalysisSection.explicitMapping",{defaultValue:"Explicit mapping"});case"fallback-backend":return l.t("imageAnalysisSection.fallbackBackend",{defaultValue:"Fallback backend"});case"cliproxy-provider":return l.t("imageAnalysisSection.providerMatch",{defaultValue:"Provider match"});case"cliproxy-bridge":return l.t("imageAnalysisSection.bridgeMatch",{defaultValue:"Bridge match"});case"native-compatible":return l.t("imageAnalysisSection.nativePath",{defaultValue:"Native path"});case"copilot-alias":return l.t("imageAnalysisSection.copilotAlias",{defaultValue:"Copilot alias"});default:return t.replace(/-/g," ")}}function k(t){return"border-border/50 bg-background/40"}function Le(t){switch(t){case"ready":return"bg-[linear-gradient(90deg,rgba(16,185,129,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(16,185,129,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"starts_on_launch":return"bg-[linear-gradient(90deg,rgba(14,165,233,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(14,165,233,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"needs_auth":return"bg-[linear-gradient(90deg,rgba(244,63,94,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(244,63,94,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"needs_proxy":return"bg-[linear-gradient(90deg,rgba(245,158,11,0.08),transparent_18%),linear-gradient(180deg,rgba(255,255,255,0.72),rgba(255,255,255,0.46))] dark:bg-[linear-gradient(90deg,rgba(245,158,11,0.12),transparent_18%),linear-gradient(180deg,rgba(15,23,42,0.82),rgba(15,23,42,0.56))]";case"review":default:return"bg-[linear-gradient(180deg,rgba(255,255,255,0.74),rgba(255,255,255,0.5))] dark:bg-[linear-gradient(180deg,rgba(15,23,42,0.8),rgba(15,23,42,0.58))]"}}function Ke(t){switch(t){case"ready":return"from-emerald-500 to-emerald-400/30";case"starts_on_launch":return"from-sky-500 to-sky-400/30";case"needs_auth":return"from-rose-500 to-rose-400/30";case"needs_proxy":return"from-amber-500 to-amber-400/30";case"review":default:return"from-slate-400 to-slate-300/20"}}function Ue(t,r){return r.nativeReadPreference?t%2===0?"bg-emerald-500/[0.06]":"bg-emerald-500/[0.08]":t%2===0?"bg-background/75":"bg-muted/18"}function He(t){const r=[`${t.activeProfileCount} routed`,`${t.nativeProfileCount} native`];return t.mappedProfileCount>0&&r.push(`${t.mappedProfileCount} override${t.mappedProfileCount===1?"":"s"}`),r.join(" · ")}function Je(t){return Object.entries(t).reduce((r,[s,x])=>{const h=x.trim();return r[s]=h||null,r},{})}function W(t){return Object.entries(t).filter(([,r])=>r.trim().length>0).map(([r])=>r)}function qe(t){return t.reduce((r,s)=>{const x=s.profileName.trim();return!x||!s.backendId||(r[x]=s.backendId),r},{})}function pe(t,r){const s=Number.parseInt(t.trim(),10);return Number.isInteger(s)?String(Math.min(600,Math.max(10,s))):r}function T({title:t,description:r,icon:s,meta:x,action:h,children:D,className:c}){return e.jsxs("div",{className:g("relative overflow-hidden rounded-2xl border bg-gradient-to-br from-background via-background to-muted/25 p-4 shadow-sm",c),children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-primary/40 via-primary/10 to-transparent"}),e.jsxs("div",{className:"relative space-y-4",children:[e.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-start md:justify-between",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-xl border border-primary/20 bg-primary/10 text-primary",children:s}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h3",{className:"text-base font-semibold tracking-tight",children:t}),x]}),e.jsx("p",{className:"mt-0.5 text-sm leading-5 text-muted-foreground",children:r})]})]}),h&&e.jsx("div",{className:"shrink-0",children:h})]}),e.jsx("div",{className:"space-y-3",children:D})]})]})}function ra(){const{t}=Ne(),{fetchRawConfig:r}=ke(),[s,x]=o.useState(null),[h,D]=o.useState(!0),[c,Y]=o.useState(!1),[I,N]=o.useState(null),[P,L]=o.useState(null),[E,Q]=o.useState(!1),[B,X]=o.useState(!0),[K,U]=o.useState("60"),[v,R]=o.useState(""),[w,$]=o.useState({}),[p,F]=o.useState([]),S=o.useCallback(a=>{X(a.config.enabled),U(String(a.config.timeout)),R(a.config.fallbackBackend??""),$(a.catalog.knownBackends.reduce((n,i)=>(n[i]=a.config.providerModels[i]??"",n),{})),F(Ie(a.config.profileBackends))},[]),H=o.useCallback(async()=>{try{D(!0),N(null);const a=await re.imageAnalysis.get();if(!De(a))throw new Error("Image settings returned an unexpected response. Restart the dashboard server so the new API route is available.");x(a),S(a)}catch(a){N(a instanceof Error?a.message:"Failed to load image settings.")}finally{D(!1)}},[S]);o.useEffect(()=>{H(),r()},[H,r]),o.useEffect(()=>{if(!P)return;const a=window.setTimeout(()=>L(null),2500);return()=>window.clearTimeout(a)},[P]),o.useEffect(()=>{s&&Object.keys(s.config.profileBackends).length>0&&Q(!0)},[s]);const u=o.useMemo(()=>W(w),[w]),Z=o.useMemo(()=>{if(!s)return[];const a=s.catalog.knownBackends.filter(i=>u.includes(i)),n=s.catalog.knownBackends.filter(i=>!u.includes(i));return[...a,...n]},[u,s]),O=o.useMemo(()=>s?.profiles.filter(a=>a.nativeReadPreference)??[],[s]);o.useEffect(()=>{if(u.length===0){R("");return}u.includes(v)||R(u[0])},[u,v]);const _=o.useCallback(async a=>{if(!s)return!1;const n=a?.enabled??B,i=a?.providerModels??w,d=W(i),b=pe(a?.timeout??K,String(s.config.timeout)),y=a?.fallbackBackend??v,A=d.length===0?"":d.includes(y)?y:d[0],f=a?.mappingDrafts??p,V={enabled:n,timeout:b,fallbackBackend:A,providerModels:Je(i),profileBackends:qe(f)},je={enabled:s.config.enabled,timeout:String(s.config.timeout),fallbackBackend:s.config.fallbackBackend??"",providerModels:s.catalog.knownBackends.reduce((j,te)=>(j[te]=s.config.providerModels[te]??null,j),{}),profileBackends:s.config.profileBackends};if(JSON.stringify(V)===JSON.stringify(je))return!0;if(n&&d.length===0)return N("Keep at least one provider model configured, or disable Image globally."),S(s),!1;try{Y(!0),N(null);const j=await re.imageAnalysis.update({enabled:n,timeout:Number.parseInt(b,10),fallbackBackend:A||null,providerModels:V.providerModels,profileBackends:V.profileBackends});return x(j),S(j),L(t("commonToast.settingsSaved")),await r(),!0}catch(j){return N(j instanceof Error?j.message:"Failed to save image settings."),S(s),!1}finally{Y(!1)}},[s,B,v,r,S,p,w,t,K]),ee=async()=>{h||c||(L(null),await Promise.all([H(),r()]))},be=async a=>{if(!c){if(a&&u.length===0){N("Keep at least one provider model configured, or disable Image globally.");return}X(a),await _({enabled:a})}},fe=async a=>{if(!s||c)return;const n=pe(a,String(s.config.timeout));U(n),await _({timeout:n})},he=async a=>{c||(R(a),await _({fallbackBackend:a}))},ae=async(a,n)=>{if(!s||c)return;const i=n.trim(),d={...w,[a]:i},b=W(d);if(B&&b.length===0){N("Disable Image first or keep one backend configured."),$(A=>({...A,[a]:s.config.providerModels[a]??""}));return}const y=b.length===0?"":b.includes(v)?v:b[0];$(d),R(y),await _({providerModels:d,fallbackBackend:y})},ve=(a,n)=>{F(i=>i.map(d=>d.id===a?{...d,...n}:d))},J=async a=>{c||(F(a),await _({mappingDrafts:a}))},ye=p.filter(a=>a.profileName.trim()&&a.backendId).length;return h?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"flex items-center gap-3 text-muted-foreground",children:[e.jsx(G,{className:"w-5 h-5 animate-spin"}),e.jsx("span",{children:t("settingsPage.imageAnalysisSection.loading")})]})}):s?e.jsxs("div",{className:"relative flex min-h-0 flex-1 flex-col",children:[e.jsxs("div",{className:`absolute left-5 right-5 top-20 z-10 transition-all duration-200 ease-out ${I||P?"translate-y-0 opacity-100":"pointer-events-none -translate-y-2 opacity-0"}`,children:[I&&e.jsxs(se,{variant:"destructive",className:"py-2 shadow-lg",children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsx(ne,{children:I})]}),P&&e.jsxs("div",{className:"flex items-center gap-2 rounded-md border border-green-200 bg-green-50 px-3 py-2 text-green-700 shadow-lg dark:border-green-900/50 dark:bg-green-900/90 dark:text-green-300",children:[e.jsx(Ae,{className:"h-4 w-4 shrink-0"}),e.jsx("span",{className:"text-sm font-medium",children:P})]})]}),e.jsx(we,{className:"min-h-0 flex-1",children:e.jsxs("div",{className:"space-y-6 p-5",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border bg-gradient-to-br from-background via-background to-muted/30 p-4 shadow-sm",children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-primary/70 via-primary/20 to-transparent"}),e.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-[0.035]",style:{backgroundImage:"repeating-linear-gradient(0deg, transparent, transparent 2px, currentColor 2px, currentColor 3px)"}}),e.jsxs("div",{className:"relative",children:[e.jsxs("div",{className:"mb-3 flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"inline-flex h-8 w-8 items-center justify-center rounded-xl border border-primary/20 bg-primary/8 text-primary",children:e.jsx(me,{className:"h-4 w-4"})}),e.jsx("p",{className:"text-sm font-semibold tracking-tight",children:t("settingsPage.imageAnalysisSection.title")})]}),e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(m,{className:g("border",Ee(s.summary.state)),children:s.summary.title}),e.jsx("span",{children:He(s.summary)})]})]}),e.jsx(C,{variant:"ghost",size:"sm",onClick:ee,disabled:h||c,"aria-label":"Refresh",title:"Refresh",children:e.jsx(G,{className:`h-4 w-4 ${h?"animate-spin":""}`})})]}),e.jsxs("div",{className:"mt-3 grid gap-2 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-[18px] border bg-background/72 px-3 py-2.5 backdrop-blur-sm",children:[e.jsx("div",{className:"text-[10px] font-medium uppercase tracking-[0.14em] text-muted-foreground",children:"Active routes"}),e.jsx("div",{className:"mt-1.5 text-xl font-semibold text-foreground",children:s.summary.activeProfileCount}),e.jsx("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Current target path"})]}),e.jsxs("div",{className:"rounded-[18px] border bg-background/72 px-3 py-2.5 backdrop-blur-sm",children:[e.jsx("div",{className:"text-[10px] font-medium uppercase tracking-[0.14em] text-muted-foreground",children:"Native path"}),e.jsx("div",{className:"mt-1.5 text-xl font-semibold text-foreground",children:s.summary.nativeProfileCount}),e.jsx("p",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Skip transformer"})]})]})]})]}),e.jsxs(T,{tone:"amber",eyebrow:"Control deck",title:"Core setup",description:t("settingsPage.imageAnalysisSection.description"),icon:e.jsx(Ce,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",className:"border-amber-500/25 bg-amber-500/10 text-[10px]",children:[u.length," configured"]}),children:[e.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Enabled"}),e.jsxs("div",{className:"mt-2.5 flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("div",{className:"text-sm font-semibold text-foreground",children:B?"Transformer on":"Transformer off"}),e.jsx("p",{className:"text-[11px] leading-4 text-muted-foreground",children:"Profile flags stay untouched."})]}),e.jsx(Se,{checked:B,onCheckedChange:a=>{be(a)},disabled:c})]})]}),e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Timeout"}),e.jsxs("div",{className:"mt-2.5 flex items-center gap-2",children:[e.jsx(q,{value:K,onChange:a=>U(a.target.value),inputMode:"numeric",className:"h-10 border-amber-500/15 bg-background/90 text-base",disabled:c,onBlur:a=>{fe(a.currentTarget.value)},onKeyDown:a=>{a.key==="Enter"&&a.currentTarget.blur()}}),e.jsx("span",{className:"text-xs font-medium text-muted-foreground",children:"sec"})]}),e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:"Keeps large reads from hanging."})]}),e.jsxs("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:[e.jsx("div",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-amber-700/75 dark:text-amber-300/75",children:"Fallback backend"}),e.jsx("div",{className:"mt-2.5",children:e.jsxs(ie,{value:v||M,onValueChange:a=>{he(a===M?"":a)},disabled:c,children:[e.jsx(le,{className:"h-10 border-amber-500/15 bg-background/90",children:e.jsx(de,{placeholder:t("settingsPage.thinkingSection.configureModelFirst")})}),e.jsx(oe,{children:u.length===0?e.jsx(z,{value:M,children:t("settingsPage.thinkingSection.configureModelFirst")}):u.map(a=>e.jsx(z,{value:a,children:a},a))})]})}),e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:"Used when no direct route exists."})]})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-1.5",children:[e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[ye," overrides"]}),e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[O.length," native"]}),e.jsxs("div",{className:"rounded-full border border-amber-500/15 bg-background/80 px-2.5 py-1 text-[11px] text-muted-foreground",children:[v||"No fallback"," fallback"]})]})]}),e.jsx(T,{tone:"cyan",eyebrow:"Route inventory",title:"Backend routes",description:"Model entry plus route health.",icon:e.jsx(Me,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",className:"border-cyan-500/25 bg-cyan-500/10 text-[10px]",children:[Z.length," backends"]}),children:e.jsx("div",{className:"overflow-hidden rounded-[20px] border border-cyan-500/12 bg-background/65 shadow-sm backdrop-blur-sm",children:Z.map((a,n)=>{const i=s.backends.find(f=>f.backendId===a),d=i?.displayName||a,b=w[a]??"",y=Oe(i),A=b?[`${i?.profilesUsing??0} active`,i?.authReadiness==="missing"?"auth missing":i?.proxyReadiness==="stopped"?"starts on launch":null].filter(Boolean).join(" · "):"No model configured.";return e.jsxs("div",{className:g("relative px-3 py-3 md:px-4",n>0&&"border-t border-cyan-500/10",Le(i?.state)),children:[e.jsx("div",{className:g("absolute bottom-3 left-0 top-3 w-1 rounded-r-full bg-gradient-to-b",Ke(i?.state))}),e.jsxs("div",{className:"pl-2.5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h4",{className:"text-sm font-semibold text-foreground",children:d}),e.jsx(m,{variant:"outline",className:"font-mono text-[10px]",children:a}),i?.profilesUsing?e.jsxs(m,{variant:"outline",className:"border-cyan-500/20 bg-cyan-500/10 text-[10px]",children:[i.profilesUsing," active"]}):null]}),e.jsx("p",{className:"mt-0.5 text-[11px] leading-4 text-muted-foreground",children:A})]}),e.jsx(m,{className:g("border",i?$e(i.state):"border-border/80 bg-background/85 text-muted-foreground"),children:i?Fe(i.state):"Inactive"})]}),e.jsxs("div",{className:"mt-2 flex flex-col gap-2 sm:flex-row",children:[e.jsx(q,{className:"h-10 flex-1 border-cyan-500/15 bg-background/88 text-base",placeholder:t("imageAnalysisSection.setModel",{defaultValue:"Set model"}),value:b,disabled:c,onChange:f=>$(V=>({...V,[a]:f.target.value})),onBlur:f=>{ae(a,f.currentTarget.value)},onKeyDown:f=>{f.key==="Enter"&&f.currentTarget.blur()}}),b.trim().length>0&&e.jsx(C,{type:"button",variant:"outline",size:"sm",className:"h-10 sm:self-stretch",disabled:c,onClick:()=>{ae(a,"")},children:t("common.clear",{defaultValue:"Clear"})})]}),y&&e.jsx("p",{className:"mt-1.5 text-[11px] leading-4 text-muted-foreground",children:y})]})]},a)})})}),e.jsx(T,{tone:"emerald",eyebrow:"Native path",title:"Native reading",description:"Profiles that skip the transformer.",icon:e.jsx(Pe,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",children:[O.length," profiles"]}),children:O.length===0?e.jsx("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3.5 text-sm text-muted-foreground",k()),children:t("imageAnalysisSection.noProfilesPreferNative",{defaultValue:"No profiles prefer native reading yet."})}):e.jsx("div",{className:"grid gap-2 md:grid-cols-2",children:O.map(a=>e.jsx("div",{className:g("rounded-[18px] border px-3.5 py-3 shadow-sm",k()),children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("div",{className:"truncate text-sm font-semibold text-foreground",children:a.name}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.kind==="variant"?t("cliproxyPage.variant"):t("apiProfiles.title")}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.nativeImageCapable?t("imageAnalysisStatus.capabilityVerified"):t("imageAnalysisSection.review",{defaultValue:"Review"})})]}),e.jsxs("div",{className:"mt-1 text-[11px] leading-4 text-muted-foreground",children:[a.profileModel||t("imageAnalysisSection.modelNotDetected",{defaultValue:"Model not detected"})," ","·"," ",a.nativeImageReason||t("imageAnalysisSection.nativeReadPreferred",{defaultValue:"Native read preferred."})]})]}),e.jsx(m,{className:g("border",xe(a.currentTargetMode)),children:ge(a.currentTargetMode)})]})},`native-${a.kind}-${a.name}`))})}),e.jsxs(T,{tone:"slate",eyebrow:"Override lab",title:"Profile routing",description:"Only for explicit route overrides.",icon:e.jsx(Te,{className:"h-4 w-4"}),meta:e.jsx(m,{variant:"outline",className:"border-amber-500/25 bg-amber-500/10 text-[10px] text-amber-800 dark:text-amber-200",children:"Advanced"}),action:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:()=>Q(a=>!a),children:[E?e.jsx(Re,{className:"mr-1 h-4 w-4"}):e.jsx(_e,{className:"mr-1 h-4 w-4"}),E?t("common.hide",{defaultValue:"Hide"}):t("common.show",{defaultValue:"Show"})]}),E&&e.jsxs(C,{type:"button",variant:"outline",size:"sm",onClick:()=>F(a=>[...a,{id:`mapping-${Date.now()}`,profileName:"",backendId:u[0]??""}]),disabled:u.length===0||c,children:[e.jsx(Ve,{className:"mr-1 h-4 w-4"}),t("imageAnalysisSection.addMapping",{defaultValue:"Add mapping"})]})]}),className:"border-dashed",children:[e.jsx("datalist",{id:"image-profile-suggestions",children:s.catalog.profileNames.map(a=>e.jsx("option",{value:a},a))}),E?e.jsx("div",{className:"space-y-2",children:p.length===0?e.jsx("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3.5 text-sm text-muted-foreground",k()),children:"No explicit overrides saved."}):e.jsx("div",{className:"space-y-2",children:p.map(a=>e.jsxs("div",{className:"rounded-[18px] border border-slate-400/20 bg-[linear-gradient(180deg,rgba(255,255,255,0.72),rgba(248,250,252,0.52))] p-3 shadow-sm dark:bg-[linear-gradient(180deg,rgba(15,23,42,0.84),rgba(15,23,42,0.56))]",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-[11px] leading-4 text-muted-foreground",children:[e.jsx("span",{children:t("imageAnalysisSection.directOverride",{defaultValue:"Direct override"})}),!(a.profileName.trim()&&a.backendId)&&e.jsx(m,{variant:"outline",className:"text-[10px]",children:"Draft"})]}),e.jsxs(C,{type:"button",variant:"ghost",size:"sm",disabled:c,onClick:()=>{const n=p.filter(i=>i.id!==a.id);J(n)},children:[e.jsx(Be,{className:"mr-1 h-4 w-4"}),t("common.remove",{defaultValue:"Remove"})]})]}),e.jsxs("div",{className:"mt-2 grid gap-2 sm:grid-cols-2",children:[e.jsx(q,{value:a.profileName,list:"image-profile-suggestions",disabled:c,placeholder:t("imageAnalysisSection.profileOrVariantName",{defaultValue:"Profile or variant name"}),className:"h-10 border-slate-400/15 bg-background/88 text-base",onChange:n=>{ve(a.id,{profileName:n.target.value})},onBlur:n=>{const i=p.map(d=>d.id===a.id?{...d,profileName:n.currentTarget.value.trim()}:d);J(i)},onKeyDown:n=>{n.key==="Enter"&&n.currentTarget.blur()}}),e.jsxs(ie,{value:a.backendId||M,disabled:c,onValueChange:n=>{const i=p.map(d=>d.id===a.id?{...d,backendId:n===M?"":n}:d);J(i)},children:[e.jsx(le,{className:"h-10 border-slate-400/15 bg-background/88",children:e.jsx(de,{placeholder:t("settingsPage.thinkingSection.configureModelFirst")})}),e.jsx(oe,{children:u.length===0?e.jsx(z,{value:M,children:t("settingsPage.thinkingSection.configureModelFirst")}):u.map(n=>e.jsx(z,{value:n,children:n},n))})]})]})]},a.id))})}):e.jsxs("div",{className:g("rounded-[18px] border border-dashed px-3.5 py-3 text-sm text-muted-foreground",k()),children:["Hidden by default.",p.length>0?` ${p.length} override${p.length===1?"":"s"} saved.`:" No overrides saved."]})]}),e.jsx(T,{tone:"slate",eyebrow:"Audit view",title:"Coverage",description:"Read-only routing ledger for the current path.",icon:e.jsx(me,{className:"h-4 w-4"}),meta:e.jsxs(m,{variant:"outline",children:[s.profiles.length," profiles"]}),children:e.jsx("div",{className:"overflow-hidden rounded-[20px] border border-slate-400/15 bg-background/75 shadow-sm backdrop-blur-sm",children:s.profiles.map((a,n)=>e.jsxs("div",{className:g("grid gap-2 px-3.5 py-2.5 md:grid-cols-[minmax(0,1fr)_auto] md:items-center",n>0&&"border-t border-slate-400/12",Ue(n,a)),children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("div",{className:"truncate text-sm font-semibold text-foreground",children:a.name}),e.jsx(m,{variant:"outline",className:"text-[10px]",children:a.kind==="variant"?t("cliproxyPage.variant"):t("apiProfiles.title")}),e.jsx(m,{variant:"outline",className:"font-mono text-[10px] uppercase",children:a.target}),a.nativeReadPreference&&e.jsx(m,{variant:"outline",className:"border-emerald-500/20 bg-emerald-500/10 text-[10px]",children:"Native"})]}),e.jsxs("div",{className:"mt-0.5 text-[11px] leading-4 text-muted-foreground",children:[a.backendDisplayName||a.profileModel||"Native file access"," ·"," ",ze(a.resolutionSource)]})]}),e.jsxs("div",{className:"flex items-center gap-2 md:justify-end",children:[a.profileModel&&e.jsx(m,{variant:"outline",className:"font-mono text-[10px]",children:a.profileModel}),e.jsx(m,{className:g("border",xe(a.currentTargetMode)),children:ge(a.currentTargetMode)})]})]},`${a.kind}-${a.name}`))})})]})})]}):e.jsxs("div",{className:"p-5",children:[e.jsxs(se,{variant:"destructive",children:[e.jsx(ce,{className:"h-4 w-4"}),e.jsx(ne,{children:I??t("settingsPage.imageAnalysisSection.description")})]}),e.jsx("div",{className:"mt-4",children:e.jsxs(C,{variant:"outline",size:"sm",onClick:ee,children:[e.jsx(G,{className:"mr-1 h-4 w-4"}),t("sharedPage.retry")]})})]})}export{ra as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as c,L as de}from"./react-vendor-CNOkPC89.js";import{c as n,L as f,aI as P,r as oe,s as ce,t as me,v as xe,w as S,I as R,d as v,a as k,n as E,Q as J,R as $,U as I,V as Q,Y as _,C as w,j as C,S as u,b as D,bp as ue}from"./index-CEuKLsUj.js";import{a7 as pe,aH as ge,au as he,Q as be,A as O,$ as z,an as A,_ as fe,aE as ve,aZ as je,Y as Ne,ai as ye,L as we,a_ as ke,a6 as Z,Z as M,av as Se,a$ as Ce,i as Le,R as X,d as q,b0 as _e,ah as ee,C as re}from"./icons-DyorC3Xk.js";import{u as F,a as Ee,b as Ie,k as Qe}from"./tanstack-CrmUhA7Z.js";import{t as W}from"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";function K(r,s){const t=Number.parseInt(r,10);return Number.isNaN(t)?s:Math.max(0,t)}function H({config:r,onSave:s,isPending:t}){const[d,o]=c.useState(r);c.useEffect(()=>{o(r)},[r]);const x=c.useMemo(()=>JSON.stringify(d)!==JSON.stringify(r),[r,d]);return e.jsxs("div",{className:"group relative overflow-hidden rounded-2xl border-2 border-border/60 bg-card/40 p-1 shadow-lg transition-all hover:border-border",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border bg-muted/30 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-lg bg-primary/5 border border-primary/20",children:e.jsx(pe,{className:"h-3.5 w-3.5 text-primary"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h3",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground",children:"Logging Policy"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.1em] text-foreground/45",children:"Retention and privacy"})]})]}),e.jsx("div",{className:n("h-1.5 w-1.5 rounded-full",r.enabled?"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.5)]":"bg-zinc-500")})]}),e.jsxs("div",{className:"space-y-6 p-5",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/50 p-3 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70",children:"Active Status"}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{className:n("text-[11px] font-semibold uppercase tracking-[0.1em]",r.enabled?"text-emerald-500":"text-zinc-500"),children:r.enabled?"Live":"Off"})})]}),e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/50 p-3 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70",children:"Redaction"}),e.jsx("span",{className:n("text-[11px] font-semibold uppercase tracking-[0.1em]",r.redact?"text-primary":"text-muted-foreground/40"),children:r.redact?"Enforced":"Plain"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-border/40 bg-background/20 px-4 py-3 transition-colors hover:bg-background/40",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"logs-enabled",className:"text-[12px] font-semibold uppercase tracking-[0.12em]",children:"Pipeline"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground/55",children:"Enable structured logging"})]}),e.jsx(P,{id:"logs-enabled",checked:d.enabled,onCheckedChange:i=>o(a=>({...a,enabled:i})),className:"data-[state=checked]:bg-primary"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-border/40 bg-background/20 px-4 py-3 transition-colors hover:bg-background/40",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"logs-redact",className:"text-[12px] font-semibold uppercase tracking-[0.12em]",children:"Masking"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground/55",children:"Sanitize payload data"})]}),e.jsx(P,{id:"logs-redact",checked:d.redact,onCheckedChange:i=>o(a=>({...a,redact:i})),className:"data-[state=checked]:bg-primary"})]})]}),e.jsxs("div",{className:"space-y-4 pt-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(ge,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{htmlFor:"logs-config-level",className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-foreground/70",children:"Minimum Operational Threshold"})]}),e.jsxs(oe,{value:d.level,onValueChange:i=>o(a=>({...a,level:i})),children:[e.jsx(ce,{id:"logs-config-level",className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 text-[12px] font-semibold uppercase tracking-[0.1em] focus:ring-0",children:e.jsx(me,{})}),e.jsxs(xe,{className:"border-2 border-border bg-card",children:[e.jsx(S,{value:"error",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Error Only"}),e.jsx(S,{value:"warn",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Warn + Above"}),e.jsx(S,{value:"info",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Info + Above"}),e.jsx(S,{value:"debug",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Full Debug"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"logs-rotate-mb",className:"px-1 text-[10px] font-semibold uppercase tracking-[0.1em] text-foreground/50",children:"Rotation (MB)"}),e.jsx(R,{id:"logs-rotate-mb",type:"number",min:1,className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 font-mono text-[12px] font-medium focus-visible:ring-0",value:d.rotate_mb,onChange:i=>o(a=>({...a,rotate_mb:K(i.target.value,a.rotate_mb)}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"logs-retain-days",className:"px-1 text-[10px] font-semibold uppercase tracking-[0.1em] text-foreground/50",children:"Retain (Days)"}),e.jsx(R,{id:"logs-retain-days",type:"number",min:1,className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 font-mono text-[12px] font-medium focus-visible:ring-0",value:d.retain_days,onChange:i=>o(a=>({...a,retain_days:K(i.target.value,a.retain_days)}))})]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-4 border-t border-border",children:[e.jsxs(v,{onClick:()=>s(d),disabled:!x||t,className:"h-10 w-full gap-2 rounded-xl bg-primary text-[11px] font-semibold uppercase tracking-[0.14em] shadow-lg shadow-primary/20 transition-all hover:scale-[1.02] active:scale-[0.98]",children:[e.jsx(he,{className:"h-3.5 w-3.5"}),"Commit Changes"]}),e.jsxs(v,{variant:"ghost",onClick:()=>o(r),disabled:!x||t,className:"h-9 gap-2 text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/45 hover:text-foreground",children:[e.jsx(be,{className:"h-3 w-3"}),"Rollback Draft"]})]})]}),e.jsxs("div",{className:"flex items-center justify-between bg-muted/20 px-5 py-2",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(O,{className:"h-2.5 w-2.5 text-primary/40"}),e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-foreground/30",children:"Operational Logic v3.4"})]}),x&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"h-1 w-1 rounded-full bg-amber-500 animate-pulse"}),e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-amber-500/70",children:"Pending"})]})]})]})}function Fe(r){if(r==null)return"{}";try{return JSON.stringify(r,null,2)}catch{return String(r)}}function Te(r){switch(r){case"error":return"Error";case"warn":return"Warn";case"info":return"Info";case"debug":return"Debug"}}const Re={error:"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300",warn:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",info:"border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300",debug:"border-zinc-500/30 bg-zinc-500/10 text-zinc-700 dark:text-zinc-300"};function se({level:r,className:s}){return e.jsx("span",{className:n("inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium uppercase tracking-[0.12em]",Re[r],s),children:Te(r)})}function L({label:r,value:s,icon:t}){return e.jsxs("div",{className:"group relative flex flex-col gap-1.5 rounded-xl border border-border/40 bg-background/40 p-3 transition-all hover:bg-background/80 hover:shadow-lg hover:shadow-black/5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[t&&e.jsx(t,{className:"h-3 w-3 text-primary/40 group-hover:text-primary transition-colors"}),e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70 transition-colors group-hover:text-primary/60",children:r})]}),e.jsx("div",{className:"h-1 w-1 rounded-full bg-border/40 group-hover:bg-primary/40 transition-colors"})]}),e.jsx("p",{className:"truncate font-mono text-[13px] font-medium tracking-tight text-foreground/85 transition-colors group-hover:text-foreground",children:s})]})}function V({entry:r,sourceLabel:s}){const{t}=k();return r?e.jsxs("div",{className:"flex h-full flex-col bg-card/30 backdrop-blur-sm animate-in fade-in slide-in-from-right-4 duration-500",children:[e.jsxs("div",{className:"relative shrink-0 border-b border-border bg-card/60 p-6 shadow-sm overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.03] pointer-events-none [background-image:radial-gradient(circle_at_center,var(--primary)_1px,transparent_0)] [background-size:16px_16px]"}),e.jsxs("div",{className:"relative space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{level:r.level,className:"h-5 px-3 shadow-lg shadow-black/5"}),e.jsx("div",{className:"h-4 w-px bg-border/60"}),e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border bg-background/50 px-3 py-1 shadow-inner",children:[e.jsx(A,{className:"h-3 w-3 text-primary/60"}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/75",children:s??r.source})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"h-3 w-3 animate-pulse text-emerald-500"}),e.jsx("span",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.12em] text-muted-foreground/45",children:new Date(r.timestamp).toLocaleTimeString(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1 w-4 rounded-full bg-primary/40"}),e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary/65",children:"Event"})]}),e.jsx("h2",{className:"text-[24px] font-semibold tracking-tight text-foreground leading-tight break-words",children:r.event}),e.jsx("div",{className:"rounded-xl border-l-4 border-primary/20 bg-muted/20 p-4 shadow-inner",children:e.jsx("p",{className:"text-[14px] font-medium leading-relaxed text-foreground/85 selection:bg-primary/20",children:r.message})})]})]})]}),e.jsx(E,{className:"flex-1",children:e.jsx("div",{className:"p-6",children:e.jsxs(J,{defaultValue:"details",className:"space-y-8",children:[e.jsxs($,{className:"grid h-auto w-full grid-cols-2 gap-1 rounded-xl border border-border/60 bg-muted/40 p-1",children:[e.jsxs(I,{value:"details",className:"min-w-0 gap-2 rounded-lg px-3 py-2 text-[11px] font-semibold uppercase tracking-[0.1em] transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-sm",children:[e.jsx(fe,{className:"h-3.5 w-3.5"}),t("logsDetailPanel.details")]}),e.jsxs(I,{value:"raw",className:"min-w-0 gap-2 rounded-lg px-3 py-2 text-[11px] font-semibold uppercase tracking-[0.1em] transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-sm",children:[e.jsx(ve,{className:"h-3.5 w-3.5"}),"Raw Context"]})]}),e.jsxs(Q,{value:"details",className:"mt-0 space-y-8 animate-in fade-in slide-in-from-bottom-2 duration-500",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[e.jsx(L,{label:"Entry Signature",value:r.id.slice(0,16)+"...",icon:je}),e.jsx(L,{label:"Telemetry Origin",value:r.source,icon:A}),e.jsx(L,{label:"Process ID",value:r.processId??"NA",icon:Ne}),e.jsx(L,{label:"Operational Run",value:r.runId?.slice(0,8)??"NA",icon:ye})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-[2rem] border border-border bg-muted/10 p-1 shadow-inner group",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-primary/[0.03] to-transparent h-[200%] -top-full animate-[scan_8s_linear_infinite] pointer-events-none"}),e.jsxs("div",{className:"rounded-[calc(2rem-4px)] border border-dashed border-border/40 bg-background/50 p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary/5 border border-primary/20 text-primary shadow-inner",children:e.jsx(z,{className:"h-4 w-4"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary",children:"Automated Summary"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.1em] text-muted-foreground/55",children:"Quick interpretation"})]})]}),e.jsxs("p",{className:"text-[13px] leading-relaxed text-muted-foreground/80 font-medium",children:["This telemetry node was captured from"," ",e.jsx("span",{className:"rounded bg-muted/40 px-1.5 py-0.5 font-semibold text-foreground",children:s??r.source}),"operating at the"," ",e.jsx("span",{className:n("rounded px-1.5 py-0.5 text-[11px] font-semibold uppercase tracking-[0.08em]",r.level==="error"?"bg-red-500/10 text-red-500":r.level==="warn"?"bg-amber-500/10 text-amber-500":r.level==="info"?"bg-sky-500/10 text-sky-500":"bg-zinc-500/10 text-zinc-500"),children:r.level})," ","threshold. The operational payload indicates an event state of"," ",e.jsx("span",{className:"font-semibold text-foreground",children:r.event}),"."]})]})]})]}),e.jsx(Q,{value:"raw",className:"mt-0 animate-in fade-in slide-in-from-bottom-2 duration-500",children:e.jsxs("div",{className:"group relative rounded-2xl border-2 border-border bg-zinc-950 p-1 shadow-2xl transition-all hover:border-primary/20",children:[e.jsx("div",{className:"absolute right-4 top-4 z-10 opacity-0 group-hover:opacity-100 transition-opacity",children:e.jsx("div",{className:"rounded-md border border-white/10 bg-white/5 px-2 py-1 text-[9px] font-medium uppercase tracking-[0.12em] text-white/45 backdrop-blur-md",children:"JSON.RAW.MODE"})}),e.jsx(E,{className:"h-[30rem] w-full rounded-xl p-6",children:e.jsx("pre",{className:"font-mono text-[12px] leading-relaxed tracking-tight text-zinc-400 selection:bg-primary/40 selection:text-primary-foreground",children:Fe({id:r.id,timestamp:r.timestamp,level:r.level,source:r.source,event:r.event,message:r.message,processId:r.processId,runId:r.runId,context:r.context??{}})})})]})})]})})}),e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-t border-border bg-muted/5 px-6 py-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.5)]"}),e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Node Verified"})]}),e.jsx("div",{className:"h-3 w-px bg-border/40"}),e.jsx("span",{className:"text-[10px] font-medium tabular-nums uppercase tracking-[0.12em] text-foreground/35",children:r.id.slice(0,8)})]}),e.jsx("div",{className:"rounded-full bg-primary/5 px-2 py-0.5 border border-primary/10",children:e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-primary/65",children:"CCS-TEC-v3"})})]})]}):e.jsxs("div",{className:"flex h-full flex-col items-center justify-center p-8 text-center animate-in fade-in duration-1000",children:[e.jsxs("div",{className:"relative mb-8",children:[e.jsx("div",{className:"absolute inset-0 animate-ping rounded-full bg-primary/5 p-12"}),e.jsx("div",{className:"relative rounded-full border-2 border-dashed border-border/40 p-10 bg-muted/5",children:e.jsx(z,{className:"h-10 w-10 text-muted-foreground/20"})})]}),e.jsxs("div",{className:"max-w-xs space-y-3",children:[e.jsx("h3",{className:"text-[15px] font-semibold uppercase tracking-[0.14em] text-foreground/65",children:"Inspector Standby"}),e.jsx("p",{className:"text-[13px] leading-relaxed text-muted-foreground/55 font-medium",children:"Select a telemetry node from the active data queue to perform deep analysis of its operational context."})]})]})}function U({entries:r,selectedEntryId:s,onSelect:t,sourceLabels:d,isLoading:o,isFetching:x}){const{t:i}=k();return e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col bg-background/50 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border bg-card/40 px-6 py-3 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-2 w-2 animate-pulse rounded-full bg-primary shadow-[0_0_12px_rgba(var(--primary),0.6)]"}),e.jsx("h2",{className:"text-[12px] font-semibold uppercase tracking-[0.14em] text-foreground",children:"Live Entry Stream"})]}),e.jsx("div",{className:"h-4 w-px bg-border/60"}),e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5",children:[e.jsx(O,{className:"h-3 w-3 text-emerald-500"}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-emerald-600",children:"Live telemetry"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[x&&e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-primary/20 bg-primary/10 px-3 py-1",children:[e.jsx(we,{className:"h-3 w-3 animate-spin text-primary"}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary",children:"Syncing"})]}),e.jsx("span",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.16em] text-foreground/35",children:"NODE.01"})]})]}),e.jsxs("div",{className:"flex items-center gap-0 border-b border-border bg-muted/30 px-0 py-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-foreground/45",children:[e.jsx("div",{className:"w-[6.5rem] shrink-0 px-6",children:i("logsConfig.time")}),e.jsx("div",{className:"w-14 shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.level")}),e.jsx("div",{className:"w-[15rem] shrink-0 border-l border-border/10 px-4",children:i("logsConfig.source")}),e.jsx("div",{className:"flex-1 border-l border-border/10 px-4",children:i("logsConfig.message")}),e.jsx("div",{className:"w-[5.5rem] shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.proc")}),e.jsx("div",{className:"w-[5.5rem] shrink-0 border-l border-border/10 px-3 text-center",children:i("logsConfig.run")}),e.jsx("div",{className:"w-11 shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.open")})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:o?e.jsx("div",{className:"space-y-1 p-2",children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(a=>e.jsx("div",{className:"h-10 w-full animate-pulse rounded-lg border border-border/5 bg-muted/20"},a))}):r.length===0?e.jsxs("div",{className:"flex h-full animate-in fade-in duration-1000 flex-col items-center justify-center gap-6 px-8 text-center",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping rounded-full bg-muted/5 p-12"}),e.jsx("div",{className:"relative rounded-full border border-dashed border-border/40 bg-muted/5 p-10",children:e.jsx(ke,{className:"h-10 w-10 text-muted-foreground/20"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.14em] text-foreground/55",children:"No matching entries"}),e.jsx("p",{className:"max-w-[18rem] text-[12px] font-medium leading-relaxed text-muted-foreground/60",children:"Your current source, level, or search filters are hiding the stream. Adjust them to bring entries back into view."})]})]}):e.jsx(E,{className:"h-full",children:e.jsx("div",{className:"flex flex-col",children:r.map(a=>{const m=a.id===s;return e.jsxs("button",{type:"button",onClick:()=>t(a.id),className:n("group relative flex w-full items-center border-b border-border/5 px-0 py-2.5 text-left transition-all duration-150",m?"z-10 bg-primary/[0.08] shadow-[inset_4px_0_0_rgba(var(--primary),1)]":"bg-transparent hover:bg-muted/30"),children:[e.jsx("div",{className:"absolute inset-y-0 left-0 w-1 origin-center scale-y-0 bg-primary transition-transform duration-300 group-hover:scale-y-100"}),e.jsxs("div",{className:"flex w-full items-center gap-0",children:[e.jsx("div",{className:"flex w-[6.5rem] shrink-0 items-center",children:e.jsx("p",{className:n("px-6 font-mono text-[11px] font-semibold tabular-nums transition-colors",m?"text-primary":"text-foreground/60 group-hover:text-foreground"),children:new Date(a.timestamp).toLocaleTimeString(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-0",children:[e.jsx("div",{className:"flex w-14 shrink-0 items-center justify-center opacity-80 transition-opacity group-hover:opacity-100",children:e.jsx(se,{level:a.level,className:"origin-center scale-[0.85]"})}),e.jsxs("div",{className:"flex w-[15rem] shrink-0 flex-col gap-0.5 overflow-hidden px-4",children:[e.jsx("span",{className:n("truncate text-[11px] font-semibold uppercase tracking-[0.12em] transition-colors",m?"text-foreground":"text-foreground/50 group-hover:text-foreground/80"),children:d[a.source]??a.source}),e.jsx("span",{className:"truncate text-[10px] font-medium uppercase tracking-[0.1em] text-muted-foreground/55",children:a.event})]}),e.jsx("div",{className:"min-w-0 flex-1 px-4",children:e.jsx("p",{className:n("truncate text-[13px] font-medium leading-5 transition-colors",m?"text-foreground":"text-foreground/70 group-hover:text-foreground"),children:a.message})}),e.jsx("div",{className:"flex w-[5.5rem] shrink-0 items-center justify-center px-2 font-mono text-[10px] font-semibold tabular-nums tracking-[0.12em] text-foreground/30 transition-colors group-hover:text-primary/45",children:a.processId??"????"}),e.jsx("div",{className:"flex w-[5.5rem] shrink-0 items-center justify-center px-3 font-mono text-[10px] font-semibold tabular-nums tracking-[0.12em] text-foreground/30 transition-colors group-hover:text-primary/45",children:a.runId?.slice(0,4).toUpperCase()??"NONE"}),e.jsx("div",{className:"flex w-11 shrink-0 items-center justify-center px-2",children:e.jsx("div",{className:n("flex h-7 w-7 items-center justify-center rounded-full border transition-all",m?"animate-in zoom-in duration-300 border-primary/20 bg-primary/10 text-primary":"border-transparent text-foreground/20 group-hover:border-border/40 group-hover:bg-background/80 group-hover:text-foreground/55"),children:e.jsx(Z,{className:"h-3.5 w-3.5"})})})]})]})]},a.id)})})})}),e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-t border-border bg-muted/5 px-6 py-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Node: CCS-CORE"}),e.jsx("div",{className:"h-1 w-1 rounded-full bg-border/40"}),e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Status: Operational"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:["Entries: ",r.length]})})]})]})}const ae=["logs","config"],te=["logs","sources"],De=150;function Oe(){const[r,s]=c.useState("all"),[t,d]=c.useState("all"),[o,x]=c.useState(""),[i,a]=c.useState(De),[m,p]=c.useState(null),g=c.useDeferredValue(o.trim()),h=F({queryKey:ae,queryFn:async()=>(await _.logs.getConfig()).logging,refetchInterval:3e4}),j=F({queryKey:te,queryFn:async()=>(await _.logs.getSources()).sources,refetchInterval:15e3}),b=F({queryKey:["logs","entries",r,t,g,i],queryFn:async()=>(await _.logs.getEntries({source:r==="all"?void 0:r,level:t==="all"?void 0:t,search:g||void 0,limit:i})).entries,placeholderData:Qe,refetchInterval:1e4}),l=c.useMemo(()=>{const y=b.data??[];return y.length===0?null:m&&y.some(N=>N.id===m)?m:y[0]?.id??null},[b.data,m]),ie=c.useMemo(()=>(b.data??[]).find(y=>y.id===l)??null,[l,b.data]),le=c.useMemo(()=>(j.data??[]).map(N=>N.lastTimestamp).filter(N=>!!N).sort((N,ne)=>ne.localeCompare(N))[0]??null,[j.data]);return{configQuery:h,sourcesQuery:j,entriesQuery:b,selectedSource:r,setSelectedSource:s,selectedLevel:t,setSelectedLevel:d,search:o,setSearch:x,limit:i,setLimit:a,selectedEntryId:l,setSelectedEntryId:p,selectedEntry:ie,latestTimestamp:le,isInitialLoading:!h.data&&h.isLoading||!j.data&&j.isLoading||!b.data&&b.isLoading}}function Pe(){const r=Ee(),{t:s}=k();return Ie({mutationFn:t=>_.logs.updateConfig(t),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:ae}),r.invalidateQueries({queryKey:te}),r.invalidateQueries({queryKey:["logs","entries"]})]),W.success(s("toasts.loggingConfigSaved"))},onError:t=>{W.error(t.message||s("toasts.loggingConfigSaveFailed"))}})}function ze(){return[{value:"all",label:"All levels"},{value:"error",label:"Errors"},{value:"warn",label:"Warnings"},{value:"info",label:"Info"},{value:"debug",label:"Debug"}]}function Ae(r){return Object.fromEntries(r.map(s=>[s.source,s.label]))}function Y({sources:r,selectedSource:s,onSourceChange:t,selectedLevel:d,onLevelChange:o,search:x,onSearchChange:i,limit:a,onLimitChange:m,onRefresh:p,isRefreshing:g}){const{t:h}=k(),j=ze(),b=[50,100,150,250];return e.jsxs("div",{className:"flex flex-col gap-6 animate-in fade-in slide-in-from-left-2 duration-700",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between px-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.5)]"}),e.jsx(f,{htmlFor:"logs-search",className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Payload Search"})]}),e.jsx(M,{className:"h-3 w-3 text-primary/20"})]}),e.jsxs("div",{className:"group relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-3.5 flex items-center transition-all group-focus-within:translate-x-1",children:e.jsx(Se,{className:"h-3.5 w-3.5 text-foreground/20 group-focus-within:text-primary transition-colors"})}),e.jsx(R,{id:"logs-search","aria-label":"Search",value:x,onChange:l=>i(l.target.value),placeholder:"Scan for patterns...",className:"h-11 rounded-xl border-2 border-border/40 bg-background/50 pl-10 text-[13px] font-medium text-foreground placeholder:text-foreground/35 focus-visible:border-primary/40 focus-visible:ring-0 transition-all shadow-inner"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(Ce,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Source Matrix"})]}),e.jsxs("div",{className:"flex flex-col gap-1","aria-label":"Source filter",children:[e.jsxs("button",{type:"button",onClick:()=>t("all"),className:n("group relative flex items-center justify-between rounded-lg border px-3 py-2 transition-all active:scale-[0.98]",s==="all"?"border-primary/50 bg-primary/10 text-primary shadow-[0_0_15px_rgba(var(--primary),0.1)]":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.12em]",children:"Global Stream"}),s==="all"&&e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.8)]"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-1 mt-1",children:r.map(l=>e.jsx("button",{type:"button",onClick:()=>t(l.source),className:n("rounded-lg border px-2.5 py-1.5 text-[10px] font-semibold uppercase tracking-[0.1em] transition-all active:scale-[0.97]",s===l.source?"border-primary/50 bg-primary/10 text-primary shadow-sm":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:l.label},l.source))})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(Le,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Sensitivity"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-1.5","aria-label":"Level filter",children:j.map(l=>e.jsxs("button",{type:"button",onClick:()=>o(l.value),className:n("flex flex-col items-center gap-1 rounded-lg border px-2 py-2 text-[10px] font-semibold uppercase tracking-[0.1em] transition-all active:scale-[0.97]",d===l.value?"border-primary/50 bg-primary/10 text-primary shadow-[0_0_15px_rgba(var(--primary),0.1)]":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:[e.jsx("span",{children:l.label}),e.jsx("div",{className:n("h-0.5 w-4 rounded-full transition-colors",d===l.value?"bg-primary":"bg-foreground/10")})]},l.value))})]}),e.jsx("div",{className:"mt-4 rounded-2xl border-2 border-border bg-card/40 p-1.5 shadow-xl shadow-black/5",children:e.jsxs("div",{className:"rounded-[calc(1rem-2px)] border border-dashed border-border bg-background/60 p-4 space-y-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-primary",children:"Operational Window"}),e.jsx("p",{className:"text-[11px] font-medium uppercase tracking-[0.1em] text-foreground/45",children:"Tail Capacity"})]}),e.jsx("div",{className:"h-8 w-8 rounded-lg bg-primary/5 border border-primary/10 flex items-center justify-center",children:e.jsx(M,{className:"h-4 w-4 text-primary/40"})})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5","aria-label":"Visible entries",children:b.map(l=>e.jsx("button",{type:"button",onClick:()=>m(l),className:n("rounded-md border py-1.5 text-[11px] font-semibold tabular-nums transition-all active:scale-[0.95]",a===l?"border-foreground bg-foreground text-background":"border-border/60 bg-muted/40 text-foreground/40 hover:bg-muted hover:text-foreground"),children:l},l))}),e.jsxs(v,{variant:"ghost",size:"sm",className:"group relative h-10 w-full overflow-hidden rounded-xl border-none bg-primary text-[11px] font-semibold uppercase tracking-[0.14em] text-primary-foreground transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-primary/20 active:scale-[0.98]",onClick:p,children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/10 to-transparent -translate-x-full group-hover:translate-x-full transition-transform duration-1000"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(X,{className:n("h-3.5 w-3.5",g&&"animate-spin")}),e.jsx("span",{children:h("logsConfig.refreshEntries")})]})]})]})})]})}function Me(){const{t:r}=k();return e.jsxs("div",{className:"space-y-6","aria-label":r("logsPageSkeleton.loadingLogs"),children:[e.jsx(w,{className:"gap-4",children:e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-4 w-28"}),e.jsx(u,{className:"h-8 w-72"}),e.jsx(u,{className:"h-4 w-[30rem]"})]})}),e.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[1,2,3,4].map(s=>e.jsx(w,{className:"gap-3",children:e.jsxs(C,{className:"space-y-2",children:[e.jsx(u,{className:"h-4 w-20"}),e.jsx(u,{className:"h-7 w-24"})]})},s))}),e.jsxs("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1.45fr)_22rem]",children:[e.jsxs(w,{className:"gap-4",children:[e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-4 w-52"}),e.jsx("div",{className:"grid gap-3 md:grid-cols-4",children:[1,2,3,4].map(s=>e.jsx(u,{className:"h-10 w-full"},s))})]}),e.jsxs(D,{className:"grid gap-4 xl:grid-cols-[22rem_minmax(0,1fr)]",children:[e.jsx(u,{className:"h-[26rem] w-full"}),e.jsx(u,{className:"h-[26rem] w-full"})]})]}),e.jsxs(w,{className:"gap-4",children:[e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-5 w-44"}),e.jsx(u,{className:"h-4 w-full"})]}),e.jsx(D,{className:"space-y-4",children:[1,2,3,4].map(s=>e.jsx(u,{className:"h-10 w-full"},s))})]})]})]})}const T=1200,qe=336,We=368,B=52;function G({side:r,label:s,onExpand:t}){return e.jsxs("div",{className:n("flex h-full w-full flex-col items-center justify-center gap-4 bg-muted/5",r==="left"?"border-r border-border":"border-l border-border"),children:[e.jsx(v,{variant:"ghost",size:"icon",onClick:t,"aria-label":`Show ${s.toLowerCase()}`,className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:r==="left"?e.jsx(re,{className:"h-4 w-4"}):e.jsx(ee,{className:"h-4 w-4"})}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-foreground/45",style:{writingMode:"vertical-rl"},children:s})]})}function Ze(){const r=Oe(),s=Pe(),t=Ae(r.sourcesQuery.data??[]),[d,o]=c.useState(()=>typeof window<"u"?window.innerWidth>=T:!1),[x,i]=c.useState(!1),[a,m]=c.useState(!1);if(c.useEffect(()=>{const g=window.matchMedia(`(min-width: ${T}px)`),h=()=>{o(window.innerWidth>=T)};return h(),g.addEventListener("change",h),()=>g.removeEventListener("change",h)},[]),r.isInitialLoading)return e.jsx(Me,{});const p=r.configQuery.data;return p?e.jsxs("div",{className:"relative flex h-full min-h-full flex-col overflow-hidden border-t border-border/40 bg-background font-sans text-foreground antialiased selection:bg-primary/30 selection:text-primary",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 z-0 opacity-40 [background-image:radial-gradient(circle_at_1px_1px,rgba(38,38,36,0.08)_1px,transparent_0)] [background-size:14px_14px]"}),e.jsxs("div",{className:"relative z-10 flex shrink-0 items-center justify-between border-b border-border/80 bg-card/95 px-6 py-2 backdrop-blur-xl shadow-md transition-all xl:px-8",children:[e.jsxs("div",{className:"flex items-center gap-10",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"group flex h-9 w-9 items-center justify-center rounded-xl border-2 border-primary/20 bg-primary/5 text-primary shadow-inner transition-all hover:scale-110 active:scale-90",children:e.jsx(q,{className:"h-4.5 w-4.5 transition-transform group-hover:rotate-6"})}),e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"rounded-full bg-primary px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-primary-foreground shadow-lg shadow-primary/20",children:"Operational"}),e.jsx("h1",{className:"text-[17px] font-semibold tracking-tight text-foreground",children:"Log Operations Center"})]}),e.jsx("p",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.16em] text-foreground/45",children:"CCS.TOC.LOGS.STREAM.v3"})]})]}),e.jsx("div",{className:"hidden h-8 w-px bg-border/80 md:block"}),e.jsxs("div",{className:"hidden items-center gap-10 md:flex",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:n("h-2 w-2 rounded-full ring-4 transition-all duration-700",p.redact?"bg-emerald-500 shadow-[0_0_20px_rgba(16,185,129,0.6)] ring-emerald-500/30":"bg-zinc-600 ring-transparent")}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/90",children:"Redaction"}),e.jsx("span",{className:"text-[11px] font-medium text-foreground/50",children:p.redact?"Enforced":"Standby"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-lg border-2 border-border bg-muted shadow-inner",children:e.jsx(_e,{className:"h-3.5 w-3.5 text-foreground"})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/90",children:"Retention"}),e.jsxs("span",{className:"text-[11px] font-medium text-foreground/50",children:[p.retain_days,"D / ",p.rotate_mb,"MB"]})]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(v,{variant:"ghost",size:"sm",className:"group h-9 gap-3 rounded-xl border-2 border-border bg-muted px-5 text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground transition-all hover:bg-foreground hover:text-background active:scale-95 shadow-lg shadow-black/5",onClick:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),children:[e.jsxs("div",{className:"relative",children:[e.jsx(X,{className:n("h-3.5 w-3.5 transition-transform duration-500",(r.entriesQuery.isFetching||r.sourcesQuery.isFetching)&&"animate-spin")}),!r.entriesQuery.isFetching&&!r.sourcesQuery.isFetching&&e.jsx("div",{className:"absolute -right-1 -top-1 h-1.5 w-1.5 rounded-full border border-muted bg-primary animate-pulse"})]}),r.entriesQuery.isFetching||r.sourcesQuery.isFetching?"Syncing":"Refresh"]}),e.jsx("div",{className:"h-7 w-px bg-border/80"}),e.jsx(v,{asChild:!0,variant:"ghost",size:"sm",className:"h-9 w-9 rounded-xl border-2 border-border bg-muted p-0 text-foreground transition-all hover:bg-foreground hover:text-background active:scale-95 shadow-lg shadow-black/5",children:e.jsx(de,{to:"/health",children:e.jsx(Z,{className:"h-4 w-4"})})})]})]}),e.jsx("div",{className:"relative z-10 flex min-h-0 flex-1 overflow-hidden",children:e.jsxs(J,{defaultValue:"stream",className:"flex flex-1 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/80 bg-card/80 px-6 py-2 backdrop-blur-xl shadow-inner xl:px-8",children:[e.jsxs($,{className:"h-10 w-auto gap-1.5 rounded-xl border border-border/60 bg-muted/40 p-1",children:[e.jsx(I,{value:"stream",className:"rounded-lg px-5 text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/60 transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-md",children:"Telemetry Stream"}),e.jsx(I,{value:"errors",className:"rounded-lg px-5 text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/60 transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-md",children:"Legacy Errors"})]}),e.jsxs("div",{className:"hidden items-center gap-3 lg:flex",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border bg-muted px-3 py-1 shadow-inner",children:[e.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.6)]"})]}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-tight text-foreground/80",children:"Connected"})]}),e.jsxs("span",{className:"pr-4 text-[11px] font-medium tabular-nums text-foreground/45",children:[r.entriesQuery.data?.length??0," captured"]})]})]}),e.jsx(Q,{value:"stream",className:"m-0 flex min-h-0 flex-1 overflow-y-auto lg:overflow-hidden focus-visible:outline-none",children:d?e.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[e.jsx("div",{"data-logs-pane":"filters",style:{width:x?B:qe},className:"flex min-h-0 shrink-0 bg-muted/5",children:x?e.jsx(G,{side:"left",label:"Filters",onExpand:()=>i(!1)}):e.jsxs("div",{className:"flex h-full min-h-0 w-full flex-col border-r border-border p-5 2xl:p-6",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Filters"}),e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Search, source, and retention controls"})]}),e.jsx(v,{variant:"ghost",size:"icon",onClick:()=>i(!0),"aria-label":"Hide filters",className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:e.jsx(ee,{className:"h-4 w-4"})})]}),e.jsx(E,{className:"min-h-0 flex-1","data-logs-scroll-region":"filters",children:e.jsxs("div",{className:"space-y-5 pr-4",children:[e.jsx(Y,{sources:r.sourcesQuery.data??[],selectedSource:r.selectedSource,onSourceChange:r.setSelectedSource,selectedLevel:r.selectedLevel,onLevelChange:r.setSelectedLevel,search:r.search,onSearchChange:r.setSearch,limit:r.limit,onLimitChange:r.setLimit,onRefresh:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),isRefreshing:r.entriesQuery.isFetching||r.sourcesQuery.isFetching}),e.jsx("div",{className:"border-t border-border/20 pt-5",children:e.jsx(H,{config:p,onSave:g=>s.mutate(g),isPending:s.isPending})})]})})]})}),e.jsx("div",{"data-logs-pane":"entries",className:"flex min-h-0 min-w-0 flex-1 overflow-hidden border-l border-r border-border bg-background/95",children:e.jsx(U,{entries:r.entriesQuery.data??[],selectedEntryId:r.selectedEntryId,onSelect:r.setSelectedEntryId,sourceLabels:t,isLoading:r.entriesQuery.isLoading,isFetching:r.entriesQuery.isFetching})}),e.jsx("div",{"data-logs-pane":"details",style:{width:a?B:We},className:"flex min-h-0 shrink-0 bg-muted/5 shadow-inner",children:a?e.jsx(G,{side:"right",label:"Details",onExpand:()=>m(!1)}):e.jsxs("div",{className:"flex h-full min-h-0 w-full flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/50 bg-background/60 px-3 py-2",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Details"}),e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Selected entry context and raw payload"})]}),e.jsx(v,{variant:"ghost",size:"icon",onClick:()=>m(!0),"aria-label":"Hide details",className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:e.jsx(re,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(V,{entry:r.selectedEntry,sourceLabel:r.selectedEntry?t[r.selectedEntry.source]:void 0})})]})})]}):e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[e.jsx("div",{className:"border-b border-border bg-muted/5 p-5",children:e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsx(Y,{sources:r.sourcesQuery.data??[],selectedSource:r.selectedSource,onSourceChange:r.setSelectedSource,selectedLevel:r.selectedLevel,onLevelChange:r.setSelectedLevel,search:r.search,onSearchChange:r.setSearch,limit:r.limit,onLimitChange:r.setLimit,onRefresh:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),isRefreshing:r.entriesQuery.isFetching||r.sourcesQuery.isFetching}),e.jsx(H,{config:p,onSave:g=>s.mutate(g),isPending:s.isPending})]})}),e.jsx("div",{className:"flex min-h-[32rem] flex-col overflow-hidden border-b border-border bg-background/95",children:e.jsx(U,{entries:r.entriesQuery.data??[],selectedEntryId:r.selectedEntryId,onSelect:r.setSelectedEntryId,sourceLabels:t,isLoading:r.entriesQuery.isLoading,isFetching:r.entriesQuery.isFetching})}),e.jsx("div",{className:"flex min-h-[30rem] flex-col overflow-hidden bg-muted/5 shadow-inner",children:e.jsx(V,{entry:r.selectedEntry,sourceLabel:r.selectedEntry?t[r.selectedEntry.source]:void 0})})]})}),e.jsx(Q,{value:"errors",className:"m-0 flex-1 overflow-y-auto bg-background/20 p-6 focus-visible:outline-none xl:p-8",children:e.jsxs("div",{className:"mx-auto max-w-5xl space-y-8 animate-in fade-in slide-in-from-bottom-4 duration-700",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-[2.5rem] border-2 border-border bg-card/40 p-1.5 shadow-2xl shadow-black/10",children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none [background-image:radial-gradient(circle_at_center,var(--primary)_1px,transparent_0)] [background-size:24px_24px]"}),e.jsx(w,{className:"rounded-[calc(2.5rem-0.375rem)] border-none bg-background/60 shadow-none overflow-hidden backdrop-blur-md",children:e.jsxs(D,{className:"flex flex-col gap-6 p-10",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl border-2 border-primary/20 bg-primary/10 text-primary shadow-inner",children:e.jsx(q,{className:"h-5 w-5"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-black uppercase tracking-[0.4em] text-primary",children:"Legacy Diagnostic Node"}),e.jsx("p",{className:"text-[9px] font-bold uppercase tracking-widest text-muted-foreground/40",children:"CCS-MATRIX-FAILURE-MONITOR"})]})]}),e.jsx("div",{className:"rounded-full border border-border bg-background/50 px-3 py-1 text-[9px] font-black uppercase tracking-widest text-foreground/40 shadow-inner",children:"Mode: Historical"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-3xl font-black uppercase tracking-tighter text-foreground",children:"CLIProxy Failure Analysis"}),e.jsx("p",{className:"max-w-3xl text-[15px] font-medium leading-relaxed text-muted-foreground/60",children:"Maintain oversight of legacy request failures while the unified stream consolidates system-wide telemetry. This view provides direct access to the historical failure matrix for deep-field debugging."})]}),e.jsx("div",{className:"h-px w-full bg-gradient-to-r from-transparent via-border to-transparent opacity-40"})]})})]}),e.jsxs("div",{className:"rounded-[2.5rem] border-2 border-border bg-muted/5 p-8 shadow-inner backdrop-blur-sm",children:[e.jsxs("div",{className:"mb-6 flex items-center gap-3",children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.5)]"}),e.jsx("span",{className:"text-[10px] font-black uppercase tracking-[0.3em] text-foreground/40",children:"Realtime Monitoring Deck"})]}),e.jsx(ue,{})]})]})})]})})]}):null}export{Ze as LogsPage};
|
|
1
|
+
import{j as e}from"./radix-ui-Zb8sVEtn.js";import{r as c,L as de}from"./react-vendor-CNOkPC89.js";import{c as n,L as f,aI as P,r as oe,s as ce,t as me,v as xe,w as S,I as R,d as v,a as k,n as E,Q as J,R as $,U as I,V as Q,Y as _,C as w,j as C,S as u,b as D,bp as ue}from"./index-8bXW-BpK.js";import{a7 as pe,aH as ge,au as he,Q as be,A as O,$ as z,an as A,_ as fe,aE as ve,aZ as je,Y as Ne,ai as ye,L as we,a_ as ke,a6 as Z,Z as M,av as Se,a$ as Ce,i as Le,R as X,d as q,b0 as _e,ah as ee,C as re}from"./icons-DyorC3Xk.js";import{u as F,a as Ee,b as Ie,k as Qe}from"./tanstack-CrmUhA7Z.js";import{t as W}from"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Bcoyqxpq.js";import"./code-highlight-BRUf_pqB.js";function K(r,s){const t=Number.parseInt(r,10);return Number.isNaN(t)?s:Math.max(0,t)}function H({config:r,onSave:s,isPending:t}){const[d,o]=c.useState(r);c.useEffect(()=>{o(r)},[r]);const x=c.useMemo(()=>JSON.stringify(d)!==JSON.stringify(r),[r,d]);return e.jsxs("div",{className:"group relative overflow-hidden rounded-2xl border-2 border-border/60 bg-card/40 p-1 shadow-lg transition-all hover:border-border",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border bg-muted/30 px-5 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-lg bg-primary/5 border border-primary/20",children:e.jsx(pe,{className:"h-3.5 w-3.5 text-primary"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("h3",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground",children:"Logging Policy"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.1em] text-foreground/45",children:"Retention and privacy"})]})]}),e.jsx("div",{className:n("h-1.5 w-1.5 rounded-full",r.enabled?"bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.5)]":"bg-zinc-500")})]}),e.jsxs("div",{className:"space-y-6 p-5",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/50 p-3 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70",children:"Active Status"}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsx("span",{className:n("text-[11px] font-semibold uppercase tracking-[0.1em]",r.enabled?"text-emerald-500":"text-zinc-500"),children:r.enabled?"Live":"Off"})})]}),e.jsxs("div",{className:"rounded-xl border border-border/40 bg-background/50 p-3 flex flex-col gap-1",children:[e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70",children:"Redaction"}),e.jsx("span",{className:n("text-[11px] font-semibold uppercase tracking-[0.1em]",r.redact?"text-primary":"text-muted-foreground/40"),children:r.redact?"Enforced":"Plain"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-border/40 bg-background/20 px-4 py-3 transition-colors hover:bg-background/40",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"logs-enabled",className:"text-[12px] font-semibold uppercase tracking-[0.12em]",children:"Pipeline"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground/55",children:"Enable structured logging"})]}),e.jsx(P,{id:"logs-enabled",checked:d.enabled,onCheckedChange:i=>o(a=>({...a,enabled:i})),className:"data-[state=checked]:bg-primary"})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4 rounded-xl border border-border/40 bg-background/20 px-4 py-3 transition-colors hover:bg-background/40",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(f,{htmlFor:"logs-redact",className:"text-[12px] font-semibold uppercase tracking-[0.12em]",children:"Masking"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground/55",children:"Sanitize payload data"})]}),e.jsx(P,{id:"logs-redact",checked:d.redact,onCheckedChange:i=>o(a=>({...a,redact:i})),className:"data-[state=checked]:bg-primary"})]})]}),e.jsxs("div",{className:"space-y-4 pt-2",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(ge,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{htmlFor:"logs-config-level",className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-foreground/70",children:"Minimum Operational Threshold"})]}),e.jsxs(oe,{value:d.level,onValueChange:i=>o(a=>({...a,level:i})),children:[e.jsx(ce,{id:"logs-config-level",className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 text-[12px] font-semibold uppercase tracking-[0.1em] focus:ring-0",children:e.jsx(me,{})}),e.jsxs(xe,{className:"border-2 border-border bg-card",children:[e.jsx(S,{value:"error",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Error Only"}),e.jsx(S,{value:"warn",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Warn + Above"}),e.jsx(S,{value:"info",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Info + Above"}),e.jsx(S,{value:"debug",className:"text-[11px] font-semibold uppercase tracking-[0.1em]",children:"Full Debug"})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"logs-rotate-mb",className:"px-1 text-[10px] font-semibold uppercase tracking-[0.1em] text-foreground/50",children:"Rotation (MB)"}),e.jsx(R,{id:"logs-rotate-mb",type:"number",min:1,className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 font-mono text-[12px] font-medium focus-visible:ring-0",value:d.rotate_mb,onChange:i=>o(a=>({...a,rotate_mb:K(i.target.value,a.rotate_mb)}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(f,{htmlFor:"logs-retain-days",className:"px-1 text-[10px] font-semibold uppercase tracking-[0.1em] text-foreground/50",children:"Retain (Days)"}),e.jsx(R,{id:"logs-retain-days",type:"number",min:1,className:"h-10 rounded-xl border-2 border-border/40 bg-background/50 font-mono text-[12px] font-medium focus-visible:ring-0",value:d.retain_days,onChange:i=>o(a=>({...a,retain_days:K(i.target.value,a.retain_days)}))})]})]})]}),e.jsxs("div",{className:"flex flex-col gap-2 pt-4 border-t border-border",children:[e.jsxs(v,{onClick:()=>s(d),disabled:!x||t,className:"h-10 w-full gap-2 rounded-xl bg-primary text-[11px] font-semibold uppercase tracking-[0.14em] shadow-lg shadow-primary/20 transition-all hover:scale-[1.02] active:scale-[0.98]",children:[e.jsx(he,{className:"h-3.5 w-3.5"}),"Commit Changes"]}),e.jsxs(v,{variant:"ghost",onClick:()=>o(r),disabled:!x||t,className:"h-9 gap-2 text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/45 hover:text-foreground",children:[e.jsx(be,{className:"h-3 w-3"}),"Rollback Draft"]})]})]}),e.jsxs("div",{className:"flex items-center justify-between bg-muted/20 px-5 py-2",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(O,{className:"h-2.5 w-2.5 text-primary/40"}),e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-foreground/30",children:"Operational Logic v3.4"})]}),x&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("div",{className:"h-1 w-1 rounded-full bg-amber-500 animate-pulse"}),e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-amber-500/70",children:"Pending"})]})]})]})}function Fe(r){if(r==null)return"{}";try{return JSON.stringify(r,null,2)}catch{return String(r)}}function Te(r){switch(r){case"error":return"Error";case"warn":return"Warn";case"info":return"Info";case"debug":return"Debug"}}const Re={error:"border-red-500/30 bg-red-500/10 text-red-700 dark:text-red-300",warn:"border-amber-500/30 bg-amber-500/10 text-amber-700 dark:text-amber-300",info:"border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300",debug:"border-zinc-500/30 bg-zinc-500/10 text-zinc-700 dark:text-zinc-300"};function se({level:r,className:s}){return e.jsx("span",{className:n("inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium uppercase tracking-[0.12em]",Re[r],s),children:Te(r)})}function L({label:r,value:s,icon:t}){return e.jsxs("div",{className:"group relative flex flex-col gap-1.5 rounded-xl border border-border/40 bg-background/40 p-3 transition-all hover:bg-background/80 hover:shadow-lg hover:shadow-black/5",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[t&&e.jsx(t,{className:"h-3 w-3 text-primary/40 group-hover:text-primary transition-colors"}),e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground/70 transition-colors group-hover:text-primary/60",children:r})]}),e.jsx("div",{className:"h-1 w-1 rounded-full bg-border/40 group-hover:bg-primary/40 transition-colors"})]}),e.jsx("p",{className:"truncate font-mono text-[13px] font-medium tracking-tight text-foreground/85 transition-colors group-hover:text-foreground",children:s})]})}function V({entry:r,sourceLabel:s}){const{t}=k();return r?e.jsxs("div",{className:"flex h-full flex-col bg-card/30 backdrop-blur-sm animate-in fade-in slide-in-from-right-4 duration-500",children:[e.jsxs("div",{className:"relative shrink-0 border-b border-border bg-card/60 p-6 shadow-sm overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.03] pointer-events-none [background-image:radial-gradient(circle_at_center,var(--primary)_1px,transparent_0)] [background-size:16px_16px]"}),e.jsxs("div",{className:"relative space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(se,{level:r.level,className:"h-5 px-3 shadow-lg shadow-black/5"}),e.jsx("div",{className:"h-4 w-px bg-border/60"}),e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border bg-background/50 px-3 py-1 shadow-inner",children:[e.jsx(A,{className:"h-3 w-3 text-primary/60"}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/75",children:s??r.source})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(O,{className:"h-3 w-3 animate-pulse text-emerald-500"}),e.jsx("span",{className:"font-mono text-[11px] font-medium uppercase tracking-[0.12em] text-muted-foreground/45",children:new Date(r.timestamp).toLocaleTimeString(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1 w-4 rounded-full bg-primary/40"}),e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary/65",children:"Event"})]}),e.jsx("h2",{className:"text-[24px] font-semibold tracking-tight text-foreground leading-tight break-words",children:r.event}),e.jsx("div",{className:"rounded-xl border-l-4 border-primary/20 bg-muted/20 p-4 shadow-inner",children:e.jsx("p",{className:"text-[14px] font-medium leading-relaxed text-foreground/85 selection:bg-primary/20",children:r.message})})]})]})]}),e.jsx(E,{className:"flex-1",children:e.jsx("div",{className:"p-6",children:e.jsxs(J,{defaultValue:"details",className:"space-y-8",children:[e.jsxs($,{className:"grid h-auto w-full grid-cols-2 gap-1 rounded-xl border border-border/60 bg-muted/40 p-1",children:[e.jsxs(I,{value:"details",className:"min-w-0 gap-2 rounded-lg px-3 py-2 text-[11px] font-semibold uppercase tracking-[0.1em] transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-sm",children:[e.jsx(fe,{className:"h-3.5 w-3.5"}),t("logsDetailPanel.details")]}),e.jsxs(I,{value:"raw",className:"min-w-0 gap-2 rounded-lg px-3 py-2 text-[11px] font-semibold uppercase tracking-[0.1em] transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-sm",children:[e.jsx(ve,{className:"h-3.5 w-3.5"}),"Raw Context"]})]}),e.jsxs(Q,{value:"details",className:"mt-0 space-y-8 animate-in fade-in slide-in-from-bottom-2 duration-500",children:[e.jsxs("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[e.jsx(L,{label:"Entry Signature",value:r.id.slice(0,16)+"...",icon:je}),e.jsx(L,{label:"Telemetry Origin",value:r.source,icon:A}),e.jsx(L,{label:"Process ID",value:r.processId??"NA",icon:Ne}),e.jsx(L,{label:"Operational Run",value:r.runId?.slice(0,8)??"NA",icon:ye})]}),e.jsxs("div",{className:"relative overflow-hidden rounded-[2rem] border border-border bg-muted/10 p-1 shadow-inner group",children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-transparent via-primary/[0.03] to-transparent h-[200%] -top-full animate-[scan_8s_linear_infinite] pointer-events-none"}),e.jsxs("div",{className:"rounded-[calc(2rem-4px)] border border-dashed border-border/40 bg-background/50 p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-primary/5 border border-primary/20 text-primary shadow-inner",children:e.jsx(z,{className:"h-4 w-4"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary",children:"Automated Summary"}),e.jsx("p",{className:"text-[10px] font-medium uppercase tracking-[0.1em] text-muted-foreground/55",children:"Quick interpretation"})]})]}),e.jsxs("p",{className:"text-[13px] leading-relaxed text-muted-foreground/80 font-medium",children:["This telemetry node was captured from"," ",e.jsx("span",{className:"rounded bg-muted/40 px-1.5 py-0.5 font-semibold text-foreground",children:s??r.source}),"operating at the"," ",e.jsx("span",{className:n("rounded px-1.5 py-0.5 text-[11px] font-semibold uppercase tracking-[0.08em]",r.level==="error"?"bg-red-500/10 text-red-500":r.level==="warn"?"bg-amber-500/10 text-amber-500":r.level==="info"?"bg-sky-500/10 text-sky-500":"bg-zinc-500/10 text-zinc-500"),children:r.level})," ","threshold. The operational payload indicates an event state of"," ",e.jsx("span",{className:"font-semibold text-foreground",children:r.event}),"."]})]})]})]}),e.jsx(Q,{value:"raw",className:"mt-0 animate-in fade-in slide-in-from-bottom-2 duration-500",children:e.jsxs("div",{className:"group relative rounded-2xl border-2 border-border bg-zinc-950 p-1 shadow-2xl transition-all hover:border-primary/20",children:[e.jsx("div",{className:"absolute right-4 top-4 z-10 opacity-0 group-hover:opacity-100 transition-opacity",children:e.jsx("div",{className:"rounded-md border border-white/10 bg-white/5 px-2 py-1 text-[9px] font-medium uppercase tracking-[0.12em] text-white/45 backdrop-blur-md",children:"JSON.RAW.MODE"})}),e.jsx(E,{className:"h-[30rem] w-full rounded-xl p-6",children:e.jsx("pre",{className:"font-mono text-[12px] leading-relaxed tracking-tight text-zinc-400 selection:bg-primary/40 selection:text-primary-foreground",children:Fe({id:r.id,timestamp:r.timestamp,level:r.level,source:r.source,event:r.event,message:r.message,processId:r.processId,runId:r.runId,context:r.context??{}})})})]})})]})})}),e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-t border-border bg-muted/5 px-6 py-3",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.5)]"}),e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Node Verified"})]}),e.jsx("div",{className:"h-3 w-px bg-border/40"}),e.jsx("span",{className:"text-[10px] font-medium tabular-nums uppercase tracking-[0.12em] text-foreground/35",children:r.id.slice(0,8)})]}),e.jsx("div",{className:"rounded-full bg-primary/5 px-2 py-0.5 border border-primary/10",children:e.jsx("span",{className:"text-[9px] font-medium uppercase tracking-[0.12em] text-primary/65",children:"CCS-TEC-v3"})})]})]}):e.jsxs("div",{className:"flex h-full flex-col items-center justify-center p-8 text-center animate-in fade-in duration-1000",children:[e.jsxs("div",{className:"relative mb-8",children:[e.jsx("div",{className:"absolute inset-0 animate-ping rounded-full bg-primary/5 p-12"}),e.jsx("div",{className:"relative rounded-full border-2 border-dashed border-border/40 p-10 bg-muted/5",children:e.jsx(z,{className:"h-10 w-10 text-muted-foreground/20"})})]}),e.jsxs("div",{className:"max-w-xs space-y-3",children:[e.jsx("h3",{className:"text-[15px] font-semibold uppercase tracking-[0.14em] text-foreground/65",children:"Inspector Standby"}),e.jsx("p",{className:"text-[13px] leading-relaxed text-muted-foreground/55 font-medium",children:"Select a telemetry node from the active data queue to perform deep analysis of its operational context."})]})]})}function U({entries:r,selectedEntryId:s,onSelect:t,sourceLabels:d,isLoading:o,isFetching:x}){const{t:i}=k();return e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col bg-background/50 backdrop-blur-sm",children:[e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border bg-card/40 px-6 py-3 shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-2 w-2 animate-pulse rounded-full bg-primary shadow-[0_0_12px_rgba(var(--primary),0.6)]"}),e.jsx("h2",{className:"text-[12px] font-semibold uppercase tracking-[0.14em] text-foreground",children:"Live Entry Stream"})]}),e.jsx("div",{className:"h-4 w-px bg-border/60"}),e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-emerald-500/20 bg-emerald-500/10 px-2 py-0.5",children:[e.jsx(O,{className:"h-3 w-3 text-emerald-500"}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-emerald-600",children:"Live telemetry"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[x&&e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-primary/20 bg-primary/10 px-3 py-1",children:[e.jsx(we,{className:"h-3 w-3 animate-spin text-primary"}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.12em] text-primary",children:"Syncing"})]}),e.jsx("span",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.16em] text-foreground/35",children:"NODE.01"})]})]}),e.jsxs("div",{className:"flex items-center gap-0 border-b border-border bg-muted/30 px-0 py-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-foreground/45",children:[e.jsx("div",{className:"w-[6.5rem] shrink-0 px-6",children:i("logsConfig.time")}),e.jsx("div",{className:"w-14 shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.level")}),e.jsx("div",{className:"w-[15rem] shrink-0 border-l border-border/10 px-4",children:i("logsConfig.source")}),e.jsx("div",{className:"flex-1 border-l border-border/10 px-4",children:i("logsConfig.message")}),e.jsx("div",{className:"w-[5.5rem] shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.proc")}),e.jsx("div",{className:"w-[5.5rem] shrink-0 border-l border-border/10 px-3 text-center",children:i("logsConfig.run")}),e.jsx("div",{className:"w-11 shrink-0 border-l border-border/10 px-2 text-center",children:i("logsConfig.open")})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:o?e.jsx("div",{className:"space-y-1 p-2",children:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15].map(a=>e.jsx("div",{className:"h-10 w-full animate-pulse rounded-lg border border-border/5 bg-muted/20"},a))}):r.length===0?e.jsxs("div",{className:"flex h-full animate-in fade-in duration-1000 flex-col items-center justify-center gap-6 px-8 text-center",children:[e.jsxs("div",{className:"relative",children:[e.jsx("div",{className:"absolute inset-0 animate-ping rounded-full bg-muted/5 p-12"}),e.jsx("div",{className:"relative rounded-full border border-dashed border-border/40 bg-muted/5 p-10",children:e.jsx(ke,{className:"h-10 w-10 text-muted-foreground/20"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"text-[13px] font-semibold uppercase tracking-[0.14em] text-foreground/55",children:"No matching entries"}),e.jsx("p",{className:"max-w-[18rem] text-[12px] font-medium leading-relaxed text-muted-foreground/60",children:"Your current source, level, or search filters are hiding the stream. Adjust them to bring entries back into view."})]})]}):e.jsx(E,{className:"h-full",children:e.jsx("div",{className:"flex flex-col",children:r.map(a=>{const m=a.id===s;return e.jsxs("button",{type:"button",onClick:()=>t(a.id),className:n("group relative flex w-full items-center border-b border-border/5 px-0 py-2.5 text-left transition-all duration-150",m?"z-10 bg-primary/[0.08] shadow-[inset_4px_0_0_rgba(var(--primary),1)]":"bg-transparent hover:bg-muted/30"),children:[e.jsx("div",{className:"absolute inset-y-0 left-0 w-1 origin-center scale-y-0 bg-primary transition-transform duration-300 group-hover:scale-y-100"}),e.jsxs("div",{className:"flex w-full items-center gap-0",children:[e.jsx("div",{className:"flex w-[6.5rem] shrink-0 items-center",children:e.jsx("p",{className:n("px-6 font-mono text-[11px] font-semibold tabular-nums transition-colors",m?"text-primary":"text-foreground/60 group-hover:text-foreground"),children:new Date(a.timestamp).toLocaleTimeString(void 0,{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})})}),e.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-0",children:[e.jsx("div",{className:"flex w-14 shrink-0 items-center justify-center opacity-80 transition-opacity group-hover:opacity-100",children:e.jsx(se,{level:a.level,className:"origin-center scale-[0.85]"})}),e.jsxs("div",{className:"flex w-[15rem] shrink-0 flex-col gap-0.5 overflow-hidden px-4",children:[e.jsx("span",{className:n("truncate text-[11px] font-semibold uppercase tracking-[0.12em] transition-colors",m?"text-foreground":"text-foreground/50 group-hover:text-foreground/80"),children:d[a.source]??a.source}),e.jsx("span",{className:"truncate text-[10px] font-medium uppercase tracking-[0.1em] text-muted-foreground/55",children:a.event})]}),e.jsx("div",{className:"min-w-0 flex-1 px-4",children:e.jsx("p",{className:n("truncate text-[13px] font-medium leading-5 transition-colors",m?"text-foreground":"text-foreground/70 group-hover:text-foreground"),children:a.message})}),e.jsx("div",{className:"flex w-[5.5rem] shrink-0 items-center justify-center px-2 font-mono text-[10px] font-semibold tabular-nums tracking-[0.12em] text-foreground/30 transition-colors group-hover:text-primary/45",children:a.processId??"????"}),e.jsx("div",{className:"flex w-[5.5rem] shrink-0 items-center justify-center px-3 font-mono text-[10px] font-semibold tabular-nums tracking-[0.12em] text-foreground/30 transition-colors group-hover:text-primary/45",children:a.runId?.slice(0,4).toUpperCase()??"NONE"}),e.jsx("div",{className:"flex w-11 shrink-0 items-center justify-center px-2",children:e.jsx("div",{className:n("flex h-7 w-7 items-center justify-center rounded-full border transition-all",m?"animate-in zoom-in duration-300 border-primary/20 bg-primary/10 text-primary":"border-transparent text-foreground/20 group-hover:border-border/40 group-hover:bg-background/80 group-hover:text-foreground/55"),children:e.jsx(Z,{className:"h-3.5 w-3.5"})})})]})]})]},a.id)})})})}),e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-t border-border bg-muted/5 px-6 py-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Node: CCS-CORE"}),e.jsx("div",{className:"h-1 w-1 rounded-full bg-border/40"}),e.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:"Status: Operational"})]}),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("span",{className:"text-[10px] font-medium uppercase tracking-[0.12em] text-foreground/35",children:["Entries: ",r.length]})})]})]})}const ae=["logs","config"],te=["logs","sources"],De=150;function Oe(){const[r,s]=c.useState("all"),[t,d]=c.useState("all"),[o,x]=c.useState(""),[i,a]=c.useState(De),[m,p]=c.useState(null),g=c.useDeferredValue(o.trim()),h=F({queryKey:ae,queryFn:async()=>(await _.logs.getConfig()).logging,refetchInterval:3e4}),j=F({queryKey:te,queryFn:async()=>(await _.logs.getSources()).sources,refetchInterval:15e3}),b=F({queryKey:["logs","entries",r,t,g,i],queryFn:async()=>(await _.logs.getEntries({source:r==="all"?void 0:r,level:t==="all"?void 0:t,search:g||void 0,limit:i})).entries,placeholderData:Qe,refetchInterval:1e4}),l=c.useMemo(()=>{const y=b.data??[];return y.length===0?null:m&&y.some(N=>N.id===m)?m:y[0]?.id??null},[b.data,m]),ie=c.useMemo(()=>(b.data??[]).find(y=>y.id===l)??null,[l,b.data]),le=c.useMemo(()=>(j.data??[]).map(N=>N.lastTimestamp).filter(N=>!!N).sort((N,ne)=>ne.localeCompare(N))[0]??null,[j.data]);return{configQuery:h,sourcesQuery:j,entriesQuery:b,selectedSource:r,setSelectedSource:s,selectedLevel:t,setSelectedLevel:d,search:o,setSearch:x,limit:i,setLimit:a,selectedEntryId:l,setSelectedEntryId:p,selectedEntry:ie,latestTimestamp:le,isInitialLoading:!h.data&&h.isLoading||!j.data&&j.isLoading||!b.data&&b.isLoading}}function Pe(){const r=Ee(),{t:s}=k();return Ie({mutationFn:t=>_.logs.updateConfig(t),onSuccess:async()=>{await Promise.all([r.invalidateQueries({queryKey:ae}),r.invalidateQueries({queryKey:te}),r.invalidateQueries({queryKey:["logs","entries"]})]),W.success(s("toasts.loggingConfigSaved"))},onError:t=>{W.error(t.message||s("toasts.loggingConfigSaveFailed"))}})}function ze(){return[{value:"all",label:"All levels"},{value:"error",label:"Errors"},{value:"warn",label:"Warnings"},{value:"info",label:"Info"},{value:"debug",label:"Debug"}]}function Ae(r){return Object.fromEntries(r.map(s=>[s.source,s.label]))}function Y({sources:r,selectedSource:s,onSourceChange:t,selectedLevel:d,onLevelChange:o,search:x,onSearchChange:i,limit:a,onLimitChange:m,onRefresh:p,isRefreshing:g}){const{t:h}=k(),j=ze(),b=[50,100,150,250];return e.jsxs("div",{className:"flex flex-col gap-6 animate-in fade-in slide-in-from-left-2 duration-700",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between px-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.5)]"}),e.jsx(f,{htmlFor:"logs-search",className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Payload Search"})]}),e.jsx(M,{className:"h-3 w-3 text-primary/20"})]}),e.jsxs("div",{className:"group relative",children:[e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-3.5 flex items-center transition-all group-focus-within:translate-x-1",children:e.jsx(Se,{className:"h-3.5 w-3.5 text-foreground/20 group-focus-within:text-primary transition-colors"})}),e.jsx(R,{id:"logs-search","aria-label":"Search",value:x,onChange:l=>i(l.target.value),placeholder:"Scan for patterns...",className:"h-11 rounded-xl border-2 border-border/40 bg-background/50 pl-10 text-[13px] font-medium text-foreground placeholder:text-foreground/35 focus-visible:border-primary/40 focus-visible:ring-0 transition-all shadow-inner"})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(Ce,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Source Matrix"})]}),e.jsxs("div",{className:"flex flex-col gap-1","aria-label":"Source filter",children:[e.jsxs("button",{type:"button",onClick:()=>t("all"),className:n("group relative flex items-center justify-between rounded-lg border px-3 py-2 transition-all active:scale-[0.98]",s==="all"?"border-primary/50 bg-primary/10 text-primary shadow-[0_0_15px_rgba(var(--primary),0.1)]":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.12em]",children:"Global Stream"}),s==="all"&&e.jsx("div",{className:"h-1.5 w-1.5 rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.8)]"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-1 mt-1",children:r.map(l=>e.jsx("button",{type:"button",onClick:()=>t(l.source),className:n("rounded-lg border px-2.5 py-1.5 text-[10px] font-semibold uppercase tracking-[0.1em] transition-all active:scale-[0.97]",s===l.source?"border-primary/50 bg-primary/10 text-primary shadow-sm":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:l.label},l.source))})]})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1",children:[e.jsx(Le,{className:"h-3 w-3 text-primary/40"}),e.jsx(f,{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Sensitivity"})]}),e.jsx("div",{className:"grid grid-cols-2 gap-1.5","aria-label":"Level filter",children:j.map(l=>e.jsxs("button",{type:"button",onClick:()=>o(l.value),className:n("flex flex-col items-center gap-1 rounded-lg border px-2 py-2 text-[10px] font-semibold uppercase tracking-[0.1em] transition-all active:scale-[0.97]",d===l.value?"border-primary/50 bg-primary/10 text-primary shadow-[0_0_15px_rgba(var(--primary),0.1)]":"border-border/40 bg-muted/20 text-foreground/40 hover:border-border hover:bg-muted/40 hover:text-foreground/80"),children:[e.jsx("span",{children:l.label}),e.jsx("div",{className:n("h-0.5 w-4 rounded-full transition-colors",d===l.value?"bg-primary":"bg-foreground/10")})]},l.value))})]}),e.jsx("div",{className:"mt-4 rounded-2xl border-2 border-border bg-card/40 p-1.5 shadow-xl shadow-black/5",children:e.jsxs("div",{className:"rounded-[calc(1rem-2px)] border border-dashed border-border bg-background/60 p-4 space-y-5",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-primary",children:"Operational Window"}),e.jsx("p",{className:"text-[11px] font-medium uppercase tracking-[0.1em] text-foreground/45",children:"Tail Capacity"})]}),e.jsx("div",{className:"h-8 w-8 rounded-lg bg-primary/5 border border-primary/10 flex items-center justify-center",children:e.jsx(M,{className:"h-4 w-4 text-primary/40"})})]}),e.jsx("div",{className:"grid grid-cols-4 gap-1.5","aria-label":"Visible entries",children:b.map(l=>e.jsx("button",{type:"button",onClick:()=>m(l),className:n("rounded-md border py-1.5 text-[11px] font-semibold tabular-nums transition-all active:scale-[0.95]",a===l?"border-foreground bg-foreground text-background":"border-border/60 bg-muted/40 text-foreground/40 hover:bg-muted hover:text-foreground"),children:l},l))}),e.jsxs(v,{variant:"ghost",size:"sm",className:"group relative h-10 w-full overflow-hidden rounded-xl border-none bg-primary text-[11px] font-semibold uppercase tracking-[0.14em] text-primary-foreground transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-primary/20 active:scale-[0.98]",onClick:p,children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-transparent via-white/10 to-transparent -translate-x-full group-hover:translate-x-full transition-transform duration-1000"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(X,{className:n("h-3.5 w-3.5",g&&"animate-spin")}),e.jsx("span",{children:h("logsConfig.refreshEntries")})]})]})]})})]})}function Me(){const{t:r}=k();return e.jsxs("div",{className:"space-y-6","aria-label":r("logsPageSkeleton.loadingLogs"),children:[e.jsx(w,{className:"gap-4",children:e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-4 w-28"}),e.jsx(u,{className:"h-8 w-72"}),e.jsx(u,{className:"h-4 w-[30rem]"})]})}),e.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:[1,2,3,4].map(s=>e.jsx(w,{className:"gap-3",children:e.jsxs(C,{className:"space-y-2",children:[e.jsx(u,{className:"h-4 w-20"}),e.jsx(u,{className:"h-7 w-24"})]})},s))}),e.jsxs("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1.45fr)_22rem]",children:[e.jsxs(w,{className:"gap-4",children:[e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-4 w-52"}),e.jsx("div",{className:"grid gap-3 md:grid-cols-4",children:[1,2,3,4].map(s=>e.jsx(u,{className:"h-10 w-full"},s))})]}),e.jsxs(D,{className:"grid gap-4 xl:grid-cols-[22rem_minmax(0,1fr)]",children:[e.jsx(u,{className:"h-[26rem] w-full"}),e.jsx(u,{className:"h-[26rem] w-full"})]})]}),e.jsxs(w,{className:"gap-4",children:[e.jsxs(C,{className:"space-y-3",children:[e.jsx(u,{className:"h-5 w-44"}),e.jsx(u,{className:"h-4 w-full"})]}),e.jsx(D,{className:"space-y-4",children:[1,2,3,4].map(s=>e.jsx(u,{className:"h-10 w-full"},s))})]})]})]})}const T=1200,qe=336,We=368,B=52;function G({side:r,label:s,onExpand:t}){return e.jsxs("div",{className:n("flex h-full w-full flex-col items-center justify-center gap-4 bg-muted/5",r==="left"?"border-r border-border":"border-l border-border"),children:[e.jsx(v,{variant:"ghost",size:"icon",onClick:t,"aria-label":`Show ${s.toLowerCase()}`,className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:r==="left"?e.jsx(re,{className:"h-4 w-4"}):e.jsx(ee,{className:"h-4 w-4"})}),e.jsx("span",{className:"text-[10px] font-semibold uppercase tracking-[0.14em] text-foreground/45",style:{writingMode:"vertical-rl"},children:s})]})}function Ze(){const r=Oe(),s=Pe(),t=Ae(r.sourcesQuery.data??[]),[d,o]=c.useState(()=>typeof window<"u"?window.innerWidth>=T:!1),[x,i]=c.useState(!1),[a,m]=c.useState(!1);if(c.useEffect(()=>{const g=window.matchMedia(`(min-width: ${T}px)`),h=()=>{o(window.innerWidth>=T)};return h(),g.addEventListener("change",h),()=>g.removeEventListener("change",h)},[]),r.isInitialLoading)return e.jsx(Me,{});const p=r.configQuery.data;return p?e.jsxs("div",{className:"relative flex h-full min-h-full flex-col overflow-hidden border-t border-border/40 bg-background font-sans text-foreground antialiased selection:bg-primary/30 selection:text-primary",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 z-0 opacity-40 [background-image:radial-gradient(circle_at_1px_1px,rgba(38,38,36,0.08)_1px,transparent_0)] [background-size:14px_14px]"}),e.jsxs("div",{className:"relative z-10 flex shrink-0 items-center justify-between border-b border-border/80 bg-card/95 px-6 py-2 backdrop-blur-xl shadow-md transition-all xl:px-8",children:[e.jsxs("div",{className:"flex items-center gap-10",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"group flex h-9 w-9 items-center justify-center rounded-xl border-2 border-primary/20 bg-primary/5 text-primary shadow-inner transition-all hover:scale-110 active:scale-90",children:e.jsx(q,{className:"h-4.5 w-4.5 transition-transform group-hover:rotate-6"})}),e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsxs("div",{className:"flex items-center gap-2.5",children:[e.jsx("span",{className:"rounded-full bg-primary px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.14em] text-primary-foreground shadow-lg shadow-primary/20",children:"Operational"}),e.jsx("h1",{className:"text-[17px] font-semibold tracking-tight text-foreground",children:"Log Operations Center"})]}),e.jsx("p",{className:"font-mono text-[10px] font-medium uppercase tracking-[0.16em] text-foreground/45",children:"CCS.TOC.LOGS.STREAM.v3"})]})]}),e.jsx("div",{className:"hidden h-8 w-px bg-border/80 md:block"}),e.jsxs("div",{className:"hidden items-center gap-10 md:flex",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:n("h-2 w-2 rounded-full ring-4 transition-all duration-700",p.redact?"bg-emerald-500 shadow-[0_0_20px_rgba(16,185,129,0.6)] ring-emerald-500/30":"bg-zinc-600 ring-transparent")}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/90",children:"Redaction"}),e.jsx("span",{className:"text-[11px] font-medium text-foreground/50",children:p.redact?"Enforced":"Standby"})]})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-lg border-2 border-border bg-muted shadow-inner",children:e.jsx(_e,{className:"h-3.5 w-3.5 text-foreground"})}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/90",children:"Retention"}),e.jsxs("span",{className:"text-[11px] font-medium text-foreground/50",children:[p.retain_days,"D / ",p.rotate_mb,"MB"]})]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(v,{variant:"ghost",size:"sm",className:"group h-9 gap-3 rounded-xl border-2 border-border bg-muted px-5 text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground transition-all hover:bg-foreground hover:text-background active:scale-95 shadow-lg shadow-black/5",onClick:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),children:[e.jsxs("div",{className:"relative",children:[e.jsx(X,{className:n("h-3.5 w-3.5 transition-transform duration-500",(r.entriesQuery.isFetching||r.sourcesQuery.isFetching)&&"animate-spin")}),!r.entriesQuery.isFetching&&!r.sourcesQuery.isFetching&&e.jsx("div",{className:"absolute -right-1 -top-1 h-1.5 w-1.5 rounded-full border border-muted bg-primary animate-pulse"})]}),r.entriesQuery.isFetching||r.sourcesQuery.isFetching?"Syncing":"Refresh"]}),e.jsx("div",{className:"h-7 w-px bg-border/80"}),e.jsx(v,{asChild:!0,variant:"ghost",size:"sm",className:"h-9 w-9 rounded-xl border-2 border-border bg-muted p-0 text-foreground transition-all hover:bg-foreground hover:text-background active:scale-95 shadow-lg shadow-black/5",children:e.jsx(de,{to:"/health",children:e.jsx(Z,{className:"h-4 w-4"})})})]})]}),e.jsx("div",{className:"relative z-10 flex min-h-0 flex-1 overflow-hidden",children:e.jsxs(J,{defaultValue:"stream",className:"flex flex-1 flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex shrink-0 items-center justify-between border-b border-border/80 bg-card/80 px-6 py-2 backdrop-blur-xl shadow-inner xl:px-8",children:[e.jsxs($,{className:"h-10 w-auto gap-1.5 rounded-xl border border-border/60 bg-muted/40 p-1",children:[e.jsx(I,{value:"stream",className:"rounded-lg px-5 text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/60 transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-md",children:"Telemetry Stream"}),e.jsx(I,{value:"errors",className:"rounded-lg px-5 text-[11px] font-semibold uppercase tracking-[0.12em] text-foreground/60 transition-all data-[state=active]:bg-background data-[state=active]:text-primary data-[state=active]:shadow-md",children:"Legacy Errors"})]}),e.jsxs("div",{className:"hidden items-center gap-3 lg:flex",children:[e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-border bg-muted px-3 py-1 shadow-inner",children:[e.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-emerald-500 shadow-[0_0_8px_rgba(16,185,129,0.6)]"})]}),e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-tight text-foreground/80",children:"Connected"})]}),e.jsxs("span",{className:"pr-4 text-[11px] font-medium tabular-nums text-foreground/45",children:[r.entriesQuery.data?.length??0," captured"]})]})]}),e.jsx(Q,{value:"stream",className:"m-0 flex min-h-0 flex-1 overflow-y-auto lg:overflow-hidden focus-visible:outline-none",children:d?e.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[e.jsx("div",{"data-logs-pane":"filters",style:{width:x?B:qe},className:"flex min-h-0 shrink-0 bg-muted/5",children:x?e.jsx(G,{side:"left",label:"Filters",onExpand:()=>i(!1)}):e.jsxs("div",{className:"flex h-full min-h-0 w-full flex-col border-r border-border p-5 2xl:p-6",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between gap-3",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Filters"}),e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Search, source, and retention controls"})]}),e.jsx(v,{variant:"ghost",size:"icon",onClick:()=>i(!0),"aria-label":"Hide filters",className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:e.jsx(ee,{className:"h-4 w-4"})})]}),e.jsx(E,{className:"min-h-0 flex-1","data-logs-scroll-region":"filters",children:e.jsxs("div",{className:"space-y-5 pr-4",children:[e.jsx(Y,{sources:r.sourcesQuery.data??[],selectedSource:r.selectedSource,onSourceChange:r.setSelectedSource,selectedLevel:r.selectedLevel,onLevelChange:r.setSelectedLevel,search:r.search,onSearchChange:r.setSearch,limit:r.limit,onLimitChange:r.setLimit,onRefresh:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),isRefreshing:r.entriesQuery.isFetching||r.sourcesQuery.isFetching}),e.jsx("div",{className:"border-t border-border/20 pt-5",children:e.jsx(H,{config:p,onSave:g=>s.mutate(g),isPending:s.isPending})})]})})]})}),e.jsx("div",{"data-logs-pane":"entries",className:"flex min-h-0 min-w-0 flex-1 overflow-hidden border-l border-r border-border bg-background/95",children:e.jsx(U,{entries:r.entriesQuery.data??[],selectedEntryId:r.selectedEntryId,onSelect:r.setSelectedEntryId,sourceLabels:t,isLoading:r.entriesQuery.isLoading,isFetching:r.entriesQuery.isFetching})}),e.jsx("div",{"data-logs-pane":"details",style:{width:a?B:We},className:"flex min-h-0 shrink-0 bg-muted/5 shadow-inner",children:a?e.jsx(G,{side:"right",label:"Details",onExpand:()=>m(!1)}):e.jsxs("div",{className:"flex h-full min-h-0 w-full flex-col",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/50 bg-background/60 px-3 py-2",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-foreground/80",children:"Details"}),e.jsx("p",{className:"text-[11px] text-muted-foreground/70",children:"Selected entry context and raw payload"})]}),e.jsx(v,{variant:"ghost",size:"icon",onClick:()=>m(!0),"aria-label":"Hide details",className:"h-9 w-9 rounded-xl border border-border/70 bg-background/85 shadow-sm",children:e.jsx(re,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-hidden",children:e.jsx(V,{entry:r.selectedEntry,sourceLabel:r.selectedEntry?t[r.selectedEntry.source]:void 0})})]})})]}):e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[e.jsx("div",{className:"border-b border-border bg-muted/5 p-5",children:e.jsxs("div",{className:"flex flex-col gap-6",children:[e.jsx(Y,{sources:r.sourcesQuery.data??[],selectedSource:r.selectedSource,onSourceChange:r.setSelectedSource,selectedLevel:r.selectedLevel,onLevelChange:r.setSelectedLevel,search:r.search,onSearchChange:r.setSearch,limit:r.limit,onLimitChange:r.setLimit,onRefresh:()=>void Promise.all([r.sourcesQuery.refetch(),r.entriesQuery.refetch()]),isRefreshing:r.entriesQuery.isFetching||r.sourcesQuery.isFetching}),e.jsx(H,{config:p,onSave:g=>s.mutate(g),isPending:s.isPending})]})}),e.jsx("div",{className:"flex min-h-[32rem] flex-col overflow-hidden border-b border-border bg-background/95",children:e.jsx(U,{entries:r.entriesQuery.data??[],selectedEntryId:r.selectedEntryId,onSelect:r.setSelectedEntryId,sourceLabels:t,isLoading:r.entriesQuery.isLoading,isFetching:r.entriesQuery.isFetching})}),e.jsx("div",{className:"flex min-h-[30rem] flex-col overflow-hidden bg-muted/5 shadow-inner",children:e.jsx(V,{entry:r.selectedEntry,sourceLabel:r.selectedEntry?t[r.selectedEntry.source]:void 0})})]})}),e.jsx(Q,{value:"errors",className:"m-0 flex-1 overflow-y-auto bg-background/20 p-6 focus-visible:outline-none xl:p-8",children:e.jsxs("div",{className:"mx-auto max-w-5xl space-y-8 animate-in fade-in slide-in-from-bottom-4 duration-700",children:[e.jsxs("div",{className:"relative overflow-hidden rounded-[2.5rem] border-2 border-border bg-card/40 p-1.5 shadow-2xl shadow-black/10",children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.02] pointer-events-none [background-image:radial-gradient(circle_at_center,var(--primary)_1px,transparent_0)] [background-size:24px_24px]"}),e.jsx(w,{className:"rounded-[calc(2.5rem-0.375rem)] border-none bg-background/60 shadow-none overflow-hidden backdrop-blur-md",children:e.jsxs(D,{className:"flex flex-col gap-6 p-10",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-xl border-2 border-primary/20 bg-primary/10 text-primary shadow-inner",children:e.jsx(q,{className:"h-5 w-5"})}),e.jsxs("div",{className:"space-y-0.5",children:[e.jsx("p",{className:"text-[10px] font-black uppercase tracking-[0.4em] text-primary",children:"Legacy Diagnostic Node"}),e.jsx("p",{className:"text-[9px] font-bold uppercase tracking-widest text-muted-foreground/40",children:"CCS-MATRIX-FAILURE-MONITOR"})]})]}),e.jsx("div",{className:"rounded-full border border-border bg-background/50 px-3 py-1 text-[9px] font-black uppercase tracking-widest text-foreground/40 shadow-inner",children:"Mode: Historical"})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("h2",{className:"text-3xl font-black uppercase tracking-tighter text-foreground",children:"CLIProxy Failure Analysis"}),e.jsx("p",{className:"max-w-3xl text-[15px] font-medium leading-relaxed text-muted-foreground/60",children:"Maintain oversight of legacy request failures while the unified stream consolidates system-wide telemetry. This view provides direct access to the historical failure matrix for deep-field debugging."})]}),e.jsx("div",{className:"h-px w-full bg-gradient-to-r from-transparent via-border to-transparent opacity-40"})]})})]}),e.jsxs("div",{className:"rounded-[2.5rem] border-2 border-border bg-muted/5 p-8 shadow-inner backdrop-blur-sm",children:[e.jsxs("div",{className:"mb-6 flex items-center gap-3",children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-primary shadow-[0_0_8px_rgba(var(--primary),0.5)]"}),e.jsx("span",{className:"text-[10px] font-black uppercase tracking-[0.3em] text-foreground/40",children:"Realtime Monitoring Deck"})]}),e.jsx(ue,{})]})]})})]})})]}):null}export{Ze as LogsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as s}from"./radix-ui-Zb8sVEtn.js";import{r}from"./react-vendor-CNOkPC89.js";import{I as i,d as m}from"./index-
|
|
1
|
+
import{j as s}from"./radix-ui-Zb8sVEtn.js";import{r}from"./react-vendor-CNOkPC89.js";import{I as i,d as m}from"./index-8bXW-BpK.js";import{E as l,g as n}from"./icons-DyorC3Xk.js";function f({label:e,...a}){const[t,o]=r.useState(!1);return s.jsxs("div",{className:"space-y-1",children:[e&&s.jsx("label",{className:"text-sm font-medium",children:e}),s.jsxs("div",{className:"relative",children:[s.jsx(i,{type:t?"text":"password",className:"pr-10 font-mono",...a}),s.jsx(m,{type:"button",variant:"ghost",size:"sm",className:"absolute right-0 top-0 h-full px-3",onClick:()=>o(!t),tabIndex:-1,children:t?s.jsx(l,{className:"w-4 h-4"}):s.jsx(n,{className:"w-4 h-4"})})]})]})}export{f as M};
|