@nextclaw/ui 0.27.5-beta.0 → 0.27.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/.vite/manifest.json +99 -99
  3. package/dist/assets/{account-panel-DgqicWMm.js → account-panel-C83GDFuy.js} +1 -1
  4. package/dist/assets/agents-CJA15zzv.js +1 -0
  5. package/dist/assets/{agents-CTSR4ZKb.js → agents-Dr2KkEp2.js} +1 -1
  6. package/dist/assets/{app-presenter-provider-DdD2Q7jZ.js → app-presenter-provider-Cx9MwMtb.js} +12 -12
  7. package/dist/assets/{appearance-settings-page-CSWYLrsR.js → appearance-settings-page-3IfIzjic.js} +1 -1
  8. package/dist/assets/apps-CvIlb9Rn.js +1 -0
  9. package/dist/assets/{confirm-dialog-jz2cQKId.js → confirm-dialog-D30HJBXN.js} +1 -1
  10. package/dist/assets/{context-menu-C0qywo73.js → context-menu-C6m-WNpl.js} +65 -65
  11. package/dist/assets/cron-BWZWu80t.js +1 -0
  12. package/dist/assets/{dialog-DMKYZDFu.js → dialog-DB_l9LK0.js} +1 -1
  13. package/dist/assets/doc-browser-DQDsmRlr.js +1 -0
  14. package/dist/assets/inbox-CIsD65lW.js +1 -0
  15. package/dist/assets/{keyboard-shortcuts-settings-page-BCxB9m69.js → keyboard-shortcuts-settings-page-L4kLGuB8.js} +1 -1
  16. package/dist/assets/{main-C6VGoYNO.js → main-BNWRrWc_.js} +2 -2
  17. package/dist/assets/{marketplace-CXCLbyho.js → marketplace-BH1Sq8dL.js} +1 -1
  18. package/dist/assets/mcp-marketplace-page-BA-InAbJ.js +1 -0
  19. package/dist/assets/{model-config-page-CeVvZ29o.js → model-config-page-zqVWyIT0.js} +1 -1
  20. package/dist/assets/panel-apps-CMX4iWwQ.js +1 -0
  21. package/dist/assets/{panelStandalone-DomappXm.js → panelStandalone-C38o5B4Q.js} +1 -1
  22. package/dist/assets/{projects-BWM-oEo0.js → projects-DNe43T2d.js} +1 -1
  23. package/dist/assets/{provider-models-D8WOdsdu.js → provider-models-zGsDUBHG.js} +1 -1
  24. package/dist/assets/{provider-scoped-model-input-BOPkUOtD.js → provider-scoped-model-input-DpEyP1h8.js} +1 -1
  25. package/dist/assets/{providers-config-page-BilPL0kF.js → providers-config-page-J-1auWPu.js} +1 -1
  26. package/dist/assets/{pwa-Cp7pPvsZ.js → pwa-jmuWbrqH.js} +1 -1
  27. package/dist/assets/remote-C7H2o46-.js +1 -0
  28. package/dist/assets/{runtime-config-page-Dx6lWn3_.js → runtime-config-page-CJhqeDcu.js} +1 -1
  29. package/dist/assets/{service-apps-panel-9khaUSFI.js → service-apps-panel-Dj9okUgp.js} +1 -1
  30. package/dist/assets/{theme-provider-BsJ6HxeX.js → theme-provider-D4rd-tCP.js} +1 -1
  31. package/dist/index.html +10 -10
  32. package/dist/panel-standalone.html +4 -4
  33. package/package.json +7 -7
  34. package/src/features/marketplace/components/detail-doc/__tests__/marketplace-detail-doc.test.tsx +2 -0
  35. package/src/features/panel-apps/components/panel-app-runtime-surface.tsx +3 -1
  36. package/src/features/panel-apps/utils/panel-app-doc-browser.utils.tsx +25 -10
  37. package/src/features/right-panel-resources/components/__tests__/system-object-resource.test.tsx +25 -3
  38. package/src/features/right-panel-resources/components/native-object-resource.tsx +3 -1
  39. package/src/features/right-panel-resources/components/system-object-resource.tsx +15 -1
  40. package/src/features/right-panel-resources/pages/resource-page.tsx +29 -2
  41. package/src/shared/components/doc-browser/__tests__/doc-browser.test.tsx +16 -13
  42. package/src/shared/components/doc-browser/doc-browser-renderer.types.ts +3 -0
  43. package/src/shared/components/doc-browser/doc-browser.tsx +7 -1
  44. package/src/shared/components/ui/context-menu/context-menu-items.tsx +1 -0
  45. package/src/shared/components/ui/context-menu/context-menu.tsx +9 -0
  46. package/dist/assets/agents-i7167DcF.js +0 -1
  47. package/dist/assets/apps-DUP3aPpu.js +0 -1
  48. package/dist/assets/cron-DPBUHn7j.js +0 -1
  49. package/dist/assets/doc-browser-C7kvXGc_.js +0 -1
  50. package/dist/assets/inbox-C09MQO9k.js +0 -1
  51. package/dist/assets/mcp-marketplace-page-ZAm380SB.js +0 -1
  52. package/dist/assets/panel-apps-BQlyeAId.js +0 -1
  53. package/dist/assets/remote-DngM8iep.js +0 -1
  54. package/src/features/panel-apps/components/__tests__/panel-app-toolbar.test.tsx +0 -108
  55. package/src/features/panel-apps/components/panel-app-toolbar.tsx +0 -89
