@kaitranntt/ccs 7.51.0-dev.12 → 7.51.0-dev.14
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/README.md +7 -1
- package/dist/auth/profile-continuity-inheritance.d.ts.map +1 -1
- package/dist/auth/profile-continuity-inheritance.js +1 -3
- package/dist/auth/profile-continuity-inheritance.js.map +1 -1
- package/dist/cliproxy/auth/oauth-process.d.ts.map +1 -1
- package/dist/cliproxy/auth/oauth-process.js +5 -1
- package/dist/cliproxy/auth/oauth-process.js.map +1 -1
- package/dist/commands/api-command.d.ts.map +1 -1
- package/dist/commands/api-command.js +2 -0
- package/dist/commands/api-command.js.map +1 -1
- package/dist/commands/help-command.d.ts.map +1 -1
- package/dist/commands/help-command.js +5 -1
- package/dist/commands/help-command.js.map +1 -1
- package/dist/errors/error-types.d.ts +8 -0
- package/dist/errors/error-types.d.ts.map +1 -1
- package/dist/errors/error-types.js +13 -1
- package/dist/errors/error-types.js.map +1 -1
- package/dist/shared/provider-preset-catalog.d.ts +1 -1
- package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
- package/dist/shared/provider-preset-catalog.js +19 -1
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/ui/assets/{accounts-C461-bYH.js → accounts-szAllF_0.js} +1 -1
- package/dist/ui/assets/{alert-dialog-DpjPV6hi.js → alert-dialog-DPdKlUG9.js} +1 -1
- package/dist/ui/assets/api-Bq7TnM0v.js +1 -0
- package/dist/ui/assets/{auth-section-a4QIr8Cu.js → auth-section-DYPWbNRj.js} +1 -1
- package/dist/ui/assets/{backups-section-JcABaxvV.js → backups-section-gIWfCGmR.js} +1 -1
- package/dist/ui/assets/{checkbox-DCwR0qqq.js → checkbox-CcX8-GfD.js} +1 -1
- package/dist/ui/assets/{cliproxy-CvT_CrEG.js → cliproxy-SS8eRAX0.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-DwnkIgNd.js → cliproxy-control-panel-Bu0TtDft.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-DY2Ziz3R.js → confirm-dialog-BZj0PYFs.js} +1 -1
- package/dist/ui/assets/{copilot-4Z8LP3vC.js → copilot-DnJj3frU.js} +2 -2
- package/dist/ui/assets/{cursor-DGcuUa4B.js → cursor-rS1S0i_y.js} +1 -1
- package/dist/ui/assets/{droid-C5Rebf4T.js → droid-Dfc2QwbE.js} +2 -2
- package/dist/ui/assets/{globalenv-section-C8zXrVbd.js → globalenv-section-BrHb5lRq.js} +1 -1
- package/dist/ui/assets/{health-B82MeRXO.js → health-B0WQPDXb.js} +1 -1
- package/dist/ui/assets/icons-BYZM_9Gm.js +1 -0
- package/dist/ui/assets/{index-BIAXf19X.js → index-BFTIN2qO.js} +1 -1
- package/dist/ui/assets/{index-z8fzygJg.js → index-BVBXszJi.js} +1 -1
- package/dist/ui/assets/index-DCQkhmoo.js +47 -0
- package/dist/ui/assets/{index-D09dhWOP.js → index-DxKsP0Ke.js} +1 -1
- package/dist/ui/assets/{index-vh-9Yvr6.js → index-LHbr_5SB.js} +1 -1
- package/dist/ui/assets/index-WBo504Wu.css +1 -0
- package/dist/ui/assets/providers/alibabacloud-color.svg +1 -0
- package/dist/ui/assets/{proxy-status-widget-K1IwJ8u6.js → proxy-status-widget-DPXgRGkB.js} +1 -1
- package/dist/ui/assets/{separator-BBQkLglZ.js → separator-DtcqgZIS.js} +1 -1
- package/dist/ui/assets/{shared-bTrmCnMf.js → shared-DPJ_z23p.js} +1 -1
- package/dist/ui/assets/{switch-D9kCIDCe.js → switch-BL5xZtnr.js} +1 -1
- package/dist/ui/assets/{updates-CIkkbMYB.js → updates-B3HKUp7y.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-auth-routes.js +2 -11
- package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.d.ts.map +1 -1
- package/dist/web-server/routes/cliproxy-stats-routes.js +80 -98
- package/dist/web-server/routes/cliproxy-stats-routes.js.map +1 -1
- package/dist/web-server/routes/misc-routes.d.ts.map +1 -1
- package/dist/web-server/routes/misc-routes.js +17 -17
- package/dist/web-server/routes/misc-routes.js.map +1 -1
- package/dist/web-server/routes/profile-routes.d.ts +0 -2
- package/dist/web-server/routes/profile-routes.d.ts.map +1 -1
- package/dist/web-server/routes/profile-routes.js +2 -17
- package/dist/web-server/routes/profile-routes.js.map +1 -1
- package/dist/web-server/routes/proxy-routes.d.ts.map +1 -1
- package/dist/web-server/routes/proxy-routes.js +40 -38
- package/dist/web-server/routes/proxy-routes.js.map +1 -1
- package/dist/web-server/routes/route-helpers.d.ts +15 -0
- package/dist/web-server/routes/route-helpers.d.ts.map +1 -1
- package/dist/web-server/routes/route-helpers.js +41 -3
- package/dist/web-server/routes/route-helpers.js.map +1 -1
- package/dist/web-server/routes/settings-routes.d.ts.map +1 -1
- package/dist/web-server/routes/settings-routes.js +6 -14
- package/dist/web-server/routes/settings-routes.js.map +1 -1
- package/dist/web-server/routes/variant-routes.d.ts +0 -2
- package/dist/web-server/routes/variant-routes.d.ts.map +1 -1
- package/dist/web-server/routes/variant-routes.js +3 -17
- package/dist/web-server/routes/variant-routes.js.map +1 -1
- package/dist/web-server/usage/aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/aggregator.js +9 -1
- package/dist/web-server/usage/aggregator.js.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-syncer.d.ts.map +1 -1
- package/dist/web-server/usage/cliproxy-usage-syncer.js +5 -2
- package/dist/web-server/usage/cliproxy-usage-syncer.js.map +1 -1
- package/dist/web-server/usage/disk-cache.d.ts.map +1 -1
- package/dist/web-server/usage/disk-cache.js +2 -0
- package/dist/web-server/usage/disk-cache.js.map +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/api-DjGF8-45.js +0 -1
- package/dist/ui/assets/icons-kPbuhVdj.js +0 -1
- package/dist/ui/assets/index-Ck953xpy.css +0 -1
- package/dist/ui/assets/index-CsbQfRnG.js +0 -47
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as a,a2 as s,a3 as n}from"./radix-ui-BR1vy4kf.js";import"./react-vendor-CNOkPC89.js";import{c as e}from"./index-
|
|
1
|
+
import{j as a,a2 as s,a3 as n}from"./radix-ui-BR1vy4kf.js";import"./react-vendor-CNOkPC89.js";import{c as e}from"./index-DCQkhmoo.js";function c({className:t,...r}){return a.jsx(s,{"data-slot":"switch",className:e("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",t),...r,children:a.jsx(n,{"data-slot":"switch-thumb",className:e("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}export{c as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as e}from"./radix-ui-BR1vy4kf.js";import{L as P,r as o}from"./react-vendor-CNOkPC89.js";import{a as p,B as y,c as k,d as x,x as E,ba as M,C as g,j,k as N,_ as w,b as v,n as b,bb as z,bc as U,I as B,bd as L}from"./index-CsbQfRnG.js";import{Q as $,N as Q,aO as q,u as G,E as J,z as V,a2 as Y,C as F,aP as H,aj as K}from"./icons-kPbuhVdj.js";import"./tanstack-e99Cjjy2.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Cn_Uld6y.js";import"./code-highlight-BRUf_pqB.js";const W={new:"border-blue-200 bg-blue-50 text-blue-700 dark:border-blue-900/50 dark:bg-blue-900/20 dark:text-blue-300",stable:"border-green-200 bg-green-50 text-green-700 dark:border-green-900/50 dark:bg-green-900/20 dark:text-green-300",planned:"border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-900/50 dark:bg-amber-900/20 dark:text-amber-300"};function X({status:s,className:a}){const{t}=p(),d={new:t("updates.statusNew"),stable:t("updates.statusStable"),planned:t("updates.statusPlanned")};return e.jsx(y,{variant:"outline",className:k("font-medium",W[s],a),children:d[s]})}const I="ccs:updates:notice-progress:v1";function Z(s){return s==="new"?"new":"seen"}function u(s,a){return a[s.id]??Z(s.status)}function A(s){return s!=="done"&&s!=="dismissed"}function ee(){if(typeof window>"u")return{};try{const s=window.localStorage.getItem(I);if(!s)return{};const a=JSON.parse(s);if(!a||typeof a!="object"||Array.isArray(a))return{};const t={};for(const[d,l]of Object.entries(a))typeof d=="string"&&(l==="new"||l==="seen"||l==="done"||l==="dismissed")&&(t[d]=l);return t}catch{return{}}}function se(s){typeof window>"u"||window.localStorage.setItem(I,JSON.stringify(s))}function O({state:s,className:a}){const{t}=p(),d={new:{label:t("updates.progressNeedsAction"),className:"border-amber-300/70 bg-amber-100/70 text-amber-800 dark:border-amber-500/40 dark:bg-amber-500/15 dark:text-amber-300",showDot:!0},seen:{label:t("updates.progressInReview"),className:"border-blue-300/70 bg-blue-100/70 text-blue-800 dark:border-blue-500/40 dark:bg-blue-500/15 dark:text-blue-300"},done:{label:t("updates.progressDone"),className:"border-emerald-300/70 bg-emerald-100/70 text-emerald-800 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-300"},dismissed:{label:t("updates.progressDismissed"),className:"border-muted-foreground/20 bg-muted text-muted-foreground dark:border-muted-foreground/30"}}[s];return e.jsxs(y,{variant:"outline",className:k("gap-1.5 border text-[10px] font-medium",d.className,a),children:[d.showDot&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-current"}),d.label]})}function ae({action:s}){const{t:a}=p();return e.jsxs("div",{className:"rounded-md border bg-muted/20 p-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-0.5",children:[e.jsx("p",{className:"text-sm font-medium",children:s.label}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.description})]}),s.type==="route"&&s.path&&e.jsx(x,{size:"sm",asChild:!0,children:e.jsxs(P,{to:s.path,children:[a("updates.open"),e.jsx($,{className:"h-3.5 w-3.5"})]})})]}),s.type==="command"&&s.command&&e.jsxs("div",{className:"mt-2 flex items-center gap-2 rounded-md border bg-background px-2 py-1.5",children:[e.jsx(Q,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("code",{className:"min-w-0 flex-1 truncate text-[11px]",children:s.command}),e.jsx(E,{value:s.command})]})]})}function re({notice:s,progress:a,relatedEntries:t,onUpdateProgress:d}){const{t:l}=p();return s?e.jsxs("div",{className:"flex-1 min-w-0 bg-background grid grid-rows-[auto_minmax(0,1fr)] overflow-hidden",children:[e.jsxs("div",{className:"border-b bg-background px-4 py-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("h2",{className:"text-base font-semibold leading-tight",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.summary})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[a&&e.jsx(O,{state:a}),e.jsx(X,{status:s.status})]})]}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(q,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:l("updates.published",{date:M(s.publishedAt)})})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs(x,{size:"sm",onClick:()=>d("done"),children:[e.jsx(G,{className:"h-4 w-4"}),l("updates.markDone")]}),e.jsxs(x,{size:"sm",variant:"outline",onClick:()=>d("dismissed"),children:[e.jsx(J,{className:"h-4 w-4"}),l("updates.dismiss")]}),e.jsxs(x,{size:"sm",variant:"ghost",onClick:()=>d("new"),children:[e.jsx(V,{className:"h-4 w-4"}),l("updates.reopen")]})]})]}),e.jsx("div",{className:"min-h-0 p-4",children:e.jsxs("div",{className:"grid h-full gap-4 xl:grid-cols-[minmax(0,1.5fr)_minmax(320px,1fr)] overflow-hidden",children:[e.jsxs(g,{className:"h-full overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"h-4 w-4 text-primary"}),e.jsx(N,{className:"text-base",children:l("updates.doNext")})]}),e.jsx(w,{children:s.primaryAction})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-3",children:s.actions.map(n=>e.jsx(ae,{action:n},`${s.id}-${n.id}`))})})})]}),e.jsxs("div",{className:"grid h-full grid-rows-[minmax(0,1fr)_minmax(0,1fr)] gap-4 overflow-hidden",children:[e.jsxs(g,{className:"overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsx(N,{className:"text-base",children:l("updates.impactedIntegrations")}),e.jsx(w,{children:l("updates.impactedDesc")})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-2",children:t.map(n=>e.jsxs("div",{className:"rounded-md border bg-muted/20 p-2.5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("p",{className:"min-w-0 truncate text-sm font-medium",children:n.name}),e.jsx(y,{variant:"outline",className:"h-5 px-1.5 text-[10px]",children:z[n.scope]})]}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[n.routes[0]&&e.jsx(x,{size:"sm",variant:"outline",asChild:!0,children:e.jsx(P,{to:n.routes[0].path,children:n.routes[0].label})}),n.commands[0]&&e.jsxs("div",{className:"ml-auto flex min-w-0 items-center gap-1.5",children:[e.jsx("code",{className:"truncate rounded bg-background px-1.5 py-0.5 text-[11px]",children:n.commands[0]}),e.jsx(E,{value:n.commands[0]})]})]})]},n.id))})})})]}),e.jsxs(g,{className:"overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsx(N,{className:"text-base",children:l("updates.whyMatters")}),e.jsx(w,{children:l("updates.whyMattersDesc")})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:s.highlights.map(n=>e.jsxs("li",{children:["- ",n]},`${s.id}-${n}`))})})})]})]})]})})]}):e.jsx("div",{className:"flex h-full items-center justify-center rounded-lg border border-dashed bg-muted/20 p-6",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:l("updates.noUpdates")})})}function te({notice:s,progress:a,selected:t,onSelect:d}){return e.jsxs("button",{type:"button",onClick:d,className:k("w-full rounded-lg border px-3 py-3 text-left transition-colors",t?"border-primary/30 bg-primary/10":"border-transparent bg-background/40 hover:border-border hover:bg-muted/70"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:s.title}),e.jsx("p",{className:"line-clamp-2 text-xs text-muted-foreground",children:s.primaryAction})]}),e.jsx(F,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground",children:M(s.publishedAt)}),e.jsx(O,{state:a})]})]})}function de(s,a){return a?[s.title,s.summary,s.primaryAction,...s.highlights,...s.commands,...s.actions.map(d=>`${d.label} ${d.description} ${d.command||""}`),...s.routes.map(d=>d.label)].join(" ").toLowerCase().includes(a):!0}function be(){const{t:s}=p(),a=o.useMemo(()=>[...U].sort((r,i)=>i.publishedAt.localeCompare(r.publishedAt)),[]),[t,d]=o.useState("inbox"),[l,n]=o.useState(""),[c,C]=o.useState(()=>ee()),[S,R]=o.useState(null);o.useEffect(()=>{se(c)},[c]);const h=o.useMemo(()=>{const r=l.trim().toLowerCase();return a.filter(i=>{const f=u(i,c);return de(i,r)?t==="done"?f==="done":t==="inbox"?A(f):!0:!1})},[a,c,l,t]),m=o.useMemo(()=>{const r=t==="all"?a:h;return r.find(i=>i.id===S)??r[0]??null},[a,S,t,h]),T=r=>{R(r.id),C(i=>u(r,i)!=="new"?i:{...i,[r.id]:"seen"})},D=o.useMemo(()=>a.filter(r=>A(u(r,c))).length,[a,c]),_=o.useMemo(()=>a.filter(r=>u(r,c)==="done").length,[a,c]);return e.jsxs("div",{className:"h-[calc(100vh-100px)] flex overflow-hidden",children:[e.jsxs("div",{className:"w-80 border-r bg-muted/30 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:s("updates.inboxTitle")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("updates.inboxSubtitle")})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.needsAction")}),e.jsx("p",{className:"text-base font-semibold",children:D})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.doneCount")}),e.jsx("p",{className:"text-base font-semibold",children:_})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(K,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(B,{value:l,onChange:r=>n(r.target.value),placeholder:s("updates.searchPlaceholder"),className:"h-9 pl-8"})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{id:"inbox",label:s("updates.actionRequired")},{id:"done",label:s("updates.done")},{id:"all",label:s("updates.all")}].map(r=>e.jsx(x,{size:"sm",variant:t===r.id?"default":"outline",onClick:()=>d(r.id),children:r.label},r.id))})]}),e.jsx(b,{className:"flex-1",children:e.jsx("div",{className:"space-y-2 p-2",children:h.length===0?e.jsx("div",{className:"rounded-md border border-dashed p-3 text-xs text-muted-foreground",children:s("updates.noNotices")}):h.map(r=>e.jsx(te,{notice:r,progress:u(r,c),selected:m?.id===r.id,onSelect:()=>T(r)},r.id))})})]}),e.jsx(re,{notice:m,progress:m?u(m,c):null,relatedEntries:m?L(m):[],onUpdateProgress:r=>{m&&C(i=>({...i,[m.id]:r}))}})]})}export{be as UpdatesPage};
|
|
1
|
+
import{j as e}from"./radix-ui-BR1vy4kf.js";import{L as P,r as o}from"./react-vendor-CNOkPC89.js";import{a as p,B as y,c as k,d as x,x as E,ba as M,C as g,j,k as N,_ as w,b as v,n as b,bb as z,bc as U,I as B,bd as L}from"./index-DCQkhmoo.js";import{Q as $,N as Q,aP as q,u as G,E as J,z as V,a2 as Y,C as F,aQ as H,aj as K}from"./icons-BYZM_9Gm.js";import"./tanstack-e99Cjjy2.js";import"./notifications-B2HqRBj7.js";import"./utils-CzKF5WmX.js";import"./form-utils-Cn_Uld6y.js";import"./code-highlight-BRUf_pqB.js";const W={new:"border-blue-200 bg-blue-50 text-blue-700 dark:border-blue-900/50 dark:bg-blue-900/20 dark:text-blue-300",stable:"border-green-200 bg-green-50 text-green-700 dark:border-green-900/50 dark:bg-green-900/20 dark:text-green-300",planned:"border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-900/50 dark:bg-amber-900/20 dark:text-amber-300"};function X({status:s,className:a}){const{t}=p(),d={new:t("updates.statusNew"),stable:t("updates.statusStable"),planned:t("updates.statusPlanned")};return e.jsx(y,{variant:"outline",className:k("font-medium",W[s],a),children:d[s]})}const I="ccs:updates:notice-progress:v1";function Z(s){return s==="new"?"new":"seen"}function u(s,a){return a[s.id]??Z(s.status)}function A(s){return s!=="done"&&s!=="dismissed"}function ee(){if(typeof window>"u")return{};try{const s=window.localStorage.getItem(I);if(!s)return{};const a=JSON.parse(s);if(!a||typeof a!="object"||Array.isArray(a))return{};const t={};for(const[d,l]of Object.entries(a))typeof d=="string"&&(l==="new"||l==="seen"||l==="done"||l==="dismissed")&&(t[d]=l);return t}catch{return{}}}function se(s){typeof window>"u"||window.localStorage.setItem(I,JSON.stringify(s))}function R({state:s,className:a}){const{t}=p(),d={new:{label:t("updates.progressNeedsAction"),className:"border-amber-300/70 bg-amber-100/70 text-amber-800 dark:border-amber-500/40 dark:bg-amber-500/15 dark:text-amber-300",showDot:!0},seen:{label:t("updates.progressInReview"),className:"border-blue-300/70 bg-blue-100/70 text-blue-800 dark:border-blue-500/40 dark:bg-blue-500/15 dark:text-blue-300"},done:{label:t("updates.progressDone"),className:"border-emerald-300/70 bg-emerald-100/70 text-emerald-800 dark:border-emerald-500/40 dark:bg-emerald-500/15 dark:text-emerald-300"},dismissed:{label:t("updates.progressDismissed"),className:"border-muted-foreground/20 bg-muted text-muted-foreground dark:border-muted-foreground/30"}}[s];return e.jsxs(y,{variant:"outline",className:k("gap-1.5 border text-[10px] font-medium",d.className,a),children:[d.showDot&&e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-current"}),d.label]})}function ae({action:s}){const{t:a}=p();return e.jsxs("div",{className:"rounded-md border bg-muted/20 p-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-0.5",children:[e.jsx("p",{className:"text-sm font-medium",children:s.label}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s.description})]}),s.type==="route"&&s.path&&e.jsx(x,{size:"sm",asChild:!0,children:e.jsxs(P,{to:s.path,children:[a("updates.open"),e.jsx($,{className:"h-3.5 w-3.5"})]})})]}),s.type==="command"&&s.command&&e.jsxs("div",{className:"mt-2 flex items-center gap-2 rounded-md border bg-background px-2 py-1.5",children:[e.jsx(Q,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("code",{className:"min-w-0 flex-1 truncate text-[11px]",children:s.command}),e.jsx(E,{value:s.command})]})]})}function re({notice:s,progress:a,relatedEntries:t,onUpdateProgress:d}){const{t:l}=p();return s?e.jsxs("div",{className:"flex-1 min-w-0 bg-background grid grid-rows-[auto_minmax(0,1fr)] overflow-hidden",children:[e.jsxs("div",{className:"border-b bg-background px-4 py-3",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("h2",{className:"text-base font-semibold leading-tight",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s.summary})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[a&&e.jsx(R,{state:a}),e.jsx(X,{status:s.status})]})]}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[e.jsx(q,{className:"h-3.5 w-3.5"}),e.jsx("span",{children:l("updates.published",{date:M(s.publishedAt)})})]}),e.jsxs("div",{className:"mt-3 flex flex-wrap gap-2",children:[e.jsxs(x,{size:"sm",onClick:()=>d("done"),children:[e.jsx(G,{className:"h-4 w-4"}),l("updates.markDone")]}),e.jsxs(x,{size:"sm",variant:"outline",onClick:()=>d("dismissed"),children:[e.jsx(J,{className:"h-4 w-4"}),l("updates.dismiss")]}),e.jsxs(x,{size:"sm",variant:"ghost",onClick:()=>d("new"),children:[e.jsx(V,{className:"h-4 w-4"}),l("updates.reopen")]})]})]}),e.jsx("div",{className:"min-h-0 p-4",children:e.jsxs("div",{className:"grid h-full gap-4 xl:grid-cols-[minmax(0,1.5fr)_minmax(320px,1fr)] overflow-hidden",children:[e.jsxs(g,{className:"h-full overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Y,{className:"h-4 w-4 text-primary"}),e.jsx(N,{className:"text-base",children:l("updates.doNext")})]}),e.jsx(w,{children:s.primaryAction})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-3",children:s.actions.map(n=>e.jsx(ae,{action:n},`${s.id}-${n.id}`))})})})]}),e.jsxs("div",{className:"grid h-full grid-rows-[minmax(0,1fr)_minmax(0,1fr)] gap-4 overflow-hidden",children:[e.jsxs(g,{className:"overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsx(N,{className:"text-base",children:l("updates.impactedIntegrations")}),e.jsx(w,{children:l("updates.impactedDesc")})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("div",{className:"space-y-2",children:t.map(n=>e.jsxs("div",{className:"rounded-md border bg-muted/20 p-2.5",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("p",{className:"min-w-0 truncate text-sm font-medium",children:n.name}),e.jsx(y,{variant:"outline",className:"h-5 px-1.5 text-[10px]",children:z[n.scope]})]}),e.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[n.routes[0]&&e.jsx(x,{size:"sm",variant:"outline",asChild:!0,children:e.jsx(P,{to:n.routes[0].path,children:n.routes[0].label})}),n.commands[0]&&e.jsxs("div",{className:"ml-auto flex min-w-0 items-center gap-1.5",children:[e.jsx("code",{className:"truncate rounded bg-background px-1.5 py-0.5 text-[11px]",children:n.commands[0]}),e.jsx(E,{value:n.commands[0]})]})]})]},n.id))})})})]}),e.jsxs(g,{className:"overflow-hidden",children:[e.jsxs(j,{className:"pb-3",children:[e.jsx(N,{className:"text-base",children:l("updates.whyMatters")}),e.jsx(w,{children:l("updates.whyMattersDesc")})]}),e.jsx(v,{className:"min-h-0",children:e.jsx(b,{className:"h-full pr-2",children:e.jsx("ul",{className:"space-y-2 text-sm text-muted-foreground",children:s.highlights.map(n=>e.jsxs("li",{children:["- ",n]},`${s.id}-${n}`))})})})]})]})]})})]}):e.jsx("div",{className:"flex h-full items-center justify-center rounded-lg border border-dashed bg-muted/20 p-6",children:e.jsx("p",{className:"text-sm text-muted-foreground",children:l("updates.noUpdates")})})}function te({notice:s,progress:a,selected:t,onSelect:d}){return e.jsxs("button",{type:"button",onClick:d,className:k("w-full rounded-lg border px-3 py-3 text-left transition-colors",t?"border-primary/30 bg-primary/10":"border-transparent bg-background/40 hover:border-border hover:bg-muted/70"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0 space-y-1",children:[e.jsx("p",{className:"truncate text-sm font-medium",children:s.title}),e.jsx("p",{className:"line-clamp-2 text-xs text-muted-foreground",children:s.primaryAction})]}),e.jsx(F,{className:"mt-0.5 h-4 w-4 shrink-0 text-muted-foreground"})]}),e.jsxs("div",{className:"mt-2 flex items-center justify-between gap-2",children:[e.jsx("span",{className:"text-[11px] text-muted-foreground",children:M(s.publishedAt)}),e.jsx(R,{state:a})]})]})}function de(s,a){return a?[s.title,s.summary,s.primaryAction,...s.highlights,...s.commands,...s.actions.map(d=>`${d.label} ${d.description} ${d.command||""}`),...s.routes.map(d=>d.label)].join(" ").toLowerCase().includes(a):!0}function be(){const{t:s}=p(),a=o.useMemo(()=>[...U].sort((r,i)=>i.publishedAt.localeCompare(r.publishedAt)),[]),[t,d]=o.useState("inbox"),[l,n]=o.useState(""),[c,C]=o.useState(()=>ee()),[S,T]=o.useState(null);o.useEffect(()=>{se(c)},[c]);const h=o.useMemo(()=>{const r=l.trim().toLowerCase();return a.filter(i=>{const f=u(i,c);return de(i,r)?t==="done"?f==="done":t==="inbox"?A(f):!0:!1})},[a,c,l,t]),m=o.useMemo(()=>{const r=t==="all"?a:h;return r.find(i=>i.id===S)??r[0]??null},[a,S,t,h]),D=r=>{T(r.id),C(i=>u(r,i)!=="new"?i:{...i,[r.id]:"seen"})},O=o.useMemo(()=>a.filter(r=>A(u(r,c))).length,[a,c]),_=o.useMemo(()=>a.filter(r=>u(r,c)==="done").length,[a,c]);return e.jsxs("div",{className:"h-[calc(100vh-100px)] flex overflow-hidden",children:[e.jsxs("div",{className:"w-80 border-r bg-muted/30 flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"p-4 border-b bg-background space-y-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(H,{className:"h-5 w-5 text-primary"}),e.jsx("h1",{className:"font-semibold",children:s("updates.inboxTitle")})]}),e.jsx("p",{className:"text-xs text-muted-foreground",children:s("updates.inboxSubtitle")})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.needsAction")}),e.jsx("p",{className:"text-base font-semibold",children:O})]}),e.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5",children:[e.jsx("p",{className:"text-muted-foreground",children:s("updates.doneCount")}),e.jsx("p",{className:"text-base font-semibold",children:_})]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(K,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(B,{value:l,onChange:r=>n(r.target.value),placeholder:s("updates.searchPlaceholder"),className:"h-9 pl-8"})]}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:[{id:"inbox",label:s("updates.actionRequired")},{id:"done",label:s("updates.done")},{id:"all",label:s("updates.all")}].map(r=>e.jsx(x,{size:"sm",variant:t===r.id?"default":"outline",onClick:()=>d(r.id),children:r.label},r.id))})]}),e.jsx(b,{className:"flex-1",children:e.jsx("div",{className:"space-y-2 p-2",children:h.length===0?e.jsx("div",{className:"rounded-md border border-dashed p-3 text-xs text-muted-foreground",children:s("updates.noNotices")}):h.map(r=>e.jsx(te,{notice:r,progress:u(r,c),selected:m?.id===r.id,onSelect:()=>D(r)},r.id))})})]}),e.jsx(re,{notice:m,progress:m?u(m,c):null,relatedEntries:m?L(m):[],onUpdateProgress:r=>{m&&C(i=>({...i,[m.id]:r}))}})]})}export{be as UpdatesPage};
|
package/dist/ui/index.html
CHANGED
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap"
|
|
25
25
|
rel="stylesheet"
|
|
26
26
|
/>
|
|
27
|
-
<script type="module" crossorigin src="/assets/index-
|
|
27
|
+
<script type="module" crossorigin src="/assets/index-DCQkhmoo.js"></script>
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CNOkPC89.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/radix-ui-BR1vy4kf.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/tanstack-e99Cjjy2.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/notifications-B2HqRBj7.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/icons-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/icons-BYZM_9Gm.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/utils-CzKF5WmX.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/form-utils-Cn_Uld6y.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/code-highlight-BRUf_pqB.js">
|
|
36
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
36
|
+
<link rel="stylesheet" crossorigin href="/assets/index-WBo504Wu.css">
|
|
37
37
|
</head>
|
|
38
38
|
<body>
|
|
39
39
|
<div id="root"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliproxy-auth-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-auth-routes.ts"],"names":[],"mappings":"AAoCA,OAAO,EAKL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"cliproxy-auth-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-auth-routes.ts"],"names":[],"mappings":"AAoCA,OAAO,EAKL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAQ7D,QAAA,MAAM,MAAM,4CAAW,CAAC;AAwBxB,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,cAAc,CAAA;CAAE,GACxC,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAK7E;AAwtBD,eAAe,MAAM,CAAC"}
|
|
@@ -16,20 +16,11 @@ const auth_types_1 = require("../../cliproxy/auth/auth-types");
|
|
|
16
16
|
const provider_capabilities_1 = require("../../cliproxy/provider-capabilities");
|
|
17
17
|
const profile_detector_1 = require("../../auth/profile-detector");
|
|
18
18
|
const antigravity_responsibility_1 = require("../../cliproxy/antigravity-responsibility");
|
|
19
|
+
const route_helpers_1 = require("./route-helpers");
|
|
19
20
|
const router = (0, express_1.Router)();
|
|
20
21
|
// Valid providers list - derived from canonical CLIPROXY_PROFILES
|
|
21
22
|
const validProviders = [...profile_detector_1.CLIPROXY_PROFILES];
|
|
22
|
-
|
|
23
|
-
if (error instanceof Error) {
|
|
24
|
-
console.error(`[cliproxy-auth-routes] ${context}: ${error.message}`);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
console.error(`[cliproxy-auth-routes] ${context}: unknown error`);
|
|
28
|
-
}
|
|
29
|
-
function respondInternalError(res, error, fallbackMessage, statusCode = 500) {
|
|
30
|
-
logRouteError(fallbackMessage, error);
|
|
31
|
-
res.status(statusCode).json({ error: fallbackMessage });
|
|
32
|
-
}
|
|
23
|
+
const { respondInternalError } = (0, route_helpers_1.createRouteErrorHelpers)('cliproxy-auth-routes');
|
|
33
24
|
function parseKiroMethod(raw) {
|
|
34
25
|
if (raw === undefined || raw === null) {
|
|
35
26
|
return { method: (0, auth_types_1.normalizeKiroAuthMethod)(), invalid: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliproxy-auth-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-auth-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cliproxy-auth-routes.js","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-auth-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliproxy-stats-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-stats-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyDH,QAAA,MAAM,MAAM,4CAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cliproxy-stats-routes.d.ts","sourceRoot":"","sources":["../../../src/web-server/routes/cliproxy-stats-routes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyDH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA+7BxB,eAAe,MAAM,CAAC"}
|
|
@@ -57,6 +57,14 @@ function buildQuotaRateLimitKey(req, provider) {
|
|
|
57
57
|
function isQuotaRouteRateLimited(req, provider) {
|
|
58
58
|
const key = buildQuotaRateLimitKey(req, provider);
|
|
59
59
|
const now = Date.now();
|
|
60
|
+
// Evict stale entries to prevent unbounded memory growth
|
|
61
|
+
if (quotaRateLimits.size > 1000) {
|
|
62
|
+
for (const [k, v] of quotaRateLimits) {
|
|
63
|
+
if (now - v.windowStart >= QUOTA_RATE_LIMIT_WINDOW_MS * 2) {
|
|
64
|
+
quotaRateLimits.delete(k);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
60
68
|
const current = quotaRateLimits.get(key);
|
|
61
69
|
if (!current || now - current.windowStart >= QUOTA_RATE_LIMIT_WINDOW_MS) {
|
|
62
70
|
quotaRateLimits.set(key, { windowStart: now, count: 1 });
|
|
@@ -67,9 +75,10 @@ function isQuotaRouteRateLimited(req, provider) {
|
|
|
67
75
|
return current.count > QUOTA_RATE_LIMIT_MAX_REQUESTS;
|
|
68
76
|
}
|
|
69
77
|
/**
|
|
70
|
-
* Cache only stable failures;
|
|
78
|
+
* Cache only stable failures; skip transient network errors (timeouts, 429s, 5xx).
|
|
79
|
+
* Generic across all quota result types.
|
|
71
80
|
*/
|
|
72
|
-
function
|
|
81
|
+
function shouldCacheQuotaResult(result) {
|
|
73
82
|
if (result.success)
|
|
74
83
|
return true;
|
|
75
84
|
if (result.needsReauth || result.isForbidden)
|
|
@@ -77,69 +86,8 @@ function shouldCacheCodexQuotaResult(result) {
|
|
|
77
86
|
const msg = (result.error || '').toLowerCase();
|
|
78
87
|
if (!msg)
|
|
79
88
|
return false;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (msg.includes('rate limited'))
|
|
83
|
-
return false;
|
|
84
|
-
if (msg.includes('api error: 5'))
|
|
85
|
-
return false;
|
|
86
|
-
if (msg.includes('fetch failed'))
|
|
87
|
-
return false;
|
|
88
|
-
return false;
|
|
89
|
-
}
|
|
90
|
-
function shouldCacheGeminiQuotaResult(result) {
|
|
91
|
-
if (result.success)
|
|
92
|
-
return true;
|
|
93
|
-
if (result.needsReauth)
|
|
94
|
-
return true;
|
|
95
|
-
const msg = (result.error || '').toLowerCase();
|
|
96
|
-
if (!msg)
|
|
97
|
-
return false;
|
|
98
|
-
if (msg.includes('timeout'))
|
|
99
|
-
return false;
|
|
100
|
-
if (msg.includes('rate limited'))
|
|
101
|
-
return false;
|
|
102
|
-
if (msg.includes('api error: 5'))
|
|
103
|
-
return false;
|
|
104
|
-
if (msg.includes('fetch failed'))
|
|
105
|
-
return false;
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
function shouldCacheClaudeQuotaResult(result) {
|
|
109
|
-
if (result.success)
|
|
110
|
-
return true;
|
|
111
|
-
if (result.needsReauth)
|
|
112
|
-
return true;
|
|
113
|
-
const msg = (result.error || '').toLowerCase();
|
|
114
|
-
if (!msg)
|
|
115
|
-
return false;
|
|
116
|
-
if (msg.includes('timeout'))
|
|
117
|
-
return false;
|
|
118
|
-
if (msg.includes('rate limited'))
|
|
119
|
-
return false;
|
|
120
|
-
if (msg.includes('api error: 5'))
|
|
121
|
-
return false;
|
|
122
|
-
if (msg.includes('fetch failed'))
|
|
123
|
-
return false;
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
function shouldCacheGhcpQuotaResult(result) {
|
|
127
|
-
if (result.success)
|
|
128
|
-
return true;
|
|
129
|
-
if (result.needsReauth)
|
|
130
|
-
return true;
|
|
131
|
-
const msg = (result.error || '').toLowerCase();
|
|
132
|
-
if (!msg)
|
|
133
|
-
return false;
|
|
134
|
-
if (msg.includes('timeout'))
|
|
135
|
-
return false;
|
|
136
|
-
if (msg.includes('rate limited'))
|
|
137
|
-
return false;
|
|
138
|
-
if (msg.includes('api error: 5'))
|
|
139
|
-
return false;
|
|
140
|
-
if (msg.includes('fetch failed'))
|
|
141
|
-
return false;
|
|
142
|
-
return false;
|
|
89
|
+
const transientPatterns = ['timeout', 'rate limited', 'api error: 5', 'fetch failed'];
|
|
90
|
+
return !transientPatterns.some((p) => msg.includes(p));
|
|
143
91
|
}
|
|
144
92
|
/** Get configured backend from config */
|
|
145
93
|
function getConfiguredBackend() {
|
|
@@ -152,17 +100,18 @@ function getConfiguredBackend() {
|
|
|
152
100
|
}
|
|
153
101
|
}
|
|
154
102
|
/**
|
|
155
|
-
* Extract status code and model from error log file (lightweight parsing)
|
|
156
|
-
* Reads first 4KB for model, last 2KB for status code
|
|
103
|
+
* Extract status code and model from error log file (lightweight parsing).
|
|
104
|
+
* Reads first 4KB for model, last 2KB for status code. Async to avoid blocking event loop.
|
|
157
105
|
*/
|
|
158
106
|
async function extractErrorLogMetadata(filePath) {
|
|
107
|
+
let fh = null;
|
|
159
108
|
try {
|
|
160
|
-
|
|
161
|
-
const stat =
|
|
109
|
+
fh = await fs.promises.open(filePath, 'r');
|
|
110
|
+
const stat = await fh.stat();
|
|
162
111
|
const fileSize = stat.size;
|
|
163
112
|
// Read first 4KB for model (in request body)
|
|
164
113
|
const startBuffer = Buffer.alloc(Math.min(4096, fileSize));
|
|
165
|
-
|
|
114
|
+
await fh.read(startBuffer, 0, startBuffer.length, 0);
|
|
166
115
|
const startContent = startBuffer.toString('utf-8');
|
|
167
116
|
// Extract model from request body JSON: "model":"gemini-3-flash-preview"
|
|
168
117
|
const modelMatch = startContent.match(/"model"\s*:\s*"([^"]+)"/);
|
|
@@ -171,7 +120,7 @@ async function extractErrorLogMetadata(filePath) {
|
|
|
171
120
|
let statusCode;
|
|
172
121
|
if (fileSize > 2048) {
|
|
173
122
|
const endBuffer = Buffer.alloc(2048);
|
|
174
|
-
|
|
123
|
+
await fh.read(endBuffer, 0, 2048, fileSize - 2048);
|
|
175
124
|
const endContent = endBuffer.toString('utf-8');
|
|
176
125
|
const statusMatch = endContent.match(/Status:\s*(\d{3})/);
|
|
177
126
|
statusCode = statusMatch ? parseInt(statusMatch[1], 10) : undefined;
|
|
@@ -181,12 +130,14 @@ async function extractErrorLogMetadata(filePath) {
|
|
|
181
130
|
const statusMatch = startContent.match(/Status:\s*(\d{3})/);
|
|
182
131
|
statusCode = statusMatch ? parseInt(statusMatch[1], 10) : undefined;
|
|
183
132
|
}
|
|
184
|
-
fs.closeSync(fd);
|
|
185
133
|
return { statusCode, model };
|
|
186
134
|
}
|
|
187
135
|
catch {
|
|
188
136
|
return {};
|
|
189
137
|
}
|
|
138
|
+
finally {
|
|
139
|
+
await fh?.close();
|
|
140
|
+
}
|
|
190
141
|
}
|
|
191
142
|
/**
|
|
192
143
|
* Shared handler for stats/usage endpoint
|
|
@@ -214,7 +165,8 @@ const handleStatsRequest = async (_req, res) => {
|
|
|
214
165
|
res.json(stats);
|
|
215
166
|
}
|
|
216
167
|
catch (error) {
|
|
217
|
-
|
|
168
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
169
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
218
170
|
}
|
|
219
171
|
};
|
|
220
172
|
/**
|
|
@@ -236,7 +188,8 @@ router.get('/status', async (_req, res) => {
|
|
|
236
188
|
res.json({ running });
|
|
237
189
|
}
|
|
238
190
|
catch (error) {
|
|
239
|
-
|
|
191
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
192
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
240
193
|
}
|
|
241
194
|
});
|
|
242
195
|
/**
|
|
@@ -270,7 +223,8 @@ router.get('/proxy-status', async (_req, res) => {
|
|
|
270
223
|
}
|
|
271
224
|
}
|
|
272
225
|
catch (error) {
|
|
273
|
-
|
|
226
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
227
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
274
228
|
}
|
|
275
229
|
});
|
|
276
230
|
/**
|
|
@@ -284,7 +238,8 @@ router.post('/proxy-start', async (_req, res) => {
|
|
|
284
238
|
res.json(result);
|
|
285
239
|
}
|
|
286
240
|
catch (error) {
|
|
287
|
-
|
|
241
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
242
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
288
243
|
}
|
|
289
244
|
});
|
|
290
245
|
/**
|
|
@@ -297,7 +252,8 @@ router.post('/proxy-stop', async (_req, res) => {
|
|
|
297
252
|
res.json(result);
|
|
298
253
|
}
|
|
299
254
|
catch (error) {
|
|
300
|
-
|
|
255
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
256
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
301
257
|
}
|
|
302
258
|
});
|
|
303
259
|
/**
|
|
@@ -311,7 +267,8 @@ router.get('/update-check', async (_req, res) => {
|
|
|
311
267
|
res.json(result);
|
|
312
268
|
}
|
|
313
269
|
catch (error) {
|
|
314
|
-
|
|
270
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
271
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
315
272
|
}
|
|
316
273
|
});
|
|
317
274
|
/**
|
|
@@ -341,7 +298,8 @@ router.get('/models', async (_req, res) => {
|
|
|
341
298
|
res.json(modelsResponse);
|
|
342
299
|
}
|
|
343
300
|
catch (error) {
|
|
344
|
-
|
|
301
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
302
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
345
303
|
}
|
|
346
304
|
});
|
|
347
305
|
// ==================== Error Logs ====================
|
|
@@ -382,7 +340,8 @@ router.get('/error-logs', async (_req, res) => {
|
|
|
382
340
|
res.json({ files: filesWithMetadata });
|
|
383
341
|
}
|
|
384
342
|
catch (error) {
|
|
385
|
-
|
|
343
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
344
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
386
345
|
}
|
|
387
346
|
});
|
|
388
347
|
/**
|
|
@@ -415,7 +374,8 @@ router.get('/error-logs/:name', async (req, res) => {
|
|
|
415
374
|
res.type('text/plain').send(content);
|
|
416
375
|
}
|
|
417
376
|
catch (error) {
|
|
418
|
-
|
|
377
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
378
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
419
379
|
}
|
|
420
380
|
});
|
|
421
381
|
// ==================== Config File ====================
|
|
@@ -434,7 +394,8 @@ router.get('/config.yaml', async (_req, res) => {
|
|
|
434
394
|
res.type('text/yaml').send(content);
|
|
435
395
|
}
|
|
436
396
|
catch (error) {
|
|
437
|
-
|
|
397
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
398
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
438
399
|
}
|
|
439
400
|
});
|
|
440
401
|
/**
|
|
@@ -462,7 +423,8 @@ router.put('/config.yaml', async (req, res) => {
|
|
|
462
423
|
res.json({ success: true, path: configPath });
|
|
463
424
|
}
|
|
464
425
|
catch (error) {
|
|
465
|
-
|
|
426
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
427
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
466
428
|
}
|
|
467
429
|
});
|
|
468
430
|
// ==================== Auth Files ====================
|
|
@@ -492,7 +454,8 @@ router.get('/auth-files', async (_req, res) => {
|
|
|
492
454
|
res.json({ files, directory: authDir });
|
|
493
455
|
}
|
|
494
456
|
catch (error) {
|
|
495
|
-
|
|
457
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
458
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
496
459
|
}
|
|
497
460
|
});
|
|
498
461
|
/**
|
|
@@ -523,7 +486,8 @@ router.get('/auth-files/download', async (req, res) => {
|
|
|
523
486
|
res.type('application/octet-stream').send(content);
|
|
524
487
|
}
|
|
525
488
|
catch (error) {
|
|
526
|
-
|
|
489
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
490
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
527
491
|
}
|
|
528
492
|
});
|
|
529
493
|
// ==================== Model Updates ====================
|
|
@@ -535,11 +499,20 @@ router.get('/auth-files/download', async (req, res) => {
|
|
|
535
499
|
router.put('/models/:provider', async (req, res) => {
|
|
536
500
|
try {
|
|
537
501
|
const { provider } = req.params;
|
|
502
|
+
// Validate provider name to prevent path traversal via crafted provider param
|
|
503
|
+
if (!provider || provider.length > 64 || !/^[a-zA-Z0-9_-]+$/.test(provider)) {
|
|
504
|
+
res.status(400).json({ error: 'Invalid provider name' });
|
|
505
|
+
return;
|
|
506
|
+
}
|
|
538
507
|
const { model } = req.body;
|
|
539
508
|
if (!model || typeof model !== 'string') {
|
|
540
509
|
res.status(400).json({ error: 'Missing required field: model' });
|
|
541
510
|
return;
|
|
542
511
|
}
|
|
512
|
+
if (model.length > 256) {
|
|
513
|
+
res.status(400).json({ error: 'Model ID exceeds maximum length (256 characters)' });
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
543
516
|
const deniedReason = (0, model_id_normalizer_1.getDeniedModelIdReasonForProvider)(model, provider);
|
|
544
517
|
if (deniedReason) {
|
|
545
518
|
res.status(400).json({ error: deniedReason });
|
|
@@ -581,7 +554,8 @@ router.put('/models/:provider', async (req, res) => {
|
|
|
581
554
|
res.json({ success: true, provider, model: canonicalModel });
|
|
582
555
|
}
|
|
583
556
|
catch (error) {
|
|
584
|
-
|
|
557
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
558
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
585
559
|
}
|
|
586
560
|
});
|
|
587
561
|
// ==================== Account Quota ====================
|
|
@@ -618,13 +592,14 @@ router.get('/quota/codex/:accountId', async (req, res) => {
|
|
|
618
592
|
// Fetch from external API
|
|
619
593
|
const result = await (0, quota_fetcher_codex_1.fetchCodexQuota)(accountId);
|
|
620
594
|
// Cache successful and stable failure states; skip transient network failures.
|
|
621
|
-
if (
|
|
595
|
+
if (shouldCacheQuotaResult(result)) {
|
|
622
596
|
(0, quota_response_cache_1.setCachedQuota)('codex', accountId, result);
|
|
623
597
|
}
|
|
624
598
|
res.json(result);
|
|
625
599
|
}
|
|
626
600
|
catch (error) {
|
|
627
|
-
|
|
601
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
602
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
628
603
|
}
|
|
629
604
|
});
|
|
630
605
|
/**
|
|
@@ -658,13 +633,14 @@ router.get('/quota/claude/:accountId', async (req, res) => {
|
|
|
658
633
|
// Fetch from external API
|
|
659
634
|
const result = await (0, quota_fetcher_claude_1.fetchClaudeQuota)(accountId);
|
|
660
635
|
// Cache successful and stable failure states; skip transient network failures.
|
|
661
|
-
if (
|
|
636
|
+
if (shouldCacheQuotaResult(result)) {
|
|
662
637
|
(0, quota_response_cache_1.setCachedQuota)('claude', accountId, result);
|
|
663
638
|
}
|
|
664
639
|
res.json(result);
|
|
665
640
|
}
|
|
666
641
|
catch (error) {
|
|
667
|
-
|
|
642
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
643
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
668
644
|
}
|
|
669
645
|
});
|
|
670
646
|
/**
|
|
@@ -698,13 +674,14 @@ router.get('/quota/gemini/:accountId', async (req, res) => {
|
|
|
698
674
|
// Fetch from external API
|
|
699
675
|
const result = await (0, quota_fetcher_gemini_cli_1.fetchGeminiCliQuota)(accountId);
|
|
700
676
|
// Cache successful and stable failure states; skip transient network failures.
|
|
701
|
-
if (
|
|
677
|
+
if (shouldCacheQuotaResult(result)) {
|
|
702
678
|
(0, quota_response_cache_1.setCachedQuota)('gemini', accountId, result);
|
|
703
679
|
}
|
|
704
680
|
res.json(result);
|
|
705
681
|
}
|
|
706
682
|
catch (error) {
|
|
707
|
-
|
|
683
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
684
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
708
685
|
}
|
|
709
686
|
});
|
|
710
687
|
/**
|
|
@@ -738,13 +715,14 @@ router.get('/quota/ghcp/:accountId', async (req, res) => {
|
|
|
738
715
|
// Fetch from GitHub API
|
|
739
716
|
const result = await (0, quota_fetcher_ghcp_1.fetchGhcpQuota)(accountId);
|
|
740
717
|
// Cache successful and stable failure states; skip transient network failures.
|
|
741
|
-
if (
|
|
718
|
+
if (shouldCacheQuotaResult(result)) {
|
|
742
719
|
(0, quota_response_cache_1.setCachedQuota)('ghcp', accountId, result);
|
|
743
720
|
}
|
|
744
721
|
res.json(result);
|
|
745
722
|
}
|
|
746
723
|
catch (error) {
|
|
747
|
-
|
|
724
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
725
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
748
726
|
}
|
|
749
727
|
});
|
|
750
728
|
/**
|
|
@@ -794,7 +772,8 @@ router.get('/quota/:provider/:accountId', async (req, res) => {
|
|
|
794
772
|
res.json(result);
|
|
795
773
|
}
|
|
796
774
|
catch (error) {
|
|
797
|
-
|
|
775
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
776
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
798
777
|
}
|
|
799
778
|
});
|
|
800
779
|
// ==================== Version Management ====================
|
|
@@ -815,7 +794,8 @@ router.get('/versions', async (_req, res) => {
|
|
|
815
794
|
});
|
|
816
795
|
}
|
|
817
796
|
catch (error) {
|
|
818
|
-
|
|
797
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
798
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
819
799
|
}
|
|
820
800
|
});
|
|
821
801
|
/**
|
|
@@ -870,7 +850,8 @@ router.post('/install', async (req, res) => {
|
|
|
870
850
|
});
|
|
871
851
|
}
|
|
872
852
|
catch (error) {
|
|
873
|
-
|
|
853
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
854
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
874
855
|
}
|
|
875
856
|
});
|
|
876
857
|
/**
|
|
@@ -893,7 +874,8 @@ router.post('/restart', async (_req, res) => {
|
|
|
893
874
|
}
|
|
894
875
|
}
|
|
895
876
|
catch (error) {
|
|
896
|
-
|
|
877
|
+
console.error(`[cliproxy-stats] ${error.message}`);
|
|
878
|
+
res.status(500).json({ error: 'Internal server error' });
|
|
897
879
|
}
|
|
898
880
|
});
|
|
899
881
|
exports.default = router;
|