@nextclaw/ui 0.12.20 → 0.12.21
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/CHANGELOG.md +95 -0
- package/dist/assets/api-lwyw9j7i.js +15 -0
- package/dist/assets/{app-manager-provider-BZr5VxCe.js → app-manager-provider-C0ONQxUg.js} +1 -1
- package/dist/assets/{app-navigation.config-BjIj_FLm.js → app-navigation.config-DgiR0c5_.js} +1 -1
- package/dist/assets/{channels-list-page-L6FFtRYn.js → channels-list-page-Dl839n02.js} +1 -1
- package/dist/assets/{chat-ZQIVJChB.js → chat-DwUf7AKR.js} +36 -36
- package/dist/assets/chat-page-B-FvPmA7.js +1 -0
- package/dist/assets/{desktop-update-config-AXzb7OEa.js → desktop-update-config-D5g_gPak.js} +1 -1
- package/dist/assets/{dialog-DgybjpeU.js → dialog-CdtCU2xX.js} +1 -1
- package/dist/assets/{dist-CxcPOISF.js → dist-CuqvE--P.js} +1 -1
- package/dist/assets/{es2015-BVRlEE06.js → es2015-yYU5Ad5w.js} +1 -1
- package/dist/assets/{index-B7RsQ-ne.js → index-Doxyk7L2.js} +2 -2
- package/dist/assets/marketplace-page-BRHkZaO5.js +1 -0
- package/dist/assets/{marketplace-page-ClRW-W3g.js → marketplace-page-CawcdL6Y.js} +1 -1
- package/dist/assets/mcp-marketplace-page-CL7BF4dD.js +1 -0
- package/dist/assets/{mcp-marketplace-page-DtngnIi0.js → mcp-marketplace-page-DEGfJ_70.js} +1 -1
- package/dist/assets/{model-config-D_y8F0j6.js → model-config-r-1RPSrZ.js} +1 -1
- package/dist/assets/{notice-card-uzwjFyML.js → notice-card-BPtCVEKW.js} +1 -1
- package/dist/assets/{popover-C8tMB7tR.js → popover-jbfQhYQh.js} +1 -1
- package/dist/assets/{provider-scoped-model-input-ORZutTDv.js → provider-scoped-model-input-gdk2lmRi.js} +1 -1
- package/dist/assets/{providers-list-DSc3d8me.js → providers-list-DpISIr3M.js} +1 -1
- package/dist/assets/remote-BnRNqMlb.js +1 -0
- package/dist/assets/{runtime-config-page-B4uSax1I.js → runtime-config-page-DQ8YY8Lc.js} +1 -1
- package/dist/assets/{search-config-CaqqlsdW.js → search-config-BWqz8nqY.js} +1 -1
- package/dist/assets/{secrets-config-llf5ROde.js → secrets-config-CjzSNg0Y.js} +1 -1
- package/dist/assets/{select-uO-zhYsH.js → select-Cw5Zkb1w.js} +1 -1
- package/dist/assets/{sessions-config-page-BqOXte9x.js → sessions-config-page-beoDPtII.js} +2 -2
- package/dist/assets/{setting-row-BIiXR4hx.js → setting-row-Cjl2d40s.js} +1 -1
- package/dist/assets/{tag-chip-DVbgpsYW.js → tag-chip-CoWHxYJj.js} +1 -1
- package/dist/assets/{theme-provider-BU77FNSB.js → theme-provider-B5XReW_-.js} +1 -1
- package/dist/assets/{tooltip-CvAtG-kT.js → tooltip-GYzH-Hfq.js} +1 -1
- package/dist/assets/{use-config-D2QgG7qc.js → use-config-BhJHD3-G.js} +1 -1
- package/dist/assets/{use-confirm-dialog-BBClFV8E.js → use-confirm-dialog-Bqgy3Gi-.js} +1 -1
- package/dist/assets/{use-infinite-scroll-loader-CWzpUecQ.js → use-infinite-scroll-loader-BfexitoF.js} +1 -1
- package/dist/assets/{use-viewport-layout-C6EN0_eq.js → use-viewport-layout-D33zVbr5.js} +1 -1
- package/dist/index.html +15 -15
- package/dist/sw.js +4 -7
- package/package.json +9 -9
- package/public/sw.js +4 -7
- package/src/app/hooks/use-app-event-consumers.ts +1 -1
- package/src/features/agents/components/agents-page.test.tsx +34 -19
- package/src/features/agents/components/agents-page.tsx +6 -18
- package/src/features/channels/components/config/channel-form.tsx +6 -2
- package/src/features/chat/index.ts +1 -1
- package/src/features/chat/managers/chat-session-list.manager.test.ts +24 -0
- package/src/features/chat/managers/chat-session-list.manager.ts +7 -0
- package/src/features/pwa/managers/pwa-service-worker-cache.manager.test.ts +16 -0
- package/src/features/system-status/components/desktop-update-config.tsx +1 -1
- package/src/features/system-status/managers/runtime-update.manager.ts +1 -3
- package/src/features/system-status/stores/runtime-update.store.ts +1 -1
- package/src/platforms/desktop/types/desktop-update.types.ts +1 -1
- package/src/shared/components/common/brand-header.tsx +1 -1
- package/src/shared/lib/api/README.md +4 -0
- package/src/shared/lib/api/index.ts +12 -12
- package/src/shared/lib/api/{services/client.service.ts → managers/client.manager.ts} +2 -2
- package/src/shared/lib/api/ncp-session.test.ts +3 -3
- package/src/shared/lib/api/{services/runtime-update.service.ts → runtime-update.utils.ts} +2 -2
- package/src/shared/lib/api/{services/agents.service.ts → utils/agents.utils.ts} +1 -1
- package/src/shared/lib/api/{services/channel-auth.service.ts → utils/channel-auth.utils.ts} +1 -1
- package/src/shared/lib/api/{services/config.service.ts → utils/config.utils.ts} +1 -1
- package/src/shared/lib/api/{services/marketplace.service.ts → utils/marketplace.utils.ts} +1 -1
- package/src/shared/lib/api/{services/mcp-marketplace.service.ts → utils/mcp-marketplace.utils.ts} +1 -1
- package/src/shared/lib/api/{services/ncp-attachments.service.ts → utils/ncp-attachments.utils.ts} +1 -1
- package/src/shared/lib/api/{services/ncp-session.service.ts → utils/ncp-session.utils.ts} +1 -1
- package/src/shared/lib/api/{services/remote.service.ts → utils/remote.utils.ts} +1 -1
- package/src/shared/lib/api/{services/runtime-control.service.ts → utils/runtime-control.utils.ts} +1 -1
- package/src/shared/lib/api/{services/server-path.service.ts → utils/server-path.utils.ts} +1 -1
- package/src/shared/lib/transport/transport.types.ts +1 -1
- package/tsconfig.json +2 -3
- package/vite.config.ts +1 -2
- package/vitest.config.ts +1 -2
- package/dist/assets/api-Dai6UR3J.js +0 -15
- package/dist/assets/chat-page-CR1yI96r.js +0 -1
- package/dist/assets/marketplace-page-Bj55-6F2.js +0 -1
- package/dist/assets/mcp-marketplace-page-_Wu2VnHy.js +0 -1
- package/dist/assets/remote-rWiu3cys.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,i as t,m as n,n as r,p as i,u as a}from"./i18n-C5Mibli1.js";import{Ct as o,Mt as s,Ot as c,gt as l,jt as u,kt as d,wt as f}from"./api-Dai6UR3J.js";import{c as p,l as m,s as h}from"./chunk-JZWAC4HX-u4uYphxM.js";import{a as g,i as _,n as v,o as y,r as b,t as x}from"./dialog-DgybjpeU.js";import{t as S}from"./createLucideIcon-BZkY6emz.js";import{_ as C,m as w,v as T}from"./theme-provider-BU77FNSB.js";import{A as E,C as D,D as O,E as ee,I as te,M as k,N as ne,O as re,P as ie,R as A,S as ae,T as oe,_ as se,a as ce,b as le,c as ue,d as de,f as fe,g as j,h as pe,i as me,j as he,k as ge,l as _e,m as M,n as ve,o as N,p as ye,r as be,s as xe,t as P,u as F,v as I,w as Se,x as Ce,y as we,z as Te}from"./chat-ZQIVJChB.js";import{a as L,i as R,n as z,r as B,t as V}from"./select-uO-zhYsH.js";import{i as Ee,n as H,r as De,t as U}from"./provider-scoped-model-input-ORZutTDv.js";import{t as Oe}from"./refresh-cw-BxojR62w.js";import"./mcp-marketplace-page-DtngnIi0.js";import{t as ke}from"./play-D8WJLnJe.js";import{t as W}from"./plus-Di0KAkiO.js";import{t as G}from"./sparkles-D1ZKWdm4.js";import{t as K}from"./trash-2-rY9ZteZX.js";import{t as q}from"./notice-card-uzwjFyML.js";import{t as Ae}from"./use-viewport-layout-C6EN0_eq.js";import{g as je,m as Me,n as J,o as Ne,p as Pe,r as Y,s as Fe,y as Ie}from"./use-config-D2QgG7qc.js";import{t as Le}from"./index-B7RsQ-ne.js";import{t as Re}from"./tag-chip-DVbgpsYW.js";import{t as X}from"./use-confirm-dialog-BBClFV8E.js";import{t as ze}from"./marketplace-page-ClRW-W3g.js";var Be=S(`Power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Ve=S(`ShieldCheck`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Z=e(n(),1),Q=i(),$=Z.forwardRef(({className:e,...t},n)=>(0,Q.jsx)(`textarea`,{className:a(`flex min-h-28 w-full rounded-xl border border-gray-200/80 bg-white px-3.5 py-2.5 text-sm text-gray-900 placeholder:text-gray-300 placeholder:font-normal focus:outline-none focus:ring-1 focus:ring-primary/40 focus:border-primary/40 transition-colors disabled:cursor-not-allowed disabled:opacity-50`,e),ref:n,...t}));$.displayName=`Textarea`;var He={id:``,displayName:``,description:``,avatar:``,model:``,home:``,runtime:``};function Ue(e){return{displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,model:e.model??``,runtime:e.runtime??e.engine??``}}function We(e){let{runtimeOptions:t,currentRuntime:n}=e,r=n.trim();if(!r)return t;let i=M(r);return t.some(e=>e.value===i)?t:[...t,{value:i,label:j(i),icon:null,ready:!1,reason:`unavailable`,reasonMessage:null,supportedModels:void 0,recommendedModel:null,cta:null}].sort((e,t)=>e.value===`native`?-1:t.value===`native`?1:e.value.localeCompare(t.value))}function Ge({value:e,disabled:n=!1,runtimeOptions:r,defaultRuntime:i,onChange:a}){let o=e.trim()?M(e):``,s=We({runtimeOptions:r,currentRuntime:e}),c=s.find(e=>e.value===o)??null,l=c?.reasonMessage?.trim()||(c?.ready===!1?t(`agentsRuntimeUnavailableHelp`):``);return(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsxs)(V,{value:o||i,onValueChange:e=>a(e===i?``:e),disabled:n,children:[(0,Q.jsx)(R,{"aria-label":t(`agentsCardRuntimeLabel`),className:`rounded-xl`,children:(0,Q.jsx)(L,{placeholder:t(`agentsRuntimeSelectPlaceholder`)})}),(0,Q.jsx)(z,{className:`rounded-xl`,children:s.map(e=>(0,Q.jsx)(B,{value:e.value,disabled:e.ready===!1&&e.value!==o,className:`rounded-lg`,children:e.label},e.value))})]}),l?(0,Q.jsx)(`p`,{className:`text-xs text-gray-500`,children:l}):null]})}function Ke({open:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,Q.jsx)(x,{open:e,onOpenChange:a,children:e||t?(0,Q.jsx)(Je,{pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e?`create-open`:`create-closed`):null})}function qe({agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,Q.jsx)(x,{open:e!==null,onOpenChange:a,children:e?(0,Q.jsx)(Ye,{agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e.id):null})}function Je(e){let{pending:n,providerCatalog:r,runtimeOptions:i,defaultRuntime:a,onOpenChange:o,onSubmit:c}=e,[l,d]=(0,Z.useState)(He);return(0,Q.jsxs)(v,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-[linear-gradient(180deg,#fff9f1_0%,#ffffff_24%)] p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,Q.jsx)(`div`,{className:`shrink-0 border-b border-[#f0e2c8] px-6 py-6`,children:(0,Q.jsxs)(g,{className:`text-left`,children:[(0,Q.jsx)(y,{children:t(`agentsCreateDialogTitle`)}),(0,Q.jsx)(b,{children:t(`agentsCreateDialogDescription`)})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 py-6`,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,Q.jsx)(u,{value:l.id,onChange:e=>d(t=>({...t,id:e.target.value})),placeholder:t(`agentsFormIdPlaceholder`)}),(0,Q.jsx)(u,{value:l.displayName,onChange:e=>d(t=>({...t,displayName:e.target.value})),placeholder:t(`agentsFormNamePlaceholder`)}),(0,Q.jsx)($,{value:l.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:t(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,Q.jsx)(u,{value:l.avatar,onChange:e=>d(t=>({...t,avatar:e.target.value})),placeholder:t(`agentsFormAvatarPlaceholder`)}),(0,Q.jsx)(u,{value:l.home,onChange:e=>d(t=>({...t,home:e.target.value})),placeholder:t(`agentsFormHomePlaceholder`)}),(0,Q.jsx)(U,{value:l.model,onChange:e=>d(t=>({...t,model:e})),providerCatalog:r,disabled:n,className:`md:col-span-2`}),(0,Q.jsx)(Ge,{value:l.runtime,onChange:e=>d(t=>({...t,runtime:e})),runtimeOptions:i,defaultRuntime:a,disabled:n})]}),(0,Q.jsx)(q,{tone:`warning`,title:t(`agentsCreateDialogHint`),className:`text-xs leading-6`})]})}),(0,Q.jsxs)(_,{className:`shrink-0 border-t border-[#f1e7d4] px-6 py-5`,children:[(0,Q.jsx)(s,{type:`button`,variant:`ghost`,onClick:()=>o(!1),disabled:n,children:t(`cancel`)}),(0,Q.jsxs)(s,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>void c(l),disabled:n||l.id.trim().length===0,children:[(0,Q.jsx)(W,{className:`mr-2 h-4 w-4`}),t(`agentsCreateAction`)]})]})]})}function Ye(e){let{agent:n,pending:r,providerCatalog:i,runtimeOptions:a,defaultRuntime:o,onOpenChange:c,onSubmit:l}=e,[d,f]=(0,Z.useState)(Ue(n));return(0,Q.jsxs)(v,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-[linear-gradient(180deg,#fff9f1_0%,#ffffff_24%)] p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,Q.jsx)(`div`,{className:`shrink-0 border-b border-[#f0e2c8] px-6 py-6`,children:(0,Q.jsxs)(g,{className:`text-left`,children:[(0,Q.jsx)(y,{children:t(`agentsEditDialogTitle`)}),(0,Q.jsx)(b,{children:t(`agentsEditDialogDescription`)})]})}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 py-6`,children:(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[(0,Q.jsx)(q,{tone:`warning`,title:t(`agentsEditHomeReadonly`),description:t(`agentsEditHomeReadonlyHint`),children:(0,Q.jsx)(`div`,{className:`break-all text-sm text-amber-950`,children:n.workspace??`-`})}),(0,Q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,Q.jsx)(u,{value:d.displayName,onChange:e=>f(t=>({...t,displayName:e.target.value})),placeholder:t(`agentsFormNamePlaceholder`)}),(0,Q.jsx)($,{value:d.description,onChange:e=>f(t=>({...t,description:e.target.value})),placeholder:t(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,Q.jsx)(u,{value:d.avatar,onChange:e=>f(t=>({...t,avatar:e.target.value})),placeholder:t(`agentsFormAvatarPlaceholder`)}),(0,Q.jsx)(U,{value:d.model,onChange:e=>f(t=>({...t,model:e})),providerCatalog:i,disabled:r,className:`md:col-span-2`}),(0,Q.jsx)(Ge,{value:d.runtime,onChange:e=>f(t=>({...t,runtime:e})),runtimeOptions:a,defaultRuntime:o,disabled:r})]})]})}),(0,Q.jsxs)(_,{className:`shrink-0 border-t border-[#f1e7d4] px-6 py-5`,children:[(0,Q.jsx)(s,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:r,children:t(`cancel`)}),(0,Q.jsxs)(s,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>l(n.id,d),disabled:r,children:[(0,Q.jsx)(A,{className:`mr-2 h-4 w-4`}),t(`agentsEditSaveAction`)]})]})]})}var Xe=[{strip:`bg-[#efc37a]`,chip:`border-[#f2d7a7] bg-[#fff8eb] text-[#8d5a18]`},{strip:`bg-[#8fd4c0]`,chip:`border-[#bde6da] bg-[#effbf7] text-[#156653]`},{strip:`bg-[#b7c9fb]`,chip:`border-[#d7e2ff] bg-[#f4f7ff] text-[#2d4d8f]`}];function Ze(e,t){return t?{strip:`bg-[#e6b765]`,chip:`border-[#f2d19c] bg-[#fff8ec] text-[#90550d]`}:Xe[e%Xe.length]}function Qe(e){let{agentCount:n,onCreate:r}=e;return(0,Q.jsxs)(`section`,{className:`relative overflow-hidden rounded-[28px] border border-[#f0d6aa] bg-[linear-gradient(135deg,#fff7ea_0%,#fff9f1_32%,#f2fbff_100%)] px-5 py-5 sm:px-6`,children:[(0,Q.jsx)(`div`,{className:`absolute inset-y-0 right-0 w-[46%] bg-[radial-gradient(circle_at_top_right,rgba(255,215,163,0.52),transparent_54%)]`}),(0,Q.jsx)(`div`,{className:`absolute -bottom-10 left-8 h-32 w-32 rounded-full bg-[#ffe6c0]/55 blur-3xl`}),(0,Q.jsxs)(`div`,{className:`relative grid gap-5 xl:grid-cols-[minmax(0,1fr)_320px] xl:items-center`,children:[(0,Q.jsxs)(`div`,{className:`max-w-3xl space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`inline-flex items-center gap-2 rounded-full border border-white/70 bg-white/80 px-3 py-1 text-[11px] font-semibold tracking-[0.16em] text-[#9b6118]`,children:[(0,Q.jsx)(G,{className:`h-3.5 w-3.5`}),t(`agentsHeroEyebrow`)]}),(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(`h1`,{className:`max-w-2xl text-[30px] font-semibold leading-tight tracking-[-0.05em] text-[#2f2212] sm:text-[38px]`,children:t(`agentsHeroTitle`)}),(0,Q.jsx)(`p`,{className:`max-w-2xl text-sm leading-6 text-[#6d5841] sm:text-[15px] sm:leading-7`,children:t(`agentsHeroDescription`)})]}),(0,Q.jsx)(`div`,{className:`pt-1`,children:(0,Q.jsxs)(`div`,{className:`inline-flex items-center gap-3 rounded-2xl border border-[#f2d5a4] bg-white/82 px-3 py-2 text-[#7a4d12] shadow-[0_14px_30px_rgba(167,117,47,0.07)]`,children:[(0,Q.jsx)(`span`,{className:`text-[11px] font-semibold tracking-[0.14em]`,children:t(`agentsOverviewTotal`)}),(0,Q.jsx)(`span`,{className:`text-xl font-semibold tracking-[-0.04em] text-[#1f2937]`,children:n})]})})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-3`,children:[(0,Q.jsxs)(s,{type:`button`,variant:`primary`,className:`h-10 rounded-2xl px-5 text-sm font-semibold`,onClick:r,children:[(0,Q.jsx)(W,{className:`mr-2 h-4 w-4`}),t(`agentsCreateButton`)]}),(0,Q.jsx)(q,{title:t(`agentsCreateDialogHint`),className:`border-white/70 bg-white/72 text-xs leading-6 shadow-[0_18px_40px_rgba(167,117,47,0.08)]`})]})]})]})}function $e(e){let{agent:n,index:r,runtimeOptions:i,defaultRuntimeLabel:c,updatePending:l,deletePending:u,onStartChat:d,onEdit:p,onDelete:m}=e,h=Ze(r,!!n.builtIn),g=n.runtime?.trim()||n.engine?.trim()||``,_=g?i.find(e=>e.value===M(g))?.label??j(g):c;return(0,Q.jsxs)(o,{className:`overflow-hidden border border-gray-200 bg-white shadow-sm transition-shadow duration-200 hover:shadow-md`,children:[(0,Q.jsx)(`div`,{className:a(`h-1.5 w-full`,h.strip)}),(0,Q.jsxs)(f,{className:`flex h-full flex-col gap-4 px-4 py-4`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(te,{agentId:n.id,displayName:n.displayName,avatarUrl:n.avatarUrl,className:`h-11 w-11 shrink-0`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1 pt-0.5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`div`,{className:`truncate text-lg font-semibold tracking-[-0.03em] text-[#1f2937]`,children:n.displayName?.trim()||n.id}),n.builtIn?(0,Q.jsxs)(Re,{tone:`warning`,className:a(`gap-1`,h.chip),children:[(0,Q.jsx)(Ve,{className:`h-3 w-3`}),t(`agentsCardBuiltInTag`)]}):null]}),(0,Q.jsxs)(`div`,{className:`text-[11px] font-medium uppercase tracking-[0.18em] text-[#94a3b8]`,children:[`@`,n.id]})]})]}),(0,Q.jsx)(`p`,{className:`text-sm leading-6 text-[#64748b]`,children:n.description?.trim()||(n.builtIn?t(`agentsCardBuiltInSummary`):t(`agentsCardCustomSummary`))}),(0,Q.jsxs)(`div`,{className:`mt-auto flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.18em] text-[#94a3b8]`,children:[(0,Q.jsx)(G,{className:`h-3.5 w-3.5`}),t(`agentsCardRuntimeLabel`)]}),(0,Q.jsx)(`div`,{className:`mt-1.5 text-sm leading-6 text-[#475569]`,children:_})]}),(0,Q.jsxs)(`div`,{className:`border-t border-gray-100 pt-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-semibold uppercase tracking-[0.18em] text-[#94a3b8]`,children:[(0,Q.jsx)(Te,{className:`h-3.5 w-3.5`}),t(`agentsCardHomeLabel`)]}),(0,Q.jsx)(`div`,{className:`mt-1.5 break-all text-sm leading-6 text-[#475569]`,children:n.workspace??`-`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(s,{type:`button`,variant:`primary`,className:`h-9 rounded-xl px-4`,onClick:d,children:[(0,Q.jsx)(w,{className:`mr-2 h-4 w-4`}),t(`agentsCardStartChat`)]}),(0,Q.jsxs)(s,{type:`button`,variant:`ghost`,className:`h-8 rounded-xl px-3 text-xs text-[#7b8794] hover:bg-[#f3f4f6] hover:text-[#475569]`,onClick:p,disabled:l,children:[(0,Q.jsx)(A,{className:`mr-1.5 h-3.5 w-3.5`}),t(`agentsEditAction`)]}),n.builtIn?null:(0,Q.jsxs)(s,{type:`button`,variant:`ghost`,className:`h-8 rounded-xl px-3 text-xs text-[#7b8794] hover:bg-[#f3f4f6] hover:text-[#475569]`,onClick:m,disabled:u,children:[(0,Q.jsx)(K,{className:`mr-1.5 h-3.5 w-3.5`}),t(`agentsRemoveAction`)]})]})]})]})]})}function et(){let e=p(),n=I(),r=J(),i=Y(),a=N(),c=we(),l=Ce(),u=le(),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(null),v=O(e=>e.setSnapshot),y=(0,Z.useMemo)(()=>n.data?.agents??[],[n.data?.agents]),b=(0,Z.useMemo)(()=>[...y].sort((e,t)=>Number(!!t.builtIn)-Number(!!e.builtIn)||e.id.localeCompare(t.id)),[y]),x=(0,Z.useMemo)(()=>H({config:r.data,meta:i.data,onlyConfigured:!0}),[i.data,r.data]),S=(0,Z.useMemo)(()=>ye(a.data?.options??[]),[a.data?.options]),w=(0,Z.useMemo)(()=>M(a.data?.defaultType??`native`),[a.data?.defaultType]),T=(0,Z.useMemo)(()=>S.find(e=>e.value===w)?.label??j(w),[w,S]),E=async e=>{await c.mutateAsync({data:{id:e.id,...e.displayName.trim()?{displayName:e.displayName.trim()}:{},...e.description.trim()?{description:e.description.trim()}:{},...e.avatar.trim()?{avatar:e.avatar.trim()}:{},...e.home.trim()?{home:e.home.trim()}:{},...e.model.trim()?{model:e.model.trim()}:{},...e.runtime.trim()?{runtime:e.runtime.trim()}:{}}}),h(!1)},D=e=>{_(e)},ee=async(e,t)=>{await l.mutateAsync({agentId:e,data:{displayName:t.displayName,description:t.description,avatar:t.avatar,model:t.model,...t.runtime.trim()?{runtime:t.runtime.trim()}:{runtime:``}}}),_(null)},te=t=>{v({selectedAgentId:t.id,selectedSessionKey:null}),k.getState().setSnapshot({pendingSessionType:pe(t,w),pendingProjectRoot:null,pendingProjectRootSessionKey:null}),e(`/chat`)};return(0,Q.jsxs)(d,{className:`space-y-5`,children:[(0,Q.jsx)(Qe,{agentCount:y.length,onCreate:()=>h(!0)}),(0,Q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:n.isLoading?(0,Q.jsx)(o,{className:`md:col-span-2 xl:col-span-3 border-dashed border-[#d9dce3] bg-white/70`,children:(0,Q.jsx)(f,{className:`py-14 text-center text-sm text-gray-500`,children:t(`agentsLoading`)})}):b.length===0?(0,Q.jsx)(o,{className:`md:col-span-2 xl:col-span-3 overflow-hidden border-dashed border-[#d9dce3] bg-[linear-gradient(135deg,#fff7ea_0%,#f4fbff_100%)]`,children:(0,Q.jsxs)(f,{className:`flex min-h-[240px] flex-col items-center justify-center px-6 py-14 text-center`,children:[(0,Q.jsx)(`div`,{className:`mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-white/80 shadow-[0_18px_44px_rgba(0,0,0,0.08)]`,children:(0,Q.jsx)(C,{className:`h-8 w-8 text-[#d39a3b]`})}),(0,Q.jsx)(`div`,{className:`text-lg font-semibold text-[#2f2212]`,children:t(`agentsEmpty`)}),(0,Q.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-[#78644d]`,children:t(`agentsEmptyDescription`)}),(0,Q.jsxs)(s,{type:`button`,variant:`primary`,className:`mt-5 rounded-2xl px-5`,onClick:()=>h(!0),children:[(0,Q.jsx)(W,{className:`mr-2 h-4 w-4`}),t(`agentsCreateButton`)]})]})}):b.map((e,t)=>(0,Q.jsx)($e,{agent:e,index:t,runtimeOptions:S,defaultRuntimeLabel:T,updatePending:l.isPending,deletePending:u.isPending,onStartChat:()=>te(e),onEdit:()=>D(e),onDelete:()=>u.mutate({agentId:e.id})},e.id))}),(0,Q.jsx)(Ke,{open:m,pending:c.isPending,providerCatalog:x,runtimeOptions:S,defaultRuntime:w,onOpenChange:h,onSubmit:E}),(0,Q.jsx)(qe,{agent:g,pending:l.isPending,providerCatalog:x,runtimeOptions:S,defaultRuntime:w,onOpenChange:e=>{!e&&!l.isPending&&_(null)},onSubmit:ee})]})}function tt(e){return r(e??void 0)}function nt(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:r(new Date(e))}function rt(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.round(t/60);if(n<60)return`${n}m`;let r=Math.round(n/60);return r<24?`${r}h`:`${Math.round(r/24)}d`}function it(e){let{schedule:t}=e;return t.kind===`cron`?t.expr?`cron ${t.expr}`:`cron`:t.kind===`every`?`every ${rt(t.everyMs)}`:t.kind===`at`?`at ${nt(t.atMs)}`:`-`}function at(e){return e.payload.deliver?`${e.payload.channel??`-`}:${e.payload.to??`-`}`:`-`}function ot(e){return e.payload.sessionId?.trim()||`cron:${e.id}`}function st(e,t){let n=t.trim().toLowerCase();return n?[e.id,e.name,e.payload.message,e.payload.sessionId??``,e.payload.channel??``,e.payload.to??``].join(` `).toLowerCase().includes(n):!0}function ct(e,t){return t===`all`?!0:t===`enabled`?e.enabled:!e.enabled}function lt(e){let{job:n,onDelete:r,onRun:i,onToggle:c}=e;return(0,Q.jsx)(o,{className:`border border-gray-200`,children:(0,Q.jsx)(f,{className:`pt-5 pb-5`,children:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{className:`min-w-[220px] flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm font-semibold text-gray-900`,children:n.name||n.id}),(0,Q.jsx)(`span`,{className:`rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-semibold text-gray-500`,children:n.id}),(0,Q.jsx)(`span`,{className:a(`rounded-full px-2 py-0.5 text-[10px] font-semibold`,n.enabled?`bg-emerald-50 text-emerald-700`:`bg-gray-100 text-gray-500`),children:n.enabled?t(`enabled`):t(`disabled`)}),n.deleteAfterRun?(0,Q.jsx)(`span`,{className:`rounded-full bg-amber-50 px-2 py-0.5 text-[10px] font-semibold text-amber-700`,children:t(`cronOneShot`)}):null]}),(0,Q.jsxs)(`div`,{className:`mt-2 text-xs text-gray-500`,children:[t(`cronScheduleLabel`),`: `,it(n)]}),(0,Q.jsx)(`div`,{className:`mt-2 whitespace-pre-wrap break-words text-sm text-gray-700`,children:n.payload.message}),(0,Q.jsxs)(`div`,{className:`mt-2 text-xs text-gray-500`,children:[t(`cronSessionLabel`),`: `,ot(n)]}),(0,Q.jsxs)(`div`,{className:`mt-2 text-xs text-gray-500`,children:[t(`cronDeliverTo`),`: `,at(n)]})]}),(0,Q.jsxs)(`div`,{className:`min-w-[220px] space-y-2 text-xs text-gray-500`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-gray-700`,children:[t(`cronNextRun`),`:`]}),` `,tt(n.state.nextRunAt)]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-gray-700`,children:[t(`cronLastRun`),`:`]}),` `,tt(n.state.lastRunAt)]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(`span`,{className:`font-medium text-gray-700`,children:[t(`cronLastStatus`),`:`]}),` `,n.state.lastStatus??`-`]}),n.state.lastError?(0,Q.jsx)(`div`,{className:`break-words text-[11px] text-red-500`,children:n.state.lastError}):null]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-end gap-2`,children:[(0,Q.jsxs)(s,{variant:`subtle`,size:`sm`,onClick:()=>i(n),className:`gap-1`,children:[(0,Q.jsx)(ke,{className:`h-3.5 w-3.5`}),t(`cronRunNow`)]}),(0,Q.jsxs)(s,{variant:n.enabled?`outline`:`primary`,size:`sm`,onClick:()=>c(n),className:`gap-1`,children:[(0,Q.jsx)(Be,{className:`h-3.5 w-3.5`}),n.enabled?t(`cronDisable`):t(`cronEnable`)]}),(0,Q.jsxs)(s,{variant:`destructive`,size:`sm`,onClick:()=>r(n),className:`gap-1`,children:[(0,Q.jsx)(K,{className:`h-3.5 w-3.5`}),t(`delete`)]})]})]})})})}function ut(){let[e,n]=(0,Z.useState)(``),[r,i]=(0,Z.useState)(`all`),o=Ne({all:!0}),l=Fe(),f=Ie(),p=je(),{confirm:m,ConfirmDialog:h}=X(),g=(0,Z.useMemo)(()=>(o.data?.jobs??[]).filter(t=>st(t,e)).filter(e=>ct(e,r)),[o.data,e,r]),_=async e=>{await m({title:`${t(`cronDeleteConfirm`)}?`,description:e.name?`${e.name} (${e.id})`:e.id,variant:`destructive`,confirmLabel:t(`delete`)})&&l.mutate({id:e.id})},v=async e=>{let n=!e.enabled;await m({title:n?`${t(`cronEnableConfirm`)}?`:`${t(`cronDisableConfirm`)}?`,description:e.name?`${e.name} (${e.id})`:e.id,variant:n?`default`:`destructive`,confirmLabel:t(n?`cronEnable`:`cronDisable`)})&&f.mutate({id:e.id,enabled:n})},y=async e=>{let n=!e.enabled;await m({title:n?`${t(`cronRunForceConfirm`)}?`:`${t(`cronRunConfirm`)}?`,description:e.name?`${e.name} (${e.id})`:e.id,confirmLabel:t(`cronRunNow`)})&&p.mutate({id:e.id,force:n})};return(0,Q.jsxs)(d,{fullHeight:!0,children:[(0,Q.jsx)(c,{title:t(`cronPageTitle`),description:t(`cronPageDescription`),actions:(0,Q.jsx)(s,{variant:`ghost`,size:`icon`,className:`h-9 w-9 rounded-lg text-gray-400 hover:text-gray-700 hover:bg-gray-100`,onClick:()=>o.refetch(),children:(0,Q.jsx)(Oe,{className:a(`h-4 w-4`,o.isFetching&&`animate-spin`)})})}),(0,Q.jsx)(`div`,{className:`mb-6`,children:(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-3 items-center`,children:[(0,Q.jsxs)(`div`,{className:`relative flex-1 min-w-[240px]`,children:[(0,Q.jsx)(u,{value:e,onChange:e=>n(e.target.value),placeholder:t(`cronSearchPlaceholder`),className:`pl-9`}),(0,Q.jsx)(T,{className:`absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400`})]}),(0,Q.jsx)(`div`,{className:`min-w-[180px]`,children:(0,Q.jsxs)(V,{value:r,onValueChange:e=>i(e),children:[(0,Q.jsx)(R,{className:`w-full`,children:(0,Q.jsx)(L,{placeholder:t(`cronStatusLabel`)})}),(0,Q.jsxs)(z,{children:[(0,Q.jsx)(B,{value:`all`,children:t(`cronStatusAll`)}),(0,Q.jsx)(B,{value:`enabled`,children:t(`cronStatusEnabled`)}),(0,Q.jsx)(B,{value:`disabled`,children:t(`cronStatusDisabled`)})]})]})}),(0,Q.jsxs)(`div`,{className:`text-xs text-gray-500 ml-auto`,children:[t(`cronTotalLabel`),`: `,o.data?.total??0,` / `,g.length]})]})}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-auto custom-scrollbar`,children:o.isLoading?(0,Q.jsx)(`div`,{className:`text-sm text-gray-400 p-4 text-center`,children:t(`cronLoading`)}):g.length===0?(0,Q.jsx)(`div`,{className:`text-sm text-gray-400 p-4 text-center`,children:t(`cronEmpty`)}):(0,Q.jsx)(`div`,{className:`space-y-4`,children:g.map(e=>(0,Q.jsx)(lt,{job:e,onDelete:_,onRun:y,onToggle:v},e.id))})}),(0,Q.jsx)(h,{})]})}function dt(e){let{view:t,routeSessionKey:n,selectedSessionKey:r,setSelectedSessionKey:i,selectedSessionKeyRef:a,resetStreamState:o}=e;(0,Z.useEffect)(()=>{if(t===`chat`){if(n){r!==n&&i(n);return}r!==null&&(i(null),o())}},[o,n,r,i,t]),(0,Z.useEffect)(()=>{a.current=r},[r,a])}function ft({view:e,confirmDialog:t}){let{isMobile:n}=Ae();return(0,Q.jsxs)(`div`,{className:`h-full flex`,children:[n?null:(0,Q.jsx)(_e,{}),e===`chat`?n?(0,Q.jsx)(Le,{}):(0,Q.jsx)(fe,{}):(0,Q.jsx)(`section`,{className:`flex-1 min-h-0 overflow-hidden bg-gradient-to-b from-gray-50/60 to-white`,children:e===`cron`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto custom-scrollbar`,children:(0,Q.jsx)(`div`,{className:`mx-auto w-full max-w-[min(1120px,100%)] px-4 py-4 sm:px-6 sm:py-5`,children:(0,Q.jsx)(ut,{})})}):e===`agents`?(0,Q.jsx)(`div`,{className:`h-full overflow-auto custom-scrollbar`,children:(0,Q.jsx)(`div`,{className:`mx-auto w-full max-w-[min(1180px,100%)] px-4 py-4 sm:px-6 sm:py-5`,children:(0,Q.jsx)(et,{})})}):(0,Q.jsx)(`div`,{className:`h-full overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`mx-auto flex h-full min-h-0 w-full max-w-[min(1120px,100%)] flex-col px-4 py-4 sm:px-6 sm:py-5`,children:(0,Q.jsx)(ze,{forcedType:`skills`})})})}),t]})}function pt(e,t){return e.filter(e=>de(e,t))}function mt(e){let{config:t,meta:n}=e;return(0,Z.useMemo)(()=>{let e=H({meta:n,config:t,onlyConfigured:!0}),r=new Set,i=[];for(let t of e)for(let e of t.models){let n=De(t.prefix,e);!n||r.has(n)||(r.add(n),i.push({value:n,modelLabel:e,providerLabel:t.displayName,thinkingCapability:Ee(t.modelThinking,e,t.aliases)}))}return i.sort((e,t)=>{let n=e.providerLabel.localeCompare(t.providerLabel);return n===0?e.modelLabel.localeCompare(t.modelLabel):n})},[t,n])}function ht(e){let{sessions:t,sessionKey:n,sessionType:r}=e;return{recentSessionPreferredModel:(0,Z.useMemo)(()=>P({sessions:t,selectedSessionKey:n,sessionType:r,readPreference:e=>e.preferredModel?.trim()||void 0}),[n,r,t]),recentSessionPreferredThinking:(0,Z.useMemo)(()=>P({sessions:t,selectedSessionKey:n,sessionType:r,readPreference:e=>e.preferredThinking??void 0}),[n,r,t])}}function gt(e){let{currentSelectedModel:t,modelOptions:n}=e,r=(0,Z.useMemo)(()=>n.find(e=>e.value===t),[t,n]);return{supportedThinkingLevels:(0,Z.useMemo)(()=>r?.thinkingCapability?.supported??[],[r?.thinkingCapability?.supported]),defaultThinkingLevel:(0,Z.useMemo)(()=>r?.thinkingCapability?.default??null,[r?.thinkingCapability?.default])}}function _t(e){let{modelOptions:t,supportedModels:n}=e;if(!n||n.length===0)return t;let r=new Set(n),i=t.filter(e=>r.has(e.value));return i.length>0?i:t}function vt(e){let{currentSelectedModel:t,pendingSessionType:n,projectRootOverride:r,query:i,sessionKey:a,setPendingSessionType:o,setSelectedModel:s,setSelectedThinkingLevel:c}=e,l=J(),u=Y(),d=Me({limit:200}),f=N(),p=Pe({sessionId:a,...Object.prototype.hasOwnProperty.call(e,`projectRootOverride`)?{projectRoot:r??null}:{}}),m=(l.isFetched||l.isSuccess)&&(u.isFetched||u.isSuccess),h=mt({config:l.data,meta:u.data}),g=(0,Z.useMemo)(()=>d.data?.sessions??[],[d.data?.sessions]),_=(0,Z.useMemo)(()=>re(g),[g]),v=(0,Z.useMemo)(()=>pt(_,i),[_,i]),y=(0,Z.useMemo)(()=>_.find(e=>e.key===a)??null,[_,a]),b=(0,Z.useMemo)(()=>p.data?.records??[],[p.data?.records]),x=se({selectedSession:y,pendingSessionType:n,setPendingSessionType:o,sessionTypesData:f.data}),S=(0,Z.useMemo)(()=>_t({modelOptions:h,supportedModels:x.selectedSessionTypeOption?.supportedModels}),[h,x.selectedSessionTypeOption?.supportedModels]),{recentSessionPreferredModel:C,recentSessionPreferredThinking:w}=ht({sessions:_,sessionKey:a,sessionType:x.selectedSessionType}),{supportedThinkingLevels:T,defaultThinkingLevel:E}=gt({currentSelectedModel:t,modelOptions:S});return ve({modelOptions:S,selectedSessionKey:a,selectedSessionExists:!!y,selectedSessionPreferredModel:y?.preferredModel,fallbackPreferredModel:x.selectedSessionTypeOption?.recommendedModel??C,defaultModel:x.selectedSessionTypeOption?.recommendedModel??l.data?.agents.defaults.model,setSelectedModel:s}),be({supportedThinkingLevels:T,selectedSessionKey:a,selectedSessionExists:!!y,selectedSessionPreferredThinking:y?.preferredThinking??null,fallbackPreferredThinking:w??null,defaultThinkingLevel:E,setSelectedThinkingLevel:c}),{configQuery:l,configMetaQuery:u,sessionsQuery:d,sessionTypesQuery:f,sessionSkillsQuery:p,isProviderStateResolved:m,modelOptions:S,sessionSummaries:g,sessions:v,skillRecords:b,selectedSession:y,...x}}function yt(e){return e.parentSessionKey?e.sessionSummaries.map(ge).filter(t=>t.parentSessionId===e.parentSessionKey).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt)).map(e=>({sessionKey:e.key,parentSessionKey:e.parentSessionId??null,label:e.label??null,agentId:e.agentId??null})):[]}function bt(e){let{availableAgents:t,parentSessionId:n,selectedAgentId:r,selectedSession:i,selectedSessionType:a,sessionKey:o,sessionSummaries:s,sessionTypeOptions:c}=e,l=i?F(i):void 0,u=i?.agentId??r,d=t.find(e=>e.id===u)??null,f=(0,Z.useMemo)(()=>{if(!n)return null;let e=s.find(e=>e.sessionId===n)??null;return e?ge(e):null},[n,s]),p=c.find(e=>e.value===a)??null;return{currentSessionDisplayName:l,currentAgentId:u,currentAgent:d,parentSession:f,currentSessionTypeLabel:p?.label??j(a),currentSessionTypeIcon:p?.icon??null,currentChildSessionTabs:(0,Z.useMemo)(()=>yt({parentSessionKey:o,sessionSummaries:s}),[o,s])}}function xt(e){(0,Z.useEffect)(()=>{e.presenter.chatInputManager.syncSnapshot({isProviderStateResolved:e.isProviderStateResolved,defaultSessionType:e.defaultSessionType,canStopGeneration:e.canStopCurrentRun,stopDisabledReason:e.stopDisabledReason,stopSupported:!0,stopReason:void 0,sendError:e.lastSendError,isSending:e.isSending,modelOptions:e.modelOptions,sessionTypeOptions:e.sessionTypeOptions,selectedSessionType:e.selectedSessionType,canEditSessionType:e.canEditSessionType,sessionTypeUnavailable:e.sessionTypeUnavailable,skillRecords:e.skillRecords,isSkillsLoading:e.isSkillsLoading}),e.presenter.chatThreadManager.syncSnapshot({isProviderStateResolved:e.isProviderStateResolved,modelOptions:e.modelOptions,sessionTypeUnavailable:e.sessionTypeUnavailable,sessionTypeUnavailableMessage:e.sessionTypeUnavailableMessage,sessionTypeLabel:e.currentSessionTypeLabel,sessionTypeIcon:e.currentSessionTypeIcon,sessionKey:e.sessionKey,agentId:e.currentAgentId,agentDisplayName:e.currentAgent?.displayName??null,agentAvatarUrl:e.currentAgent?.avatarUrl??null,availableAgents:e.availableAgents,sessionDisplayName:e.currentSessionDisplayName,sessionProjectRoot:e.effectiveSessionProjectRoot,sessionProjectName:e.effectiveSessionProjectName,canDeleteSession:!!e.selectedSession,threadRef:e.threadRef,isHistoryLoading:e.agent.isHydrating,messages:e.agent.visibleMessages,isSending:e.isSending,isAwaitingAssistantOutput:e.isAwaitingAssistantOutput,contextWindow:ae(e.agent.snapshot.contextWindow),parentSessionKey:e.parentSession?.key??null,parentSessionLabel:e.parentSession?F(e.parentSession):null,childSessionTabs:e.childSessionTabs})},[e])}function St(e){if(!Array.isArray(e))return[];let t=new Set;for(let n of e){let e=n.trim();e&&t.add(e)}return[...t]}function Ct(e){let t={};e.model?.trim()&&(t.model=e.model.trim(),t.preferred_model=e.model.trim()),e.thinkingLevel?.trim()&&(t.thinking=e.thinkingLevel.trim(),t.preferred_thinking=e.thinkingLevel.trim()),e.sessionType?.trim()&&(t.session_type=e.sessionType.trim(),t.runtime=e.sessionType.trim()),e.agentId?.trim()&&(t.agent_id=e.agentId.trim());let n=he(e.projectRoot);n&&(t.project_root=n);let r=St(e.requestedSkills);r.length>0&&(t.requested_skill_refs=r);let i=e.composerNodes?Se(e.composerNodes):[];return i.length>0&&(t[D]=i),t}function wt(e){let{pendingProjectRoot:t,pendingProjectRootSessionKey:n,sessionKey:r,selectedSessionProjectRoot:i}=e;return t!==null&&n!==null&&r===n&&(i??null)===t}function Tt(e){let t=O(e=>e.snapshot.query),n=O(e=>e.snapshot.selectedSessionKey),r=O(e=>e.snapshot.draftSessionKey),i=O(e=>e.snapshot.selectedAgentId),a=k(e=>e.snapshot.pendingSessionType),o=k(e=>e.snapshot.pendingProjectRoot),s=k(e=>e.snapshot.pendingProjectRootSessionKey),c=k(e=>e.snapshot.selectedModel),u=l(),d=oe(u),f=I(),{confirm:g,ConfirmDialog:_}=X(),v=h(),y=p(),{sessionId:b}=m(),x=(0,Z.useRef)(null),S=(0,Z.useRef)(n),C=(0,Z.useMemo)(()=>ce(b),[b]),w=C??n??r,T=o!==null&&s===w,E=vt({query:t,sessionKey:w,projectRootOverride:T?o:void 0,currentSelectedModel:c,pendingSessionType:a,setPendingSessionType:e.chatInputManager.setPendingSessionType,setSelectedModel:e.chatInputManager.setSelectedModel,setSelectedThinkingLevel:e.chatInputManager.setSelectedThinkingLevel});return{presenter:e,selectedSessionKey:n,selectedAgentId:i,pendingProjectRoot:o,pendingProjectRootSessionKey:s,systemStatus:u,isRuntimeBlocked:d,agentsQuery:f,confirm:g,ConfirmDialog:_,location:v,navigate:y,threadRef:x,selectedSessionKeyRef:S,routeSessionKey:C,sessionKey:w,hasSessionProjectRootOverride:T,agent:ue(w),...E}}function Et(e){let t=Tt(e),{agent:n,agentsQuery:r,hasSessionProjectRootOverride:i,pendingProjectRoot:a,isRuntimeBlocked:o,systemStatus:s,selectedAgentId:c,selectedSession:l,selectedSessionType:u,sessionKey:d,sessionSummaries:f,sessionTypeOptions:p}=t,m=i?a:l?.projectRoot??null,h=i?E(m):l?.projectName??E(m),g=n.hydrateError?.message??n.snapshot.error?.message??null,_=s.phase===`ready`&&xe(g)?null:g,v=(r.data?.agents?.length??0)>0?r.data?.agents??[]:[{id:l?.agentId??c}],y=bt({sessionKey:d,selectedSession:l,selectedAgentId:c,availableAgents:v,parentSessionId:l?.parentSessionId??null,sessionSummaries:f,selectedSessionType:u,sessionTypeOptions:p});return{...t,availableAgents:v,effectiveSessionProjectRoot:m,effectiveSessionProjectName:h,isSending:n.isSending||n.isRunning,isAwaitingAssistantOutput:n.isRunning,canStopCurrentRun:n.isRunning,stopDisabledReason:n.isRunning?null:`__preparing__`,lastSendError:o?null:s.phase===`ready`?_:ee({message:_,status:s}),...y}}function Dt(e){let{agent:t,pendingProjectRoot:n,pendingProjectRootSessionKey:r,presenter:i,selectedSession:a,selectedSessionKey:o,selectedSessionKeyRef:s,sessionKey:c}=e;(0,Z.useEffect)(()=>{i.chatStreamActionsManager.bind({sendMessage:async e=>{if(e.sessionKey!==c)return;let o=Ct({agentId:e.agentId,model:e.model,thinkingLevel:e.thinkingLevel,sessionType:e.sessionType,projectRoot:e.sessionKey===r?n:a?.projectRoot??null,requestedSkills:e.requestedSkills,composerNodes:e.composerNodes}),s=ie({sessionId:e.sessionKey,text:e.message,attachments:e.attachments,parts:e.parts,metadata:o});if(s)try{await t.send(s)}catch(t){throw e.restoreDraftOnError&&(e.composerNodes&&e.composerNodes.length>0?i.chatInputManager.restoreComposerState?.(e.composerNodes,e.attachments??[]):i.chatInputManager.setDraft(t=>t.trim().length===0?e.message:t)),t}},stopCurrentRun:async()=>{await t.abort()},resumeRun:async e=>{e.sessionKey===c&&await t.streamRun()},resetStreamState:()=>{s.current=null},applyHistoryMessages:()=>{}})},[t,n,r,i,o,a?.projectRoot,s,c])}function Ot(e){let{pendingProjectRoot:t,pendingProjectRootSessionKey:n,selectedSession:r,selectedSessionKey:i}=e;(0,Z.useEffect)(()=>{!r||!wt({pendingProjectRoot:t,pendingProjectRootSessionKey:n,sessionKey:r.key,selectedSessionProjectRoot:r.projectRoot??null})||k.getState().setSnapshot({pendingProjectRoot:null,pendingProjectRootSessionKey:null})},[t,n,r,i])}function kt(e){let{confirm:t,location:n,navigate:r,presenter:i}=e;(0,Z.useEffect)(()=>{i.chatUiManager.syncState({pathname:n.pathname}),i.chatUiManager.bindActions({navigate:r,confirm:t})},[t,n.pathname,r,i])}function At(e){let{presenter:t,selectedAgentId:n,selectedSession:r}=e;(0,Z.useEffect)(()=>{!r?.agentId||n===r.agentId||t.chatSessionListManager.setSelectedAgentId(r.agentId)},[t,n,r?.agentId])}function jt({view:e}){let[t]=(0,Z.useState)(()=>new me),n=Et(t);return Dt(n),Ot(n),kt(n),At(n),dt({view:e,routeSessionKey:n.routeSessionKey,selectedSessionKey:n.selectedSessionKey,setSelectedSessionKey:t.chatSessionListManager.setSelectedSessionKey,selectedSessionKeyRef:n.selectedSessionKeyRef,resetStreamState:t.chatStreamActionsManager.resetStreamState}),xt({presenter:t,isProviderStateResolved:n.isProviderStateResolved,defaultSessionType:n.defaultSessionType,canStopCurrentRun:n.canStopCurrentRun,stopDisabledReason:n.stopDisabledReason,lastSendError:n.lastSendError,isSending:n.isSending,modelOptions:n.modelOptions,sessionTypeOptions:n.sessionTypeOptions,selectedSessionType:n.selectedSessionType,canEditSessionType:n.canEditSessionType,sessionTypeUnavailable:n.sessionTypeUnavailable,skillRecords:n.skillRecords,isSkillsLoading:n.sessionSkillsQuery.isLoading,sessionTypeUnavailableMessage:n.sessionTypeUnavailableMessage,currentSessionTypeLabel:n.currentSessionTypeLabel,currentSessionTypeIcon:n.currentSessionTypeIcon,sessionKey:n.sessionKey,currentAgentId:n.currentAgentId,currentAgent:n.currentAgent,availableAgents:n.availableAgents,currentSessionDisplayName:n.currentSessionDisplayName,effectiveSessionProjectRoot:n.effectiveSessionProjectRoot,effectiveSessionProjectName:n.effectiveSessionProjectName,selectedSession:n.selectedSession,threadRef:n.threadRef,agent:n.agent,isAwaitingAssistantOutput:n.isAwaitingAssistantOutput,parentSession:n.parentSession,childSessionTabs:n.currentChildSessionTabs}),(0,Q.jsx)(ne,{presenter:t,children:(0,Q.jsx)(ft,{view:e,confirmDialog:(0,Q.jsx)(n.ConfirmDialog,{})})})}function Mt({view:e}){return(0,Q.jsx)(jt,{view:e})}export{Mt as ChatPage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./marketplace-page-ClRW-W3g.js";export{e as MarketplacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./mcp-marketplace-page-DtngnIi0.js";export{e as McpMarketplacePage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{m as e}from"./app-manager-provider-BZr5VxCe.js";export{e as RemoteAccessPage};
|