@@ -1 +1 @@
1
- import{i as e}from"./chunk-DF37yw5_.js";import{$t as t,Gt as n,Qt as r,Xn as i,Yt as a,_n as o,ur as s,xr as c}from"./api-CXWxExzS.js";import{d as l}from"./navigation-link-O9Wm0epj.js";import{$t as u,Bt as d,Gt as f,Ht as p,Kt as m,Vt as h,Wt as g,Yt as _,d as v,f as y,ft as b,m as x,n as ee,nn as S,pt as C,qt as w,tn as T,v as te,zt as ne}from"./app-presenter-provider-DdD2Q7jZ.js";import{t as E}from"./createLucideIcon-C3LSyx-e.js";import{Z as D,g as O,h as k,q as A,ut as j,vt as M,yt as N}from"./context-menu-C0qywo73.js";import{z as P}from"./dist-D9h2cWk3.js";import{t as F}from"./provider-scoped-model-input-BOPkUOtD.js";import{n as re}from"./inbox-CI8ATevA.js";import{t as ie}from"./plus-C42o6xrD.js";import{t as I}from"./settings-2-D3-m8a3v.js";import{t as L}from"./trash-2-BVQs-0ji.js";import{s as R}from"./i18n-ByVUrt9w.js";import{a as z,i as B,n as V,o as H,r as U,t as W}from"./dialog-DMKYZDFu.js";import{g as ae,h as oe,n as se,p as ce}from"./provider-models-D8WOdsdu.js";import{t as le}from"./tag-chip-DFzDSvcF.js";import{a as ue,i as de,n as fe,r as pe,t as me}from"./select-BJ-EjmCz.js";import{n as G,t as K}from"./card-eFBmxYiI.js";import{f as he,p as ge,t as _e}from"./use-config-M1L4xn8c.js";var ve=E(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),q=s(),J=new Intl.NumberFormat;function ye({embedded:e=!1,onChat:t,agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s,onOpenChange:c,onEdit:l}){if(!n)return null;let u=Y(n.model,r?.model),d=xe({agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s}),f=be(n.contextTokens,r?.contextTokens??2e5),m=be(n.reservedContextTokens,r?.reservedContextTokens),h=Y(n.thinkingDefault,r?.thinkingDefault??`off`),g=Ce(n.runtimeConfig??n.engineConfig,r?.engineConfig),_=Ce(n.models,r?.models),v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`shrink-0 px-5 pb-3 pt-5`,children:(0,q.jsx)(z,{showClose:!e,className:`items-center`,actions:(0,q.jsx)(y,{page:x(`agent`,n.id,n.displayName||n.id)}),children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(p,{agentId:n.id,displayName:n.displayName,avatarUrl:n.avatarUrl,className:`h-10 w-10 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(H,{className:`truncate text-base`,children:n.displayName?.trim()||n.id}),(0,q.jsxs)(U,{className:`truncate text-xs`,children:[`@`,n.id]})]})]})})}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-contain px-5 py-3`,children:[(0,q.jsxs)(X,{icon:N,title:R(`agentsDetailsIdentitySection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDisplayName`),value:n.displayName?.trim()||n.id}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldId`),value:n.id,mono:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDescription`),value:n.description?.trim()||R(`agentsDetailsEmptyValue`)}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldWorkspace`),value:n.workspace??R(`agentsDetailsUnsetValue`),mono:!0})]}),(0,q.jsxs)(X,{icon:A,title:R(`agentsDetailsRuntimeSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModel`),value:u.value,source:u.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntime`),value:d.value,source:d.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntimeConfig`),value:g.value,source:g.source,mono:!0,prewrap:!0})]}),(0,q.jsxs)(X,{icon:ve,title:R(`agentsDetailsContextSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldContextTokens`),value:f.value,source:f.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldReservedContextTokens`),value:m.value,source:m.source})]}),(0,q.jsxs)(X,{icon:M,title:R(`agentsDetailsBehaviorSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldThinkingDefault`),value:h.value,source:h.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModelOverrides`),value:_.value,source:_.source,mono:!0,prewrap:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldAvatar`),value:n.avatar??R(`agentsDetailsUnsetValue`),mono:!0})]})]}),(0,q.jsxs)(B,{className:`shrink-0 px-5 pb-4 pt-2`,children:[!e&&(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),children:R(`cancel`)}),t&&(0,q.jsx)(a,{onClick:()=>t(n),children:R(`agentsCardStartChat`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`px-4`,onClick:()=>l(n),children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsDetailsEditAction`)]})]})]});return(0,q.jsx)(W,{open:!e&&n!==null,onOpenChange:c,children:e?(0,q.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`agent-detail`,children:v}):(0,q.jsx)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[720px] sm:max-w-2xl`,children:v})})}function Y(e,t){let n=e?.trim();return n?{value:n,source:`override`}:{value:t?.trim()||R(`agentsDetailsUnsetValue`),source:`default`}}function be(e,t){return typeof e==`number`?{value:J.format(e),source:`override`}:{value:typeof t==`number`?J.format(t):R(`agentsDetailsUnsetValue`),source:`default`}}function xe(e){let{agent:t,defaults:n,runtimeOptions:r,defaultRuntime:i,defaultRuntimeLabel:a}=e,o=t.runtime?.trim()||t.engine?.trim();if(o)return{value:Se(o,r,a),source:`override`};let s=n?.engine?.trim()||i;return{value:s?Se(s,r,a):a,source:`default`}}function Se(e,t,n){let r=f(e);return r?t.find(e=>e.value===r)?.label??w(r):n}function Ce(e,t){return we(e)?{value:JSON.stringify(e,null,2),source:`override`}:{value:we(t)?JSON.stringify(t,null,2):R(`agentsDetailsUnsetValue`),source:`default`}}function we(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length>0)}function X(e){let{icon:t,title:n,children:r}=e;return(0,q.jsxs)(`section`,{className:`space-y-2 border-t border-border/60 pt-3 first:border-t-0 first:pt-0`,children:[(0,q.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-xs font-semibold leading-5 text-foreground`,children:[(0,q.jsx)(t,{className:`h-3.5 w-3.5 text-muted-foreground`}),n]}),(0,q.jsx)(`dl`,{className:`grid min-w-0 gap-y-2.5 pl-5`,children:r})]})}function Z(e){let{label:t,value:n,source:r,mono:i=!1,prewrap:a=!1}=e,s=a&&n.trim().startsWith(`{`),c=i&&(!a||s);return(0,q.jsxs)(`div`,{className:o(`grid min-w-0 grid-cols-[minmax(0,30%)_minmax(0,1fr)] items-baseline gap-x-3 gap-y-1`),children:[(0,q.jsx)(`dt`,{className:`flex min-w-0 items-baseline leading-5`,children:(0,q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:t})}),(0,q.jsxs)(`dd`,{className:o(`min-w-0 break-words text-xs leading-5 text-foreground`,s?`max-h-28 overflow-auto whitespace-pre-wrap rounded bg-muted/50 px-2 py-1.5 text-left`:``),children:[(0,q.jsx)(`span`,{className:c?`font-mono`:void 0,children:n}),r?(0,q.jsx)(Te,{source:r}):null]})]})}function Te({source:e}){return(0,q.jsxs)(`span`,{className:o(`ml-1 whitespace-nowrap text-xs font-normal leading-5`,e===`override`?`text-blue-500`:`text-muted-foreground`),children:[`(`,R(e===`override`?`agentsDetailsAgentOverride`:`agentsDetailsInheritedDefault`),`)`]})}function Ee({form:e,disabled:t=!1,onChange:n}){return(0,q.jsxs)(`details`,{className:`group rounded-2xl border border-border bg-card`,children:[(0,q.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-foreground [&::-webkit-details-marker]:hidden`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(I,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:R(`agentsAdvancedConfigToggle`)})]}),(0,q.jsx)(P,{className:`h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180`})]}),(0,q.jsxs)(`div`,{className:`space-y-4 border-t border-border/60 px-4 py-4`,children:[(0,q.jsx)(`p`,{className:`text-xs leading-5 text-muted-foreground`,children:R(`agentsAdvancedConfigDescription`)}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:(0,q.jsx)(De,{label:R(`agentsAdvancedContextTokensLabel`),value:e.contextTokens,min:1e3,step:1e3,disabled:t,onChange:e=>n({contextTokens:e})})})]})]})}function De(e){let{label:t,value:r,min:i,step:a,disabled:o,onChange:s}=e;return(0,q.jsxs)(`label`,{className:`space-y-2 text-sm font-medium text-foreground`,children:[(0,q.jsx)(`span`,{children:t}),(0,q.jsx)(n,{type:`number`,min:i,step:a,value:r,disabled:o,placeholder:R(`agentsAdvancedInheritPlaceholder`),"aria-label":t,onChange:e=>s(e.target.value)})]})}function Oe(e){return{displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:ke(e.contextTokens)}}function ke(e){return typeof e==`number`?String(e):``}var Q=e(c(),1);function Ae(e){let{runtimeOptions:t,currentRuntime:n}=e,r=n.trim();if(!r)return t;let i=f(r);return t.some(e=>e.value===i)?t:[...t,{value:i,label:w(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 je({value:e,disabled:t=!1,runtimeOptions:n,defaultRuntime:r,onChange:i}){let a=e.trim()?f(e):``,o=Ae({runtimeOptions:n,currentRuntime:e}),s=o.find(e=>e.value===a)??null,c=s?.reasonMessage?.trim()||(s?.ready===!1?R(`agentsRuntimeUnavailableHelp`):``);return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(me,{value:a||r,onValueChange:e=>i(e===r?``:e),disabled:t,children:[(0,q.jsx)(de,{"aria-label":R(`agentsCardRuntimeLabel`),className:`rounded-xl`,children:(0,q.jsx)(ue,{placeholder:R(`agentsRuntimeSelectPlaceholder`)})}),(0,q.jsx)(fe,{className:`rounded-xl`,children:o.map(e=>(0,q.jsx)(pe,{value:e.value,disabled:e.ready===!1&&e.value!==a,className:`rounded-lg`,children:e.label},e.value))})]}),c?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]})}function Me({agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,q.jsx)(W,{open:e!==null,onOpenChange:a,children:e?(0,q.jsx)(Ne,{agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e.id):null})}function Ne(e){let{agent:t,pending:r,providerCatalog:i,runtimeOptions:o,defaultRuntime:s,onOpenChange:c,onSubmit:l}=e,[u,d]=(0,Q.useState)(Oe(t));return(0,q.jsxs)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,q.jsx)(`div`,{className:`shrink-0 border-b border-border px-6 py-6`,children:(0,q.jsxs)(z,{className:`text-left`,children:[(0,q.jsx)(H,{children:R(`agentsEditDialogTitle`)}),(0,q.jsx)(U,{children:R(`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)(b,{tone:`warning`,title:R(`agentsEditHomeReadonly`),description:R(`agentsEditHomeReadonlyHint`),children:(0,q.jsx)(`div`,{className:`break-all text-sm text-amber-950`,children:t.workspace??`-`})}),(0,q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,q.jsx)(n,{value:u.displayName,onChange:e=>d(t=>({...t,displayName:e.target.value})),placeholder:R(`agentsFormNamePlaceholder`)}),(0,q.jsx)(C,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:R(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,q.jsx)(n,{value:u.avatar,onChange:e=>d(t=>({...t,avatar:e.target.value})),placeholder:R(`agentsFormAvatarPlaceholder`)}),(0,q.jsx)(F,{value:u.model,onChange:e=>d(t=>({...t,model:e})),providerCatalog:i,disabled:r,className:`md:col-span-2`}),(0,q.jsx)(je,{value:u.runtime,onChange:e=>d(t=>({...t,runtime:e})),runtimeOptions:o,defaultRuntime:s,disabled:r})]}),(0,q.jsx)(Ee,{form:u,disabled:r,onChange:e=>d(t=>({...t,...e}))})]})}),(0,q.jsxs)(B,{className:`shrink-0 border-t border-border px-6 py-5`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:r,children:R(`cancel`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>l(t.id,u),disabled:r,children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsEditSaveAction`)]})]})]})}var Pe=`请直接创建一个默认示例 Agent,不要问我问题。创建完成后,简单告诉我它能做什么。`;function Fe(e){let t=e.trim();if(!t)return null;let n=Number(t);if(!Number.isFinite(n))throw Error(R(`agentsAdvancedInvalidNumberError`));return Math.trunc(n)}function Ie(e){return{displayName:e.displayName,description:e.description,avatar:e.avatar,model:e.model,...e.runtime.trim()?{runtime:e.runtime.trim()}:{runtime:``},contextTokens:Fe(e.contextTokens)}}function $(e){let{icon:t,label:n,disabled:r=!1,destructive:i=!1,onClick:a}=e;return(0,q.jsxs)(`button`,{type:`button`,className:o(O,i?k.destructive:`text-foreground ${k.item}`),onClick:a,disabled:r,children:[(0,q.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,q.jsx)(`span`,{children:n})]})}function Le(e){let{agent:t,runtimeOptions:n,defaultRuntimeLabel:r,updatePending:i,deletePending:o,onStartChat:s,onView:c,onEdit:l,onDelete:d}=e,[m,h]=(0,Q.useState)(!1),g=t.runtime?.trim()||t.engine?.trim()||``,_=g?n.find(e=>e.value===f(g))?.label??w(g):r;return(0,q.jsx)(K,{className:`group overflow-hidden border border-border bg-card shadow-none transition-colors duration-200 hover:border-border/80`,children:(0,q.jsxs)(G,{className:`relative flex h-full flex-col gap-3 px-3.5 py-3.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5 pr-16`,children:[(0,q.jsx)(p,{agentId:t.id,displayName:t.displayName,avatarUrl:t.avatarUrl,className:`h-9 w-9 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`truncate text-sm font-semibold text-foreground`,children:t.displayName?.trim()||t.id}),t.builtIn?(0,q.jsxs)(le,{tone:`warning`,className:`h-5 gap-1 border-amber-200 bg-amber-50 px-1.5 text-[10px] text-amber-700`,children:[(0,q.jsx)(u,{className:`h-3 w-3`}),R(`agentsCardBuiltInTag`)]}):null]}),(0,q.jsxs)(`div`,{className:`truncate text-xs text-muted-foreground`,children:[`@`,t.id]})]})]}),(0,q.jsxs)(`div`,{className:`absolute right-2.5 top-2.5 flex items-center gap-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`agentsCardStartChat`),title:R(`agentsCardStartChat`),onClick:s,children:(0,q.jsx)(T,{className:`h-4 w-4`})}),(0,q.jsxs)(ce,{open:m,onOpenChange:h,children:[(0,q.jsx)(ae,{asChild:!0,children:(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`chatSessionMoreActions`),title:R(`chatSessionMoreActions`),children:(0,q.jsx)(j,{className:`h-4 w-4`})})}),(0,q.jsxs)(oe,{align:`end`,variant:`menu`,children:[(0,q.jsx)($,{icon:re,label:R(`agentsViewDetailsAction`),onClick:()=>{h(!1),c()}}),(0,q.jsx)($,{icon:D,label:R(`agentsEditAction`),onClick:()=>{h(!1),l()},disabled:i}),t.builtIn?null:(0,q.jsx)($,{icon:L,label:R(`agentsRemoveAction`),onClick:()=>{h(!1),d()},disabled:o,destructive:!0}),(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(v,{page:x(`agent`,t.id,t.displayName||t.id),onSelect:()=>h(!1)})]})]})]}),(0,q.jsx)(`p`,{className:`line-clamp-2 min-h-10 text-sm leading-5 text-muted-foreground`,children:t.description?.trim()||(t.builtIn?R(`agentsCardBuiltInSummary`):R(`agentsCardCustomSummary`))}),(0,q.jsxs)(`div`,{className:`mt-auto grid gap-2 border-t border-border/60 pt-2 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:_})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:t.workspace??`-`})]})]})]})})}function Re({resourceId:e}={}){let n=ee(),o=l(),s=_(),c=ne(),u=_e(),p=ge(),v=he(),y=te(),b=h(),S=d(),[C,T]=(0,Q.useState)(null),E=(0,Q.useMemo)(()=>c.data?.agents??[],[c.data?.agents]),D=(0,Q.useMemo)(()=>[...E].sort((e,t)=>Number(!!t.builtIn)-Number(!!e.builtIn)||e.id.localeCompare(t.id)),[E]),O=(0,Q.useMemo)(()=>se({config:u.data,providersView:p.data,templatesView:v.data,onlyConfigured:!0}),[u.data,p.data,v.data]),k=(0,Q.useMemo)(()=>g(y.data?.options??[]),[y.data?.options]),A=(0,Q.useMemo)(()=>f(y.data?.defaultType??`native`),[y.data?.defaultType]),j=(0,Q.useMemo)(()=>k.find(e=>e.value===A)?.label??w(A),[A,k]),M=u.data?.agents.defaults,P=e=>{n.pageResourceManager.open(x(`agent`,e.id,e.displayName||e.id),`default`,o)},F=e=>{T(e)},re=async(e,t)=>{let n;try{n=Ie(t)}catch(e){i.error(e instanceof Error?e.message:R(`agentsAdvancedParseFailed`));return}await b.mutateAsync({agentId:e,data:n}),T(null)},I=e=>{s.chatSessionListManager.startAgentDraftChat(e.id,m(e,A))},L=()=>{s.chatSessionListManager.startAgentDraftChat(`main`,A,Pe)},z=(0,q.jsx)(Me,{agent:C,pending:b.isPending,providerCatalog:O,runtimeOptions:k,defaultRuntime:A,onOpenChange:e=>{!e&&!b.isPending&&T(null)},onSubmit:re});if(e){let t=E.find(t=>t.id===e)??null;return c.isPending?(0,q.jsx)(`p`,{role:`status`,className:`p-4`,children:R(`loading`)}):c.isError?(0,q.jsxs)(`div`,{className:`p-4`,children:[(0,q.jsx)(`p`,{role:`alert`,children:R(`resourceLoadFailed`)}),(0,q.jsx)(`button`,{onClick:()=>void c.refetch(),children:R(`resourceRetry`)})]}):t?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ye,{embedded:!0,agent:t,defaults:M,runtimeOptions:k,defaultRuntime:A,defaultRuntimeLabel:j,onOpenChange:()=>{},onEdit:F,onChat:I}),z]}):(0,q.jsx)(`p`,{role:`alert`,className:`p-4`,children:R(c.isError?`resourceLoadFailed`:`resourceNotFound`)})}return(0,q.jsxs)(t,{className:`space-y-6`,children:[(0,q.jsx)(r,{mobileTitleInShell:!0,headingLevel:1,title:R(`agentsHeroEyebrow`),description:R(`agentsHeroDescription`),actions:(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`h-9 shrink-0 rounded-xl px-4 text-sm font-semibold`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:c.isLoading?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 border-dashed border-border bg-card/70`,children:(0,q.jsx)(G,{className:`py-14 text-center text-sm text-muted-foreground`,children:R(`agentsLoading`)})}):D.length===0?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 overflow-hidden border-dashed border-border bg-gradient-subtle`,children:(0,q.jsxs)(G,{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-card/80 shadow-[0_18px_44px_rgba(0,0,0,0.08)]`,children:(0,q.jsx)(N,{className:`h-8 w-8 text-warning`})}),(0,q.jsx)(`div`,{className:`text-lg font-semibold text-foreground`,children:R(`agentsEmpty`)}),(0,q.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:R(`agentsEmptyDescription`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`mt-5 rounded-2xl px-5`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})]})}):D.map(e=>(0,q.jsx)(Le,{agent:e,runtimeOptions:k,defaultRuntimeLabel:j,updatePending:b.isPending,deletePending:S.isPending,onStartChat:()=>I(e),onView:()=>P(e),onEdit:()=>F(e),onDelete:()=>S.mutate({agentId:e.id})},e.id))}),z]})}export{Re as t};
1
+ import{i as e}from"./chunk-DF37yw5_.js";import{$t as t,Gt as n,Qt as r,Xn as i,Yt as a,_n as o,ur as s,xr as c}from"./api-CXWxExzS.js";import{d as l}from"./navigation-link-O9Wm0epj.js";import{$t as u,Bt as d,Gt as f,Ht as p,Kt as m,Vt as h,Wt as g,Yt as _,d as v,f as y,ft as b,m as x,n as ee,nn as S,pt as C,qt as w,tn as T,v as te,zt as ne}from"./app-presenter-provider-Cx9MwMtb.js";import{t as E}from"./createLucideIcon-C3LSyx-e.js";import{Z as D,g as O,h as k,q as A,ut as j,vt as M,yt as N}from"./context-menu-C6m-WNpl.js";import{z as P}from"./dist-D9h2cWk3.js";import{t as F}from"./provider-scoped-model-input-DpEyP1h8.js";import{n as re}from"./inbox-CI8ATevA.js";import{t as ie}from"./plus-C42o6xrD.js";import{t as I}from"./settings-2-D3-m8a3v.js";import{t as L}from"./trash-2-BVQs-0ji.js";import{s as R}from"./i18n-ByVUrt9w.js";import{a as z,i as B,n as V,o as H,r as U,t as W}from"./dialog-DB_l9LK0.js";import{g as ae,h as oe,n as se,p as ce}from"./provider-models-zGsDUBHG.js";import{t as le}from"./tag-chip-DFzDSvcF.js";import{a as ue,i as de,n as fe,r as pe,t as me}from"./select-BJ-EjmCz.js";import{n as G,t as K}from"./card-eFBmxYiI.js";import{f as he,p as ge,t as _e}from"./use-config-M1L4xn8c.js";var ve=E(`Gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),q=s(),J=new Intl.NumberFormat;function ye({embedded:e=!1,onChat:t,agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s,onOpenChange:c,onEdit:l}){if(!n)return null;let u=Y(n.model,r?.model),d=xe({agent:n,defaults:r,runtimeOptions:i,defaultRuntime:o,defaultRuntimeLabel:s}),f=be(n.contextTokens,r?.contextTokens??2e5),m=be(n.reservedContextTokens,r?.reservedContextTokens),h=Y(n.thinkingDefault,r?.thinkingDefault??`off`),g=Ce(n.runtimeConfig??n.engineConfig,r?.engineConfig),_=Ce(n.models,r?.models),v=(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`shrink-0 px-5 pb-3 pt-5`,children:(0,q.jsx)(z,{showClose:!e,className:`items-center`,actions:(0,q.jsx)(y,{page:x(`agent`,n.id,n.displayName||n.id)}),children:(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,q.jsx)(p,{agentId:n.id,displayName:n.displayName,avatarUrl:n.avatarUrl,className:`h-10 w-10 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(H,{className:`truncate text-base`,children:n.displayName?.trim()||n.id}),(0,q.jsxs)(U,{className:`truncate text-xs`,children:[`@`,n.id]})]})]})})}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-y-auto overscroll-contain px-5 py-3`,children:[(0,q.jsxs)(X,{icon:N,title:R(`agentsDetailsIdentitySection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDisplayName`),value:n.displayName?.trim()||n.id}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldId`),value:n.id,mono:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldDescription`),value:n.description?.trim()||R(`agentsDetailsEmptyValue`)}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldWorkspace`),value:n.workspace??R(`agentsDetailsUnsetValue`),mono:!0})]}),(0,q.jsxs)(X,{icon:A,title:R(`agentsDetailsRuntimeSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModel`),value:u.value,source:u.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntime`),value:d.value,source:d.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldRuntimeConfig`),value:g.value,source:g.source,mono:!0,prewrap:!0})]}),(0,q.jsxs)(X,{icon:ve,title:R(`agentsDetailsContextSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldContextTokens`),value:f.value,source:f.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldReservedContextTokens`),value:m.value,source:m.source})]}),(0,q.jsxs)(X,{icon:M,title:R(`agentsDetailsBehaviorSection`),children:[(0,q.jsx)(Z,{label:R(`agentsDetailsFieldThinkingDefault`),value:h.value,source:h.source}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldModelOverrides`),value:_.value,source:_.source,mono:!0,prewrap:!0}),(0,q.jsx)(Z,{label:R(`agentsDetailsFieldAvatar`),value:n.avatar??R(`agentsDetailsUnsetValue`),mono:!0})]})]}),(0,q.jsxs)(B,{className:`shrink-0 px-5 pb-4 pt-2`,children:[!e&&(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),children:R(`cancel`)}),t&&(0,q.jsx)(a,{onClick:()=>t(n),children:R(`agentsCardStartChat`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`px-4`,onClick:()=>l(n),children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsDetailsEditAction`)]})]})]});return(0,q.jsx)(W,{open:!e&&n!==null,onOpenChange:c,children:e?(0,q.jsx)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-testid":`agent-detail`,children:v}):(0,q.jsx)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[720px] sm:max-w-2xl`,children:v})})}function Y(e,t){let n=e?.trim();return n?{value:n,source:`override`}:{value:t?.trim()||R(`agentsDetailsUnsetValue`),source:`default`}}function be(e,t){return typeof e==`number`?{value:J.format(e),source:`override`}:{value:typeof t==`number`?J.format(t):R(`agentsDetailsUnsetValue`),source:`default`}}function xe(e){let{agent:t,defaults:n,runtimeOptions:r,defaultRuntime:i,defaultRuntimeLabel:a}=e,o=t.runtime?.trim()||t.engine?.trim();if(o)return{value:Se(o,r,a),source:`override`};let s=n?.engine?.trim()||i;return{value:s?Se(s,r,a):a,source:`default`}}function Se(e,t,n){let r=f(e);return r?t.find(e=>e.value===r)?.label??w(r):n}function Ce(e,t){return we(e)?{value:JSON.stringify(e,null,2),source:`override`}:{value:we(t)?JSON.stringify(t,null,2):R(`agentsDetailsUnsetValue`),source:`default`}}function we(e){return!!(e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length>0)}function X(e){let{icon:t,title:n,children:r}=e;return(0,q.jsxs)(`section`,{className:`space-y-2 border-t border-border/60 pt-3 first:border-t-0 first:pt-0`,children:[(0,q.jsxs)(`h3`,{className:`flex items-center gap-1.5 text-xs font-semibold leading-5 text-foreground`,children:[(0,q.jsx)(t,{className:`h-3.5 w-3.5 text-muted-foreground`}),n]}),(0,q.jsx)(`dl`,{className:`grid min-w-0 gap-y-2.5 pl-5`,children:r})]})}function Z(e){let{label:t,value:n,source:r,mono:i=!1,prewrap:a=!1}=e,s=a&&n.trim().startsWith(`{`),c=i&&(!a||s);return(0,q.jsxs)(`div`,{className:o(`grid min-w-0 grid-cols-[minmax(0,30%)_minmax(0,1fr)] items-baseline gap-x-3 gap-y-1`),children:[(0,q.jsx)(`dt`,{className:`flex min-w-0 items-baseline leading-5`,children:(0,q.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:t})}),(0,q.jsxs)(`dd`,{className:o(`min-w-0 break-words text-xs leading-5 text-foreground`,s?`max-h-28 overflow-auto whitespace-pre-wrap rounded bg-muted/50 px-2 py-1.5 text-left`:``),children:[(0,q.jsx)(`span`,{className:c?`font-mono`:void 0,children:n}),r?(0,q.jsx)(Te,{source:r}):null]})]})}function Te({source:e}){return(0,q.jsxs)(`span`,{className:o(`ml-1 whitespace-nowrap text-xs font-normal leading-5`,e===`override`?`text-blue-500`:`text-muted-foreground`),children:[`(`,R(e===`override`?`agentsDetailsAgentOverride`:`agentsDetailsInheritedDefault`),`)`]})}function Ee({form:e,disabled:t=!1,onChange:n}){return(0,q.jsxs)(`details`,{className:`group rounded-2xl border border-border bg-card`,children:[(0,q.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center justify-between gap-3 px-4 py-3 text-sm font-semibold text-foreground [&::-webkit-details-marker]:hidden`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(I,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),(0,q.jsx)(`span`,{className:`truncate`,children:R(`agentsAdvancedConfigToggle`)})]}),(0,q.jsx)(P,{className:`h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180`})]}),(0,q.jsxs)(`div`,{className:`space-y-4 border-t border-border/60 px-4 py-4`,children:[(0,q.jsx)(`p`,{className:`text-xs leading-5 text-muted-foreground`,children:R(`agentsAdvancedConfigDescription`)}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:(0,q.jsx)(De,{label:R(`agentsAdvancedContextTokensLabel`),value:e.contextTokens,min:1e3,step:1e3,disabled:t,onChange:e=>n({contextTokens:e})})})]})]})}function De(e){let{label:t,value:r,min:i,step:a,disabled:o,onChange:s}=e;return(0,q.jsxs)(`label`,{className:`space-y-2 text-sm font-medium text-foreground`,children:[(0,q.jsx)(`span`,{children:t}),(0,q.jsx)(n,{type:`number`,min:i,step:a,value:r,disabled:o,placeholder:R(`agentsAdvancedInheritPlaceholder`),"aria-label":t,onChange:e=>s(e.target.value)})]})}function Oe(e){return{displayName:e.displayName??``,description:e.description??``,avatar:e.avatar??``,model:e.model??``,runtime:e.runtime??e.engine??``,contextTokens:ke(e.contextTokens)}}function ke(e){return typeof e==`number`?String(e):``}var Q=e(c(),1);function Ae(e){let{runtimeOptions:t,currentRuntime:n}=e,r=n.trim();if(!r)return t;let i=f(r);return t.some(e=>e.value===i)?t:[...t,{value:i,label:w(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 je({value:e,disabled:t=!1,runtimeOptions:n,defaultRuntime:r,onChange:i}){let a=e.trim()?f(e):``,o=Ae({runtimeOptions:n,currentRuntime:e}),s=o.find(e=>e.value===a)??null,c=s?.reasonMessage?.trim()||(s?.ready===!1?R(`agentsRuntimeUnavailableHelp`):``);return(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsxs)(me,{value:a||r,onValueChange:e=>i(e===r?``:e),disabled:t,children:[(0,q.jsx)(de,{"aria-label":R(`agentsCardRuntimeLabel`),className:`rounded-xl`,children:(0,q.jsx)(ue,{placeholder:R(`agentsRuntimeSelectPlaceholder`)})}),(0,q.jsx)(fe,{className:`rounded-xl`,children:o.map(e=>(0,q.jsx)(pe,{value:e.value,disabled:e.ready===!1&&e.value!==a,className:`rounded-lg`,children:e.label},e.value))})]}),c?(0,q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:c}):null]})}function Me({agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o}){return(0,q.jsx)(W,{open:e!==null,onOpenChange:a,children:e?(0,q.jsx)(Ne,{agent:e,pending:t,providerCatalog:n,runtimeOptions:r,defaultRuntime:i,onOpenChange:a,onSubmit:o},e.id):null})}function Ne(e){let{agent:t,pending:r,providerCatalog:i,runtimeOptions:o,defaultRuntime:s,onOpenChange:c,onSubmit:l}=e,[u,d]=(0,Q.useState)(Oe(t));return(0,q.jsxs)(V,{className:`flex max-h-[calc(100vh-2rem)] flex-col overflow-hidden border-none bg-popover p-0 sm:max-h-[760px] sm:max-w-xl`,children:[(0,q.jsx)(`div`,{className:`shrink-0 border-b border-border px-6 py-6`,children:(0,q.jsxs)(z,{className:`text-left`,children:[(0,q.jsx)(H,{children:R(`agentsEditDialogTitle`)}),(0,q.jsx)(U,{children:R(`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)(b,{tone:`warning`,title:R(`agentsEditHomeReadonly`),description:R(`agentsEditHomeReadonlyHint`),children:(0,q.jsx)(`div`,{className:`break-all text-sm text-amber-950`,children:t.workspace??`-`})}),(0,q.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:[(0,q.jsx)(n,{value:u.displayName,onChange:e=>d(t=>({...t,displayName:e.target.value})),placeholder:R(`agentsFormNamePlaceholder`)}),(0,q.jsx)(C,{value:u.description,onChange:e=>d(t=>({...t,description:e.target.value})),placeholder:R(`agentsFormDescriptionPlaceholder`),rows:4,className:`md:col-span-2`}),(0,q.jsx)(n,{value:u.avatar,onChange:e=>d(t=>({...t,avatar:e.target.value})),placeholder:R(`agentsFormAvatarPlaceholder`)}),(0,q.jsx)(F,{value:u.model,onChange:e=>d(t=>({...t,model:e})),providerCatalog:i,disabled:r,className:`md:col-span-2`}),(0,q.jsx)(je,{value:u.runtime,onChange:e=>d(t=>({...t,runtime:e})),runtimeOptions:o,defaultRuntime:s,disabled:r})]}),(0,q.jsx)(Ee,{form:u,disabled:r,onChange:e=>d(t=>({...t,...e}))})]})}),(0,q.jsxs)(B,{className:`shrink-0 border-t border-border px-6 py-5`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,onClick:()=>c(!1),disabled:r,children:R(`cancel`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`rounded-2xl px-5`,onClick:()=>l(t.id,u),disabled:r,children:[(0,q.jsx)(D,{className:`mr-2 h-4 w-4`}),R(`agentsEditSaveAction`)]})]})]})}var Pe=`请直接创建一个默认示例 Agent,不要问我问题。创建完成后,简单告诉我它能做什么。`;function Fe(e){let t=e.trim();if(!t)return null;let n=Number(t);if(!Number.isFinite(n))throw Error(R(`agentsAdvancedInvalidNumberError`));return Math.trunc(n)}function Ie(e){return{displayName:e.displayName,description:e.description,avatar:e.avatar,model:e.model,...e.runtime.trim()?{runtime:e.runtime.trim()}:{runtime:``},contextTokens:Fe(e.contextTokens)}}function $(e){let{icon:t,label:n,disabled:r=!1,destructive:i=!1,onClick:a}=e;return(0,q.jsxs)(`button`,{type:`button`,className:o(O,i?k.destructive:`text-foreground ${k.item}`),onClick:a,disabled:r,children:[(0,q.jsx)(t,{className:`h-4 w-4 shrink-0`}),(0,q.jsx)(`span`,{children:n})]})}function Le(e){let{agent:t,runtimeOptions:n,defaultRuntimeLabel:r,updatePending:i,deletePending:o,onStartChat:s,onView:c,onEdit:l,onDelete:d}=e,[m,h]=(0,Q.useState)(!1),g=t.runtime?.trim()||t.engine?.trim()||``,_=g?n.find(e=>e.value===f(g))?.label??w(g):r;return(0,q.jsx)(K,{className:`group overflow-hidden border border-border bg-card shadow-none transition-colors duration-200 hover:border-border/80`,children:(0,q.jsxs)(G,{className:`relative flex h-full flex-col gap-3 px-3.5 py-3.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5 pr-16`,children:[(0,q.jsx)(p,{agentId:t.id,displayName:t.displayName,avatarUrl:t.avatarUrl,className:`h-9 w-9 shrink-0`}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(`div`,{className:`truncate text-sm font-semibold text-foreground`,children:t.displayName?.trim()||t.id}),t.builtIn?(0,q.jsxs)(le,{tone:`warning`,className:`h-5 gap-1 border-amber-200 bg-amber-50 px-1.5 text-[10px] text-amber-700`,children:[(0,q.jsx)(u,{className:`h-3 w-3`}),R(`agentsCardBuiltInTag`)]}):null]}),(0,q.jsxs)(`div`,{className:`truncate text-xs text-muted-foreground`,children:[`@`,t.id]})]})]}),(0,q.jsxs)(`div`,{className:`absolute right-2.5 top-2.5 flex items-center gap-1 opacity-100 transition-opacity md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100`,children:[(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`agentsCardStartChat`),title:R(`agentsCardStartChat`),onClick:s,children:(0,q.jsx)(T,{className:`h-4 w-4`})}),(0,q.jsxs)(ce,{open:m,onOpenChange:h,children:[(0,q.jsx)(ae,{asChild:!0,children:(0,q.jsx)(a,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground hover:text-foreground`,"aria-label":R(`chatSessionMoreActions`),title:R(`chatSessionMoreActions`),children:(0,q.jsx)(j,{className:`h-4 w-4`})})}),(0,q.jsxs)(oe,{align:`end`,variant:`menu`,children:[(0,q.jsx)($,{icon:re,label:R(`agentsViewDetailsAction`),onClick:()=>{h(!1),c()}}),(0,q.jsx)($,{icon:D,label:R(`agentsEditAction`),onClick:()=>{h(!1),l()},disabled:i}),t.builtIn?null:(0,q.jsx)($,{icon:L,label:R(`agentsRemoveAction`),onClick:()=>{h(!1),d()},disabled:o,destructive:!0}),(0,q.jsx)(`div`,{className:`my-1 h-px bg-border`}),(0,q.jsx)(v,{page:x(`agent`,t.id,t.displayName||t.id),onSelect:()=>h(!1)})]})]})]}),(0,q.jsx)(`p`,{className:`line-clamp-2 min-h-10 text-sm leading-5 text-muted-foreground`,children:t.description?.trim()||(t.builtIn?R(`agentsCardBuiltInSummary`):R(`agentsCardCustomSummary`))}),(0,q.jsxs)(`div`,{className:`mt-auto grid gap-2 border-t border-border/60 pt-2 text-xs text-muted-foreground`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(A,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:_})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(S,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground/60`}),(0,q.jsx)(`span`,{className:`truncate`,children:t.workspace??`-`})]})]})]})})}function Re({resourceId:e}={}){let n=ee(),o=l(),s=_(),c=ne(),u=_e(),p=ge(),v=he(),y=te(),b=h(),S=d(),[C,T]=(0,Q.useState)(null),E=(0,Q.useMemo)(()=>c.data?.agents??[],[c.data?.agents]),D=(0,Q.useMemo)(()=>[...E].sort((e,t)=>Number(!!t.builtIn)-Number(!!e.builtIn)||e.id.localeCompare(t.id)),[E]),O=(0,Q.useMemo)(()=>se({config:u.data,providersView:p.data,templatesView:v.data,onlyConfigured:!0}),[u.data,p.data,v.data]),k=(0,Q.useMemo)(()=>g(y.data?.options??[]),[y.data?.options]),A=(0,Q.useMemo)(()=>f(y.data?.defaultType??`native`),[y.data?.defaultType]),j=(0,Q.useMemo)(()=>k.find(e=>e.value===A)?.label??w(A),[A,k]),M=u.data?.agents.defaults,P=e=>{n.pageResourceManager.open(x(`agent`,e.id,e.displayName||e.id),`default`,o)},F=e=>{T(e)},re=async(e,t)=>{let n;try{n=Ie(t)}catch(e){i.error(e instanceof Error?e.message:R(`agentsAdvancedParseFailed`));return}await b.mutateAsync({agentId:e,data:n}),T(null)},I=e=>{s.chatSessionListManager.startAgentDraftChat(e.id,m(e,A))},L=()=>{s.chatSessionListManager.startAgentDraftChat(`main`,A,Pe)},z=(0,q.jsx)(Me,{agent:C,pending:b.isPending,providerCatalog:O,runtimeOptions:k,defaultRuntime:A,onOpenChange:e=>{!e&&!b.isPending&&T(null)},onSubmit:re});if(e){let t=E.find(t=>t.id===e)??null;return c.isPending?(0,q.jsx)(`p`,{role:`status`,className:`p-4`,children:R(`loading`)}):c.isError?(0,q.jsxs)(`div`,{className:`p-4`,children:[(0,q.jsx)(`p`,{role:`alert`,children:R(`resourceLoadFailed`)}),(0,q.jsx)(`button`,{onClick:()=>void c.refetch(),children:R(`resourceRetry`)})]}):t?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(ye,{embedded:!0,agent:t,defaults:M,runtimeOptions:k,defaultRuntime:A,defaultRuntimeLabel:j,onOpenChange:()=>{},onEdit:F,onChat:I}),z]}):(0,q.jsx)(`p`,{role:`alert`,className:`p-4`,children:R(c.isError?`resourceLoadFailed`:`resourceNotFound`)})}return(0,q.jsxs)(t,{className:`space-y-6`,children:[(0,q.jsx)(r,{mobileTitleInShell:!0,headingLevel:1,title:R(`agentsHeroEyebrow`),description:R(`agentsHeroDescription`),actions:(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`h-9 shrink-0 rounded-xl px-4 text-sm font-semibold`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})}),(0,q.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:c.isLoading?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 border-dashed border-border bg-card/70`,children:(0,q.jsx)(G,{className:`py-14 text-center text-sm text-muted-foreground`,children:R(`agentsLoading`)})}):D.length===0?(0,q.jsx)(K,{className:`md:col-span-2 xl:col-span-3 overflow-hidden border-dashed border-border bg-gradient-subtle`,children:(0,q.jsxs)(G,{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-card/80 shadow-[0_18px_44px_rgba(0,0,0,0.08)]`,children:(0,q.jsx)(N,{className:`h-8 w-8 text-warning`})}),(0,q.jsx)(`div`,{className:`text-lg font-semibold text-foreground`,children:R(`agentsEmpty`)}),(0,q.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:R(`agentsEmptyDescription`)}),(0,q.jsxs)(a,{type:`button`,variant:`primary`,className:`mt-5 rounded-2xl px-5`,onClick:L,children:[(0,q.jsx)(ie,{className:`mr-2 h-4 w-4`}),R(`agentsCreateButton`)]})]})}):D.map(e=>(0,q.jsx)(Le,{agent:e,runtimeOptions:k,defaultRuntimeLabel:j,updatePending:b.isPending,deletePending:S.isPending,onStartChat:()=>I(e),onView:()=>P(e),onEdit:()=>F(e),onDelete:()=>S.mutate({agentId:e.id})},e.id))}),z]})}export{Re as t};