@xopcai/xopc 0.0.91 → 0.0.92

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 (134) hide show
  1. package/dist/browser-ext/manifest.json +1 -1
  2. package/dist/extensions/telegram/xopc.extension.json +1 -1
  3. package/dist/gateway/static/root/assets/agents-uwPn7ZW9.js +222 -0
  4. package/dist/gateway/static/root/assets/{apps-page-CIC8bmvZ.js → apps-page-CWKdhSPU.js} +1 -1
  5. package/dist/gateway/static/root/assets/channels-settings-hEhW7Mbk.js +1 -0
  6. package/dist/gateway/static/root/assets/{channels-status-swr-CYWL5DLD.js → channels-status-swr-XzddfJW2.js} +1 -1
  7. package/dist/gateway/static/root/assets/{cron-api-TVqLlGAC.js → cron-api--I8LJ44S.js} +1 -1
  8. package/dist/gateway/static/root/assets/cron-page-B0kvgZGR.js +1 -0
  9. package/dist/gateway/static/root/assets/{dist-CUV1uY5f.js → dist-CYgHMQO0.js} +1 -1
  10. package/dist/gateway/static/root/assets/{extension-debug-page-mTLHRDp1.js → extension-debug-page-6cRP0nA9.js} +1 -1
  11. package/dist/gateway/static/root/assets/{extension-page-iI8BI7WK.js → extension-page-DpwIkspI.js} +1 -1
  12. package/dist/gateway/static/root/assets/{extension-settings-page-ByXcdubM.js → extension-settings-page-DYbnQUxH.js} +1 -1
  13. package/dist/gateway/static/root/assets/{fetch-BWtQq_Ys.js → fetch-DTN0w7rV.js} +1 -1
  14. package/dist/gateway/static/root/assets/{field-primitives-BsZ-4VT5.js → field-primitives-CslW6HwD.js} +1 -1
  15. package/dist/gateway/static/root/assets/heartbeat-config-api-2UiKevxG.js +1 -0
  16. package/dist/gateway/static/root/assets/index-BUKUv7QW.css +1 -0
  17. package/dist/gateway/static/root/assets/{index-CKkR-v9U.js → index-DnevRVa6.js} +82 -82
  18. package/dist/gateway/static/root/assets/logs-page-sOP4TXJ4.js +1 -0
  19. package/dist/gateway/static/root/assets/{note-detail-page-DJ2Mb4x7.js → note-detail-page-DvW2qg4i.js} +3 -3
  20. package/dist/gateway/static/root/assets/{note-time-JLBPSLzK.js → note-time-BEiibLJv.js} +1 -1
  21. package/dist/gateway/static/root/assets/{notes-page-BE-75qz9.js → notes-page-BFQaquHU.js} +1 -1
  22. package/dist/gateway/static/root/assets/sessions-page-CptjDKAX.js +1 -0
  23. package/dist/gateway/static/root/assets/settings-advanced-gate-BctKqHcf.js +2 -0
  24. package/dist/gateway/static/root/assets/{settings-form-section-DSYCknxM.js → settings-form-section-QJh5ruel.js} +1 -1
  25. package/dist/gateway/static/root/assets/settings-page-V3p-hISB.js +2 -0
  26. package/dist/gateway/static/root/assets/{share-preview-page-awRqs4hV.js → share-preview-page-DBsvvbmD.js} +1 -1
  27. package/dist/gateway/static/root/assets/skills-page-q2zPUJAR.js +2 -0
  28. package/dist/gateway/static/root/assets/{theme-store-BC-42BoZ.js → theme-store-ht5iswWS.js} +1 -1
  29. package/dist/gateway/static/root/assets/{url-CY1RQKTU.js → url-CWWpfkq1.js} +2 -2
  30. package/dist/gateway/static/root/assets/{utils-DX3TQuap.js → utils-DhPv9xoB.js} +1 -1
  31. package/dist/gateway/static/root/assets/voice-api-key-field-DLSKUipa.js +1 -0
  32. package/dist/gateway/static/root/assets/{workflow-page.utils-ClC37yEp.js → workflow-page.utils-CJqnPWkW.js} +1 -1
  33. package/dist/gateway/static/root/assets/workflows-page-DRRQ1A0l.js +27 -0
  34. package/dist/gateway/static/root/index.html +5 -5
  35. package/dist/package.js +1 -1
  36. package/dist/src/agent/mcp/bundle-mcp-config.d.ts +2 -9
  37. package/dist/src/agent/mcp/bundle-mcp-config.js +10 -34
  38. package/dist/src/agent/mcp/bundle-mcp-config.js.map +1 -1
  39. package/dist/src/agent/mcp/bundle-mcp-policy.js +2 -2
  40. package/dist/src/agent/mcp/bundle-mcp-policy.js.map +1 -1
  41. package/dist/src/agent/mcp/bundle-mcp-runtime.js +4 -4
  42. package/dist/src/agent/mcp/bundle-mcp-runtime.js.map +1 -1
  43. package/dist/src/agent/mcp/index.js +2 -2
  44. package/dist/src/cli/command-catalog.js +0 -4
  45. package/dist/src/cli/command-catalog.js.map +1 -1
  46. package/dist/src/cli/command-loaders.js +1 -2
  47. package/dist/src/cli/command-loaders.js.map +1 -1
  48. package/dist/src/cli/command-manifest.js +0 -4
  49. package/dist/src/cli/command-manifest.js.map +1 -1
  50. package/dist/src/config/index.d.ts +0 -1
  51. package/dist/src/config/index.js +1 -2
  52. package/dist/src/config/index.js.map +1 -1
  53. package/dist/src/config/schema.d.ts +36 -6
  54. package/dist/src/config/schema.js +13 -11
  55. package/dist/src/config/schema.js.map +1 -1
  56. package/dist/src/connectors/builtin-catalog.d.ts +2 -0
  57. package/dist/src/connectors/builtin-catalog.js +152 -0
  58. package/dist/src/connectors/builtin-catalog.js.map +1 -0
  59. package/dist/src/connectors/catalog.d.ts +5 -0
  60. package/dist/src/connectors/catalog.js +13 -0
  61. package/dist/src/connectors/catalog.js.map +1 -0
  62. package/dist/src/connectors/health.d.ts +3 -0
  63. package/dist/src/connectors/health.js +61 -0
  64. package/dist/src/connectors/health.js.map +1 -0
  65. package/dist/src/connectors/install.d.ts +5 -0
  66. package/dist/src/connectors/install.js +46 -0
  67. package/dist/src/connectors/install.js.map +1 -0
  68. package/dist/src/connectors/instances.d.ts +4 -0
  69. package/dist/src/connectors/instances.js +43 -0
  70. package/dist/src/connectors/instances.js.map +1 -0
  71. package/dist/src/connectors/materialize.d.ts +9 -0
  72. package/dist/src/connectors/materialize.js +76 -0
  73. package/dist/src/connectors/materialize.js.map +1 -0
  74. package/dist/src/connectors/oauth.d.ts +22 -0
  75. package/dist/src/connectors/oauth.js +99 -0
  76. package/dist/src/connectors/oauth.js.map +1 -0
  77. package/dist/src/connectors/providers.d.ts +9 -0
  78. package/dist/src/connectors/providers.js +20 -0
  79. package/dist/src/connectors/providers.js.map +1 -0
  80. package/dist/src/connectors/secret-store.d.ts +7 -0
  81. package/dist/src/connectors/secret-store.js +47 -0
  82. package/dist/src/connectors/secret-store.js.map +1 -0
  83. package/dist/src/connectors/types.d.ts +102 -0
  84. package/dist/src/connectors/types.js +1 -0
  85. package/dist/src/connectors/usage.d.ts +6 -0
  86. package/dist/src/connectors/usage.js +63 -0
  87. package/dist/src/connectors/usage.js.map +1 -0
  88. package/dist/src/gateway/heartbeat/service.js +1 -1
  89. package/dist/src/gateway/hono/routes/connectors.d.ts +3 -0
  90. package/dist/src/gateway/hono/routes/connectors.js +177 -0
  91. package/dist/src/gateway/hono/routes/connectors.js.map +1 -0
  92. package/dist/src/gateway/hono/routes/home.d.ts +12 -0
  93. package/dist/src/gateway/hono/routes/home.js +50 -0
  94. package/dist/src/gateway/hono/routes/home.js.map +1 -0
  95. package/dist/src/gateway/hono/routes/lazy-bundles.js +12 -4
  96. package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
  97. package/dist/src/gateway/hono/routes/notes.js +31 -0
  98. package/dist/src/gateway/hono/routes/notes.js.map +1 -1
  99. package/dist/src/heartbeat/index.js +1 -1
  100. package/dist/src/mcp/channel-bridge.js +1 -1
  101. package/dist/src/mcp/channel-bridge.js.map +1 -1
  102. package/dist/src/notes/index.d.ts +1 -1
  103. package/dist/src/notes/service.d.ts +11 -0
  104. package/dist/src/notes/service.js +42 -0
  105. package/dist/src/notes/service.js.map +1 -1
  106. package/dist/src/notes/store.d.ts +1 -0
  107. package/dist/src/notes/store.js +29 -4
  108. package/dist/src/notes/store.js.map +1 -1
  109. package/dist/src/notes/types.d.ts +39 -2
  110. package/dist/src/session/store.d.ts +2 -0
  111. package/dist/src/session/store.js +21 -1
  112. package/dist/src/session/store.js.map +1 -1
  113. package/package.json +1 -1
  114. package/dist/gateway/static/root/assets/agents-bVWUlrlD.js +0 -222
  115. package/dist/gateway/static/root/assets/channels-settings-C8G8RAAP.js +0 -1
  116. package/dist/gateway/static/root/assets/cron-dreaming-jobs-Ip703-qM.js +0 -2
  117. package/dist/gateway/static/root/assets/cron-page-BtcFYlvv.js +0 -1
  118. package/dist/gateway/static/root/assets/heartbeat-config-api-WjTsRLCU.js +0 -1
  119. package/dist/gateway/static/root/assets/index-VlELBY99.css +0 -1
  120. package/dist/gateway/static/root/assets/logs-page-ClnIpxfd.js +0 -1
  121. package/dist/gateway/static/root/assets/sessions-page-bJJkWtTl.js +0 -1
  122. package/dist/gateway/static/root/assets/settings-page-WcMXLq2U.js +0 -3
  123. package/dist/gateway/static/root/assets/skills-page-Lu-i1JG7.js +0 -2
  124. package/dist/gateway/static/root/assets/voice-api-key-field-B5uKlDqA.js +0 -1
  125. package/dist/gateway/static/root/assets/workflows-page-C7VhIXtR.js +0 -27
  126. package/dist/src/cli/commands/mcp.d.ts +0 -4
  127. package/dist/src/cli/commands/mcp.js +0 -85
  128. package/dist/src/cli/commands/mcp.js.map +0 -1
  129. package/dist/src/config/mcp-config.d.ts +0 -34
  130. package/dist/src/config/mcp-config.js +0 -116
  131. package/dist/src/config/mcp-config.js.map +0 -1
  132. package/dist/src/gateway/hono/routes/mcp.d.ts +0 -3
  133. package/dist/src/gateway/hono/routes/mcp.js +0 -99
  134. package/dist/src/gateway/hono/routes/mcp.js.map +0 -1
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jszip.min-DT31yWkU.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-CY1RQKTU.js";import{t as o}from"./preload-helper-zJ_50EbN.js";import{a as s}from"./fetch-BWtQq_Ys.js";import{An as c,Bt as l,Co as u,Cr as d,Fr as f,Gt as p,Ho as m,Ht as h,Ia as g,Jt as _,Kt as v,Nn as y,Oi as b,Qr as x,So as S,Sr as C,Tr as w,Ui as T,Ut as E,Vo as D,Vt as O,Wo as k,Wt as A,Xi as j,Xt as M,Yt as N,Za as P,ba as F,bi as I,br as ee,eo as L,li as te,oi as R,qa as ne,qt as z,si as B,ta as V,vr as re,wr as ie,xo as H,yr as ae,zt as U}from"./index-CKkR-v9U.js";import{i as oe,n as W,o as G,r as se,t as ce}from"./dist-CUV1uY5f.js";var K=n(),q=e(t(),1),J=r(),le=(0,q.memo)(function(e){let t=(0,K.c)(30),{loading:n,onReloadClick:r,searchQuery:i,setSearchQuery:a,mainTab:o,sk:s,setPendingFile:c,setInstallOpen:l}=e,u=s.reloadRuntime,d=s.reloadDiskAria,f;t[0]===r?f=t[1]:(f=()=>void r(),t[0]=r,t[1]=f);let p=n&&`animate-spin`,m;t[2]===p?m=t[3]:(m=B(`size-4`,p),t[2]=p,t[3]=m);let h;t[4]===m?h=t[5]:(h=(0,J.jsx)(j,{className:m,strokeWidth:1.75}),t[4]=m,t[5]=h);let g;t[6]!==n||t[7]!==s.reloadDiskAria||t[8]!==s.reloadRuntime||t[9]!==f||t[10]!==h?(g=(0,J.jsx)(R,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,disabled:n,title:u,"aria-label":d,onClick:f,children:h}),t[6]=n,t[7]=s.reloadDiskAria,t[8]=s.reloadRuntime,t[9]=f,t[10]=h,t[11]=g):g=t[11];let _;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,J.jsx)(T,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-disabled`,strokeWidth:1.75,"aria-hidden":!0}),t[12]=_):_=t[12];let v;t[13]===a?v=t[14]:(v=e=>a(e.target.value),t[13]=a,t[14]=v);let y=o===`marketplace`?s.marketplaceSearchPackages:s.searchPlaceholder,b;t[15]!==i||t[16]!==y||t[17]!==v?(b=(0,J.jsxs)(`label`,{className:`relative flex min-h-9 min-w-0 max-w-sm cursor-text items-center rounded-pill border border-edge bg-surface-base py-1.5 pl-9 pr-3 shadow-surface dark:bg-surface-hover/40 sm:max-w-md`,children:[_,(0,J.jsx)(`input`,{type:`search`,enterKeyHint:`search`,value:i,onChange:v,placeholder:y,autoComplete:`off`,spellCheck:!1,className:`min-w-0 flex-1 appearance-none border-0 bg-transparent py-0.5 text-sm leading-normal text-fg caret-current placeholder:text-fg-disabled focus:border-0 focus:shadow-none focus:outline-none focus:ring-0 focus-visible:outline-none`})]}),t[15]=i,t[16]=y,t[17]=v,t[18]=b):b=t[18];let x;t[19]!==l||t[20]!==c?(x=()=>{c(null),l(!0)},t[19]=l,t[20]=c,t[21]=x):x=t[21];let S;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(V,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),t[22]=S):S=t[22];let C;t[23]!==s.installCta||t[24]!==x?(C=(0,J.jsxs)(R,{type:`button`,variant:`primary`,className:`shrink-0 gap-2`,onClick:x,children:[S,s.installCta]}),t[23]=s.installCta,t[24]=x,t[25]=C):C=t[25];let w;return t[26]!==b||t[27]!==C||t[28]!==g?(w=(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center justify-end gap-2`,children:[g,b,C]}),t[26]=b,t[27]=C,t[28]=g,t[29]=w):w=t[29],w}),ue=[{light:`bg-sky-100 text-sky-800`,dark:`dark:bg-sky-950/55 dark:text-sky-200`},{light:`bg-violet-100 text-violet-800`,dark:`dark:bg-violet-950/55 dark:text-violet-200`},{light:`bg-emerald-100 text-emerald-800`,dark:`dark:bg-emerald-950/55 dark:text-emerald-200`},{light:`bg-orange-100 text-orange-800`,dark:`dark:bg-orange-950/55 dark:text-orange-200`},{light:`bg-rose-100 text-rose-800`,dark:`dark:bg-rose-950/55 dark:text-rose-200`},{light:`bg-amber-100 text-amber-900`,dark:`dark:bg-amber-950/55 dark:text-amber-200`},{light:`bg-cyan-100 text-cyan-800`,dark:`dark:bg-cyan-950/55 dark:text-cyan-200`},{light:`bg-indigo-100 text-indigo-800`,dark:`dark:bg-indigo-950/55 dark:text-indigo-200`},{light:`bg-fuchsia-100 text-fuchsia-800`,dark:`dark:bg-fuchsia-950/55 dark:text-fuchsia-200`},{light:`bg-teal-100 text-teal-800`,dark:`dark:bg-teal-950/55 dark:text-teal-200`}];function de(e){let t=0;for(let n=0;n<e.length;n+=1)t=Math.imul(31,t)+e.charCodeAt(n)|0;return Math.abs(t)}function fe(e){let t=e.trim();if(!t)return`?`;let n=t.match(/[\p{L}\p{N}]/u);return n?n[0].toLocaleUpperCase(`en-US`):t[0]}function pe(e){let t=(0,K.c)(9),{name:n,className:r}=e,i;t[0]===n?i=t[1]:(i=fe(n),t[0]=n,t[1]=i);let a=i,o=ue[de(n)%ue.length],s;t[2]!==r||t[3]!==o.dark||t[4]!==o.light?(s=B(`flex size-11 shrink-0 items-center justify-center rounded-xl font-semibold tracking-tight shadow-surface`,`text-[1.05rem] ring-1 ring-inset ring-black/[0.06] dark:ring-white/[0.1]`,`transition-[transform,box-shadow] duration-200 ease-out group-hover:ring-black/[0.1] dark:group-hover:ring-white/[0.14]`,`group-hover:-translate-y-px`,o.light,o.dark,r),t[2]=r,t[3]=o.dark,t[4]=o.light,t[5]=s):s=t[5];let c;return t[6]!==a||t[7]!==s?(c=(0,J.jsx)(`div`,{className:s,"aria-hidden":!0,children:a}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}var Y=`animate-pulse motion-reduce:animate-none rounded-md bg-surface-hover dark:bg-surface-active/50`;function X(){let e=(0,K.c)(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(`div`,{className:B(`size-11 shrink-0 rounded-xl`,Y)}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,J.jsx)(`div`,{className:B(`h-4 min-w-0 flex-1`,Y)}),e[1]=n):n=e[1];let r,i,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[n,(0,J.jsxs)(`div`,{className:`flex shrink-0 gap-1`,children:[(0,J.jsx)(`div`,{className:B(`size-8 shrink-0 rounded-lg`,Y)}),(0,J.jsx)(`div`,{className:B(`h-8 w-[4.5rem] shrink-0 rounded-lg`,Y)})]})]}),i=(0,J.jsx)(`div`,{className:B(`h-3 w-full`,Y)}),a=(0,J.jsx)(`div`,{className:B(`h-3 w-[92%]`,Y)}),e[2]=r,e[3]=i,e[4]=a):(r=e[2],i=e[3],a=e[4]);let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(`div`,{className:`flex h-full min-h-[10.5rem] flex-col rounded-xl border border-edge-subtle bg-surface-base p-4 dark:border-edge-subtle`,"aria-hidden":!0,children:(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 items-start gap-3`,children:[t,(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[r,i,a,(0,J.jsxs)(`div`,{className:`mt-auto space-y-1 pt-0.5`,children:[(0,J.jsx)(`div`,{className:B(`h-3 w-full`,Y)}),(0,J.jsx)(`div`,{className:B(`h-2.5 w-4/5`,Y)})]})]})]})}),e[5]=o):o=e[5],o}function me(){let e=(0,K.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,J.jsx)(X,{}),e[0]=t):t=e[0],t}var he=new Set([`builtin`,`user`,`marketplace`]),ge=new Set([`all`,`global`,`workspace`,`extra`]),_e=`mprov`,ve=[`s0`,`s1`,`s2`,`s3`,`s4`,`s5`],ye=[`business`,`creative`,`documents`,`engineering`,`tools`];function be(e){let t=(0,K.c)(28),{sk:n,mainTab:r,loading:i,catalog:a,filteredCatalog:o,builtinCategories:s,builtinCategoryFilter:c,setBuiltinCategoryFilter:l,catalogDisplayRows:u,catalogStatusFilter:d,resolveSkillEnabled:f,categoryLabel:p,sourceLabel:m,openSkillDetail:h,onSkillToggle:g,onUseSkillInChat:_,usingSkillInChatName:v,togglingSkillName:y}=e;if(i){let e=n.loading,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=ve.map(Ce),t[0]=r):r=t[0];let i;return t[1]===n.loading?i=t[2]:(i=(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":e,children:r}),t[1]=n.loading,t[2]=i),i}if(a.length===0){let e;return t[3]===n.empty?e=t[4]:(e=(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:n.empty}),t[3]=n.empty,t[4]=e),e}if(o.length===0){let e;return t[5]===n.noSearchResults?e=t[6]:(e=(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:n.noSearchResults}),t[5]=n.noSearchResults,t[6]=e),e}let b;t[7]!==s||t[8]!==c||t[9]!==p||t[10]!==l||t[11]!==n?(b=s.length>1?(0,J.jsxs)(`div`,{role:`tablist`,"aria-label":n.marketplaceCategoriesAria,className:`-mx-1 flex gap-2 overflow-x-auto px-1 pb-1 pt-0.5 [scrollbar-width:thin]`,children:[(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":c===``,className:B(`shrink-0 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,c===``?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),onClick:()=>l(``),children:n.marketplaceCategoryAll}),s.map(e=>{let t=c===e;return(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`max-w-[14rem] shrink-0 truncate rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,t?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),title:p(e),onClick:()=>l(e),children:p(e)},e)})]}):null,t[7]=s,t[8]=c,t[9]=p,t[10]=l,t[11]=n,t[12]=b):b=t[12];let S;t[13]!==u||t[14]!==d||t[15]!==r||t[16]!==g||t[17]!==_||t[18]!==h||t[19]!==f||t[20]!==n||t[21]!==m||t[22]!==y||t[23]!==v?(S=u.length===0?(0,J.jsx)(`div`,{className:`rounded-2xl border border-dashed border-edge py-16 text-center text-sm text-fg-muted`,children:d===`disabled`?n.noDisabledSkills:n.noSearchResults}):(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:u.map(e=>{let t=f(e);return(0,J.jsx)(`article`,{className:B(`group flex h-full flex-col rounded-xl border bg-surface-base p-4 transition-colors`,t?`border-edge-subtle hover:border-accent/40 hover:bg-surface-hover dark:border-edge-subtle`:`border-amber-300/70 bg-amber-50/30 hover:border-amber-400/80 hover:bg-amber-50/50 dark:border-amber-700/50 dark:bg-amber-950/20 dark:hover:border-amber-600/60`),children:(0,J.jsx)(`div`,{role:`button`,tabIndex:0,className:B(`flex min-h-0 flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,x.focusRingPanel),"aria-labelledby":`catalog-skill-title-${e.directoryId}`,onClick:t=>{t.target.closest(`button`)||h(e)},onKeyDown:t=>{t.target.closest(`button`)||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),h(e))},children:(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(pe,{name:e.name}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,J.jsx)(`h3`,{id:`catalog-skill-title-${e.directoryId}`,className:`min-w-0 flex-1 truncate text-[15px] font-semibold leading-snug tracking-tight text-fg`,children:e.name}),(0,J.jsxs)(`div`,{role:`group`,className:`flex shrink-0 items-center gap-1`,onClick:Se,onKeyDown:xe,children:[t?null:(0,J.jsx)(R,{type:`button`,variant:`primary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:y===e.name,onClick:()=>void g(e.name,!0),children:y===e.name?n.uploading:n.detailModalEnable}),(0,J.jsx)(R,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:!t||v===e.name||y===e.name,title:t?void 0:n.useRequiresEnabled,onClick:()=>void _({name:e.name,source:`catalog`}),children:v===e.name?n.previewUseInChatBusy:n.previewUseInChat})]})]}),(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:e.description?e.description:void 0,children:e.description||`—`}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1.5 text-[11px] text-fg-subtle`,children:r!==`builtin`||e.managed?(0,J.jsxs)(J.Fragment,{children:[r===`builtin`?null:(0,J.jsx)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:m(e.source)}),e.managed?(0,J.jsxs)(`span`,{className:`rounded-md bg-surface-hover/60 px-2 py-0.5 dark:bg-surface-active/50`,children:[n.col.managed,`: `,n.yes]}):null,e.hub?(0,J.jsxs)(`span`,{className:`max-w-full break-all rounded-md bg-surface-hover/60 px-2 py-0.5 font-mono text-[10px] leading-snug dark:bg-surface-active/50 line-clamp-2`,title:`${e.hub.source}${e.hub.ref?`\nref: ${e.hub.ref}`:``}\nupdated: ${e.hub.updatedAt}`,children:[n.hubRemote,` ·`,` `,e.hub.kind===`git`?n.hubKindGit:n.hubKindArchive,` ·`,` `,e.hub.source.length>48?`${e.hub.source.slice(0,48)}…`:e.hub.source]}):null]}):null})]})]})})},`${e.directoryId}-${e.path}`)})}),t[13]=u,t[14]=d,t[15]=r,t[16]=g,t[17]=_,t[18]=h,t[19]=f,t[20]=n,t[21]=m,t[22]=y,t[23]=v,t[24]=S):S=t[24];let C;return t[25]!==b||t[26]!==S?(C=(0,J.jsxs)(J.Fragment,{children:[b,S]}),t[25]=b,t[26]=S,t[27]=C):C=t[27],C}function xe(e){return e.stopPropagation()}function Se(e){return e.stopPropagation()}function Ce(e){return(0,J.jsx)(me,{},e)}var we=`https://skillhub.cn`,Te=`https://clawhub.ai`;function Z(e){let t=e.trim();return t?`${we}/skills/${encodeURIComponent(t)}`:null}function Ee(e){let t=e.trim();return t?`${Te}/${encodeURIComponent(t)}`:null}function De(e,t){return e===`skillhub`?Z(t):e===`clawhub`?Ee(t):null}function Oe(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function ke(e){let t=[e.kind];return e.label?.trim()&&t.push(e.label.trim()),e.package?.trim()&&t.push(e.package.trim()),e.formula?.trim()&&t.push(e.formula.trim()),e.module?.trim()&&t.push(e.module.trim()),e.url?.trim()&&t.push(e.url.trim()),t.join(` · `)}function Ae(e){return{...e,enabled:e.enabled??!0,disableModelInvocation:e.disableModelInvocation??!1}}function je(e){let t=(0,K.c)(32),{sk:n,confirmOpen:r,setConfirmOpen:i,confirmId:a,setConfirmId:o,runDelete:s}=e,c;t[0]!==o||t[1]!==i?(c=e=>{i(e),e||o(null)},t[0]=o,t[1]=i,t[2]=c):c=t[2];let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(C,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[3]=l):l=t[3];let u;t[4]===n.deleteTitle?u=t[5]:(u=(0,J.jsx)(w,{className:`text-base font-semibold text-fg`,children:n.deleteTitle}),t[4]=n.deleteTitle,t[5]=u);let f;t[6]!==a||t[7]!==n.deleteMessage?(f=a?Oe(n.deleteMessage,{id:a}):``,t[6]=a,t[7]=n.deleteMessage,t[8]=f):f=t[8];let p;t[9]===f?p=t[10]:(p=(0,J.jsx)(`p`,{className:`mt-2 text-sm text-fg-muted`,children:f}),t[9]=f,t[10]=p);let m;t[11]===i?m=t[12]:(m=()=>i(!1),t[11]=i,t[12]=m);let h;t[13]!==n.cancel||t[14]!==m?(h=(0,J.jsx)(R,{type:`button`,variant:`secondary`,onClick:m,children:n.cancel}),t[13]=n.cancel,t[14]=m,t[15]=h):h=t[15];let g;t[16]===s?g=t[17]:(g=()=>void s(),t[16]=s,t[17]=g);let _;t[18]!==n.deleteConfirm||t[19]!==g?(_=(0,J.jsx)(R,{type:`button`,variant:`primary`,className:`bg-red-600 hover:bg-red-700`,onClick:g,children:n.deleteConfirm}),t[18]=n.deleteConfirm,t[19]=g,t[20]=_):_=t[20];let v;t[21]!==h||t[22]!==_?(v=(0,J.jsxs)(`div`,{className:`mt-4 flex justify-end gap-2`,children:[h,_]}),t[21]=h,t[22]=_,t[23]=v):v=t[23];let y;t[24]!==v||t[25]!==u||t[26]!==p?(y=(0,J.jsxs)(d,{children:[l,(0,J.jsxs)(ee,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] w-[min(100%-2rem,24rem)] -translate-x-1/2 -translate-y-1/2 rounded-xl border border-edge bg-surface-panel p-4 shadow-popover dark:border-edge`,children:[u,p,v]})]}),t[24]=v,t[25]=u,t[26]=p,t[27]=y):y=t[27];let b;return t[28]!==r||t[29]!==c||t[30]!==y?(b=(0,J.jsx)(ie,{open:r,onOpenChange:c,children:y}),t[28]=r,t[29]=c,t[30]=y,t[31]=b):b=t[31],b}function Q(e){let t=(0,K.c)(7),{label:n,children:r}=e;if(r==null||r===!1)return null;let i;t[0]===n?i=t[1]:(i=(0,J.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,J.jsx)(`div`,{className:`mt-1.5 min-w-0 text-sm text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,J.jsxs)(`div`,{className:`mt-3 border-t border-edge-subtle pt-3 dark:border-edge/60`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Me(e){let t=(0,K.c)(118),{preview:n,sk:r}=e,i=n.metadata,a=n.toolConditions,o=!!a&&(a.requiresTools.length>0||a.requiresToolsets.length>0||a.fallbackForTools.length>0||a.fallbackForToolsets.length>0),s=i.requires,l=s&&((s.bins?.length??0)>0||(s.env?.length??0)>0||(s.anyBins?.length??0)>0),u,d,f,p,m,h,g,_,v,y,b,x,S,C,w;if(t[0]!==a||t[1]!==l||t[2]!==o||t[3]!==i.emoji||t[4]!==i.homepage||t[5]!==i.install||t[6]!==i.os||t[7]!==n.description||t[8]!==n.disableModelInvocation||t[9]!==n.requiredEnvVarNames||t[10]!==s||t[11]!==r.detailEnvVarsLabel||t[12]!==r.detailHomepageLabel||t[13]!==r.detailInstallLabel||t[14]!==r.detailNotInjectedNote||t[15]!==r.detailPlatformsLabel||t[16]!==r.detailRequiresAnyBins||t[17]!==r.detailRequiresBins||t[18]!==r.detailRequiresEnv||t[19]!==r.detailRequiresLabel||t[20]!==r.detailSummaryHeading||t[21]!==r.detailToolGatingLabel||t[22]!==r.detailToolsFallbackList||t[23]!==r.detailToolsRequiresList||t[24]!==r.detailToolsetsFallbackList||t[25]!==r.detailToolsetsRequiresList){let e=i.install?.filter(Fe)??[],c=n.requiredEnvVarNames?.filter(Pe)??[];g=`space-y-6`,m=`skill-detail-summary-heading`,t[41]===r.detailSummaryHeading?h=t[42]:(h=(0,J.jsx)(`h3`,{id:`skill-detail-summary-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:r.detailSummaryHeading}),t[41]=r.detailSummaryHeading,t[42]=h),v=`rounded-xl border border-edge bg-surface-base px-4 py-3 dark:bg-surface-hover/25`,t[43]===i.emoji?y=t[44]:(y=i.emoji?.trim()?(0,J.jsx)(`p`,{className:`text-2xl leading-none`,"aria-hidden":!0,children:i.emoji.trim()}):null,t[43]=i.emoji,t[44]=y);let T;t[45]===i.emoji?T=t[46]:(T=i.emoji?.trim()?`mt-2`:``,t[45]=i.emoji,t[46]=T);let E;t[47]===T?E=t[48]:(E=B(`text-sm leading-relaxed text-fg`,T),t[47]=T,t[48]=E),t[49]!==n.description||t[50]!==E?(b=(0,J.jsx)(`p`,{className:E,children:n.description}),t[49]=n.description,t[50]=E,t[51]=b):b=t[51],t[52]!==n.disableModelInvocation||t[53]!==r.detailNotInjectedNote?(x=n.disableModelInvocation?(0,J.jsx)(`p`,{className:`mt-3 rounded-lg border border-amber-200/80 bg-amber-50/90 px-3 py-2 text-xs leading-snug text-amber-950 dark:border-amber-900/50 dark:bg-amber-950/40 dark:text-amber-100`,children:r.detailNotInjectedNote}):null,t[52]=n.disableModelInvocation,t[53]=r.detailNotInjectedNote,t[54]=x):x=t[54];let D;t[55]===i.homepage?D=t[56]:(D=i.homepage?.trim()?(0,J.jsx)(`a`,{href:i.homepage.trim(),target:`_blank`,rel:`noopener noreferrer`,className:`break-all text-accent underline-offset-2 hover:underline`,children:i.homepage.trim()}):null,t[55]=i.homepage,t[56]=D),t[57]!==r.detailHomepageLabel||t[58]!==D?(S=(0,J.jsx)(Q,{label:r.detailHomepageLabel,children:D}),t[57]=r.detailHomepageLabel,t[58]=D,t[59]=S):S=t[59];let O;t[60]===i.os?O=t[61]:(O=i.os&&i.os.length>0?(0,J.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:i.os.join(`, `)}):null,t[60]=i.os,t[61]=O),t[62]!==r.detailPlatformsLabel||t[63]!==O?(C=(0,J.jsx)(Q,{label:r.detailPlatformsLabel,children:O}),t[62]=r.detailPlatformsLabel,t[63]=O,t[64]=C):C=t[64];let k;t[65]!==l||t[66]!==s||t[67]!==r.detailRequiresAnyBins||t[68]!==r.detailRequiresBins||t[69]!==r.detailRequiresEnv?(k=l&&s?(0,J.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[s.bins&&s.bins.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresBins,`: `]}),s.bins.join(`, `)]}):null,s.env&&s.env.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresEnv,`: `]}),(0,J.jsx)(`span`,{className:`font-mono text-xs`,children:s.env.join(`, `)})]}):null,s.anyBins&&s.anyBins.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`text-fg`,children:[r.detailRequiresAnyBins,`: `]}),s.anyBins.join(`, `)]}):null]}):null,t[65]=l,t[66]=s,t[67]=r.detailRequiresAnyBins,t[68]=r.detailRequiresBins,t[69]=r.detailRequiresEnv,t[70]=k):k=t[70],t[71]!==r.detailRequiresLabel||t[72]!==k?(w=(0,J.jsx)(Q,{label:r.detailRequiresLabel,children:k}),t[71]=r.detailRequiresLabel,t[72]=k,t[73]=w):w=t[73];let A=e.length>0?(0,J.jsx)(`ul`,{className:`list-inside list-decimal space-y-1.5 text-sm text-fg-muted`,children:e.map(Ne)}):null;t[74]!==r.detailInstallLabel||t[75]!==A?(f=(0,J.jsx)(Q,{label:r.detailInstallLabel,children:A}),t[74]=r.detailInstallLabel,t[75]=A,t[76]=f):f=t[76];let j;t[77]!==a||t[78]!==o||t[79]!==r.detailToolsFallbackList||t[80]!==r.detailToolsRequiresList||t[81]!==r.detailToolsetsFallbackList||t[82]!==r.detailToolsetsRequiresList?(j=o&&a?(0,J.jsxs)(`ul`,{className:`mt-1 space-y-2 text-sm text-fg-muted`,children:[a.requiresTools.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsRequiresList,`: `]}),a.requiresTools.join(`, `)]}):null,a.requiresToolsets.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsetsRequiresList,`: `]}),a.requiresToolsets.join(`, `)]}):null,a.fallbackForTools.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsFallbackList,`: `]}),a.fallbackForTools.join(`, `)]}):null,a.fallbackForToolsets.length>0?(0,J.jsxs)(`li`,{children:[(0,J.jsxs)(`span`,{className:`font-medium text-fg`,children:[r.detailToolsetsFallbackList,`: `]}),a.fallbackForToolsets.join(`, `)]}):null]}):null,t[77]=a,t[78]=o,t[79]=r.detailToolsFallbackList,t[80]=r.detailToolsRequiresList,t[81]=r.detailToolsetsFallbackList,t[82]=r.detailToolsetsRequiresList,t[83]=j):j=t[83],t[84]!==r.detailToolGatingLabel||t[85]!==j?(p=(0,J.jsx)(Q,{label:r.detailToolGatingLabel,children:j}),t[84]=r.detailToolGatingLabel,t[85]=j,t[86]=p):p=t[86],u=Q,d=r.detailEnvVarsLabel,_=c.length>0?(0,J.jsx)(`span`,{className:`font-mono text-xs text-fg-muted`,children:c.join(`, `)}):null,t[0]=a,t[1]=l,t[2]=o,t[3]=i.emoji,t[4]=i.homepage,t[5]=i.install,t[6]=i.os,t[7]=n.description,t[8]=n.disableModelInvocation,t[9]=n.requiredEnvVarNames,t[10]=s,t[11]=r.detailEnvVarsLabel,t[12]=r.detailHomepageLabel,t[13]=r.detailInstallLabel,t[14]=r.detailNotInjectedNote,t[15]=r.detailPlatformsLabel,t[16]=r.detailRequiresAnyBins,t[17]=r.detailRequiresBins,t[18]=r.detailRequiresEnv,t[19]=r.detailRequiresLabel,t[20]=r.detailSummaryHeading,t[21]=r.detailToolGatingLabel,t[22]=r.detailToolsFallbackList,t[23]=r.detailToolsRequiresList,t[24]=r.detailToolsetsFallbackList,t[25]=r.detailToolsetsRequiresList,t[26]=u,t[27]=d,t[28]=f,t[29]=p,t[30]=m,t[31]=h,t[32]=g,t[33]=_,t[34]=v,t[35]=y,t[36]=b,t[37]=x,t[38]=S,t[39]=C,t[40]=w}else u=t[26],d=t[27],f=t[28],p=t[29],m=t[30],h=t[31],g=t[32],_=t[33],v=t[34],y=t[35],b=t[36],x=t[37],S=t[38],C=t[39],w=t[40];let T;t[87]!==u||t[88]!==d||t[89]!==_?(T=(0,J.jsx)(u,{label:d,children:_}),t[87]=u,t[88]=d,t[89]=_,t[90]=T):T=t[90];let E;t[91]!==f||t[92]!==p||t[93]!==T||t[94]!==v||t[95]!==y||t[96]!==b||t[97]!==x||t[98]!==S||t[99]!==C||t[100]!==w?(E=(0,J.jsxs)(`div`,{className:v,children:[y,b,x,S,C,w,f,p,T]}),t[91]=f,t[92]=p,t[93]=T,t[94]=v,t[95]=y,t[96]=b,t[97]=x,t[98]=S,t[99]=C,t[100]=w,t[101]=E):E=t[101];let D;t[102]!==m||t[103]!==h||t[104]!==E?(D=(0,J.jsxs)(`section`,{"aria-labelledby":m,children:[h,E]}),t[102]=m,t[103]=h,t[104]=E,t[105]=D):D=t[105];let O;t[106]===r.detailInstructionsHeading?O=t[107]:(O=(0,J.jsx)(`h3`,{id:`skill-detail-instructions-heading`,className:`mb-2 text-xs font-semibold uppercase tracking-wide text-fg-muted`,children:r.detailInstructionsHeading}),t[106]=r.detailInstructionsHeading,t[107]=O);let k;t[108]!==n.bodyMarkdown||t[109]!==r.detailNoInstructionsBody?(k=n.bodyMarkdown.trim()?(0,J.jsx)(`div`,{className:`markdown-content min-w-0 break-words`,children:(0,J.jsx)(c,{content:n.bodyMarkdown})}):(0,J.jsx)(`p`,{className:`text-sm italic text-fg-muted`,children:r.detailNoInstructionsBody}),t[108]=n.bodyMarkdown,t[109]=r.detailNoInstructionsBody,t[110]=k):k=t[110];let A;t[111]!==O||t[112]!==k?(A=(0,J.jsxs)(`section`,{"aria-labelledby":`skill-detail-instructions-heading`,children:[O,k]}),t[111]=O,t[112]=k,t[113]=A):A=t[113];let j;return t[114]!==g||t[115]!==D||t[116]!==A?(j=(0,J.jsxs)(`div`,{className:g,children:[D,A]}),t[114]=g,t[115]=D,t[116]=A,t[117]=j):j=t[117],j}function Ne(e,t){return(0,J.jsx)(`li`,{className:`[overflow-wrap:anywhere]`,children:(0,J.jsx)(`span`,{className:`text-fg`,children:ke(e)})},e.id||`${e.kind}-${t}`)}function Pe(e){return e.trim()}function Fe(e){return e&&typeof e.kind==`string`}var Ie=[{id:`s0`,width:`w-[92%]`},{id:`s1`,width:`w-full`},{id:`s2`,width:`w-4/5`},{id:`s3`,width:`w-[92%]`},{id:`s4`,width:`w-full`},{id:`s5`,width:`w-4/5`},{id:`s6`,width:`w-[92%]`},{id:`s7`,width:`w-full`},{id:`s8`,width:`w-4/5`},{id:`s9`,width:`w-[92%]`}];function Le(e){let t=(0,K.c)(82),{sk:n,detailOpen:r,setDetailOpen:i,detailSource:a,setDetailSource:o,detailTitle:s,setDetailTitle:l,detailMarkdown:u,setDetailMarkdown:f,detailCatalogPreview:p,setDetailCatalogPreview:m,detailMarketplacePreview:h,setDetailMarketplacePreview:_,detailLoading:v,detailError:y,setDetailError:b,detailEnabled:S,detailDirectoryId:T,detailManaged:E,detailExternalUrl:D,usingSkillInChatName:O,installingMarketName:k,togglingSkillName:A,isSkillInstalledByName:j,onUseSkillInChat:M,onMarketInstall:N,onSkillToggle:P,setConfirmId:F,setConfirmOpen:ne}=e,z;t[0]!==m||t[1]!==b||t[2]!==f||t[3]!==_||t[4]!==i||t[5]!==o||t[6]!==l?(z=e=>{i(e),e||(o(`catalog`),f(``),m(null),_(null),b(null),l(``))},t[0]=m,t[1]=b,t[2]=f,t[3]=_,t[4]=i,t[5]=o,t[6]=l,t[7]=z):z=t[7];let V;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,J.jsx)(C,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[8]=V):V=t[8];let re;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(re=B(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] flex h-[min(88vh,44rem)] max-h-[min(92vh,56rem)] w-[min(100%-2rem,min(92vw,56rem))]`,`-translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-float dark:border-edge`),t[9]=re):re=t[9];let H=s||`?`,U;t[10]===H?U=t[11]:(U=(0,J.jsx)(pe,{name:H}),t[10]=H,t[11]=U);let oe=s||`—`,W;t[12]===oe?W=t[13]:(W=(0,J.jsx)(w,{className:`min-w-0 flex-1 truncate text-base font-semibold text-fg`,children:oe}),t[12]=oe,t[13]=W);let G;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(G=B(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,x.focusRingPanel),t[14]=G):G=t[14];let se;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,J.jsx)(te,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[15]=se):se=t[15];let ce;t[16]===n.detailCloseAria?ce=t[17]:(ce=(0,J.jsx)(ae,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,className:G,"aria-label":n.detailCloseAria,children:se})}),t[16]=n.detailCloseAria,t[17]=ce);let q;t[18]!==U||t[19]!==W||t[20]!==ce?(q=(0,J.jsxs)(`div`,{className:`group flex min-h-[3.25rem] shrink-0 items-center gap-3 border-b border-edge px-4 py-3`,children:[U,W,ce]}),t[18]=U,t[19]=W,t[20]=ce,t[21]=q):q=t[21];let le;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,J.jsx)(g,{className:`mt-0.5 size-4 shrink-0 text-blue-600 dark:text-blue-400`,strokeWidth:1.75,"aria-hidden":!0}),t[22]=le):le=t[22];let ue=a===`store`&&h?n.detailModalBanner:a===`store`?n.detailModalBannerStore:n.detailModalBanner,de;t[23]===ue?de=t[24]:(de=(0,J.jsxs)(`div`,{className:`flex min-h-[3.25rem] shrink-0 items-start gap-2 border-b border-blue-200/80 bg-blue-50/95 px-4 py-2.5 text-sm text-fg dark:border-blue-900/50 dark:bg-blue-950/45`,children:[le,(0,J.jsx)(`p`,{className:`min-w-0 leading-relaxed`,children:ue})]}),t[23]=ue,t[24]=de);let fe;t[25]!==p||t[26]!==y||t[27]!==v||t[28]!==u||t[29]!==h||t[30]!==a||t[31]!==n?(fe=(0,J.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-auto p-4`,children:v?(0,J.jsx)(`div`,{className:`flex h-full min-h-[14rem] flex-col gap-2.5 py-1`,"aria-busy":`true`,"aria-label":n.loading,children:Ie.map(Re)}):y?(0,J.jsx)(`p`,{className:`text-sm text-red-600 dark:text-red-400`,children:y}):a===`catalog`&&p?(0,J.jsx)(Me,{preview:p,sk:n}):a===`store`&&h?(0,J.jsx)(Me,{preview:h,sk:n}):(0,J.jsx)(`div`,{className:`markdown-content min-w-0 break-words`,children:(0,J.jsx)(c,{content:u})})}),t[25]=p,t[26]=y,t[27]=v,t[28]=u,t[29]=h,t[30]=a,t[31]=n,t[32]=fe):fe=t[32];let Y;t[33]!==D||t[34]!==a||t[35]!==n.marketplaceOpenExternal||t[36]!==n.marketplaceOpenExternalAria?(Y=a===`store`&&D?(0,J.jsxs)(`a`,{href:D,target:`_blank`,rel:`noopener noreferrer`,className:B(`inline-flex h-9 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-3 text-sm font-medium text-fg-muted`,`hover:bg-surface-hover hover:text-fg dark:border-edge`,x.focusRingPanel),"aria-label":n.marketplaceOpenExternalAria,title:n.marketplaceOpenExternal,children:[(0,J.jsx)(L,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:n.marketplaceOpenExternal})]}):null,t[33]=D,t[34]=a,t[35]=n.marketplaceOpenExternal,t[36]=n.marketplaceOpenExternalAria,t[37]=Y):Y=t[37];let X;t[38]!==T||t[39]!==E||t[40]!==a||t[41]!==F||t[42]!==ne||t[43]!==n.delete?(X=a===`catalog`&&E&&T?(0,J.jsxs)(R,{type:`button`,variant:`ghost`,className:`gap-1.5 text-red-600 hover:bg-red-50 hover:text-red-700 dark:text-red-400 dark:hover:bg-red-950/40 dark:hover:text-red-300`,onClick:()=>{F(T),ne(!0)},children:[(0,J.jsx)(I,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),n.delete]}):null,t[38]=T,t[39]=E,t[40]=a,t[41]=F,t[42]=ne,t[43]=n.delete,t[44]=X):X=t[44];let me;t[45]!==Y||t[46]!==X?(me=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[Y,X]}),t[45]=Y,t[46]=X,t[47]=me):me=t[47];let he;t[48]!==S||t[49]!==v||t[50]!==a||t[51]!==s||t[52]!==k||t[53]!==j||t[54]!==N||t[55]!==P||t[56]!==M||t[57]!==i||t[58]!==n.cancel||t[59]!==n.detailModalDisable||t[60]!==n.detailModalEnable||t[61]!==n.marketplaceInstall||t[62]!==n.marketplaceReinstall||t[63]!==n.previewUseInChat||t[64]!==n.previewUseInChatBusy||t[65]!==n.uploading||t[66]!==n.useRequiresEnabled||t[67]!==A||t[68]!==O?(he=(0,J.jsx)(`div`,{className:`flex items-center gap-2`,children:a===`store`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(R,{type:`button`,variant:`ghost`,onClick:()=>i(!1),children:n.cancel}),(0,J.jsx)(R,{type:`button`,variant:`secondary`,disabled:!s||v||O===s||k===s,onClick:()=>void M(),children:O===s?n.previewUseInChatBusy:n.previewUseInChat}),(0,J.jsx)(R,{type:`button`,variant:j(s)?`secondary`:`primary`,disabled:!s||k===s,onClick:()=>{s&&N(s,{useDetailProvider:!0})},children:k===s?n.uploading:j(s)?n.marketplaceReinstall:n.marketplaceInstall})]}):(0,J.jsxs)(J.Fragment,{children:[S?(0,J.jsx)(R,{type:`button`,variant:`secondary`,disabled:!s||A===s,onClick:()=>{s&&P(s,!1)},children:A===s?n.uploading:n.detailModalDisable}):(0,J.jsx)(R,{type:`button`,variant:`primary`,disabled:!s||A===s,onClick:()=>{s&&P(s,!0)},children:A===s?n.uploading:n.detailModalEnable}),(0,J.jsx)(R,{type:`button`,variant:`secondary`,disabled:!s||!S||v||O===s||A===s,title:S?void 0:n.useRequiresEnabled,onClick:()=>void M(),children:O===s?n.previewUseInChatBusy:n.previewUseInChat})]})}),t[48]=S,t[49]=v,t[50]=a,t[51]=s,t[52]=k,t[53]=j,t[54]=N,t[55]=P,t[56]=M,t[57]=i,t[58]=n.cancel,t[59]=n.detailModalDisable,t[60]=n.detailModalEnable,t[61]=n.marketplaceInstall,t[62]=n.marketplaceReinstall,t[63]=n.previewUseInChat,t[64]=n.previewUseInChatBusy,t[65]=n.uploading,t[66]=n.useRequiresEnabled,t[67]=A,t[68]=O,t[69]=he):he=t[69];let ge;t[70]!==me||t[71]!==he?(ge=(0,J.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-t border-edge px-4 py-3`,children:[me,he]}),t[70]=me,t[71]=he,t[72]=ge):ge=t[72];let _e;t[73]!==q||t[74]!==de||t[75]!==fe||t[76]!==ge?(_e=(0,J.jsxs)(d,{children:[V,(0,J.jsxs)(ee,{className:re,children:[q,de,fe,ge]})]}),t[73]=q,t[74]=de,t[75]=fe,t[76]=ge,t[77]=_e):_e=t[77];let ve;return t[78]!==r||t[79]!==z||t[80]!==_e?(ve=(0,J.jsx)(ie,{open:r,onOpenChange:z,children:_e}),t[78]=r,t[79]=z,t[80]=_e,t[81]=ve):ve=t[81],ve}function Re(e){return(0,J.jsx)(`div`,{className:B(`h-4 animate-pulse rounded-md bg-surface-hover dark:bg-surface-active/50`,e.width)},e.id)}function ze(e){let t=(0,K.c)(67),{sk:n,installOpen:r,setInstallOpen:i,pendingFile:a,setPendingFile:o,dropActive:s,setDropActive:c,uploading:l,onModalDragOver:u,onModalDragLeave:f,onModalDrop:p,onFileInputChange:m,onInstallSubmit:h}=e,g;t[0]!==c||t[1]!==i||t[2]!==o?(g=e=>{i(e),e||(o(null),c(!1))},t[0]=c,t[1]=i,t[2]=o,t[3]=g):g=t[3];let _;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,J.jsx)(C,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[4]=_):_=t[4];let v;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(v=B(`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] max-h-[min(100vh-2rem,44rem)] w-[min(100%-2rem,min(92vw,48rem))] -translate-x-1/2 -translate-y-1/2 overflow-y-auto`,`rounded-2xl border border-edge bg-surface-panel p-6 shadow-float dark:border-edge`),t[5]=v):v=t[5];let y;t[6]===n.installModalTitle?y=t[7]:(y=(0,J.jsx)(w,{className:`text-base font-semibold text-fg`,children:n.installModalTitle}),t[6]=n.installModalTitle,t[7]=y);let b;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(b=B(`rounded-lg p-1.5 text-fg-muted hover:bg-surface-hover hover:text-fg`,x.focusRingPanel),t[8]=b):b=t[8];let S;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(te,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[9]=S):S=t[9];let T;t[10]===n.installClose?T=t[11]:(T=(0,J.jsx)(`span`,{className:`sr-only`,children:n.installClose}),t[10]=n.installClose,t[11]=T);let E;t[12]!==n.installClose||t[13]!==T?(E=(0,J.jsx)(ae,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:b,"aria-label":n.installClose,children:[S,T]})}),t[12]=n.installClose,t[13]=T,t[14]=E):E=t[14];let D;t[15]!==y||t[16]!==E?(D=(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[y,E]}),t[15]=y,t[16]=E,t[17]=D):D=t[17];let O=s?`border-accent bg-accent-soft/60 dark:bg-blue-950/40`:`border-edge bg-surface-base dark:bg-surface-hover/30`,k;t[18]===O?k=t[19]:(k=B(`mt-4 flex min-h-[11rem] cursor-pointer flex-col items-center justify-center gap-3 rounded-xl border-2 border-dashed px-6 py-12 text-center transition-colors`,O),t[18]=O,t[19]=k);let A;t[20]!==m||t[21]!==n.installModalDropHint||t[22]!==l?(A=(0,J.jsx)(`input`,{type:`file`,accept:`.zip,.md,application/zip,text/markdown`,className:`sr-only`,"aria-label":n.installModalDropHint,disabled:l,onChange:m}),t[20]=m,t[21]=n.installModalDropHint,t[22]=l,t[23]=A):A=t[23];let j;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,J.jsx)(P,{className:`size-12 text-fg-subtle`,strokeWidth:1.25,"aria-hidden":!0}),t[24]=j):j=t[24];let M;t[25]===n.installModalDropHint?M=t[26]:(M=(0,J.jsx)(`span`,{className:`text-sm text-fg-muted`,children:n.installModalDropHint}),t[25]=n.installModalDropHint,t[26]=M);let N;t[27]===a?N=t[28]:(N=a?(0,J.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:a.name}):null,t[27]=a,t[28]=N);let F;t[29]!==f||t[30]!==u||t[31]!==p||t[32]!==k||t[33]!==A||t[34]!==M||t[35]!==N?(F=(0,J.jsxs)(`label`,{className:k,onDragLeave:f,onDragOver:u,onDrop:p,children:[A,j,M,N]}),t[29]=f,t[30]=u,t[31]=p,t[32]=k,t[33]=A,t[34]=M,t[35]=N,t[36]=F):F=t[36];let I;t[37]===n.installModalReqTitle?I=t[38]:(I=(0,J.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:n.installModalReqTitle}),t[37]=n.installModalReqTitle,t[38]=I);let L;t[39]===n.installModalReq1?L=t[40]:(L=(0,J.jsx)(`li`,{children:n.installModalReq1}),t[39]=n.installModalReq1,t[40]=L);let R;t[41]===n.installModalReq2?R=t[42]:(R=(0,J.jsx)(`li`,{children:n.installModalReq2}),t[41]=n.installModalReq2,t[42]=R);let ne;t[43]!==L||t[44]!==R?(ne=(0,J.jsxs)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-fg-muted`,children:[L,R]}),t[43]=L,t[44]=R,t[45]=ne):ne=t[45];let z;t[46]!==I||t[47]!==ne?(z=(0,J.jsxs)(`div`,{className:`mt-5 space-y-2`,children:[I,ne]}),t[46]=I,t[47]=ne,t[48]=z):z=t[48];let V=!a||l,re=!a||l?`cursor-not-allowed bg-surface-active text-fg-disabled`:`bg-accent text-white hover:bg-accent-hover`,H;t[49]===re?H=t[50]:(H=B(`mt-6 flex w-full items-center justify-center rounded-xl py-3 text-sm font-semibold`,`transition-colors`,re,x.focusRingPanel),t[49]=re,t[50]=H);let U;t[51]===h?U=t[52]:(U=()=>void h(),t[51]=h,t[52]=U);let oe=l?n.uploading:n.installAction,W;t[53]!==V||t[54]!==H||t[55]!==U||t[56]!==oe?(W=(0,J.jsx)(`button`,{type:`button`,disabled:V,className:H,onClick:U,children:oe}),t[53]=V,t[54]=H,t[55]=U,t[56]=oe,t[57]=W):W=t[57];let G;t[58]!==F||t[59]!==z||t[60]!==W||t[61]!==D?(G=(0,J.jsxs)(d,{children:[_,(0,J.jsxs)(ee,{className:v,children:[D,F,z,W]})]}),t[58]=F,t[59]=z,t[60]=W,t[61]=D,t[62]=G):G=t[62];let se;return t[63]!==r||t[64]!==g||t[65]!==G?(se=(0,J.jsx)(ie,{open:r,onOpenChange:g,children:G}),t[63]=r,t[64]=g,t[65]=G,t[66]=se):se=t[66],se}function Be(e){let t=(0,K.c)(42),{sk:n,mpCategories:r,mpCategoriesLoading:i,mpCategoriesError:a,mpPayload:o,mpLoading:s,mpError:c,marketCategoryId:l,setMarketCategoryId:u,marketPage:d,setMarketPage:f,isSkillInstalledByName:p,openMarketplaceDetail:m,onUseSkillInChat:h,usingSkillInChatName:g,searchInputActive:_,searchQuery:v,setSearchQuery:y,registeredProviders:C,marketBrowseProvider:w,setMarketBrowseProvider:T}=e,E=!_,D;if(t[0]!==p||t[1]!==w||t[2]!==l||t[3]!==d||t[4]!==r||t[5]!==a||t[6]!==i||t[7]!==c||t[8]!==s||t[9]!==o||t[10]!==h||t[11]!==m||t[12]!==C||t[13]!==_||t[14]!==v||t[15]!==T||t[16]!==u||t[17]!==f||t[18]!==y||t[19]!==E||t[20]!==n||t[21]!==g){let e;t[23]===w?e=t[24]:(e=e=>e.id!==w,t[23]=w,t[24]=e);let O=C.filter(e),k=v.trim(),A=(!E||!i&&r.length===0)&&`min-h-0 pb-0 pt-0`,j;t[25]===A?j=t[26]:(j=B(`-mx-1 flex min-h-[2.75rem] items-center gap-2 overflow-x-auto px-1 pb-1 pt-0.5 [scrollbar-width:thin]`,A),t[25]=A,t[26]=j);let M=E&&(r.length>0||i)?`tablist`:void 0,N=E&&(r.length>0||i)?n.marketplaceCategoriesAria:void 0,P;t[27]!==l||t[28]!==r||t[29]!==i||t[30]!==u||t[31]!==E||t[32]!==n?(P=E?r.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":l===``,className:B(`shrink-0 rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,l===``?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),onClick:()=>u(``),children:n.marketplaceCategoryAll}),r.map(e=>{let t=l===e.id;return(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`max-w-[14rem] shrink-0 truncate rounded-full border px-3 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,t?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-edge bg-surface-panel text-fg-muted hover:border-edge-strong hover:text-fg dark:border-edge dark:bg-surface-hover/40`),title:e.label,onClick:()=>u(e.id),children:e.label},e.id)})]}):i?(0,J.jsx)(`div`,{className:`flex gap-2 px-1`,"aria-hidden":!0,children:[`p0`,`p1`,`p2`,`p3`,`p4`].map(Ke)}):null:null,t[27]=l,t[28]=r,t[29]=i,t[30]=u,t[31]=E,t[32]=n,t[33]=P):P=t[33];let I;t[34]!==j||t[35]!==M||t[36]!==N||t[37]!==P?(I=(0,J.jsx)(`div`,{className:j,role:M,"aria-label":N,children:P}),t[34]=j,t[35]=M,t[36]=N,t[37]=P,t[38]=I):I=t[38];let ee;t[39]!==a||t[40]!==E?(ee=E&&a?(0,J.jsx)(`p`,{className:`text-xs text-red-600 dark:text-red-400`,role:`alert`,children:a}):null,t[39]=a,t[40]=E,t[41]=ee):ee=t[41],D=(0,J.jsxs)(J.Fragment,{children:[I,ee,!o&&!c?(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,"aria-busy":`true`,"aria-label":n.loading,children:ve.map(Ge)}):c&&!o?(0,J.jsx)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:c}):o?(0,J.jsxs)(`div`,{className:`relative`,children:[s?(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-[1] flex justify-center bg-surface-panel/40 pt-[min(28vh,7.5rem)] backdrop-blur-[1px] motion-reduce:backdrop-blur-none dark:bg-surface-base/35`,"aria-busy":`true`,"aria-label":n.loading,children:(0,J.jsx)(F,{className:`size-8 shrink-0 animate-spin text-accent motion-reduce:animate-none`,strokeWidth:2,"aria-hidden":!0})}):null,o.items.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-3 rounded-2xl border border-dashed border-edge py-12 text-center text-sm text-fg-muted`,children:[(0,J.jsx)(`p`,{className:`px-4`,children:_&&k?Oe(n.marketplaceEmptySearch,{query:k}):n.marketplaceEmpty}),_?(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[O.map(e=>(0,J.jsx)(R,{type:`button`,variant:`secondary`,className:`h-8 px-3 text-xs`,onClick:()=>T(e.id),children:Oe(n.marketplaceEmptySearchTryProvider,{provider:e.displayName})},e.id)),(0,J.jsx)(R,{type:`button`,variant:`ghost`,className:`h-8 px-3 text-xs`,onClick:()=>y(``),children:n.marketplaceEmptySearchClear})]}):null]}):(0,J.jsx)(`div`,{className:B(`grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3`,s&&`pointer-events-none opacity-[0.52] motion-reduce:opacity-100`),children:o.items.map(e=>{let t=p(e.id);return(0,J.jsx)(`article`,{className:B(`group flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4`,`transition-colors hover:border-accent/40 hover:bg-surface-hover`,`dark:border-edge-subtle`),children:(0,J.jsx)(`div`,{role:`button`,tabIndex:0,className:B(`flex min-h-0 flex-1 cursor-pointer flex-col rounded-lg text-left outline-none`,x.focusRingPanel),"aria-labelledby":`mp-skill-title-${e.id}`,onClick:t=>{t.target.closest(`button`)||m(e.id,e.name,e.providerId??void 0)},onKeyDown:t=>{t.target.closest(`button`)||(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),m(e.id,e.name,e.providerId??void 0))},children:(0,J.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,J.jsx)(pe,{name:e.id}),(0,J.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,J.jsx)(`h3`,{id:`mp-skill-title-${e.id}`,className:`min-w-0 flex-1 truncate text-[15px] font-semibold leading-snug tracking-tight text-fg`,children:e.name}),(0,J.jsx)(`div`,{role:`group`,className:`flex shrink-0 items-center gap-1`,onClick:We,onKeyDown:Ue,children:(0,J.jsx)(R,{type:`button`,variant:`secondary`,className:`h-8 shrink-0 whitespace-nowrap px-2.5 text-xs font-medium`,disabled:s||g===e.id,onClick:()=>void h({name:e.id,source:`store`,providerOverride:e.providerId??null}),children:g===e.id?n.previewUseInChatBusy:n.previewUseInChat})})]}),(()=>{let t=[],n=(e,n)=>{if(!e||t.some(t=>t.id===e))return;let r=C.find(t=>t.id===e)?.displayName??n??e;t.push({id:e,label:r})};n(e.providerId,e.sourceLabel);for(let t of e.additionalSources??[])n(t.providerId,t.sourceLabel);return t.length===0&&e.sourceLabel&&t.push({id:e.sourceLabel,label:e.sourceLabel}),t.length===0?null:(0,J.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map(He)})})(),(0,J.jsx)(`p`,{className:`line-clamp-2 text-sm leading-relaxed text-fg-muted`,title:e.description?e.description:void 0,children:e.description||`—`}),(0,J.jsxs)(`div`,{className:`mt-auto min-h-[2.625rem] space-y-1 text-[11px] leading-snug text-fg-muted`,children:[(0,J.jsxs)(`p`,{className:`line-clamp-1`,title:`${n.marketplaceAuthor}: ${e.author.username} · ${n.marketplaceDownloads}: ${e.downloads}${e.stars!=null&&e.stars>0?` · ★${e.stars}`:``}${t?` · ${n.marketplaceInstalled}`:``}`,children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:n.marketplaceAuthor}),` `,(0,J.jsx)(`span`,{className:`text-fg`,children:e.author.username}),(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsxs)(`span`,{children:[n.marketplaceDownloads,`: `,e.downloads]}),e.stars!=null&&e.stars>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-fg-muted`,children:[(0,J.jsx)(b,{className:`size-3 shrink-0 text-amber-600 dark:text-amber-400`,strokeWidth:2,"aria-hidden":!0}),e.stars]})]}):null,t?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-fg-subtle`,children:` · `}),(0,J.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-400`,children:n.marketplaceInstalled})]}):null]}),e.latestVersion?(0,J.jsxs)(`p`,{className:`line-clamp-1 min-h-[1.125rem] font-mono text-[10px] text-fg-subtle`,title:`${n.marketplaceVersion}: ${e.latestVersion}`,children:[n.marketplaceVersion,`: `,e.latestVersion]}):null]})]})]})})},e.id)})}),o.items.length>0?(0,J.jsxs)(`div`,{className:`mt-3 flex flex-col items-center justify-between gap-3 sm:flex-row`,children:[(0,J.jsx)(`p`,{className:`text-center text-xs text-fg-muted sm:text-left`,children:Oe(n.marketplacePageStatus,{page:o.meta.page,totalPages:o.meta.totalPages,total:o.meta.total})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(R,{type:`button`,variant:`ghost`,className:`h-9 gap-1 px-2`,disabled:s||d<=1,"aria-label":n.marketplacePagePrev,onClick:()=>f(Ve),children:[(0,J.jsx)(S,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:n.marketplacePagePrev})]}),(0,J.jsxs)(R,{type:`button`,variant:`ghost`,className:`h-9 gap-1 px-2`,disabled:s||d>=o.meta.totalPages,"aria-label":n.marketplacePageNext,onClick:()=>f(e=>Math.min(o.meta.totalPages,e+1)),children:[(0,J.jsx)(`span`,{className:`sr-only sm:not-sr-only`,children:n.marketplacePageNext}),(0,J.jsx)(H,{className:`size-4`,strokeWidth:1.75,"aria-hidden":!0})]})]})]}):null]}):null]}),t[0]=p,t[1]=w,t[2]=l,t[3]=d,t[4]=r,t[5]=a,t[6]=i,t[7]=c,t[8]=s,t[9]=o,t[10]=h,t[11]=m,t[12]=C,t[13]=_,t[14]=v,t[15]=T,t[16]=u,t[17]=f,t[18]=y,t[19]=E,t[20]=n,t[21]=g,t[22]=D}else D=t[22];return D}function Ve(e){return Math.max(1,e-1)}function He(e){return(0,J.jsx)(`span`,{className:`inline-flex items-center rounded-full border border-edge-subtle bg-surface-panel px-2 py-0.5 text-[10px] font-medium leading-none text-fg-muted dark:bg-surface-hover/40`,children:e.label},e.id)}function Ue(e){return e.stopPropagation()}function We(e){return e.stopPropagation()}function Ge(e){return(0,J.jsx)(X,{},e)}function Ke(e){return(0,J.jsx)(`div`,{className:`h-8 w-[4.5rem] shrink-0 animate-pulse rounded-full bg-surface-hover motion-reduce:animate-none dark:bg-surface-active/50`},e)}function qe(e){let t=(0,K.c)(139),{vm:n}=e,{sk:r,hasToken:i,error:a,actionFeedback:o,mainTab:s,setMainTab:c,setSourceFilter:l,builtinTabStats:d,userTabStats:f,catalogDisabledCount:p,catalogStatusFilter:m,setCatalogStatusFilter:h,marketSort:g,setMarketSort:_,marketBrowseProvider:v,setMarketBrowseProvider:y,registeredProviders:b,filterLabel:S,inSettingsShell:C,searchInputActive:w,resultTab:T,setResultTab:E,aggregatedTabCounts:D,aggregatedProviderStatus:O}=n;if(!i){let e;t[0]===n?e=t[1]:(e=(0,J.jsx)(Ye,{vm:n}),t[0]=n,t[1]=e);let i;t[2]===r.needToken?i=t[3]:(i=(0,J.jsx)(`div`,{className:`mx-auto w-full max-w-app-main px-4 py-16 text-center text-sm text-fg-muted sm:px-8`,children:r.needToken}),t[2]=r.needToken,t[3]=i);let a;return t[4]!==e||t[5]!==i?(a=(0,J.jsxs)(J.Fragment,{children:[e,i]}),t[4]=e,t[5]=i,t[6]=a):a=t[6],a}let k;t[7]===n?k=t[8]:(k=(0,J.jsx)(Ye,{vm:n}),t[7]=n,t[8]=k);let A;t[9]!==o||t[10]!==a?(A=o?(0,J.jsx)(`div`,{role:`status`,"aria-live":`polite`,className:B(`rounded-xl border px-3 py-2 text-sm`,o.kind===`success`?`border-emerald-200 bg-emerald-50 text-emerald-800 dark:border-emerald-900/40 dark:bg-emerald-950/40 dark:text-emerald-200`:`border-red-200 bg-red-50 text-red-800 dark:border-red-900/50 dark:bg-red-950/40 dark:text-red-200`),children:o.message}):a?(0,J.jsx)(`div`,{className:`rounded-xl border border-edge bg-red-50 px-3 py-2 text-sm text-red-700 dark:border-edge dark:bg-red-950/40 dark:text-red-300`,role:`alert`,children:a}):null,t[9]=o,t[10]=a,t[11]=A):A=t[11];let j;t[12]===r.title?j=t[13]:(j=(0,J.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-fg`,children:r.title}),t[12]=r.title,t[13]=j);let M;t[14]===r.tagline?M=t[15]:(M=(0,J.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm text-fg-muted`,children:r.tagline}),t[14]=r.tagline,t[15]=M);let N;t[16]!==j||t[17]!==M?(N=(0,J.jsx)(`header`,{className:`flex flex-col gap-4`,children:(0,J.jsxs)(`div`,{className:`min-w-0`,children:[j,M]})}),t[16]=j,t[17]=M,t[18]=N):N=t[18];let P;t[19]!==C||t[20]!==n.loading||t[21]!==n.mainTab||t[22]!==n.onReloadClick||t[23]!==n.searchQuery||t[24]!==n.setInstallOpen||t[25]!==n.setPendingFile||t[26]!==n.setSearchQuery||t[27]!==n.sk?(P=C?(0,J.jsx)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-4 dark:border-edge-subtle sm:flex-row sm:flex-wrap sm:items-center sm:justify-end`,children:(0,J.jsx)(le,{loading:n.loading,onReloadClick:n.onReloadClick,searchQuery:n.searchQuery,setSearchQuery:n.setSearchQuery,mainTab:n.mainTab,sk:n.sk,setPendingFile:n.setPendingFile,setInstallOpen:n.setInstallOpen})}):null,t[19]=C,t[20]=n.loading,t[21]=n.mainTab,t[22]=n.onReloadClick,t[23]=n.searchQuery,t[24]=n.setInstallOpen,t[25]=n.setPendingFile,t[26]=n.setSearchQuery,t[27]=n.sk,t[28]=P):P=t[28];let F=r.skillsNavAria,I=s===`marketplace`,ee=s===`marketplace`?`text-fg`:`text-fg-muted hover:text-fg`,L=s===`marketplace`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,te;t[29]!==L||t[30]!==ee?(te=B(`relative max-w-full rounded-md px-3 py-2 text-left text-sm font-medium transition-colors sm:text-center`,ee,L),t[29]=L,t[30]=ee,t[31]=te):te=t[31];let R;t[32]===c?R=t[33]:(R=()=>c(`marketplace`),t[32]=c,t[33]=R);let z;t[34]!==r.tabMarketplace||t[35]!==te||t[36]!==R||t[37]!==I?(z=(0,J.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":I,className:te,onClick:R,children:r.tabMarketplace}),t[34]=r.tabMarketplace,t[35]=te,t[36]=R,t[37]=I,t[38]=z):z=t[38];let V=s===`builtin`,re=s===`builtin`?`text-fg`:`text-fg-muted hover:text-fg`,ie=s===`builtin`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,H;t[39]!==re||t[40]!==ie?(H=B(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,re,ie),t[39]=re,t[40]=ie,t[41]=H):H=t[41];let ae;t[42]===c?ae=t[43]:(ae=()=>c(`builtin`),t[42]=c,t[43]=ae);let U;t[44]!==d.enabled||t[45]!==d.total?(U=(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,d.enabled,`/`,d.total,`)`]}),t[44]=d.enabled,t[45]=d.total,t[46]=U):U=t[46];let q;t[47]!==r.tabBuiltin||t[48]!==V||t[49]!==H||t[50]!==ae||t[51]!==U?(q=(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":V,className:H,onClick:ae,children:[r.tabBuiltin,U]}),t[47]=r.tabBuiltin,t[48]=V,t[49]=H,t[50]=ae,t[51]=U,t[52]=q):q=t[52];let ue=s===`user`,de=s===`user`?`text-fg`:`text-fg-muted hover:text-fg`,fe=s===`user`&&`after:absolute after:bottom-0 after:left-1/2 after:h-0.5 after:w-9 after:-translate-x-1/2 after:rounded-full after:bg-accent`,pe;t[53]!==de||t[54]!==fe?(pe=B(`relative rounded-md px-3 py-2 text-sm font-medium transition-colors`,de,fe),t[53]=de,t[54]=fe,t[55]=pe):pe=t[55];let Y;t[56]===c?Y=t[57]:(Y=()=>c(`user`),t[56]=c,t[57]=Y);let X;t[58]!==f.enabled||t[59]!==f.total?(X=(0,J.jsxs)(`span`,{className:`ml-1 tabular-nums text-fg-muted`,children:[`(`,f.enabled,`/`,f.total,`)`]}),t[58]=f.enabled,t[59]=f.total,t[60]=X):X=t[60];let me;t[61]!==r.tabUser||t[62]!==ue||t[63]!==pe||t[64]!==Y||t[65]!==X?(me=(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":ue,className:pe,onClick:Y,children:[r.tabUser,X]}),t[61]=r.tabUser,t[62]=ue,t[63]=pe,t[64]=Y,t[65]=X,t[66]=me):me=t[66];let he;t[67]!==r.skillsNavAria||t[68]!==z||t[69]!==q||t[70]!==me?(he=(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-x-1 gap-y-1`,role:`tablist`,"aria-label":F,children:[z,q,me]}),t[67]=r.skillsNavAria,t[68]=z,t[69]=q,t[70]=me,t[71]=he):he=t[71];let ge=s===`user`?`flex-nowrap overflow-x-auto pb-0.5 sm:justify-end`:`flex-wrap sm:justify-end`,_e;t[72]===ge?_e=t[73]:(_e=B(`flex min-h-9 min-w-0 items-center gap-2`,ge),t[72]=ge,t[73]=_e);let ve;t[74]!==S||t[75]!==s||t[76]!==l||t[77]!==r.filterAll||t[78]!==r.filterExtra||t[79]!==r.filterGlobal||t[80]!==r.filterWorkspace?(ve=s===`user`?(0,J.jsxs)(oe,{children:[(0,J.jsx)(G,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 min-h-9 min-w-[9rem] shrink-0 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,x.transition,x.focusRingPanel),children:[(0,J.jsx)(ne,{className:`size-3.5 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:S}),(0,J.jsx)(u,{className:`size-3.5 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0})]})}),(0,J.jsx)(se,{children:(0,J.jsx)(ce,{className:`z-50 min-w-[10rem] rounded-xl border border-edge bg-surface-panel p-1 shadow-popover dark:border-edge`,sideOffset:6,align:`end`,children:[`all`,`global`,`workspace`,`extra`].map(e=>(0,J.jsx)(W,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>l(e),children:e===`all`?r.filterAll:e===`global`?r.filterGlobal:e===`workspace`?r.filterWorkspace:r.filterExtra},e))})})]}):null,t[74]=S,t[75]=s,t[76]=l,t[77]=r.filterAll,t[78]=r.filterExtra,t[79]=r.filterGlobal,t[80]=r.filterWorkspace,t[81]=ve):ve=t[81];let ye;t[82]!==O||t[83]!==D||t[84]!==s||t[85]!==v||t[86]!==g||t[87]!==b||t[88]!==T||t[89]!==w||t[90]!==y||t[91]!==_||t[92]!==E||t[93]!==r.marketplaceBrowseSwitchAria||t[94]!==r.marketplaceLoadFailed||t[95]!==r.marketplaceResultsTabAll||t[96]!==r.marketplaceResultsTabsAria||t[97]!==r.marketplaceSortDownloads||t[98]!==r.marketplaceSortNewest?(ye=s===`marketplace`?w?(0,J.jsx)(`div`,{className:`inline-flex h-9 shrink-0 rounded-lg border border-edge bg-surface-panel p-0.5 shadow-surface`,role:`tablist`,"aria-label":r.marketplaceResultsTabsAria,children:[`all`,...b.map(Je)].map(e=>{let t=T===e,n=e===`all`?r.marketplaceResultsTabAll:b.find(t=>t.id===e)?.displayName??e,i=D[e]??0,a=e===`all`?null:O[e];return(0,J.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,className:B(`inline-flex items-center gap-1 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,t?`bg-fg text-surface-panel dark:bg-fg dark:text-surface-base`:`text-fg-muted hover:text-fg`),onClick:()=>E(e),title:a===`error`?`${n} · ${r.marketplaceLoadFailed}`:void 0,children:[(0,J.jsx)(`span`,{children:n}),a===`loading`?(0,J.jsx)(`span`,{className:B(`inline-block size-1.5 animate-pulse rounded-full motion-reduce:animate-none`,t?`bg-surface-panel/70`:`bg-fg-muted/60`),"aria-hidden":!0}):a===`error`?(0,J.jsx)(`span`,{className:`inline-block size-1.5 rounded-full bg-red-500`,"aria-hidden":!0}):(0,J.jsx)(`span`,{className:`tabular-nums opacity-70`,children:i})]},e)})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`inline-flex h-9 shrink-0 rounded-lg border border-edge bg-surface-panel p-0.5 shadow-surface`,role:`group`,"aria-label":r.marketplaceBrowseSwitchAria,children:b.map(e=>{let t=v===e.id;return(0,J.jsx)(`button`,{type:`button`,className:B(`rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors`,x.focusRingPanel,t?`bg-fg text-surface-panel dark:bg-fg dark:text-surface-base`:`text-fg-muted hover:text-fg`),"aria-pressed":t,onClick:()=>y(e.id),children:e.displayName},e.id)})}),(0,J.jsxs)(oe,{children:[(0,J.jsx)(G,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,className:B(`inline-flex h-9 min-h-9 min-w-[9rem] shrink-0 items-center gap-1.5 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,x.transition,x.focusRingPanel),children:[(0,J.jsx)(ne,{className:`size-3.5 text-fg-muted`,strokeWidth:1.75,"aria-hidden":!0}),(0,J.jsx)(`span`,{children:g===`newest`?r.marketplaceSortNewest:r.marketplaceSortDownloads}),(0,J.jsx)(u,{className:`size-3.5 text-fg-subtle`,strokeWidth:1.75,"aria-hidden":!0})]})}),(0,J.jsx)(se,{children:(0,J.jsxs)(ce,{className:`z-50 min-w-[10rem] rounded-xl border border-edge bg-surface-panel p-1 shadow-popover dark:border-edge`,sideOffset:6,align:`end`,children:[(0,J.jsx)(W,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>_(`downloads`),children:r.marketplaceSortDownloads}),(0,J.jsx)(W,{className:B(`cursor-pointer rounded-lg px-3 py-2 text-sm text-fg outline-none`,`hover:bg-surface-hover data-[highlighted]:bg-surface-hover`),onSelect:()=>_(`newest`),children:r.marketplaceSortNewest})]})})]})]}):null,t[82]=O,t[83]=D,t[84]=s,t[85]=v,t[86]=g,t[87]=b,t[88]=T,t[89]=w,t[90]=y,t[91]=_,t[92]=E,t[93]=r.marketplaceBrowseSwitchAria,t[94]=r.marketplaceLoadFailed,t[95]=r.marketplaceResultsTabAll,t[96]=r.marketplaceResultsTabsAria,t[97]=r.marketplaceSortDownloads,t[98]=r.marketplaceSortNewest,t[99]=ye):ye=t[99];let xe;t[100]!==p||t[101]!==m||t[102]!==s||t[103]!==h||t[104]!==r.filterAll||t[105]!==r.filterDisabledOnly||t[106]!==r.filterDisabledOnlyAria?(xe=s!==`marketplace`&&p>0?(0,J.jsx)(`button`,{type:`button`,className:B(`inline-flex h-9 shrink-0 items-center rounded-lg border px-2.5 text-xs font-medium transition-colors`,x.focusRingPanel,m===`disabled`?`border-fg bg-fg text-surface-panel dark:border-fg dark:bg-fg dark:text-surface-base`:`border-amber-300/80 bg-amber-50/90 text-amber-950 hover:border-amber-400 dark:border-amber-700/60 dark:bg-amber-950/40 dark:text-amber-100`),"aria-pressed":m===`disabled`,"aria-label":r.filterDisabledOnlyAria,onClick:()=>h($),children:m===`disabled`?r.filterAll:Oe(r.filterDisabledOnly,{count:p})}):s===`builtin`?(0,J.jsx)(`div`,{className:`h-9 min-w-[9rem] shrink-0`,"aria-hidden":!0}):null,t[100]=p,t[101]=m,t[102]=s,t[103]=h,t[104]=r.filterAll,t[105]=r.filterDisabledOnly,t[106]=r.filterDisabledOnlyAria,t[107]=xe):xe=t[107];let Se;t[108]!==_e||t[109]!==ve||t[110]!==ye||t[111]!==xe?(Se=(0,J.jsxs)(`div`,{className:_e,children:[ve,ye,xe]}),t[108]=_e,t[109]=ve,t[110]=ye,t[111]=xe,t[112]=Se):Se=t[112];let Ce;t[113]!==he||t[114]!==Se?(Ce=(0,J.jsxs)(`div`,{className:`flex flex-col gap-3 border-b border-edge-subtle pb-3 sm:flex-row sm:items-center sm:justify-between dark:border-edge-subtle`,children:[he,Se]}),t[113]=he,t[114]=Se,t[115]=Ce):Ce=t[115];let we;t[116]!==s||t[117]!==n?(we=s===`marketplace`?(0,J.jsx)(Be,{...n}):(0,J.jsx)(be,{...n}),t[116]=s,t[117]=n,t[118]=we):we=t[118];let Te;t[119]!==Ce||t[120]!==we?(Te=(0,J.jsxs)(`section`,{className:`flex flex-col gap-4`,children:[Ce,we]}),t[119]=Ce,t[120]=we,t[121]=Te):Te=t[121];let Z;t[122]!==A||t[123]!==Te||t[124]!==N||t[125]!==P?(Z=(0,J.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col gap-6 px-4 py-6 sm:px-8`,children:[A,N,P,Te]}),t[122]=A,t[123]=Te,t[124]=N,t[125]=P,t[126]=Z):Z=t[126];let Ee,De,ke;t[127]===n?(Ee=t[128],De=t[129],ke=t[130]):(Ee=(0,J.jsx)(Le,{...n}),De=(0,J.jsx)(ze,{...n}),ke=(0,J.jsx)(je,{...n}),t[127]=n,t[128]=Ee,t[129]=De,t[130]=ke);let Ae;t[131]!==Z||t[132]!==Ee||t[133]!==De||t[134]!==ke?(Ae=(0,J.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col bg-surface-panel`,children:[Z,Ee,De,ke]}),t[131]=Z,t[132]=Ee,t[133]=De,t[134]=ke,t[135]=Ae):Ae=t[135];let Q;return t[136]!==k||t[137]!==Ae?(Q=(0,J.jsxs)(J.Fragment,{children:[k,Ae]}),t[136]=k,t[137]=Ae,t[138]=Q):Q=t[138],Q}function $(e){return e===`disabled`?`all`:`disabled`}function Je(e){return e.id}function Ye(e){let t=(0,K.c)(16),{vm:n}=e,{sk:r,hasToken:i,loading:a,onReloadClick:o,searchQuery:s,setSearchQuery:c,mainTab:l,setPendingFile:u,setInstallOpen:d,inSettingsShell:p}=n,m=f(Ze),h=f(Xe),g;t[0]!==a||t[1]!==l||t[2]!==o||t[3]!==s||t[4]!==d||t[5]!==u||t[6]!==c||t[7]!==r?(g=(0,J.jsx)(le,{loading:a,onReloadClick:o,searchQuery:s,setSearchQuery:c,mainTab:l,sk:r,setPendingFile:u,setInstallOpen:d}),t[0]=a,t[1]=l,t[2]=o,t[3]=s,t[4]=d,t[5]=u,t[6]=c,t[7]=r,t[8]=g):g=t[8];let _=g,v,y;return t[9]!==h||t[10]!==i||t[11]!==p||t[12]!==m||t[13]!==_?(v=()=>!i||p?(h(),()=>h()):(m({startExtra:null,main:null,end:_}),()=>h()),y=[h,i,p,m,_],t[9]=h,t[10]=i,t[11]=p,t[12]=m,t[13]=_,t[14]=v,t[15]=y):(v=t[14],y=t[15]),(0,q.useLayoutEffect)(v,y),null}function Xe(e){return e.clearPageHeader}function Ze(e){return e.setPageHeader}async function Qe(t){let n=t.name.toLowerCase();if(n.endsWith(`.zip`))return t;if(n.endsWith(`skill.md`)){let n=(await o(async()=>{let{default:t}=await import(`./jszip.min-DT31yWkU.js`).then(t=>e(t.default,1));return{default:t}},__vite__mapDeps([0,1]))).default,r=new n;r.file(`SKILL.md`,await t.arrayBuffer());let i=await r.generateAsync({type:`blob`,compression:`DEFLATE`}),a=t.name.replace(/\.md$/i,``).replace(/\s+/g,`-`)||`skill`;return new File([i],`${a}.zip`,{type:`application/zip`})}throw Error(`invalid`)}function $e(){let e=i(e=>e.language),t=a(e).skills,n=!!s(e=>e.token),r=m(),[o,c]=k(),u=o.get(`mprov`)?.trim()||null,[d,f]=(0,q.useState)(!1),[g,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(!1),C=o.get(`q`)??``,w=o.get(`tab`),T=o.get(`source`),j=he.has(w)?w:`marketplace`,P=ge.has(T)?T:`all`,[F,I]=(0,q.useState)(C),[ee]=y(F,250),L=ee.trim(),te=F.trim().length>0,R=L.length>0,[ne,B]=(0,q.useState)(null),[V,ie]=(0,q.useState)(j),[H,ae]=(0,q.useState)(P),[oe,W]=(0,q.useState)(``),[G,se]=(0,q.useState)(`all`),[ce,K]=(0,q.useState)(!1),[J,le]=(0,q.useState)(null),[ue,de]=(0,q.useState)(!1),[fe,pe]=(0,q.useState)(!1),[Y,X]=(0,q.useState)(null),[me,ve]=(0,q.useState)(null),[be,xe]=(0,q.useState)({}),[Se,Ce]=(0,q.useState)(!1),[we,Te]=(0,q.useState)(`catalog`),[Z,Ee]=(0,q.useState)(``),[Oe,ke]=(0,q.useState)(``),[je,Q]=(0,q.useState)(null),[Me,Ne]=(0,q.useState)(null),[Pe,Fe]=(0,q.useState)(!1),[Ie,Le]=(0,q.useState)(null),[Re,ze]=(0,q.useState)(`downloads`),[Be,Ve]=(0,q.useState)(1),[He,Ue]=(0,q.useState)(null),[We,Ge]=(0,q.useState)(null),[Ke,qe]=(0,q.useState)(``),[$,Je]=(0,q.useState)(()=>u),[Ye,Xe]=(0,q.useState)(0),Ze=(0,q.useRef)(null),$e=(0,q.useRef)(u),et=(0,q.useRef)(null),tt=(0,q.useRef)(``),nt=(0,q.useRef)(null),[rt,it]=(0,q.useState)({query:``,byProvider:{}}),[at,ot]=(0,q.useState)(`all`),st=(0,q.useRef)(0),ct=(0,q.useRef)(L);ct.current!==L&&(ct.current=L,ot(e=>e===`all`?e:`all`));let lt=re(()=>v(e===`en`?void 0:e).then(e=>e.catalog.map(Ae)),[n,e],{enabled:n,initial:[],errorData:[]}),{data:ut,loading:dt,setData:ft}=lt,pt=re(async()=>{try{let{providers:e,current:t}=await E();return{providers:e.map(e=>({id:e.id,displayName:e.displayName})),current:t}}catch{try{return{providers:[],current:(await h()).provider}}catch{return{providers:[],current:`skillhub`}}}},[n,Ye],{enabled:n,initial:{providers:[],current:null}}),mt=d||dt,ht=pt.data.providers;(0,q.useEffect)(()=>{let e=()=>Xe(e=>e+1);return window.addEventListener(`config-reload`,e),()=>window.removeEventListener(`config-reload`,e)},[]);let gt=o.toString(),_t=(0,q.useRef)(gt);if(_t.current!==gt){_t.current=gt;let e=o.get(`q`)??``,t=o.get(`tab`),n=o.get(`source`),r=he.has(t)?t:`marketplace`,i=ge.has(n)?n:`all`;I(t=>t===e?t:e),ie(e=>e===r?e:r),ae(e=>e===i?e:i);let a=o.get(`mcat`)??``;qe(r===`marketplace`?e=>e===a?e:a:``)}let vt=(0,q.useRef)(n);!n&&vt.current&&(Je(null),Ze.current=null),vt.current=n,n&&u&&$e.current!==u&&($e.current=u,Je(u)),n&&u==null&&pt.data.current&&pt.data.current!==et.current&&(et.current=pt.data.current,Je(e=>e??pt.data.current));let yt=`${L}|${Re}|${V}|${Ke}|${$??``}|${at}`;tt.current!==yt&&(tt.current=yt,Ve(1)),V===`marketplace`&&$&&nt.current!=null&&nt.current!==$&&qe(``),nt.current=$;let bt=re(()=>A({page:Be,pageSize:20,sort:Re,category:Ke.trim()||void 0,provider:$}),[n,V,Ke,Be,Re,R,$],{enabled:n&&V===`marketplace`&&!!$&&!R,initial:null,errorData:null});(0,q.useLayoutEffect)(()=>{!n||!te||ie(e=>e===`marketplace`?e:`marketplace`)},[n,te]),(0,q.useEffect)(()=>{if(!n||!R||V!==`marketplace`||ht.length===0)return;let e=++st.current,r={};for(let e of ht)r[e.id]={status:`loading`,rows:[]};it({query:L,byProvider:r});let i=[],a=[];for(let n of ht){let r=new AbortController;i.push(r);let o=window.setTimeout(()=>{r.abort(new DOMException(`Adapter timed out`,`TimeoutError`))},8e3);a.push(o),A({provider:n.id,q:L,page:1,pageSize:40,sort:Re,signal:r.signal}).then(t=>{if(window.clearTimeout(o),e!==st.current)return;let r=t.items.map(e=>({...e,providerId:n.id}));it(e=>({...e,byProvider:{...e.byProvider,[n.id]:{status:`ok`,rows:r}}}))}).catch(r=>{if(window.clearTimeout(o),e!==st.current)return;let i=r instanceof DOMException&&(r.name===`TimeoutError`||r.name===`AbortError`)?t.marketplaceLoadFailed:r instanceof Error?r.message:t.marketplaceLoadFailed;it(e=>({...e,byProvider:{...e.byProvider,[n.id]:{status:`error`,rows:[],error:i}}}))})}return()=>{for(let e of a)window.clearTimeout(e);for(let e of i)e.abort()}},[n,V,R,L,ht,Re,t.marketplaceLoadFailed]);let xt=re(()=>l({provider:$}).then(e=>e.items),[n,V,$],{enabled:n&&V===`marketplace`&&!!$,initial:[],errorData:[]}),St=(0,q.useMemo)(()=>{if(!R||rt.query!==L)return[];let e=ht.map(e=>({id:e.id,rows:[...rt.byProvider[e.id]?.rows??[]]})),t=[];for(;e.some(e=>e.rows.length>0);)for(let n of e)n.rows.length>0&&t.push(n.rows.shift());let n=new Map;for(let e of t){let t=[(e.id??``).toLowerCase().trim(),(e.name??``).toLowerCase().trim(),(e.author?.username??``).toLowerCase().trim()].join(`|`),r=n.get(t);if(!r){n.set(t,{...e,additionalSources:[]});continue}if(e.providerId&&e.providerId!==r.providerId){let t=r.additionalSources??[];t.some(t=>t.providerId===e.providerId)||(t.push({providerId:e.providerId,sourceLabel:e.sourceLabel}),r.additionalSources=t)}}return Array.from(n.values())},[R,L,rt,ht]),Ct=(0,q.useMemo)(()=>{if(!R)return{};let e={all:St.length};for(let t of ht)e[t.id]=St.filter(e=>e.providerId===t.id||(e.additionalSources??[]).some(e=>e.providerId===t.id)).length;return e},[R,St,ht]),wt=(0,q.useMemo)(()=>R?at===`all`?St:St.filter(e=>e.providerId===at||(e.additionalSources??[]).some(e=>e.providerId===at)):[],[R,St,at]),Tt=(0,q.useMemo)(()=>{if(!R)return{};let e={};for(let t of ht)e[t.id]=rt.byProvider[t.id]?.status??`loading`;return e},[R,rt,ht]),Et=(0,q.useMemo)(()=>Object.values(Tt).some(e=>e===`loading`),[Tt]),Dt=(0,q.useMemo)(()=>{if(!R)return!1;let e=Object.values(Tt);return e.length>0&&e.every(e=>e===`error`)},[R,Tt]),Ot=(0,q.useMemo)(()=>{if(!R||St.length===0&&Et)return null;let e=wt.length,t=(Be-1)*20;return{items:wt.slice(t,t+20),meta:{page:Be,pageSize:20,total:e,totalPages:Math.max(1,Math.ceil(e/20))},provider:at}},[R,St,Et,wt,Be,at]),kt=V===`marketplace`?te?R?Ot:null:bt.data:null,At=V===`marketplace`?te?R?Et:!0:bt.loading:!1,jt=R?Dt?t.marketplaceLoadFailed:null:bt.error instanceof Error?bt.error.message:bt.error?t.marketplaceLoadFailed:null,Mt=V===`marketplace`?xt.data:[],Nt=V===`marketplace`?xt.loading:!1,Pt=xt.error instanceof Error?xt.error.message:xt.error?t.marketplaceCategoriesFailed:null;Ke.trim()&&Mt.length>0&&!Mt.some(e=>e.id===Ke)&&qe(``);let Ft=(0,q.useCallback)(async n=>{let r=n?.silent===!0;r||f(!0),b(null);try{return ft((await v(e===`en`?void 0:e)).catalog.map(Ae)),{ok:!0}}catch(e){let n=e instanceof Error?e.message:t.loadFailed;return b(n),{ok:!1,message:n}}finally{r||f(!1)}},[e,ft,t.loadFailed]),It=!d&&lt.error?lt.error instanceof Error?lt.error.message:t.loadFailed:null,Lt=g??It;(0,q.useEffect)(()=>{c(e=>{let t=new URLSearchParams(e);return L?t.set(`q`,L):t.delete(`q`),V===`marketplace`?t.delete(`tab`):t.set(`tab`,V),H===`all`?t.delete(`source`):t.set(`source`,H),V===`marketplace`&&Ke.trim()?t.set(`mcat`,Ke.trim()):t.delete(`mcat`),V===`marketplace`&&$?t.set(_e,$):t.delete(_e),t.toString()===e.toString()?e:t},{replace:!0})},[V,Ke,$,L,c,H]);let Rt=(0,q.useCallback)((e,t,n=5e3)=>{B({kind:e,message:t}),window.setTimeout(()=>B(null),n)},[]),zt=(0,q.useCallback)(async n=>{Te(`catalog`),Ce(!0),Ee(n.name),ke(``),Q(null),Ne(null),Le(null),Fe(!0);try{let t=await p(n.name,e===`en`?void 0:e);Q(t),Ee(t.name)}catch(e){Q(null),Le(e instanceof Error?e.message:t.detailLoadFailed)}finally{Fe(!1)}},[e,t.detailLoadFailed]),Bt=(0,q.useCallback)(async(e,n,r)=>{let i=r?.trim()||$;if(i){Ze.current=i,Te(`store`),Ce(!0),Ee(n?.trim()||e),ke(``),Q(null),Ne(null),Le(null),Fe(!0);try{let n=await O(e,{provider:i});if(Ee(n.name),n.skillDocPreview)Ne(n.skillDocPreview),ke(``);else{Ne(null);let e=n.readme?.trim();e?ke(e):n.description?.trim()?ke(`## ${n.name}\n\n${n.description.trim()}`):ke(`*${t.marketplaceNoReadme}*`)}}catch(e){Ne(null),Le(e instanceof Error?e.message:t.detailLoadFailed)}finally{Fe(!1)}}},[$,t.detailLoadFailed,t.marketplaceNoReadme]),Vt=(0,q.useCallback)(async(e,n)=>{ve(e),xe(t=>({...t,[e]:n})),B(null);try{return await _(e,n),await Ft({silent:!0}),!0}catch(n){return xe(t=>{let{[e]:n,...r}=t;return r}),Rt(`error`,n instanceof Error?n.message:t.skillToggleFailed),!1}finally{ve(null),xe(t=>{let{[e]:n,...r}=t;return r})}},[Ft,Rt,t.skillToggleFailed]),Ht=(0,q.useCallback)(async()=>{B(null),f(!0),b(null);try{await N()}catch(e){b(e instanceof Error?e.message:t.reloadFailed),f(!1);return}await Ft()},[Ft,t.reloadFailed]),Ut=(0,q.useMemo)(()=>{let e=F.trim().toLowerCase();return e?ut.filter(t=>[t.name,t.description,t.directoryId,t.path,t.source,t.hub?.source,t.hub?.ref].filter(Boolean).join(` `).toLowerCase().includes(e)):ut},[ut,F]),Wt=(0,q.useMemo)(()=>{let e=Ut.filter(e=>e.source===`builtin`);return{total:e.length,enabled:e.filter(e=>be[e.name]??e.enabled).length}},[Ut,be]),Gt=(0,q.useMemo)(()=>{let e=Ut.filter(e=>e.source!==`builtin`);return{total:e.length,enabled:e.filter(e=>be[e.name]??e.enabled).length}},[Ut,be]),Kt=(0,q.useMemo)(()=>Z?ut.find(e=>e.name===Z):void 0,[ut,Z]),qt=Kt==null?!0:be[Z]??Kt.enabled,Jt=Kt?.directoryId??null,Yt=Kt?.managed??!1,Xt=(0,q.useMemo)(()=>we!==`store`||!Z?null:De(Ze.current??$,Z),[we,Z,$]),Zt=(0,q.useMemo)(()=>{let e=Ut;return V===`builtin`?e=e.filter(e=>e.source===`builtin`):V===`user`&&(e=e.filter(e=>e.source!==`builtin`),H!==`all`&&(e=e.filter(e=>e.source===H))),e},[Ut,V,H]),Qt=(0,q.useMemo)(()=>{let e=new Set,t=[];for(let n of Zt){let r=n.category;!r||e.has(r)||(e.add(r),t.push(r))}return t.sort((e,t)=>{let n=ye.indexOf(e),r=ye.indexOf(t);return n>=0&&r>=0?n-r:n>=0?-1:r>=0?1:e.localeCompare(t)})},[Zt]),$t=(0,q.useCallback)(e=>t.categoryLabel?.[e]||e,[t.categoryLabel]),en=(0,q.useMemo)(()=>oe?Zt.filter(e=>e.category===oe):Zt,[Zt,oe]);(0,q.useEffect)(()=>{se(`all`)},[V]);let tn=(0,q.useCallback)(e=>be[e.name]??e.enabled,[be]),nn=(0,q.useMemo)(()=>en.filter(e=>!tn(e)).length,[en,tn]),rn=(0,q.useMemo)(()=>{let e=en;return G===`disabled`&&(e=e.filter(e=>!tn(e))),[...e].sort((e,t)=>{let n=tn(e);return n===tn(t)?e.name.localeCompare(t.name,void 0,{sensitivity:`base`}):n?-1:1})},[en,G,tn]),an=async e=>{B(null),S(!0),b(null);try{let n;try{n=await Qe(e)}catch{b(t.invalidFile),Rt(`error`,t.invalidFile);return}await M(n,{overwrite:!0}),await Ft(),Rt(`success`,t.installSuccess),K(!1),le(null),ie(`user`)}catch(e){b(e instanceof Error?e.message:t.uploadFailed),Rt(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{S(!1)}},on=()=>{J&&an(J)},sn=e=>{let t=e.target.files?.[0];e.target.value=``,t&&le(t)},cn=e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.types.includes(`Files`)&&(de(!0),e.dataTransfer.dropEffect=`copy`)},ln=e=>{let t=e.currentTarget,n=e.relatedTarget;n&&t.contains(n)||de(!1)},un=e=>{e.preventDefault(),e.stopPropagation(),de(!1);let t=e.dataTransfer?.files?.[0];t&&le(t)},dn=e=>{switch(e){case`builtin`:return t.source.builtin;case`workspace`:return t.source.workspace;case`global`:return t.source.global;case`extra`:return t.source.extra;default:return e}},fn=async()=>{let e=Y;if(pe(!1),X(null),e){B(null);try{await U(e),await Ft()}catch(e){b(e instanceof Error?e.message:t.deleteFailed)}}},pn=(0,q.useCallback)(e=>ut.some(t=>t.name===e),[ut]),mn=(0,q.useCallback)(async e=>{let n=(e?.name??Z).trim();if(!n)return;let i=e?.source??we;if(i===`catalog`){let e=ut.find(e=>e.name===n);if(e&&!(be[e.name]??e.enabled))return}B(null);let a=i===`store`&&!pn(n);Ge(n);try{if(a){let t=e?.providerOverride?.trim()||Ze.current||$;await z({name:n,overwrite:!1,...t?{provider:t}:{}}),await Ft({silent:!0})}Ce(!1),r(`/chat/new?skill=${encodeURIComponent(n)}`)}catch(e){Rt(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{Ge(null)}},[ut,Z,we,be,pn,Ft,r,Rt,t.uploadFailed,$]),hn=(0,q.useCallback)(async(e,n)=>{let r=pn(e);if(!(r&&!window.confirm(t.marketplaceReinstallConfirm))){B(null),Ue(e);try{let i=n?.providerOverride?.trim()||(n?.useDetailProvider?Ze.current??$:$);await z({name:e,overwrite:r,...i?{provider:i}:{}}),await Ft({silent:!0}),Rt(`success`,t.installSuccess),Ce(!1),ie(`user`)}catch(e){Rt(`error`,e instanceof Error?e.message:t.uploadFailed)}finally{Ue(null)}}},[pn,Ft,$,Rt,t.installSuccess,t.marketplaceReinstallConfirm,t.uploadFailed]),gn=H===`all`?t.filterAll:H===`global`?t.filterGlobal:H===`workspace`?t.filterWorkspace:t.filterExtra,{pathname:_n}=D();return{sk:t,hasToken:n,catalog:ut,loading:mt,error:Lt,uploading:x,searchQuery:F,setSearchQuery:I,actionFeedback:ne,mainTab:V,setMainTab:ie,sourceFilter:H,setSourceFilter:ae,builtinCategoryFilter:oe,setBuiltinCategoryFilter:W,installOpen:ce,setInstallOpen:K,pendingFile:J,setPendingFile:le,dropActive:ue,setDropActive:de,confirmOpen:fe,setConfirmOpen:pe,confirmId:Y,setConfirmId:X,togglingSkillName:me,enabledOverride:be,detailOpen:Se,setDetailOpen:Ce,detailSource:we,setDetailSource:Te,detailTitle:Z,setDetailTitle:Ee,detailMarkdown:Oe,setDetailMarkdown:ke,detailCatalogPreview:je,setDetailCatalogPreview:Q,detailMarketplacePreview:Me,setDetailMarketplacePreview:Ne,detailLoading:Pe,detailError:Ie,setDetailError:Le,marketSort:Re,setMarketSort:ze,marketPage:Be,setMarketPage:Ve,mpLoading:At,mpError:jt,mpPayload:kt,searchActive:R,searchInputActive:te,resultTab:at,setResultTab:ot,aggregatedTabCounts:Ct,aggregatedProviderStatus:Tt,aggregatedAllFailed:Dt,installingMarketName:He,usingSkillInChatName:We,onUseSkillInChat:mn,marketCategoryId:Ke,setMarketCategoryId:qe,mpCategories:Mt,mpCategoriesError:Pt,mpCategoriesLoading:Nt,marketBrowseProvider:$,setMarketBrowseProvider:Je,registeredProviders:ht,builtinTabStats:Wt,userTabStats:Gt,detailEnabled:qt,detailDirectoryId:Jt,detailManaged:Yt,detailExternalUrl:Xt,filteredCatalog:Zt,builtinCategories:Qt,categoryFilteredCatalog:en,catalogDisplayRows:rn,catalogDisabledCount:nn,catalogStatusFilter:G,setCatalogStatusFilter:se,resolveSkillEnabled:tn,filterLabel:gn,inSettingsShell:_n.startsWith(`/settings/`),categoryLabel:$t,onReloadClick:Ht,openSkillDetail:zt,openMarketplaceDetail:Bt,onSkillToggle:Vt,onInstallSubmit:on,onFileInputChange:sn,onModalDragOver:cn,onModalDragLeave:ln,onModalDrop:un,sourceLabel:dn,runDelete:fn,onMarketInstall:hn,isSkillInstalledByName:pn}}function et(){let e=(0,K.c)(2),t=$e(),n;return e[0]===t?n=e[1]:(n=(0,J.jsx)(qe,{vm:t}),e[0]=t,e[1]=n),n}export{et as SkillsPage};
@@ -1 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./url-CY1RQKTU.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-BWtQq_Ys.js";import{Co as c,K as l,ai as u,ba as d,eo as f,et as p,oi as m,or as h,qi as g,qr as _,si as v,sr as y,tt as b,zo as x}from"./index-CKkR-v9U.js";var S=`/api/image/providers`;async function C(){return(await s(i(`/api/image/providers`)))?.payload?.providers??[]}var w=e(t(),1),ee=n();function T(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function te(e){return e?.apiKey?`••••••••••••`:``}function E(e,t){let n=(()=>{if(!e||typeof e!=`object`||!(`providersConfig`in e))return;let t=e.providersConfig;if(!(!t||typeof t!=`object`||Array.isArray(t)))return t})(),r={};for(let e of t){let t=n?.[e];r[e]={apiKey:te(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function D(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function O(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(l(n)&&l(r)))return n||(r?null:void 0)}function ne(e,t,n){let r={};for(let i of e){let e=t[i]??T(),a=n[i]??T();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=O(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=D(e,a,`region`);c!==void 0&&(o.region=c);let l=D(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=D(e,a,`imageBaseUrl`);u!==void 0&&(o.imageBaseUrl=u),Object.keys(o).length>0&&(r[i]=o)}return r}async function k(e){let t=await s(i(`/api/image/providers/${encodeURIComponent(e)}/reveal-api-key`),{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!t.ok||!t.payload)throw Error(t.error?.message??`Reveal failed`);return t.payload}async function A(e){Object.keys(e).length!==0&&(await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({providersConfig:e})}),await h())}var j=r();function re(e){let t=(0,ee.c)(18),{providerId:n,value:r,onChange:i,labels:a,apiKeyLinks:o,apiKeyLinkLabels:s}=e,c;t[0]===n?c=t[1]:(c=()=>k(n).then(M),t[0]=n,t[1]=c);let l=c,u=`img-cred-key-${n}`,d;t[2]!==a.apiKeyLabel||t[3]!==u?(d=(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:u,children:a.apiKeyLabel}),t[2]=a.apiKeyLabel,t[3]=u,t[4]=d):d=t[4];let p;t[5]!==s||t[6]!==o?(p=o.length>0?(0,j.jsx)(`div`,{className:`flex flex-col gap-1`,children:o.map(e=>(0,j.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex w-fit items-center gap-1 text-xs font-medium text-accent-fg hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[b(e.kind,s),(0,j.jsx)(f,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=p):p=t[7];let m=`img-cred-key-${n}`,h;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==m||t[12]!==r?(h=(0,j.jsx)(_,{id:m,value:r,onChange:i,placeholder:a.optionalPlaceholder,labels:a,reveal:l,loadFailedLabel:a.loadFailed,maskedHelp:a.maskedHelp,notInConfigFile:a.notInConfigFile}),t[8]=a,t[9]=i,t[10]=l,t[11]=m,t[12]=r,t[13]=h):h=t[13];let g;return t[14]!==d||t[15]!==p||t[16]!==h?(g=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[d,p,h]}),t[14]=d,t[15]=p,t[16]=h,t[17]=g):g=t[17],g}function M(e){return e.apiKey??null}function N(){return v(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,u)}function ie(){return v(N(),`appearance-none bg-[length:1rem] bg-[right_0.5rem_center] bg-no-repeat pr-9`)}var P=`__custom__`;function ae(e,t){if(!e.region.trim()&&!e.imageBaseUrl.trim())return``;let n=e.region.trim().toLowerCase();return t.some(e=>e.value===n)?n:P}function oe(e,t){let n=e.baseUrl.trim().replace(/\/+$/,``);if(!n)return``;let r=t.map(e=>e.value.replace(/\/+$/,``)).indexOf(n);return r>=0?t[r].value:P}function se(e,t,n){return t===`beijing`?e.dashscopeRegion_beijing:t===`singapore`?e.dashscopeRegion_singapore:t===`us`?e.dashscopeRegion_us:n}function ce(e,t){return t===`minimax`?e.minimaxClusterLabel:t===`fal`?e.falQueueBaseLabel:e.baseUrlLabel}function le(e,t){return t===`minimax`?e.minimaxClusterHint:t===`fal`?e.falQueueBaseHint:null}function ue(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function de(e,t){return t===1?e.modelCountOne:e.modelCountMany.replace(`{count}`,String(t))}function fe(e){let t=(0,ee.c)(76),{summaries:n,credDraft:r,credBaseline:i,credDirty:a,credSaving:o,credError:s,credSavedFlash:l,credNoopFlash:u,updateCredRow:h,onDiscardCredentials:_,onSaveCredentials:y,extensionIds:b,showExtensionLinks:S,showImageModelsLink:C,hideActions:te,language:E,apiKeyLinkLabels:D,messages:O}=e,ne=te===void 0?!1:te,k;t[0]===n?k=t[1]:(k=n.some(_e),t[0]=n,t[1]=k);let A=k,M;t[2]===n?M=t[3]:(M=n.some(ge),t[2]=n,t[3]=M);let fe=M,[F,ve]=(0,w.useState)(he),[I,L]=(0,w.useState)(me),R;if(t[4]!==i||t[5]!==r||t[6]!==n){R=new Set;for(let e of n)ue(r[e.id]??T(),i[e.id]??T())&&R.add(e.id);t[4]=i,t[5]=r,t[6]=n,t[7]=R}else R=t[7];let z=R,B;t[8]!==z||t[9]!==I||t[10]!==F?(B=e=>I.has(e)?!1:F.has(e)?!0:z.has(e),t[8]=z,t[9]=I,t[10]=F,t[11]=B):B=t[11];let V=B,H;t[12]===V?H=t[13]:(H=e=>{if(V(e)){L(t=>new Set(t).add(e)),ve(t=>{let n=new Set(t);return n.delete(e),n});return}L(t=>{let n=new Set(t);return n.delete(e),n}),ve(t=>new Set(t).add(e))},t[12]=V,t[13]=H);let U=H;if(n.length===0)return null;let W;t[14]===O.credentialsIntro?W=t[15]:(W=(0,j.jsx)(`p`,{children:O.credentialsIntro}),t[14]=O.credentialsIntro,t[15]=W);let G;t[16]!==A||t[17]!==O.regionHint?(G=A?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:O.regionHint}):null,t[16]=A,t[17]=O.regionHint,t[18]=G):G=t[18];let K;t[19]!==fe||t[20]!==O.endpointPresetsHint?(K=fe?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:O.endpointPresetsHint}):null,t[19]=fe,t[20]=O.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==C||t[23]!==O.imageModelsLinkTitle||t[24]!==O.openImageModelsPage?(q=C?(0,j.jsx)(`p`,{children:(0,j.jsx)(x,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:O.imageModelsLinkTitle,children:O.openImageModelsPage})}):null,t[22]=C,t[23]=O.imageModelsLinkTitle,t[24]=O.openImageModelsPage,t[25]=q):q=t[25];let J;t[26]!==W||t[27]!==G||t[28]!==K||t[29]!==q?(J=(0,j.jsxs)(`div`,{className:`flex flex-col gap-1 text-xs leading-relaxed text-fg-muted`,children:[W,G,K,q]}),t[26]=W,t[27]=G,t[28]=K,t[29]=q,t[30]=J):J=t[30];let Y;t[31]===s?Y=t[32]:(Y=s?(0,j.jsx)(`div`,{className:`rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:s}):null,t[31]=s,t[32]=Y);let X;t[33]!==a||t[34]!==u||t[35]!==l||t[36]!==o||t[37]!==ne||t[38]!==_||t[39]!==y||t[40]!==O.credentialsNothingToSave||t[41]!==O.credentialsSaved||t[42]!==O.discardCredentials||t[43]!==O.saveCredentials||t[44]!==O.savingCredentials?(X=ne?null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[l?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsSaved}):null,u?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:O.credentialsNothingToSave}):null,(0,j.jsx)(m,{type:`button`,variant:`secondary`,onClick:_,disabled:!a||o,children:O.discardCredentials}),(0,j.jsx)(m,{type:`button`,variant:`primary`,onClick:y,disabled:!a||o,children:o?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(d,{className:`size-3.5 animate-spin`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:O.savingCredentials})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{className:`size-3.5`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:O.saveCredentials})]})})]}),t[33]=a,t[34]=u,t[35]=l,t[36]=o,t[37]=ne,t[38]=_,t[39]=y,t[40]=O.credentialsNothingToSave,t[41]=O.credentialsSaved,t[42]=O.discardCredentials,t[43]=O.saveCredentials,t[44]=O.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==D||t[47]!==i||t[48]!==r||t[49]!==b||t[50]!==V||t[51]!==E||t[52]!==S||t[53]!==n||t[54]!==O||t[55]!==U||t[56]!==h){let e;t[58]!==D||t[59]!==i||t[60]!==r||t[61]!==b||t[62]!==V||t[63]!==E||t[64]!==S||t[65]!==O||t[66]!==U||t[67]!==h?(e=e=>{let t=r[e.id]??T(),n=e.ui,a=S&&b.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,o=ue(t,i[e.id]??T()),s=V(e.id),l=e.label??e.id,u=de(O,e.models.length);return(0,j.jsxs)(`section`,{className:v(`overflow-hidden rounded-xl border bg-surface-panel shadow-sm transition-colors dark:shadow-none`,o?`border-accent/50`:`border-edge`),children:[(0,j.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-3 px-4 py-3 text-left hover:bg-surface-hover/70`,"aria-expanded":s,"aria-controls":`img-provider-credentials-${e.id}`,onClick:()=>U(e.id),children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,j.jsx)(`span`,{className:`truncate text-sm font-semibold text-fg`,children:l}),(0,j.jsx)(`span`,{className:`rounded-full bg-surface-subtle px-2 py-0.5 text-[11px] font-medium text-fg-muted`,children:e.id}),o?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.unsavedChanges}):null,e.configured?(0,j.jsx)(`span`,{className:`rounded-full bg-accent-soft px-2 py-0.5 text-[11px] font-medium text-accent-fg`,children:O.configured}):(0,j.jsx)(`span`,{className:`rounded-full border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-700 dark:text-amber-300`,children:O.missingKey})]}),(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-xs text-fg-subtle`,children:[(0,j.jsx)(`span`,{children:u}),e.defaultModel?(0,j.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[O.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,j.jsx)(c,{className:v(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,s?`rotate-180`:`rotate-0`),"aria-hidden":`true`}),(0,j.jsx)(`span`,{className:`sr-only`,children:s?O.collapseProvider:O.expandProvider})]}),s?(0,j.jsxs)(`div`,{id:`img-provider-credentials-${e.id}`,className:`border-t border-edge px-4 py-4`,children:[a?(0,j.jsxs)(x,{to:a,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:O.extensionSettingsLinkTitle,children:[(0,j.jsx)(f,{className:`size-3`}),O.openExtensionSettings]}):null,e.models.length>0?(0,j.jsxs)(`p`,{className:`mb-3 text-xs leading-relaxed text-fg-subtle`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[O.modelsLabel,`:`]}),` `,e.models.map(t=>`${e.id}/${t}`).join(`, `)]}):null,(0,j.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[(0,j.jsx)(re,{providerId:e.id,value:t.apiKey,onChange:t=>h(e.id,{apiKey:t}),apiKeyLinks:p(e.id,E),apiKeyLinkLabels:D,labels:{apiKeyLabel:O.apiKeyLabel,optionalPlaceholder:O.optionalPlaceholder,maskedHelp:O.apiKeyMaskedHelp,copy:O.apiKeyCopy,copied:O.apiKeyCopied,show:O.apiKeyShow,hide:O.apiKeyHide,notInConfigFile:O.apiKeyNotInConfigFile,loadFailed:O.apiKeyRevealFailed}}),n?.regions?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-region-preset-${e.id}`,children:O.regionLabel}),(0,j.jsxs)(`select`,{id:`img-cred-region-preset-${e.id}`,className:ie(),value:ae(t,n.regions),onChange:t=>{let r=t.target.value;if(r===``){h(e.id,{region:``,imageBaseUrl:``});return}if(r===P){h(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&h(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,j.jsx)(`option`,{value:``,children:O.regionPresetDefault}),n.regions.map(e=>(0,j.jsx)(`option`,{value:e.value,children:se(O,e.value,e.label)},e.value)),(0,j.jsx)(`option`,{value:P,children:O.regionPresetCustom})]}),ae(t,n.regions)===P?(0,j.jsxs)(`div`,{className:`mt-2 grid gap-2 sm:grid-cols-2`,children:[(0,j.jsx)(`input`,{type:`text`,className:N(),value:t.region,placeholder:`region`,onChange:t=>h(e.id,{region:t.target.value})}),(0,j.jsx)(`input`,{type:`url`,className:N(),value:t.imageBaseUrl,placeholder:O.imageBaseUrlLabel,onChange:t=>h(e.id,{imageBaseUrl:t.target.value})})]}):null]}):null,n?.baseUrlPresets?.length?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-base-preset-${e.id}`,children:ce(O,n.baseUrlPresetKind)}),le(O,n.baseUrlPresetKind)?(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:le(O,n.baseUrlPresetKind)}):null,(0,j.jsxs)(`select`,{id:`img-cred-base-preset-${e.id}`,className:ie(),value:oe(t,n.baseUrlPresets),onChange:t=>{let n=t.target.value;if(n===``){h(e.id,{baseUrl:``});return}if(n===P){h(e.id,{baseUrl:``});return}h(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,j.jsx)(`option`,{value:``,children:O.baseUrlPresetDefault}),n.baseUrlPresets.map(pe),(0,j.jsx)(`option`,{value:P,children:O.baseUrlPresetCustom})]}),oe(t,n.baseUrlPresets)===P?(0,j.jsx)(`input`,{type:`url`,className:v(N(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>h(e.id,{baseUrl:t.target.value})}):null]}):null,n?.regions?.length&&ae(t,n.regions)!==P?(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[(0,j.jsx)(`label`,{className:`text-xs font-medium text-fg-muted`,htmlFor:`img-cred-imgbase-ro-${e.id}`,children:O.imageBaseUrlLabel}),(0,j.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:v(N(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:O.imageBaseUrlPresetHint}),(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:O.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=D,t[59]=i,t[60]=r,t[61]=b,t[62]=V,t[63]=E,t[64]=S,t[65]=O,t[66]=U,t[67]=h,t[68]=e):e=t[68],Z=n.map(e),t[46]=D,t[47]=i,t[48]=r,t[49]=b,t[50]=V,t[51]=E,t[52]=S,t[53]=n,t[54]=O,t[55]=U,t[56]=h,t[57]=Z}else Z=t[57];let Q;t[69]===Z?Q=t[70]:(Q=(0,j.jsx)(`div`,{className:`flex flex-col gap-4`,children:Z}),t[69]=Z,t[70]=Q);let $;return t[71]!==J||t[72]!==Y||t[73]!==X||t[74]!==Q?($=(0,j.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[J,Y,X,Q]}),t[71]=J,t[72]=Y,t[73]=X,t[74]=Q,t[75]=$):$=t[75],$}function pe(e){return(0,j.jsx)(`option`,{value:e.value,children:e.label},e.value)}function me(){return new Set}function he(){return new Set}function ge(e){return(e.ui?.baseUrlPresets?.length??0)>0}function _e(e){return(e.ui?.regions?.length??0)>0}function F(e){let t=y(o(e=>!!e.token)),n=t.data,r=(0,w.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,w.useRef)(!1),[c,l]=(0,w.useState)(null),[u,d]=(0,w.useState)(!1),[f,p]=(0,w.useState)(null),[m,h]=(0,w.useState)(!1),[g,_]=(0,w.useState)(!1),v=(0,w.useMemo)(()=>E(n?.payload?.config,r),[n?.payload?.config,r]),b=c??v,x=v;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,w.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:u,credError:f,credSavedFlash:m,credNoopFlash:g,updateCredRow:(0,w.useCallback)((e,t)=>{s.current=!0,l(n=>{let r=n??v,i=r[e]??T();return{...r,[e]:{...i,...t}}})},[v]),onDiscardCredentials:(0,w.useCallback)(()=>{s.current=!1,l(null),p(null),h(!1),_(!1)},[]),saveCredentials:(0,w.useCallback)(async e=>{let n=ne(r,b,x);if(Object.keys(n).length===0){_(!0),window.setTimeout(()=>_(!1),2200);return}d(!0),p(null),h(!1);try{await A(n),await t.mutate?.(),a(i(S)),s.current=!1,l(null),h(!0),window.setTimeout(()=>h(!1),2e3)}catch(t){p(t instanceof Error?t.message:e)}finally{d(!1)}},[r,b,x,t])}}function ve(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function I(){return{enabled:!1,provider:`openai`,trigger:`always`,maxTextLength:512,timeoutMs:6e4,alibaba:{model:`qwen-tts`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`en-US-MichelleNeural`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`},"tts-local-cli":{command:``,outputFormat:`wav`}}}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return typeof e==`string`&&e.trim().length>0?e.trim():`alibaba`}function z(e,t,n){let r=L(e.providers)?e.providers:void 0,i=r&&L(r[t])?r[t]:void 0;return{...n,...i??{}}}function B(e){let t=ve();if(!L(e))return t;let n=R(e.provider),r=z(e,`alibaba`,t.alibaba??{}),i=z(e,`openai`,t.openai??{}),a=t.fallback??{enabled:!0,order:[`alibaba`,`openai`]};if(L(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):a.order;a={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:a.enabled,order:t.length?t:a.order}}let o=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,alibaba:r,openai:i,...o?{providers:o}:{},fallback:a}}function V(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function H(e){let t=I();if(!L(e))return t;let n=V(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`always`,i=t[`tts-local-cli`]??{},a=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,...a?{providers:a}:{},alibaba:z(e,`alibaba`,t.alibaba??{}),openai:z(e,`openai`,t.openai??{}),edge:z(e,`edge`,t.edge??{}),minimax:z(e,`minimax`,t.minimax??{}),"tts-local-cli":z(e,`tts-local-cli`,i)}}function U(e){let{alibaba:t,openai:n,providers:r,...i}=e,a={...r??{}};return t&&(a.alibaba={...a.alibaba??{},...t}),n&&(a.openai={...a.openai??{},...n}),{...i,...Object.keys(a).length>0?{providers:a}:{}}}function W(e){let{alibaba:t,openai:n,edge:r,minimax:i,"tts-local-cli":a,providers:o,...s}=e,c={...o??{}};return t&&(c.alibaba={...c.alibaba??{},...t}),n&&(c.openai={...c.openai??{},...n}),r&&(c.edge={...c.edge??{},...r}),i&&(c.minimax={...c.minimax??{},...i}),a&&(c[`tts-local-cli`]={...c[`tts-local-cli`]??{},...a}),{...s,...Object.keys(c).length>0?{providers:c}:{}}}function G(e){let t=L(e)?e:{};return{stt:B(t.stt),tts:H(t.tts)}}async function K(){return G((await s(i(`/api/config`))).payload?.config??{})}async function q(e){await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),h()}async function J(){let e=await s(i(`/api/voice/models`));if(!e.payload?.models)throw Error(`Missing voice models payload`);return e.payload.models}async function Y(){let e=await s(i(`/api/voice/providers`));if(!e.payload?.providers)throw Error(`Missing voice providers payload`);return e.payload}async function X(){let e=await s(i(`/api/voice/stt-providers`));if(!e.payload?.providers)throw Error(`Missing STT providers payload`);return e.payload}async function Z(e){let t=await s(i(`/api/voice/reveal-api-key`),{method:`POST`,body:JSON.stringify(e)});if(!t.payload)throw Error(`Missing reveal payload`);return t.payload}function Q(e){let t=(0,ee.c)(15),{kind:n,providerId:r,fieldId:i,value:a,onChange:o,labels:s,placeholder:c,className:l}=e,u=c===void 0?`sk-...`:c,d;t[0]!==n||t[1]!==r?(d=()=>Z({kind:n,provider:r}).then($),t[0]=n,t[1]=r,t[2]=d):d=t[2];let f=d,p;t[3]===l?p=t[4]:(p=v(`flex min-w-0 flex-col gap-1.5`,l),t[3]=l,t[4]=p);let m;t[5]!==i||t[6]!==s||t[7]!==o||t[8]!==u||t[9]!==f||t[10]!==a?(m=(0,j.jsx)(_,{id:i,value:a,onChange:o,placeholder:u,labels:s,reveal:f,loadFailedLabel:s.loadFailed,maskedHelp:s.maskedHelp,notInConfigFile:s.notInConfigFile,inputClassName:`text-xs`}),t[5]=i,t[6]=s,t[7]=o,t[8]=u,t[9]=f,t[10]=a,t[11]=m):m=t[11];let h;return t[12]!==p||t[13]!==m?(h=(0,j.jsx)(`div`,{className:p,children:m}),t[12]=p,t[13]=m,t[14]=h):h=t[14],h}function $(e){return e.apiKey??null}export{X as a,F as c,S as d,K as i,fe as l,J as n,G as o,Y as r,q as s,Q as t,C as u};
@@ -1,27 +0,0 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-CY1RQKTU.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{t as s}from"./copy-Dv6d4Dvw.js";import{a as c}from"./fetch-BWtQq_Ys.js";import{C as l,Ci as u,Co as d,Cr as f,D as p,E as m,Fr as h,Ho as g,Jr as _,Ka as v,Ma as y,Mi as b,Pi as x,Qr as S,S as C,Sr as w,T,Tr as E,Ui as D,Wo as O,Xi as k,Yi as A,_ as j,a as ee,b as M,br as te,d as N,f as P,g as F,ga as I,go as L,h as R,i as z,l as ne,li as re,m as B,mi as ie,o as V,oi as H,p as U,r as W,ra as G,ro as K,si as q,ta as ae,to as oe,u as J,ua as se,v as Y,w as ce,wo as le,wr as ue,xr as de,y as fe,yi as pe,yr as me}from"./index-CKkR-v9U.js";import{a as he,c as ge,d as _e,f as ve,i as ye,l as be,m as xe,n as Se,o as X,p as Ce,r as we,s as Te,t as Ee,u as De}from"./workflow-page.utils-ClC37yEp.js";var Z=e(t(),1),Q=n(),Oe=[`queued`,`running`,`succeeded`,`attention`],ke=10080*60*1e3,Ae=new Set([`failed`,`timeout`,`cancelled`]);function je(e){return e.metadata?.sessionKey?.trim()||null}function Me(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Ne(e,t){if(!e||typeof e!=`object`)return null;let n=e;for(let e of t){let t=n[e];if(typeof t==`string`&&t.trim())return t.trim()}return null}function Pe(e,t=90){let n=e.metadata?.input?.goal?.trim()||(typeof e.metadata?.input?.payload==`string`?e.metadata.input.payload.trim():null)||Ne(e.metadata?.input?.payload,[`query`,`goal`,`prompt`,`input`,`message`])||Ne(e.metadata?.input?.variables,[`query`,`goal`,`prompt`,`input`,`message`]);return n?Me(n,t):null}function Fe(e,t=90){return Pe(e,t)??Me(e.title?.trim()||e.definitionId,t)}function Ie(e,t=44){return Me(e.title?.trim()||e.definitionId,t)}function Le(e,t){let n=t.trim().toLowerCase();return n?[Pe(e,500),e.title,e.definitionId,e.id].filter(Boolean).join(` `).toLowerCase().includes(n):!0}function Re(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n||!be(e,t.triggerFilter??`all`)?!1:Le(e,t.searchQuery))}function ze(e){return e.completedAtMs??e.createdAtMs}function Be(e,t){return t-ze(e)<=ke}function Ve(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?Be(e,t)?`succeeded`:null:Ae.has(e.status)?`attention`:null}function He(e,t){let n=[...t];return e===`queued`?n.sort((e,t)=>e.createdAtMs-t.createdAtMs):e===`running`?n.sort((e,t)=>(t.startedAtMs??t.createdAtMs)-(e.startedAtMs??e.createdAtMs)):n.sort((e,t)=>ze(t)-ze(e))}function Ue(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=Ve(r,t);e&&n[e].push(r)}let r=He(`succeeded`,n.succeeded),i=r.length,a=r.slice(0,20),o=Math.max(0,i-20);return Oe.map(e=>e===`succeeded`?{id:e,runs:a,totalInWindow:i,hiddenByCap:o}:{id:e,runs:He(e,n[e])})}function We(e,t,n){let r=Math.round((t-e)/1e3);if(r<60)return new Intl.RelativeTimeFormat(n,{numeric:`auto`}).format(-r,`second`);let i=Math.round(r/60);if(i<60)return new Intl.RelativeTimeFormat(n,{numeric:`auto`}).format(-i,`minute`);let a=Math.round(i/60);if(a<48)return new Intl.RelativeTimeFormat(n,{numeric:`auto`}).format(-a,`hour`);let o=Math.round(a/24);return new Intl.RelativeTimeFormat(n,{numeric:`auto`}).format(-o,`day`)}function Ge(e){return e.status===`queued`||e.status===`running`}function Ke(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}var $=r(),qe=(0,Z.memo)(function(e){let t=(0,Q.c)(65),{run:n,language:r,localeTag:i,nowMs:o,selected:s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h;t[0]===n?h=t[1]:(h=je(n),t[0]=n,t[1]=h);let g=!h,_;t[2]===n?_=t[3]:(_=Ge(n),t[2]=n,t[3]=_);let v=_,y=n.status===`running`||n.status===`queued`,b;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(b=n.metrics.agentCount>0?Math.round(n.metrics.doneAgentCount/n.metrics.agentCount*100):0,t[4]=n.metrics.agentCount,t[5]=n.metrics.doneAgentCount,t[6]=b):b=t[6];let x=b,C=n.metrics.errorAgentCount>0,w=n.startedAtMs??n.createdAtMs,T=we(v?o-w:n.metrics.durationMs),E=X(f.taskArtifacts,{count:n.metrics.artifactCount}),D;t[7]===n?D=t[8]:(D=Fe(n),t[7]=n,t[8]=D);let O=D,k;t[9]===n?k=t[10]:(k=Ie(n),t[9]=n,t[10]=k);let A=k,j;t[11]!==c||t[12]!==n?(j=()=>{c(n)},t[11]=c,t[12]=n,t[13]=j):j=t[13];let ee=j,M;t[14]!==g||t[15]!==l||t[16]!==n?(M=()=>{g||l(n)},t[14]=g,t[15]=l,t[16]=n,t[17]=M):M=t[17];let te=M,N=s?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,P;t[18]===N?P=t[19]:(P=q(`group relative overflow-hidden rounded-xl border bg-surface-panel p-3.5 transition-colors`,N,`hover:border-edge-strong hover:bg-surface-hover/50`),t[18]=N,t[19]=P);let F;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(F=q(`w-full text-left`,S.focusRingPanel),t[20]=F):F=t[20];let I;t[21]===O?I=t[22]:(I=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:O}),t[21]=O,t[22]=I);let L;t[23]===A?L=t[24]:(L=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:A}),t[23]=A,t[24]=L);let R;t[25]!==I||t[26]!==L?(R=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[I,L]}),t[25]=I,t[26]=L,t[27]=R):R=t[27];let z;t[28]===n.status?z=t[29]:(z=q(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,De(n.status)),t[28]=n.status,t[29]=z);let ne;t[30]!==i||t[31]!==o||t[32]!==w?(ne=We(w,o,i),t[30]=i,t[31]=o,t[32]=w,t[33]=ne):ne=t[33];let re;t[34]===ne?re=t[35]:(re=(0,$.jsx)(`span`,{children:ne}),t[34]=ne,t[35]=re);let B=T===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(f.taskElapsed,{duration:T})})]}),ie;t[36]!==re||t[37]!==B?(ie=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[re,B]}),t[36]=re,t[37]=B,t[38]=ie):ie=t[38];let V=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:E}):null,U=s?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:f.taskOpenDetails}):null,W;t[39]!==V||t[40]!==U?(W=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[V,U]}),t[39]=V,t[40]=U,t[41]=W):W=t[41];let G;t[42]===m?G=t[43]:(G=()=>m(Ye),t[42]=m,t[43]=G);let K;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(oe,{className:`size-4`,"aria-hidden":!0}),t[44]=K):K=t[44];let ae;t[45]!==f.taskActionsAria||t[46]!==p||t[47]!==G?(ae=(0,$.jsx)(H,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":f.taskActionsAria,"aria-expanded":p,onClick:G,children:K}),t[45]=f.taskActionsAria,t[46]=p,t[47]=G,t[48]=ae):ae=t[48];let J;t[49]!==v||t[50]!==g||t[51]!==te||t[52]!==f.cancel||t[53]!==f.continueInChat||t[54]!==f.rerun||t[55]!==f.taskCloseMenu||t[56]!==p||t[57]!==u||t[58]!==d||t[59]!==n||t[60]!==m?(J=p?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":f.taskCloseMenu,onClick:()=>m(!1)}),(0,$.jsxs)(`div`,{className:`absolute right-0 z-20 mt-1 min-w-36 rounded-lg border border-edge bg-surface-panel py-1 shadow-surface`,children:[(0,$.jsx)(Je,{label:f.continueInChat,disabled:g,onClick:()=>{m(!1),te()}}),v?(0,$.jsx)(Je,{label:f.cancel,tone:`danger`,onClick:()=>{m(!1),u(n.id)}}):null,Ke(n)?(0,$.jsx)(Je,{label:f.rerun,onClick:()=>{m(!1),d(n.id)}}):null]})]}):null,t[49]=v,t[50]=g,t[51]=te,t[52]=f.cancel,t[53]=f.continueInChat,t[54]=f.rerun,t[55]=f.taskCloseMenu,t[56]=p,t[57]=u,t[58]=d,t[59]=n,t[60]=m,t[61]=J):J=t[61];let se;return t[62]!==ae||t[63]!==J?(se=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[ae,J]}),t[62]=ae,t[63]=J,t[64]=se):se=t[64],(0,$.jsxs)(`div`,{className:P,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:ee,"aria-label":`${f.taskOpenDetails}: ${O}`,"aria-current":s?`true`:void 0,className:F,children:[(0,$.jsxs)(`div`,{className:`pr-7`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start justify-between gap-2`,children:[R,(0,$.jsx)(`span`,{className:z,children:f.status[n.status]??n.status})]}),ie]}),y?(0,$.jsxs)(`div`,{className:`mt-2.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-[11px] text-fg-muted`,children:[(0,$.jsx)(`span`,{children:X(f.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[x,`%`]})]}),(0,$.jsx)(`div`,{className:`mt-1.5 h-1.5 overflow-hidden rounded-full bg-surface-hover`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-all`,style:{width:`${x}%`}})})]}):null,W,C?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(pe,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(f.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),se]})});function Je(e){let t=(0,Q.c)(8),{label:n,disabled:r,tone:i,onClick:a}=e,o=r?`cursor-not-allowed text-fg-subtle`:`text-fg hover:bg-surface-hover`,s=i===`danger`&&!r&&`text-red-600 dark:text-red-300`,c;t[0]!==o||t[1]!==s?(c=q(`block w-full px-3 py-1.5 text-left text-xs`,o,s),t[0]=o,t[1]=s,t[2]=c):c=t[2];let l;return t[3]!==r||t[4]!==n||t[5]!==a||t[6]!==c?(l=(0,$.jsx)(`button`,{type:`button`,disabled:r,onClick:a,className:c,children:n}),t[3]=r,t[4]=n,t[5]=a,t[6]=c,t[7]=l):l=t[7],l}function Ye(e){return!e}function Xe(e,t){return t.boardColumns[e]}var Ze=(0,Z.memo)(function(e){let t=(0,Q.c)(14),{column:n,language:r,localeTag:i,nowMs:o,selectedRunId:s,onOpenRun:c,onOpenRunChat:l,onCancelRun:u,onRetryRun:d}=e,f=a(r).workflows,[p,m]=(0,Z.useState)(!1),h=n.id===`succeeded`,g=h?5:n.runs.length,_;t[0]!==g||t[1]!==n.runs||t[2]!==p||t[3]!==h?(_=h&&!p?n.runs.slice(0,g):n.runs,t[0]=g,t[1]=n.runs,t[2]=p,t[3]=h,t[4]=_):_=t[4];let v=_,y=h&&n.runs.length>5&&!p,b=h&&p,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=q(`flex min-h-112 w-73 shrink-0 snap-center flex-col rounded-2xl border border-edge bg-surface-panel/40`),t[5]=x):x=t[5];let S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-accent`,"aria-hidden":!0}),t[6]=S):S=t[6];let C;t[7]===n.runs.length?C=t[8]:(C=(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2.5 py-1 text-xs font-semibold tabular-nums text-fg-muted`,children:n.runs.length}),t[7]=n.runs.length,t[8]=C);let w=v.length===0?(0,$.jsx)(`div`,{className:`flex min-h-32 items-center justify-center rounded-xl border border-dashed border-edge bg-surface-panel/40 px-4 py-6 text-center text-xs text-fg-subtle`,children:f.boardColumnEmpty}):v.map(e=>(0,$.jsx)(qe,{run:e,language:r,localeTag:i,nowMs:o,selected:e.id===s,onOpen:c,onOpenChat:l,onCancel:u,onRetry:d},e.id)),T=y?(0,$.jsx)(H,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!0),children:X(f.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,E=b?(0,$.jsx)(H,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>m(!1),children:f.boardCollapseSucceeded}):null,D=h&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:X(f.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,O;return t[9]!==w||t[10]!==T||t[11]!==E||t[12]!==D?(O=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-3 p-2.5`,children:[w,T,E,D]}),t[9]=w,t[10]=T,t[11]=E,t[12]=D,t[13]=O):O=t[13],(0,$.jsxs)(`section`,{className:x,"aria-label":Xe(n.id,f),children:[(0,$.jsxs)(`header`,{className:`sticky top-0 z-10 flex items-center justify-between gap-2 rounded-t-2xl border-b border-edge-subtle bg-surface-panel/90 px-3.5 py-3 backdrop-blur`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[S,(0,$.jsx)(`h2`,{className:`truncate text-sm font-semibold text-fg`,children:Xe(n.id,f)})]}),C]}),O]})}),Qe=(0,Z.memo)(function(e){let t=(0,Q.c)(45),{runs:n,language:r,localeTag:i,labels:a,searchQuery:o,workflowFilterId:s,triggerFilter:c,selectedRunId:l,loading:u,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m,onStart:h}=e,g;t[0]===n?g=t[1]:(g=n.some($e),t[0]=n,t[1]=g);let _=g,[v,y]=(0,Z.useState)(et),b,x;t[2]===_?(b=t[3],x=t[4]):(b=()=>{if(!_)return;let e=window.setInterval(()=>y(Date.now()),1e3);return()=>window.clearInterval(e)},x=[_],t[2]=_,t[3]=b,t[4]=x),(0,Z.useEffect)(b,x);let S;t[5]!==v||t[6]!==n||t[7]!==o||t[8]!==c||t[9]!==s?(S=Ue(Re(n,{searchQuery:o,workflowFilterId:s,triggerFilter:c}),v),t[5]=v,t[6]=n,t[7]=o,t[8]=c,t[9]=s,t[10]=S):S=t[10];let C=S,w=C.reduce(tt,0);if(u&&w===0){let e;return t[11]===a.loading?e=t[12]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading}),t[11]=a.loading,t[12]=e),e}if(!u&&w===0){let e;t[13]===a.boardEmptyTitle?e=t[14]:(e=(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:a.boardEmptyTitle}),t[13]=a.boardEmptyTitle,t[14]=e);let n;t[15]===a.boardEmptyHint?n=t[16]:(n=(0,$.jsx)(`p`,{className:`mx-auto mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.boardEmptyHint}),t[15]=a.boardEmptyHint,t[16]=n);let r;t[17]!==a.boardStart||t[18]!==h?(r=(0,$.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,$.jsx)(H,{variant:`primary`,onClick:h,children:a.boardStart})}),t[17]=a.boardStart,t[18]=h,t[19]=r):r=t[19];let i;return t[20]!==e||t[21]!==n||t[22]!==r?(i=(0,$.jsxs)(`div`,{className:`rounded-2xl border border-dashed border-edge bg-surface-panel/40 px-6 py-12 text-center`,children:[e,n,r]}),t[20]=e,t[21]=n,t[22]=r,t[23]=i):i=t[23],i}let T;if(t[24]!==C||t[25]!==r||t[26]!==i||t[27]!==v||t[28]!==p||t[29]!==d||t[30]!==f||t[31]!==m||t[32]!==l){let e;t[34]!==r||t[35]!==i||t[36]!==v||t[37]!==p||t[38]!==d||t[39]!==f||t[40]!==m||t[41]!==l?(e=e=>(0,$.jsx)(Ze,{column:e,language:r,localeTag:i,nowMs:v,selectedRunId:l,onOpenRun:d,onOpenRunChat:f,onCancelRun:p,onRetryRun:m},e.id),t[34]=r,t[35]=i,t[36]=v,t[37]=p,t[38]=d,t[39]=f,t[40]=m,t[41]=l,t[42]=e):e=t[42],T=C.map(e),t[24]=C,t[25]=r,t[26]=i,t[27]=v,t[28]=p,t[29]=d,t[30]=f,t[31]=m,t[32]=l,t[33]=T}else T=t[33];let E;return t[43]===T?E=t[44]:(E=(0,$.jsx)(`div`,{className:`-mx-1 flex min-w-0 snap-x snap-mandatory gap-3 overflow-x-auto px-1 pb-2`,children:T}),t[43]=T,t[44]=E),E});function $e(e){return e.status===`queued`||e.status===`running`}function et(){return Date.now()}function tt(e,t){return e+t.runs.length}function nt(e){let t=(0,Q.c)(45),{open:n,definition:r,language:i,onClose:o,onRun:s}=e,c;t[0]===i?c=t[1]:(c=a(i),t[0]=i,t[1]=c);let l=c.workflows;if(!r)return null;let u;t[2]!==r||t[3]!==i?(u=xe(r,i),t[2]=r,t[3]=i,t[4]=u):u=t[4];let d=u,p=r.runtime?.source??``,m;t[5]===o?m=t[6]:(m=e=>!e&&o(),t[5]=o,t[6]=m);let h;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=h):h=t[7];let g;t[8]===r.title?g=t[9]:(g=(0,$.jsx)(E,{className:`text-base font-semibold text-fg`,children:r.title}),t[8]=r.title,t[9]=g);let _;t[10]===d.description?_=t[11]:(_=(0,$.jsx)(de,{className:`mt-1 text-sm text-fg-muted`,children:d.description}),t[10]=d.description,t[11]=_);let v;t[12]!==g||t[13]!==_?(v=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[g,_]}),t[12]=g,t[13]=_,t[14]=v):v=t[14];let y;t[15]!==l.whenToUseHeading||t[16]!==d.whenToUse?(y=d.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.whenToUseHeading}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:d.whenToUse})]}):null,t[15]=l.whenToUseHeading,t[16]=d.whenToUse,t[17]=y):y=t[17];let b;t[18]!==r.phases||t[19]!==l.phasesHeading?(b=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.phasesHeading}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(rt)})]}):null,t[18]=r.phases,t[19]=l.phasesHeading,t[20]=b):b=t[20];let x;t[21]!==l.scriptHeading||t[22]!==p?(x=p?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:l.scriptHeading}),(0,$.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto rounded-xl border border-edge bg-surface-base/50 p-3 font-mono text-xs leading-5 text-fg-muted`,children:p})]}):null,t[21]=l.scriptHeading,t[22]=p,t[23]=x):x=t[23];let S;t[24]!==x||t[25]!==y||t[26]!==b?(S=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[y,b,x]}),t[24]=x,t[25]=y,t[26]=b,t[27]=S):S=t[27];let C;t[28]!==l.closeResult||t[29]!==o?(C=(0,$.jsx)(H,{variant:`secondary`,onClick:o,children:l.closeResult}),t[28]=l.closeResult,t[29]=o,t[30]=C):C=t[30];let T;t[31]!==l.runWorkflow||t[32]!==s?(T=(0,$.jsx)(H,{variant:`primary`,onClick:s,children:l.runWorkflow}),t[31]=l.runWorkflow,t[32]=s,t[33]=T):T=t[33];let D;t[34]!==C||t[35]!==T?(D=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[C,T]}),t[34]=C,t[35]=T,t[36]=D):D=t[36];let O;t[37]!==S||t[38]!==D||t[39]!==v?(O=(0,$.jsxs)(f,{children:[h,(0,$.jsxs)(te,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[v,S,D]})]}),t[37]=S,t[38]=D,t[39]=v,t[40]=O):O=t[40];let k;return t[41]!==n||t[42]!==O||t[43]!==m?(k=(0,$.jsx)(ue,{open:n,onOpenChange:m,children:O}),t[41]=n,t[42]=O,t[43]=m,t[44]=k):k=t[44],k}function rt(e,t){return(0,$.jsxs)(`li`,{className:`rounded-xl border border-edge bg-surface-base/40 px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`text-sm font-medium text-fg`,children:[t+1,`. `,e.title]}),e.description?(0,$.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-fg-muted`,children:e.description}):null]},e.id)}function it({open:e,language:t,saving:n,onClose:r,onSave:i}){let o=a(t).workflows,[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(``),[d,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(null);(0,Z.useEffect)(()=>{e&&(c(``),p(!1),h(!1),_(null),y(null),u(`export const meta = {
2
- name: 'my_workflow',
3
- description: 'Describe what this workflow does.',
4
- whenToUse: 'When the user asks for …',
5
- examplePrompts: [
6
- { field: 'goal', text: 'Example goal for this workflow' },
7
- ],
8
- i18n: {
9
- zh: {
10
- description: '描述此工作流做什么。',
11
- whenToUse: '当用户需要 … 时使用',
12
- examplePrompts: [
13
- { field: 'goal', text: '此工作流的示例目标' },
14
- ],
15
- },
16
- },
17
- tags: ['custom'],
18
- estimatedAgents: { min: 2, max: 4 },
19
- phases: [{ title: 'Step 1' }, { title: 'Synthesize' }],
20
- }
21
-
22
- phase('Step 1')
23
- const first = await agent('Do the first step.', { label: 'step 1' })
24
-
25
- phase('Synthesize')
26
- return await agent('Summarize:\\n\\n' + first, { label: 'synthesis' })
27
- `))},[e]);let b=s.trim(),x=!!(b&&l.trim());(0,Z.useEffect)(()=>{if(!e||!x){h(!1),_(null),y(null);return}let t=!1,n=window.setTimeout(()=>{h(!0),_(null),M(b,l).then(e=>{t||y(e)}).catch(e=>{t||(y(null),_(e instanceof Error?e.message:o.validateWorkflowFailed))}).finally(()=>{t||h(!1)})},450);return()=>{t=!0,window.clearTimeout(n)}},[x,o.validateWorkflowFailed,e,l,b]);let S=(0,Z.useMemo)(()=>g?[g]:v?.errors.map(e=>e.message)??[],[g,v]),C=d||m||v!=null||g!=null,T=x&&!n&&!m&&v?.valid===!0,D=async()=>{if(p(!0),!(!x||n)){h(!0),_(null);try{let e=await M(b,l);if(y(e),!e.valid)return;await i({name:b,script:l})}catch(e){y(null),_(e instanceof Error?e.message:o.validateWorkflowFailed)}finally{h(!1)}}};return(0,$.jsx)(ue,{open:e,onOpenChange:e=>!e&&r(),children:(0,$.jsxs)(f,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(te,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(90vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,$.jsx)(E,{className:`text-base font-semibold text-fg`,children:o.manageDialogTitle}),(0,$.jsx)(de,{className:`mt-1 text-sm text-fg-muted`,children:o.manageDialogHint})]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-auto px-5 py-4`,children:[(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:o.workflowNameLabel}),(0,$.jsx)(`input`,{value:s,onChange:e=>{c(e.target.value),y(null),_(null)},placeholder:o.workflowNamePlaceholder,className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm font-mono text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:o.workflowScriptLabel}),(0,$.jsx)(`textarea`,{value:l,onChange:e=>{u(e.target.value),y(null),_(null)},spellCheck:!1,className:`mt-1.5 min-h-72 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 font-mono text-xs leading-5 text-fg outline-none focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),C?(0,$.jsxs)(`div`,{className:S.length>0?`rounded-xl border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-200`:`rounded-xl border border-emerald-500/30 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-700 dark:text-emerald-200`,role:`status`,children:[(0,$.jsx)(`div`,{className:`font-medium`,children:m?o.validatingWorkflow:S.length>0?o.validationFailed:o.validationPassed}),S.length>0?(0,$.jsx)(`ul`,{className:`mt-1 list-disc space-y-1 pl-5`,children:S.map(e=>(0,$.jsx)(`li`,{children:e},e))}):v?.definition?(0,$.jsx)(`div`,{className:`mt-1 text-xs opacity-80`,children:o.validationPreview.replace(`{{phaseCount}}`,String(v.definition.phases.length))}):null]}):null]}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[(0,$.jsx)(H,{variant:`secondary`,onClick:r,disabled:n,children:o.cancelDialog}),(0,$.jsx)(H,{variant:`primary`,disabled:!T,onClick:()=>void D(),children:n?o.savingWorkflow:o.saveWorkflow})]})]})]})})}function at(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):null}function ot(e){let t=(0,Q.c)(46),{definition:n,language:r,labels:i,onPick:a}=e,o;t[0]!==n||t[1]!==r?(o=xe(n,r),t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;t[3]!==n||t[4]!==i?(c=at(n,i),t[3]=n,t[4]=i,t[5]=c):c=t[5];let l=c,u=n.metadata.source===`user`,d;t[6]!==n||t[7]!==a?(d=()=>a(n),t[6]=n,t[7]=a,t[8]=d):d=t[8];let f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=q(`group flex h-full flex-col rounded-xl border border-edge-subtle bg-surface-base p-4 text-left transition-colors`,`hover:border-accent/40 hover:bg-surface-hover`,S.focusRingPanel),t[9]=f):f=t[9];let p=u?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-muted`,m;t[10]===p?m=t[11]:(m=q(`rounded-full px-2 py-0.5 text-[10px] font-medium`,p),t[10]=p,t[11]=m);let h=u?i.badgeUser:i.badgeBuiltin,g;t[12]!==m||t[13]!==h?(g=(0,$.jsx)(`span`,{className:m,children:h}),t[12]=m,t[13]=h,t[14]=g):g=t[14];let _;t[15]===n.metadata.tags?_=t[16]:(_=n.metadata.tags.slice(0,2).map(st),t[15]=n.metadata.tags,t[16]=_);let v;t[17]!==g||t[18]!==_?(v=(0,$.jsxs)(`div`,{className:`mb-2 flex flex-wrap items-center gap-1.5`,children:[g,_]}),t[17]=g,t[18]=_,t[19]=v):v=t[19];let b;t[20]===n.title?b=t[21]:(b=(0,$.jsx)(`span`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:n.title}),t[20]=n.title,t[21]=b);let x;t[22]!==v||t[23]!==b?(x=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[v,b]}),t[22]=v,t[23]=b,t[24]=x):x=t[24];let C;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(`span`,{className:`flex size-8 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent-fg opacity-80 transition-opacity group-hover:opacity-100`,children:(0,$.jsx)(G,{className:`size-3.5`,"aria-hidden":!0})}),t[25]=C):C=t[25];let w;t[26]===x?w=t[27]:(w=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[x,C]}),t[26]=x,t[27]=w);let T;t[28]===s.description?T=t[29]:(T=s.description?(0,$.jsx)(`p`,{className:`mt-2 line-clamp-2 text-xs leading-5 text-fg-muted`,children:s.description}):null,t[28]=s.description,t[29]=T);let E;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,$.jsx)(y,{className:`size-3`,"aria-hidden":!0}),t[30]=E):E=t[30];let D;t[31]!==n.phases.length||t[32]!==i.phaseCount?(D=X(i.phaseCount,{count:n.phases.length}),t[31]=n.phases.length,t[32]=i.phaseCount,t[33]=D):D=t[33];let O;t[34]===D?O=t[35]:(O=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[E,D]}),t[34]=D,t[35]=O);let k;t[36]===l?k=t[37]:(k=l?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(ie,{className:`size-3`,"aria-hidden":!0}),l]}):null,t[36]=l,t[37]=k);let A;t[38]!==O||t[39]!==k?(A=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[O,k]}),t[38]=O,t[39]=k,t[40]=A):A=t[40];let j;return t[41]!==w||t[42]!==T||t[43]!==A||t[44]!==d?(j=(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:f,children:[w,T,A]}),t[41]=w,t[42]=T,t[43]=A,t[44]=d,t[45]=j):j=t[45],j}function st(e){return(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-[10px] text-fg-subtle`,children:e},e)}function ct(e,t){return e===`uncategorized`?t.categories.uncategorized:t.categories[e]}function lt(e){let t=(0,Q.c)(11),{definitions:n,language:r,onPick:i}=e,o=a(r).workflows,[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(`all`),d;t[0]!==l||t[1]!==n||t[2]!==s?(d=Se(n,s,l,`all`),t[0]=l,t[1]=n,t[2]=s,t[3]=d):d=t[3];let f=d,p;t[4]===f?p=t[5]:(p=he(f),t[4]=f,t[5]=p);let m=p,h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(D,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=h):h=t[6];let g;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(g=e=>c(e.target.value),t[7]=g):g=t[7];let _=o.searchPlaceholder,v;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=q(`h-10 w-full rounded-xl border border-edge bg-surface-base py-2 pl-10 pr-3 text-sm text-fg`,`placeholder:text-fg-subtle`,S.focusRingPanel),t[8]=v):v=t[8];let y=f.length===0?(0,$.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center px-4 py-12 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:o.noDefinitions}),(0,$.jsx)(`p`,{className:`mt-1 max-w-sm text-xs leading-5 text-fg-subtle`,children:o.noDefinitionsHint})]}):l===`all`?(0,$.jsx)(`div`,{className:`flex flex-col gap-6 pb-1`,children:m.map(e=>(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:ct(e.category,o)}),(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3`,children:e.items.map(e=>(0,$.jsx)(ot,{definition:e,language:r,labels:o,onPick:i},e.id))})]},e.category))}):(0,$.jsx)(`div`,{className:`grid grid-cols-1 gap-3 pb-1 sm:grid-cols-2 xl:grid-cols-3`,children:f.map(e=>(0,$.jsx)(ot,{definition:e,language:r,labels:o,onPick:i},e.id))}),b;return t[9]===y?b=t[10]:(b=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:y}),t[9]=y,t[10]=b),(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 flex-col gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[h,(0,$.jsx)(`input`,{value:s,onChange:g,placeholder:_,className:v})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":o.categoryFilterAria,children:V.map(e=>(0,$.jsx)(H,{type:`button`,variant:l===e?`secondary`:`ghost`,className:`h-8 rounded-full px-3 py-1.5 text-xs`,onClick:()=>u(e),children:o.categories[e]},e))})]}),b]})}function ut(e){let t=(0,Q.c)(30),{open:n,definitions:r,language:i,onClose:o,onPick:s}=e,c;t[0]===i?c=t[1]:(c=a(i),t[0]=i,t[1]=c);let l=c.workflows,u;t[2]===o?u=t[3]:(u=e=>!e&&o(),t[2]=o,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(w,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=d):d=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=q(`pointer-events-auto relative flex h-[min(90vh,840px)] w-full max-w-5xl flex-col`,`rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,S.focusRingPanel),t[5]=p):p=t[5];let m;t[6]===l.pickStartTitle?m=t[7]:(m=(0,$.jsx)(E,{className:`text-lg font-semibold text-fg`,children:l.pickStartTitle}),t[6]=l.pickStartTitle,t[7]=m);let h;t[8]===l.pickStartHint?h=t[9]:(h=(0,$.jsx)(de,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:l.pickStartHint}),t[8]=l.pickStartHint,t[9]=h);let g;t[10]!==m||t[11]!==h?(g=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[m,h]}),t[10]=m,t[11]=h,t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsx)(re,{className:`size-5`,strokeWidth:1.75,"aria-hidden":!0}),t[13]=_):_=t[13];let v;t[14]===l.pickStartClose?v=t[15]:(v=(0,$.jsx)(me,{asChild:!0,children:(0,$.jsx)(H,{variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":l.pickStartClose,children:_})}),t[14]=l.pickStartClose,t[15]=v);let y;t[16]!==g||t[17]!==v?(y=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-4 border-b border-edge-subtle px-6 py-5`,children:[g,v]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let b;t[19]!==r||t[20]!==i||t[21]!==s?(b=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col px-6 py-5`,children:(0,$.jsx)(lt,{definitions:r,language:i,onPick:s})}),t[19]=r,t[20]=i,t[21]=s,t[22]=b):b=t[22];let x;t[23]!==y||t[24]!==b?(x=(0,$.jsxs)(f,{children:[d,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(te,{className:p,onOpenAutoFocus:dt,children:[y,b]})})]}),t[23]=y,t[24]=b,t[25]=x):x=t[25];let C;return t[26]!==n||t[27]!==x||t[28]!==u?(C=(0,$.jsx)(ue,{open:n,onOpenChange:u,children:x}),t[26]=n,t[27]=x,t[28]=u,t[29]=C):C=t[29],C}function dt(e){return e.preventDefault()}function ft(e,t){return t.status[e]??e}function pt(e,t){return t.phaseStatus[e]??e}function mt(e,t){let{run:n}=e;return n.status===`succeeded`?X(t.runSummarySucceeded,{agents:n.metrics.doneAgentCount,artifacts:n.metrics.artifactCount}):n.status===`failed`||n.status===`timeout`?n.error?.message??t.runSummaryFailedFallback:n.status===`cancelled`?t.runSummaryCancelled:X(t.runSummaryActive,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}function ht(e,t){let{run:n}=e;return n.status===`failed`?t.diagnosticFailedHint:n.status===`timeout`?t.diagnosticTimeoutHint:n.status===`cancelled`?t.diagnosticCancelledHint:n.status===`succeeded`&&n.metrics.errorAgentCount>0?t.diagnosticPartialHint:null}function gt(e){return ge(e)}function _t(e){return!e||typeof e!=`object`||!(`kind`in e)?`unknown`:e.kind===`chat`?`chat · ${e.sessionKey}`:e.kind===`webui`?e.sessionKey?`webui · ${e.sessionKey}`:`webui`:e.kind===`cron`?`cron · ${e.scheduleId}`:e.kind===`api`?e.requestId?`api · ${e.requestId}`:`api`:e.kind===`im`?`${e.channel} · ${e.chatId}`:String(e.kind)}function vt({view:e,loading:t,language:n,localeTag:r,onCancel:i,onRetry:o,onClose:c}){let u=a(n).workflows,h=C(n),v=g(),[y,x]=(0,Z.useState)(!0),[S,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(null),[j,ee]=(0,Z.useState)(!1),[,M]=(0,Z.useState)(0),P=e?.run.status,F=P?z.has(P):!1;(0,Z.useEffect)(()=>{e?.run.id&&(x(F||P===`failed`||P===`timeout`||P===`succeeded`&&e.run.metrics.errorAgentCount>0),k(null))},[e?.run.id,F,P,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!F)return;let e=window.setInterval(()=>M(e=>e+1),1e3);return()=>window.clearInterval(e)},[F]);let R=(0,Z.useMemo)(()=>e?N(e):null,[e]),ne=(0,Z.useMemo)(()=>R?p(R):{phases:[],unphased:null},[R]),B=(0,Z.useMemo)(()=>O==null||!R?null:R.agents.find(e=>e.id===O)??null,[O,R]),ie=(0,Z.useCallback)(e=>{k(e.id)},[]),V=e?Te(e.run.result):void 0,U=_e(V),W=U.trim().length>0,G=(0,Z.useCallback)(async()=>{W&&await _(U)&&(ee(!0),window.setTimeout(()=>ee(!1),1500))},[W,U]),ae=(0,Z.useCallback)(()=>{if(!W||!e)return;let t=new Blob([U],{type:`text/markdown;charset=utf-8`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${e.run.definitionId}-${e.run.id.slice(0,8)}.md`,r.click(),URL.revokeObjectURL(n)},[W,U,e]),oe=(0,Z.useCallback)(()=>{if(!e)return;let t=gt(e);t&&v(ve(t))},[v,e]),J=e?gt(e):null;if(t)return(0,$.jsx)(ue,{open:!0,onOpenChange:e=>!e&&c(),children:(0,$.jsxs)(f,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(te,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,44rem)] w-[min(100%-2rem,48rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(E,{className:`text-base font-semibold tracking-tight text-fg`,children:u.runSummaryTitle}),(0,$.jsx)(H,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":u.pickStartClose,onClick:c,children:(0,$.jsx)(re,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:u.loading})]})]})});if(!e||!R)return null;let{run:Y}=e,de=e.controls.canCancel&&F,fe=F&&Y.startedAtMs!=null?we(Date.now()-Y.startedAtMs):we(Y.metrics.durationMs??void 0),me=mt(e,u),he=ht(e,u),be=Y.metadata,xe=_t(Y.source);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ue,{open:!0,onOpenChange:e=>!e&&c(),children:(0,$.jsxs)(f,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(te,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(90vh,52rem)] w-[min(100%-2rem,64rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between gap-2 border-b border-edge px-5 py-4`,children:[(0,$.jsx)(E,{className:`truncate text-base font-semibold tracking-tight text-fg`,children:Y.title}),(0,$.jsx)(H,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":u.pickStartClose,onClick:c,children:(0,$.jsx)(re,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsxs)(`section`,{className:`min-h-0 flex-1 overflow-y-auto p-5`,children:[(0,$.jsx)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-fg`,children:Y.title}),(0,$.jsx)(`span`,{className:q(`rounded-full px-2 py-0.5 text-xs font-medium`,De(Y.status)),children:ft(Y.status,u)})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:Y.definitionId}),Y.goal?(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:Y.goal}):null]})}),(0,$.jsx)(`div`,{className:`mt-5 rounded-2xl border border-edge-subtle bg-surface-base/60 p-4`,children:(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,$.jsx)(`div`,{className:`rounded-xl bg-accent-soft p-2 text-accent-fg`,children:Y.status===`succeeded`?(0,$.jsx)(se,{className:`size-4`,"aria-hidden":!0}):Y.status===`failed`||Y.status===`timeout`?(0,$.jsx)(pe,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(b,{className:`size-4`,"aria-hidden":!0})}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:u.runSummaryTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:me}),he?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:he}):null]})]})}),(0,$.jsxs)(`dl`,{className:`mt-5 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(St,{label:u.metrics.startedAt,value:ye(Y.startedAtMs??Y.createdAtMs,r)}),(0,$.jsx)(St,{label:u.metrics.duration,value:fe}),(0,$.jsx)(St,{label:u.metrics.agents,value:X(u.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount})}),(0,$.jsx)(St,{label:u.metrics.artifacts,value:String(Y.metrics.artifactCount)})]}),(0,$.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[J?(0,$.jsxs)(H,{variant:`primary`,onClick:oe,children:[(0,$.jsx)(I,{className:`size-4`,"aria-hidden":!0}),u.continueInChat]}):null,de?(0,$.jsxs)(H,{variant:`secondary`,onClick:i,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(L,{className:`size-4`,"aria-hidden":!0}),u.cancel]}):null,e.controls.canRetry?(0,$.jsxs)(H,{variant:`secondary`,onClick:o,children:[(0,$.jsx)(A,{className:`size-4`,"aria-hidden":!0}),u.rerun]}):null,W?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(H,{variant:`secondary`,onClick:G,children:[j?(0,$.jsx)(le,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(s,{className:`size-4`,"aria-hidden":!0}),j?u.copied:u.copyResult]}),(0,$.jsxs)(H,{variant:`secondary`,onClick:ae,children:[(0,$.jsx)(K,{className:`size-4`,"aria-hidden":!0}),u.exportResult]})]}):null]}),(0,$.jsxs)(`div`,{className:`mt-6`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:u.resultTitle}),W?(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(l,{result:V,labels:h.result})}):(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:u.noResult})]}),(0,$.jsxs)(`div`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between gap-4 px-4 py-3 text-left`,onClick:()=>x(e=>!e),"aria-expanded":y,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:u.process}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[X(u.agentProgress,{done:Y.metrics.doneAgentCount,total:Y.metrics.agentCount}),` · `,fe]})]}),(0,$.jsx)(d,{className:q(`size-4 shrink-0 text-fg-subtle transition-transform`,y?`rotate-180`:null),"aria-hidden":!0})]}),y?(0,$.jsxs)(`div`,{className:`border-t border-edge px-4 pb-4 pt-4`,children:[F?(0,$.jsx)(T,{snapshot:R,labels:h,logsExpanded:S,onToggleLogs:()=>D(e=>!e),selectedAgentId:O,onSelectAgent:ie}):(0,$.jsx)(ce,{rollup:ne,currentPhase:R.currentPhase,labels:h.phase,recentLogs:R.logs,recentLogsHeading:h.recentLogsHeading,showAllLogsLabel:h.showAllLogs,logsExpanded:S,onToggleLogs:()=>D(e=>!e),selectedAgentId:O,onSelectAgent:ie}),e.phases.length>0?(0,$.jsx)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:e.phases.map(e=>(0,$.jsx)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-3 py-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,$.jsx)(`span`,{className:`text-sm font-medium text-fg`,children:e.title}),(0,$.jsx)(`span`,{className:`text-xs text-fg-subtle`,children:pt(e.status,u)})]})},e.id))}):null]}):null]}),(0,$.jsx)(yt,{agents:R.agents,labels:u,defaultExpanded:Y.status===`failed`||Y.status===`timeout`||Y.metrics.errorAgentCount>0}),(0,$.jsxs)(`div`,{className:`mt-6 grid gap-3 rounded-2xl border border-edge-subtle bg-surface-base/35 p-4 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(Ct,{label:u.metadataSession,value:be?.sessionKey??ge(e)??`—`}),(0,$.jsx)(Ct,{label:u.metadataSource,value:xe}),(0,$.jsx)(Ct,{label:u.metadataDefinition,value:`${be?.definition.version??Y.definitionVersion} · ${be?.definition.source??`unknown`}`}),(0,$.jsx)(Ct,{label:u.metadataRetryOf,value:be?.retryOfRunId??`—`})]})]})]})]})}),(0,$.jsx)(m,{open:O!=null&&B!=null,agent:B,snapshot:R,sessionKey:null,pinnedAgentId:null,onPinAgent:()=>{},onClose:()=>k(null),labels:h.drawer})]})}function yt(e){let t=(0,Q.c)(29),{agents:n,labels:r,defaultExpanded:i}=e,[a,o]=(0,Z.useState)(i),s,c;if(t[0]===i?(s=t[1],c=t[2]):(s=()=>{o(i)},c=[i],t[0]=i,t[1]=s,t[2]=c),(0,Z.useEffect)(s,c),n.length===0)return null;let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>o(bt),t[3]=l):l=t[3];let u;t[4]===r.agentIoTitle?u=t[5]:(u=(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:r.agentIoTitle}),t[4]=r.agentIoTitle,t[5]=u);let f;t[6]===r.agentIoHint?f=t[7]:(f=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:r.agentIoHint}),t[6]=r.agentIoHint,t[7]=f);let p;t[8]!==u||t[9]!==f?(p=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u,f]}),t[8]=u,t[9]=f,t[10]=p):p=t[10];let m=a?`rotate-180`:null,h;t[11]===m?h=t[12]:(h=q(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,m),t[11]=m,t[12]=h);let g;t[13]===h?g=t[14]:(g=(0,$.jsx)(d,{className:h,"aria-hidden":!0}),t[13]=h,t[14]=g);let _;t[15]!==a||t[16]!==p||t[17]!==g?(_=(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-start justify-between gap-4 px-4 py-3 text-left`,onClick:l,"aria-expanded":a,children:[p,g]}),t[15]=a,t[16]=p,t[17]=g,t[18]=_):_=t[18];let v;t[19]!==n||t[20]!==a||t[21]!==r.agentInputHeading||t[22]!==r.agentNoOutput||t[23]!==r.agentOutputHeading||t[24]!==r.agentStatus?(v=a?(0,$.jsx)(`div`,{className:`grid gap-3 border-t border-edge px-4 py-4`,children:n.map(e=>{let t=e.error||e.resultPreview||r.agentNoOutput;return(0,$.jsxs)(`article`,{className:`rounded-xl border border-edge-subtle bg-surface-panel p-3`,children:[(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,$.jsx)(`div`,{className:`min-w-0 text-sm font-medium text-fg`,children:e.label}),(0,$.jsx)(`span`,{className:q(`rounded-full px-2 py-0.5 text-xs font-medium`,xt(e.status)),children:r.agentStatus[e.status]??e.status})]}),(0,$.jsxs)(`div`,{className:`mt-3 grid gap-3 lg:grid-cols-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentInputHeading}),(0,$.jsx)(`pre`,{className:`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 font-mono text-xs leading-5 text-fg-muted`,children:e.prompt||`—`})]}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`text-[10px] font-medium uppercase tracking-wide text-fg-subtle`,children:r.agentOutputHeading}),(0,$.jsx)(`div`,{className:q(`mt-1 max-h-32 overflow-y-auto whitespace-pre-wrap wrap-break-word rounded-lg border border-edge-subtle bg-surface-base/50 p-2 text-xs leading-5`,e.error?`font-mono text-rose-600 dark:text-rose-400`:`text-fg-muted`),children:t})]})]})]},e.id)})}):null,t[19]=n,t[20]=a,t[21]=r.agentInputHeading,t[22]=r.agentNoOutput,t[23]=r.agentOutputHeading,t[24]=r.agentStatus,t[25]=v):v=t[25];let y;return t[26]!==_||t[27]!==v?(y=(0,$.jsxs)(`section`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[_,v]}),t[26]=_,t[27]=v,t[28]=y):y=t[28],y}function bt(e){return!e}function xt(e){return e===`done`?`bg-emerald-500/10 text-emerald-700 dark:text-emerald-300`:e===`error`?`bg-rose-500/10 text-rose-700 dark:text-rose-300`:e===`running`?`bg-accent-soft text-accent-fg`:`bg-surface-hover text-fg-subtle`}function St(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`dt`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`dd`,{className:`mt-1 text-sm font-semibold text-fg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-base/40 p-3`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Ct(e){let t=(0,Q.c)(7),{label:n,value:r}=e,i;t[0]===n?i=t[1]:(i=(0,$.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,$.jsx)(`div`,{className:`mt-1 truncate text-sm font-medium text-fg`,title:r,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function wt(e){let t=(0,Q.c)(12),{examples:n,labels:r,onSelect:i}=e;if(n.length===0)return null;let a;t[0]===r.examplePrompts?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs font-medium text-fg-muted`,children:r.examplePrompts}),t[0]=r.examplePrompts,t[1]=a);let o;if(t[2]!==n||t[3]!==i){let e;t[5]===i?e=t[6]:(e=e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded-lg border border-edge bg-surface-base/50 px-3 py-2 text-left text-xs text-fg-muted hover:bg-surface-hover`,children:e.text},`${e.field}:${e.text}`),t[5]=i,t[6]=e),o=n.map(e),t[2]=n,t[3]=i,t[4]=o}else o=t[4];let s;t[7]===o?s=t[8]:(s=(0,$.jsx)(`div`,{className:`mt-2 flex flex-col gap-1.5`,children:o}),t[7]=o,t[8]=s);let c;return t[9]!==a||t[10]!==s?(c=(0,$.jsxs)(`div`,{children:[a,s]}),t[9]=a,t[10]=s,t[11]=c):c=t[11],c}function Tt(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?X(t.agentScaleExact,{count:n.min}):X(t.agentScaleRange,{min:n.min,max:n.max}):X(t.agentScaleExact,{count:e.defaults.maxSubagents})}function Et(e,t,n,r){let i=Object.values(t).map(e=>e.trim()).filter(Boolean),a=e.trim()||n;return a&&i.unshift(a),i.length===0?r.noInputSummary:i.join(` · `)}function Dt(e){let t=(0,Q.c)(53),{open:n,definition:r,language:i,starting:o,onClose:s,onStart:c}=e,l=a(i).workflows,[p,m]=(0,Z.useState)(``),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={},t[0]=h):h=t[0];let[g,_]=(0,Z.useState)(h),[v,b]=(0,Z.useState)(``),[S,C]=(0,Z.useState)(``),[T,D]=(0,Z.useState)(!1),O;t[1]!==r||t[2]!==i?(O=r?xe(r,i):null,t[1]=r,t[2]=i,t[3]=O):O=t[3];let k=O,A;t[4]===r?A=t[5]:(A=r?ee[r.name]??[]:[],t[4]=r,t[5]=A);let j=A,M;t[6]===k?.examplePrompts?M=t[7]:(M=k?.examplePrompts??[],t[6]=k?.examplePrompts,t[7]=M);let N=M,P=j.length>0,F;t[8]!==v||t[9]!==r?.defaults?(F=v.trim()?Number(v):r?.defaults.concurrency,t[8]=v,t[9]=r?.defaults,t[10]=F):F=t[10];let I=F,L;t[11]!==r?.defaults||t[12]!==S?(L=S.trim()?Number(S):r?.defaults.maxSubagents,t[11]=r?.defaults,t[12]=S,t[13]=L):L=t[13];let R=L,z=r&&k?Et(p,g,k.description,l):l.noInputSummary,ne;t[14]!==r||t[15]!==n?(ne=()=>{!n||!r||(m(``),_({}),b(``),C(``),D(!1))},t[14]=r,t[15]=n,t[16]=ne):ne=t[16];let re=r?.id,B;if(t[17]!==n||t[18]!==re?(B=[n,re],t[17]=n,t[18]=re,t[19]=B):B=t[19],(0,Z.useEffect)(ne,B),!r||!k)return null;let V;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{Ce(e,m,_)},t[20]=V):V=t[20];let U=V,W;t[21]!==g||t[22]!==v||t[23]!==p||t[24]!==k.description||t[25]!==S||t[26]!==c?(W=()=>{let e=Ee(g);c({goal:p.trim()||k.description,input:e,concurrency:v.trim()?Number(v):void 0,maxSubagents:S.trim()?Number(S):void 0})},t[21]=g,t[22]=v,t[23]=p,t[24]=k.description,t[25]=S,t[26]=c,t[27]=W):W=t[27];let G=W,K;t[28]===s?K=t[29]:(K=e=>!e&&s(),t[28]=s,t[29]=K);let ae;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[30]=ae):ae=t[30];let oe;t[31]===k.description?oe=t[32]:(oe=(0,$.jsx)(de,{className:`mt-1 text-sm text-fg-muted`,children:k.description}),t[31]=k.description,t[32]=oe);let J;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(y,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[33]=J):J=t[33];let se;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(ie,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[34]=se):se=t[34];let Y;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(Y=(0,$.jsx)(x,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[35]=Y):Y=t[35];let ce=j.map(e=>(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[At(l,e.labelKey),e.required?` *`:``]}),e.multiline?(0,$.jsx)(`textarea`,{value:g[e.key]??``,onChange:t=>_(n=>({...n,[e.key]:t.target.value})),placeholder:At(l,e.placeholderKey),className:`mt-1.5 min-h-20 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}):(0,$.jsx)(`input`,{value:g[e.key]??``,onChange:t=>_(n=>({...n,[e.key]:t.target.value})),placeholder:At(l,e.placeholderKey),className:`mt-1.5 w-full rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]},e.key)),le;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(le=e=>m(e.target.value),t[36]=le):le=t[36];let fe;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(fe=()=>D(Ot),t[37]=fe):fe=t[37];let pe=l.advancedSettings,me=T&&`rotate-180`,he;t[38]===me?he=t[39]:(he=q(`size-4 transition-transform`,me),t[38]=me,t[39]=he);let ge;t[40]===he?ge=t[41]:(ge=(0,$.jsx)(d,{className:he}),t[40]=he,t[41]=ge);let _e;t[42]!==l.cancelDialog||t[43]!==s||t[44]!==o?(_e=(0,$.jsx)(H,{variant:`secondary`,onClick:s,disabled:o,children:l.cancelDialog}),t[42]=l.cancelDialog,t[43]=s,t[44]=o,t[45]=_e):_e=t[45];let ve=o?l.starting:l.start,ye;t[46]!==o||t[47]!==G||t[48]!==ve?(ye=(0,$.jsx)(H,{variant:`primary`,onClick:G,disabled:o,children:ve}),t[46]=o,t[47]=G,t[48]=ve,t[49]=ye):ye=t[49];let be;return t[50]!==_e||t[51]!==ye?(be=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[_e,ye]}),t[50]=_e,t[51]=ye,t[52]=be):be=t[52],(0,$.jsx)(ue,{open:n,onOpenChange:K,children:(0,$.jsxs)(f,{children:[ae,(0,$.jsxs)(te,{className:`fixed left-1/2 top-1/2 z-66 flex max-h-[min(85vh,40rem)] w-[min(100%-2rem,32rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-panel shadow-popover outline-none`,children:[(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[(0,$.jsxs)(E,{className:`text-base font-semibold text-fg`,children:[l.startTitle,` · `,r.title]}),oe]}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[(0,$.jsxs)(`section`,{className:`rounded-2xl border border-edge bg-surface-base/70 p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:l.runPlanPreview}),(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:z})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded-full bg-accent-soft px-2 py-1 text-[11px] font-medium text-accent-fg`,children:l.readyToStart})]}),(0,$.jsxs)(`div`,{className:`mt-4 grid gap-2 text-xs text-fg-muted sm:grid-cols-3`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[J,(0,$.jsx)(`span`,{children:X(l.phaseCount,{count:r.phases.length})})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[se,(0,$.jsx)(`span`,{children:Tt(r,l)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[Y,(0,$.jsx)(`span`,{children:X(l.runLimitsSummary,{concurrency:I??r.defaults.concurrency,max:R??r.defaults.maxSubagents})})]})]}),r.phases.length>0?(0,$.jsxs)(`div`,{className:`mt-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] font-medium uppercase tracking-wide text-fg-subtle`,children:[(0,$.jsx)(u,{className:`size-3.5`,"aria-hidden":!0}),l.startPlanPhases]}),(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:r.phases.map(kt)})]}):null]}),ce,P?(0,$.jsx)(wt,{examples:N,labels:l,onSelect:U}):null,(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:l.goalLabel}),(0,$.jsx)(`textarea`,{value:p,onChange:le,placeholder:l.goalPlaceholder,className:`mt-1.5 min-h-24 w-full resize-y rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}),P?null:(0,$.jsx)(wt,{examples:N,labels:l,onSelect:U}),(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge`,children:[(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full items-center justify-between px-3 py-2.5 text-left text-sm text-fg`,onClick:fe,children:[pe,ge]}),T?(0,$.jsxs)(`div`,{className:`grid gap-3 border-t border-edge px-3 pb-3 pt-3 sm:grid-cols-2`,children:[(0,$.jsx)(`input`,{value:v,onChange:e=>b(e.target.value),placeholder:X(l.concurrencyPlaceholder,{default:r.defaults.concurrency}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`}),(0,$.jsx)(`input`,{value:S,onChange:e=>C(e.target.value),placeholder:X(l.maxSubagentsPlaceholder,{default:r.defaults.maxSubagents}),inputMode:`numeric`,className:`rounded-xl border border-edge bg-surface-base px-3 py-2 text-sm text-fg outline-none placeholder:text-fg-subtle focus:border-accent focus:ring-2 focus:ring-accent/20`})]}):null]})]}),be]})]})})}function Ot(e){return!e}function kt(e,t){return(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[t>0?(0,$.jsx)(`span`,{className:`text-fg-subtle`,children:`→`}):null,(0,$.jsx)(`span`,{className:`rounded-lg border border-edge-subtle bg-surface-panel px-2 py-1 text-[11px] text-fg-muted`,children:e.title})]},e.id)}function At(e,t){return e.args[t]??t}function jt(e){let t=(0,Q.c)(28),{stats:n,language:r}=e,i,o,s;if(t[0]!==r||t[1]!==n){s=Symbol.for(`react.early_return_sentinel`);bb0:{if(i=a(r).workflows,!n||n.totalRuns===0){s=null;break bb0}o=n.topDefinitions[0]?X(i.statsTopWorkflow,{name:n.topDefinitions[0].definitionId,count:n.topDefinitions[0].count}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=o,t[4]=s}else i=t[2],o=t[3],s=t[4];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c=o,l=i.statsTotalRuns,u=String(n.totalRuns),d;t[5]!==i.statsTotalRuns||t[6]!==u?(d=(0,$.jsx)(Mt,{label:l,value:u}),t[5]=i.statsTotalRuns,t[6]=u,t[7]=d):d=t[7];let f=i.statsActiveRuns,p=String(n.activeRuns),m;t[8]!==i.statsActiveRuns||t[9]!==p?(m=(0,$.jsx)(Mt,{label:f,value:p}),t[8]=i.statsActiveRuns,t[9]=p,t[10]=m):m=t[10];let h;t[11]!==n.succeededRuns||t[12]!==n.totalRuns?(h=n.totalRuns>0?`${Math.round(n.succeededRuns/n.totalRuns*100)}%`:`—`,t[11]=n.succeededRuns,t[12]=n.totalRuns,t[13]=h):h=t[13];let g;t[14]!==i.statsSuccessRate||t[15]!==h?(g=(0,$.jsx)(Mt,{label:i.statsSuccessRate,value:h}),t[14]=i.statsSuccessRate,t[15]=h,t[16]=g):g=t[16];let _;t[17]===n.averageDurationMs?_=t[18]:(_=n.averageDurationMs==null?`—`:we(n.averageDurationMs),t[17]=n.averageDurationMs,t[18]=_);let v=c??void 0,y;t[19]!==i.statsAvgDuration||t[20]!==_||t[21]!==v?(y=(0,$.jsx)(Mt,{label:i.statsAvgDuration,value:_,hint:v}),t[19]=i.statsAvgDuration,t[20]=_,t[21]=v,t[22]=y):y=t[22];let b;return t[23]!==g||t[24]!==y||t[25]!==d||t[26]!==m?(b=(0,$.jsxs)(`section`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[d,m,g,y]}),t[23]=g,t[24]=y,t[25]=d,t[26]=m,t[27]=b):b=t[27],b}function Mt(e){let t=(0,Q.c)(10),{label:n,value:r,hint:i}=e,a;t[0]===n?a=t[1]:(a=(0,$.jsx)(`div`,{className:`text-xs text-fg-subtle`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,$.jsx)(`div`,{className:`mt-1 text-lg font-semibold tabular-nums text-fg`,children:r}),t[2]=r,t[3]=o);let s;t[4]===i?s=t[5]:(s=i?(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] text-fg-muted`,children:i}):null,t[4]=i,t[5]=s);let c;return t[6]!==a||t[7]!==o||t[8]!==s?(c=(0,$.jsxs)(`div`,{className:`rounded-xl border border-edge bg-surface-panel px-4 py-3`,children:[a,o,s]}),t[6]=a,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function Nt(e){let t=(0,Q.c)(27),{vm:n}=e,{labels:r,loading:i,searchQuery:a,setSearchQuery:o,refreshAll:s,setManageOpen:c}=n,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(D,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[0]=l):l=t[0];let u;t[1]===o?u=t[2]:(u=e=>o(e.target.value),t[1]=o,t[2]=u);let d=r.searchPlaceholder,f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=q(`h-9 w-full rounded-lg border border-edge bg-surface-panel py-2 pl-9 pr-3 text-sm text-fg shadow-surface`,`placeholder:text-fg-subtle`,S.focusRingPanel),t[3]=f):f=t[3];let p;t[4]!==r.searchPlaceholder||t[5]!==a||t[6]!==u?(p=(0,$.jsxs)(`div`,{className:`relative min-w-[12rem] flex-1 sm:max-w-xs`,children:[l,(0,$.jsx)(`input`,{value:a,onChange:u,placeholder:d,className:f})]}),t[4]=r.searchPlaceholder,t[5]=a,t[6]=u,t[7]=p):p=t[7];let m;t[8]===c?m=t[9]:(m=()=>c(!0),t[8]=c,t[9]=m);let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(ae,{className:`size-4`,"aria-hidden":!0}),t[10]=h):h=t[10];let g;t[11]!==r.addWorkflow||t[12]!==m?(g=(0,$.jsxs)(H,{variant:`secondary`,onClick:m,children:[h,r.addWorkflow]}),t[11]=r.addWorkflow,t[12]=m,t[13]=g):g=t[13];let _=i&&`animate-spin`,v;t[14]===_?v=t[15]:(v=q(`size-4`,_),t[14]=_,t[15]=v);let y;t[16]===v?y=t[17]:(y=(0,$.jsx)(k,{className:v,"aria-hidden":!0}),t[16]=v,t[17]=y);let b;t[18]!==r.refresh||t[19]!==i||t[20]!==s||t[21]!==y?(b=(0,$.jsxs)(H,{variant:`secondary`,onClick:s,disabled:i,children:[y,r.refresh]}),t[18]=r.refresh,t[19]=i,t[20]=s,t[21]=y,t[22]=b):b=t[22];let x;return t[23]!==b||t[24]!==p||t[25]!==g?(x=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[p,g,b]}),t[23]=b,t[24]=p,t[25]=g,t[26]=x):x=t[26],x}function Pt(e){let t=(0,Q.c)(181),{vm:n}=e,{language:r,localeTag:i,labels:a,hasToken:o,definitions:s,runs:c,searchQuery:l,workflowFilterId:u,setWorkflowFilterId:d,triggerFilter:f,setTriggerFilter:p,selectedRunId:m,selectedRunView:g,selectedRunLoading:_,selectedRunError:y,openRunDetails:b,closeRunDetails:x,openRunInChat:C,pickStartOpen:w,setPickStartOpen:T,startDefinition:E,setStartDefinition:D,detailDefinition:O,setDetailDefinition:k,manageOpen:A,setManageOpen:j,actionError:ee,actionFeedback:M,starting:te,savingWorkflow:N,loading:P,error:F,stats:I,submitStart:L,cancelRun:R,retryRun:z,saveCustomWorkflow:ne}=n,re=h(Lt),B=h(It),ie;t[0]!==B||t[1]!==o||t[2]!==re||t[3]!==n?(ie=()=>{if(!o){B();return}return re({startExtra:null,main:null,end:(0,$.jsx)(Nt,{vm:n})}),()=>B()},t[0]=B,t[1]=o,t[2]=re,t[3]=n,t[4]=ie):ie=t[4];let V;if(t[5]!==B||t[6]!==o||t[7]!==P||t[8]!==n?(V=[B,o,P,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[5]=B,t[6]=o,t[7]=P,t[8]=n,t[9]=V):V=t[9],(0,Z.useLayoutEffect)(ie,V),!o){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,$.jsx)(v,{className:`size-10 text-accent-fg`,"aria-hidden":!0}),t[10]=e):e=t[10];let n;t[11]===a.title?n=t[12]:(n=(0,$.jsx)(`h1`,{className:`mt-4 text-xl font-semibold text-fg`,children:a.title}),t[11]=a.title,t[12]=n);let r;t[13]===a.needToken?r=t[14]:(r=(0,$.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.needToken}),t[13]=a.needToken,t[14]=r);let i;return t[15]!==n||t[16]!==r?(i=(0,$.jsx)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-app-main flex-col items-center px-4 py-16 text-center sm:px-8`,children:[e,n,r]})}),t[15]=n,t[16]=r,t[17]=i):i=t[17],i}let U;t[18]===a.title?U=t[19]:(U=(0,$.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-fg`,children:a.title}),t[18]=a.title,t[19]=U);let W;t[20]===a.subtitleBoard?W=t[21]:(W=(0,$.jsx)(`p`,{className:`mt-1 max-w-2xl text-sm leading-6 text-fg-muted`,children:a.subtitleBoard}),t[20]=a.subtitleBoard,t[21]=W);let K;t[22]!==U||t[23]!==W?(K=(0,$.jsxs)(`div`,{children:[U,W]}),t[22]=U,t[23]=W,t[24]=K):K=t[24];let ae=a.boardTriggerFilterAria,oe;t[25]===p?oe=t[26]:(oe=e=>p(e.target.value),t[25]=p,t[26]=oe);let J;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(J=q(`h-9 min-w-[7.5rem] rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,S.focusRingPanel),t[27]=J):J=t[27];let se;t[28]===a.boardTriggerFilterAll?se=t[29]:(se=(0,$.jsx)(`option`,{value:`all`,children:a.boardTriggerFilterAll}),t[28]=a.boardTriggerFilterAll,t[29]=se);let Y;t[30]===a.boardTriggerFilterCron?Y=t[31]:(Y=(0,$.jsx)(`option`,{value:`cron`,children:a.boardTriggerFilterCron}),t[30]=a.boardTriggerFilterCron,t[31]=Y);let ce;t[32]===a.boardTriggerFilterWebui?ce=t[33]:(ce=(0,$.jsx)(`option`,{value:`webui`,children:a.boardTriggerFilterWebui}),t[32]=a.boardTriggerFilterWebui,t[33]=ce);let le;t[34]===a.boardTriggerFilterChat?le=t[35]:(le=(0,$.jsx)(`option`,{value:`chat`,children:a.boardTriggerFilterChat}),t[34]=a.boardTriggerFilterChat,t[35]=le);let ue;t[36]===a.boardTriggerFilterApi?ue=t[37]:(ue=(0,$.jsx)(`option`,{value:`api`,children:a.boardTriggerFilterApi}),t[36]=a.boardTriggerFilterApi,t[37]=ue);let de;t[38]!==a.boardTriggerFilterAria||t[39]!==Y||t[40]!==ce||t[41]!==le||t[42]!==ue||t[43]!==oe||t[44]!==se||t[45]!==f?(de=(0,$.jsxs)(`select`,{value:f,"aria-label":ae,onChange:oe,className:J,children:[se,Y,ce,le,ue]}),t[38]=a.boardTriggerFilterAria,t[39]=Y,t[40]=ce,t[41]=le,t[42]=ue,t[43]=oe,t[44]=se,t[45]=f,t[46]=de):de=t[46];let fe=a.boardWorkflowFilterAria,pe;t[47]===d?pe=t[48]:(pe=e=>d(e.target.value),t[47]=d,t[48]=pe);let me;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(me=q(`h-9 min-w-40 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,S.focusRingPanel),t[49]=me):me=t[49];let he;t[50]===a.boardWorkflowFilterAll?he=t[51]:(he=(0,$.jsx)(`option`,{value:``,children:a.boardWorkflowFilterAll}),t[50]=a.boardWorkflowFilterAll,t[51]=he);let ge;t[52]===s?ge=t[53]:(ge=s.map(Ft),t[52]=s,t[53]=ge);let _e;t[54]!==a.boardWorkflowFilterAria||t[55]!==pe||t[56]!==he||t[57]!==ge||t[58]!==u?(_e=(0,$.jsxs)(`select`,{value:u,"aria-label":fe,onChange:pe,className:me,children:[he,ge]}),t[54]=a.boardWorkflowFilterAria,t[55]=pe,t[56]=he,t[57]=ge,t[58]=u,t[59]=_e):_e=t[59];let ve;t[60]===T?ve=t[61]:(ve=()=>T(!0),t[60]=T,t[61]=ve);let ye;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(G,{className:`size-4`,"aria-hidden":!0}),t[62]=ye):ye=t[62];let be;t[63]!==a.boardStart||t[64]!==ve?(be=(0,$.jsxs)(H,{variant:`primary`,onClick:ve,children:[ye,a.boardStart]}),t[63]=a.boardStart,t[64]=ve,t[65]=be):be=t[65];let xe;t[66]!==de||t[67]!==_e||t[68]!==be?(xe=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[de,_e,be]}),t[66]=de,t[67]=_e,t[68]=be,t[69]=xe):xe=t[69];let Se;t[70]!==xe||t[71]!==K?(Se=(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between`,children:[K,xe]}),t[70]=xe,t[71]=K,t[72]=Se):Se=t[72];let X;t[73]===M?X=t[74]:(X=M?(0,$.jsx)(`div`,{className:`rounded-xl border border-emerald-500/25 bg-emerald-500/10 px-3 py-2 text-sm text-emerald-800 dark:text-emerald-200`,children:M}):null,t[73]=M,t[74]=X);let Ce;t[75]!==ee||t[76]!==F?(Ce=ee??F?(0,$.jsx)(`div`,{className:`rounded-xl border border-red-500/25 bg-red-500/10 px-3 py-2 text-sm text-red-700 dark:text-red-300`,children:ee??F}):null,t[75]=ee,t[76]=F,t[77]=Ce):Ce=t[77];let we;t[78]!==r||t[79]!==I?(we=(0,$.jsx)(jt,{stats:I,language:r}),t[78]=r,t[79]=I,t[80]=we):we=t[80];let Te;t[81]===y?Te=t[82]:(Te=y?(0,$.jsx)(`div`,{className:`rounded-xl border border-amber-500/25 bg-amber-500/10 px-3 py-2 text-sm text-amber-800 dark:text-amber-200`,children:y}):null,t[81]=y,t[82]=Te);let Ee;t[83]!==a.boardEmptyHint||t[84]!==a.boardEmptyTitle||t[85]!==a.boardStart||t[86]!==a.loading?(Ee={boardEmptyTitle:a.boardEmptyTitle,boardEmptyHint:a.boardEmptyHint,boardStart:a.boardStart,loading:a.loading},t[83]=a.boardEmptyHint,t[84]=a.boardEmptyTitle,t[85]=a.boardStart,t[86]=a.loading,t[87]=Ee):Ee=t[87];let De;t[88]===R?De=t[89]:(De=e=>void R(e),t[88]=R,t[89]=De);let Oe;t[90]===z?Oe=t[91]:(Oe=e=>void z(e),t[90]=z,t[91]=Oe);let ke;t[92]===T?ke=t[93]:(ke=()=>T(!0),t[92]=T,t[93]=ke);let Ae;t[94]!==r||t[95]!==P||t[96]!==i||t[97]!==b||t[98]!==C||t[99]!==c||t[100]!==l||t[101]!==m||t[102]!==Ee||t[103]!==De||t[104]!==Oe||t[105]!==ke||t[106]!==f||t[107]!==u?(Ae=(0,$.jsx)(`div`,{className:`min-w-0`,children:(0,$.jsx)(Qe,{runs:c,language:r,localeTag:i,labels:Ee,searchQuery:l,workflowFilterId:u,triggerFilter:f,selectedRunId:m,loading:P,onOpenRun:b,onOpenRunChat:C,onCancelRun:De,onRetryRun:Oe,onStart:ke})}),t[94]=r,t[95]=P,t[96]=i,t[97]=b,t[98]=C,t[99]=c,t[100]=l,t[101]=m,t[102]=Ee,t[103]=De,t[104]=Oe,t[105]=ke,t[106]=f,t[107]=u,t[108]=Ae):Ae=t[108];let je;t[109]!==Se||t[110]!==X||t[111]!==Ce||t[112]!==we||t[113]!==Te||t[114]!==Ae?(je=(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-400 flex-col gap-5 px-4 py-6 lg:px-6`,children:[Se,X,Ce,we,Te,Ae]}),t[109]=Se,t[110]=X,t[111]=Ce,t[112]=we,t[113]=Te,t[114]=Ae,t[115]=je):je=t[115];let Me=!!m&&_,Ne;t[116]!==R||t[117]!==m?(Ne=()=>{m&&R(m)},t[116]=R,t[117]=m,t[118]=Ne):Ne=t[118];let Pe;t[119]!==z||t[120]!==m?(Pe=()=>{m&&z(m)},t[119]=z,t[120]=m,t[121]=Pe):Pe=t[121];let Fe;t[122]!==x||t[123]!==r||t[124]!==i||t[125]!==g||t[126]!==Me||t[127]!==Ne||t[128]!==Pe?(Fe=(0,$.jsx)(vt,{view:g,loading:Me,language:r,localeTag:i,onCancel:Ne,onRetry:Pe,onClose:x}),t[122]=x,t[123]=r,t[124]=i,t[125]=g,t[126]=Me,t[127]=Ne,t[128]=Pe,t[129]=Fe):Fe=t[129];let Ie;t[130]===T?Ie=t[131]:(Ie=()=>T(!1),t[130]=T,t[131]=Ie);let Le;t[132]!==T||t[133]!==D?(Le=e=>{T(!1),D(e)},t[132]=T,t[133]=D,t[134]=Le):Le=t[134];let Re;t[135]!==s||t[136]!==r||t[137]!==w||t[138]!==Ie||t[139]!==Le?(Re=(0,$.jsx)(ut,{open:w,definitions:s,language:r,onClose:Ie,onPick:Le}),t[135]=s,t[136]=r,t[137]=w,t[138]=Ie,t[139]=Le,t[140]=Re):Re=t[140];let ze=E!=null,Be;t[141]===D?Be=t[142]:(Be=()=>D(null),t[141]=D,t[142]=Be);let Ve;t[143]===L?Ve=t[144]:(Ve=e=>void L(e),t[143]=L,t[144]=Ve);let He;t[145]!==r||t[146]!==E||t[147]!==te||t[148]!==ze||t[149]!==Be||t[150]!==Ve?(He=(0,$.jsx)(Dt,{open:ze,definition:E,language:r,starting:te,onClose:Be,onStart:Ve}),t[145]=r,t[146]=E,t[147]=te,t[148]=ze,t[149]=Be,t[150]=Ve,t[151]=He):He=t[151];let Ue=O!=null,We;t[152]===k?We=t[153]:(We=()=>k(null),t[152]=k,t[153]=We);let Ge;t[154]!==O||t[155]!==k||t[156]!==D?(Ge=()=>{O&&(k(null),D(O))},t[154]=O,t[155]=k,t[156]=D,t[157]=Ge):Ge=t[157];let Ke;t[158]!==O||t[159]!==r||t[160]!==Ue||t[161]!==We||t[162]!==Ge?(Ke=(0,$.jsx)(nt,{open:Ue,definition:O,language:r,onClose:We,onRun:Ge}),t[158]=O,t[159]=r,t[160]=Ue,t[161]=We,t[162]=Ge,t[163]=Ke):Ke=t[163];let qe;t[164]===j?qe=t[165]:(qe=()=>j(!1),t[164]=j,t[165]=qe);let Je;t[166]===ne?Je=t[167]:(Je=e=>void ne(e),t[166]=ne,t[167]=Je);let Ye;t[168]!==r||t[169]!==A||t[170]!==N||t[171]!==qe||t[172]!==Je?(Ye=(0,$.jsx)(it,{open:A,language:r,saving:N,onClose:qe,onSave:Je}),t[168]=r,t[169]=A,t[170]=N,t[171]=qe,t[172]=Je,t[173]=Ye):Ye=t[173];let Xe;return t[174]!==je||t[175]!==Fe||t[176]!==Re||t[177]!==He||t[178]!==Ke||t[179]!==Ye?(Xe=(0,$.jsxs)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:[je,Fe,Re,He,Ke,Ye]}),t[174]=je,t[175]=Fe,t[176]=Re,t[177]=He,t[178]=Ke,t[179]=Ye,t[180]=Xe):Xe=t[180],Xe}function Ft(e){return(0,$.jsx)(`option`,{value:e.id,children:e.title},e.id)}function It(e){return e.clearPageHeader}function Lt(e){return e.setPageHeader}function Rt(){let e=i(e=>e.language),t=a(e).workflows,n=e===`zh`?`zh-CN`:`en-US`,r=c(e=>e.token),s=!!r,l=g(),[u,d]=O(),f=u.get(`q`)??``,p=u.get(`wf`)?.trim()??``,m=u.get(`trigger`)?.trim()||`all`,h=u.get(`run`)?.trim()??``,[_,v]=(0,Z.useState)(null),[y,b]=(0,Z.useState)(!1),[x,S]=(0,Z.useState)(null),[C,w]=(0,Z.useState)(!1),[T,E]=(0,Z.useState)(null),[D,k]=(0,Z.useState)(null),[A,ee]=(0,Z.useState)(!1),[M,te]=(0,Z.useState)(!1),N=o(s?[`workflow-definitions`,r]:null,R,{revalidateOnFocus:!1}),I=o(s?[`workflow-runs`,r]:null,()=>F(100),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),L=o(s?[`workflow-stats`,r,p]:null,()=>B(p),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!D)return;let e=window.setTimeout(()=>k(null),4e3);return()=>window.clearTimeout(e)},[D]);let z=N.data??[],re=I.data??[],ie=h||null,V=W(ie),H=(0,Z.useMemo)(()=>Se(z,f,`all`,`all`),[z,f]),G=(0,Z.useCallback)(e=>{d(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[d]),K=(0,Z.useCallback)(e=>{G(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[G]),q=(0,Z.useCallback)(e=>{G(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[G]),ae=(0,Z.useCallback)(e=>{G(t=>{let n=e.trim();n&&n!==`all`?t.set(J,n):t.delete(J)})},[G]),oe=(0,Z.useCallback)(e=>{G(t=>{t.set(`run`,e.id)})},[G]),se=(0,Z.useCallback)(()=>{G(e=>{e.delete(`run`)})},[G]),ce=(0,Z.useCallback)(e=>{let t=je(e);t&&l(ve(t))},[l]);(0,Z.useEffect)(()=>{u.get(`tab`)&&G(e=>{e.delete(`tab`)})},[G,u]),(0,Z.useEffect)(()=>{let e=u.get(`def`),t=u.get(ne)===`1`;if(!e||!z.length)return;let n=z.find(t=>t.id===e||t.name===e);n&&(t?v(n):S(n),G(e=>{e.delete(`def`),e.delete(ne)}))},[z,G,u]),(0,Z.useEffect)(()=>{let e=()=>{I.mutate(),L.mutate()};return window.addEventListener(`workflow-event-appended`,e),window.addEventListener(`workflow-run-updated`,e),window.addEventListener(`workflow-run-error`,e),()=>{window.removeEventListener(`workflow-event-appended`,e),window.removeEventListener(`workflow-run-updated`,e),window.removeEventListener(`workflow-run-error`,e)}},[I,L]);let le=(0,Z.useCallback)(()=>{N.mutate(),I.mutate(),L.mutate()},[N,I,L]),ue=(0,Z.useCallback)(async e=>{if(_){ee(!0),E(null);try{let n=await fe({definitionId:_.id,goal:e.goal,input:e.input,concurrency:e.concurrency,maxSubagents:e.maxSubagents});v(null),await I.mutate(),await L.mutate(),k(t.startSuccess),G(e=>{e.set(`run`,n.runId)})}catch(e){E(e instanceof Error?e.message:t.startFailed)}finally{ee(!1)}}},[t.startFailed,t.startSuccess,G,I,_,L]),de=(0,Z.useCallback)(async e=>{try{await P(e),await I.mutate(),await L.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await I.mutate(),await L.mutate();return}E(n)}},[t.cancelFailed,I,L]),pe=(0,Z.useCallback)(async e=>{try{let t=await j(e);await I.mutate(),await L.mutate(),G(e=>{e.set(`run`,t.runId)})}catch(e){E(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,G,I,L]),me=(0,Z.useCallback)(async e=>{te(!0),E(null);try{await Y(e.name,e.script),w(!1),await N.mutate(),k(t.saveWorkflowSuccess)}catch(e){E(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{te(!1)}},[N,t.saveWorkflowFailed,t.saveWorkflowSuccess]),he=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(X(t.deleteConfirm,{name:e.name}))){E(null);try{await U(e.id),await N.mutate(),k(t.deleteWorkflowSuccess)}catch(e){E(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[N,t]),ge=N.isLoading||I.isLoading,_e=N.error?.message??I.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:s,searchQuery:f,setSearchQuery:K,workflowFilterId:p,setWorkflowFilterId:q,triggerFilter:m,setTriggerFilter:ae,definitions:z,filteredDefinitions:H,runs:re,selectedRunId:ie,selectedRunView:V.view,selectedRunLoading:V.loading,selectedRunError:V.error?.message??null,openRunDetails:oe,closeRunDetails:se,openRunInChat:ce,pickStartOpen:y,setPickStartOpen:b,startDefinition:_,setStartDefinition:v,detailDefinition:x,setDetailDefinition:S,manageOpen:C,setManageOpen:w,actionError:T,actionFeedback:D,starting:A,savingWorkflow:M,loading:ge,error:_e,stats:L.data,refreshAll:le,submitStart:ue,cancelRun:de,retryRun:pe,saveCustomWorkflow:me,removeCustomWorkflow:he}}function zt(){let e=(0,Q.c)(2),t=Rt(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Pt,{vm:t}),e[0]=t,e[1]=n),n}export{zt as WorkflowsPage};
@@ -1,4 +0,0 @@
1
- import { Command } from 'commander';
2
- import { type CLIContext } from '../registry.js';
3
- declare function createMcpCommand(ctx: CLIContext): Command;
4
- export { createMcpCommand };
@@ -1,85 +0,0 @@
1
- import { parseConfigValue } from "../../chat-commands/config-value.js";
2
- import { formatExamples, register } from "../registry.js";
3
- import { listConfiguredMcpServers, setConfiguredMcpServer, unsetConfiguredMcpServer } from "../../config/mcp-config.js";
4
- import { serveXopcChannelMcpImpl } from "../../mcp/channel-server.js";
5
- import { readFileSync } from "node:fs";
6
- import { Command } from "commander";
7
- //#region src/cli/commands/mcp.ts
8
- function readOptionalFile(path) {
9
- if (!path?.trim()) return;
10
- return readFileSync(path.trim(), "utf-8").trim();
11
- }
12
- function createMcpCommand(ctx) {
13
- const cmd = new Command("mcp").description("Manage xopc MCP config and channel bridge").addHelpText("after", formatExamples([
14
- "xopc mcp list",
15
- "xopc mcp set github '{\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-github\"]}'",
16
- "xopc mcp serve --url http://127.0.0.1:18790"
17
- ]));
18
- cmd.command("serve").description("Expose xopc channels over MCP stdio").option("--url <url>", "Gateway HTTP base URL").option("--token <token>", "Gateway bearer token").option("--token-file <path>", "Read gateway token from file").option("--claude-channel-mode <mode>", "Claude channel mode: auto, on, or off", "auto").option("-v, --verbose", "Verbose logging to stderr", false).action(async (opts) => {
19
- const mode = String(opts.claudeChannelMode ?? "auto").toLowerCase();
20
- if (mode !== "auto" && mode !== "on" && mode !== "off") throw new Error("Invalid --claude-channel-mode. Use auto, on, or off.");
21
- await serveXopcChannelMcpImpl({
22
- gatewayUrl: opts.url,
23
- gatewayToken: opts.token ?? readOptionalFile(opts.tokenFile),
24
- claudeChannelMode: mode,
25
- verbose: Boolean(opts.verbose)
26
- });
27
- });
28
- cmd.command("list").description("List configured MCP servers").option("--json", "Print JSON").action((opts) => {
29
- const loaded = listConfiguredMcpServers(ctx.configPath);
30
- if (!loaded.ok) throw new Error("error" in loaded ? loaded.error : "Failed to load MCP config");
31
- if (opts.json) {
32
- console.log(JSON.stringify(loaded.mcpServers, null, 2));
33
- return;
34
- }
35
- const names = Object.keys(loaded.mcpServers).sort();
36
- if (names.length === 0) {
37
- console.log(`No MCP servers configured in ${loaded.path}.`);
38
- return;
39
- }
40
- console.log(`MCP servers (${loaded.path}):`);
41
- for (const name of names) console.log(`- ${name}`);
42
- });
43
- cmd.command("show").description("Show one MCP server or all servers").argument("[name]", "MCP server name").option("--json", "Print JSON").action((name, opts) => {
44
- const loaded = listConfiguredMcpServers(ctx.configPath);
45
- if (!loaded.ok) throw new Error("error" in loaded ? loaded.error : "Failed to load MCP config");
46
- const value = name ? loaded.mcpServers[name] : loaded.mcpServers;
47
- if (name && !value) throw new Error(`No MCP server named "${name}" in ${loaded.path}.`);
48
- console.log(JSON.stringify(value ?? {}, null, 2));
49
- if (!opts.json && !name) console.log(`(${loaded.path})`);
50
- });
51
- cmd.command("set").description("Upsert an MCP server definition").argument("<name>", "Server name").argument("<json>", "Server config JSON").action(async (name, json) => {
52
- const parsed = parseConfigValue(json);
53
- if (!parsed.ok) throw new Error("error" in parsed ? parsed.error : "Invalid JSON");
54
- const result = await setConfiguredMcpServer({
55
- name,
56
- server: parsed.value,
57
- configPath: ctx.configPath
58
- });
59
- if (!result.ok) throw new Error("error" in result ? result.error : "Failed to save MCP server");
60
- console.log(`Saved MCP server "${name}" to ${result.path}.`);
61
- });
62
- cmd.command("unset").description("Remove an MCP server definition").argument("<name>", "Server name").action(async (name) => {
63
- const result = await unsetConfiguredMcpServer({
64
- name,
65
- configPath: ctx.configPath
66
- });
67
- if (!result.ok) throw new Error("error" in result ? result.error : "Failed to unset MCP server");
68
- console.log(result.removed ? `Removed MCP server "${name}" from ${result.path}.` : `No MCP server named "${name}" in ${result.path}.`);
69
- });
70
- return cmd;
71
- }
72
- register({
73
- id: "mcp",
74
- name: "mcp",
75
- description: "MCP server registry and channel bridge",
76
- factory: createMcpCommand,
77
- metadata: {
78
- category: "setup",
79
- examples: ["xopc mcp list", "xopc mcp serve"]
80
- }
81
- });
82
- //#endregion
83
- export { createMcpCommand };
84
-
85
- //# sourceMappingURL=mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","names":[],"sources":["../../../../src/cli/commands/mcp.ts"],"sourcesContent":["import { Command } from 'commander';\nimport { readFileSync } from 'node:fs';\nimport { parseConfigValue } from '../../chat-commands/config-value.js';\nimport {\n listConfiguredMcpServers,\n setConfiguredMcpServer,\n unsetConfiguredMcpServer,\n} from '../../config/mcp-config.js';\nimport { serveXopcChannelMcpImpl } from '../../mcp/channel-server.js';\nimport { register, formatExamples, type CLIContext } from '../registry.js';\n\nfunction readOptionalFile(path: string | undefined): string | undefined {\n if (!path?.trim()) {\n return undefined;\n }\n return readFileSync(path.trim(), 'utf-8').trim();\n}\n\nfunction createMcpCommand(ctx: CLIContext): Command {\n const cmd = new Command('mcp')\n .description('Manage xopc MCP config and channel bridge')\n .addHelpText(\n 'after',\n formatExamples([\n 'xopc mcp list',\n 'xopc mcp set github \\'{\"command\":\"npx\",\"args\":[\"-y\",\"@modelcontextprotocol/server-github\"]}\\'',\n 'xopc mcp serve --url http://127.0.0.1:18790',\n ]),\n );\n\n cmd\n .command('serve')\n .description('Expose xopc channels over MCP stdio')\n .option('--url <url>', 'Gateway HTTP base URL')\n .option('--token <token>', 'Gateway bearer token')\n .option('--token-file <path>', 'Read gateway token from file')\n .option('--claude-channel-mode <mode>', 'Claude channel mode: auto, on, or off', 'auto')\n .option('-v, --verbose', 'Verbose logging to stderr', false)\n .action(async (opts) => {\n const mode = String(opts.claudeChannelMode ?? 'auto').toLowerCase();\n if (mode !== 'auto' && mode !== 'on' && mode !== 'off') {\n throw new Error('Invalid --claude-channel-mode. Use auto, on, or off.');\n }\n await serveXopcChannelMcpImpl({\n gatewayUrl: opts.url as string | undefined,\n gatewayToken: (opts.token as string | undefined) ?? readOptionalFile(opts.tokenFile),\n claudeChannelMode: mode as 'auto' | 'on' | 'off',\n verbose: Boolean(opts.verbose),\n });\n });\n\n cmd\n .command('list')\n .description('List configured MCP servers')\n .option('--json', 'Print JSON')\n .action((opts: { json?: boolean }) => {\n const loaded = listConfiguredMcpServers(ctx.configPath);\n if (!loaded.ok) {\n throw new Error('error' in loaded ? loaded.error : 'Failed to load MCP config');\n }\n if (opts.json) {\n console.log(JSON.stringify(loaded.mcpServers, null, 2));\n return;\n }\n const names = Object.keys(loaded.mcpServers).sort();\n if (names.length === 0) {\n console.log(`No MCP servers configured in ${loaded.path}.`);\n return;\n }\n console.log(`MCP servers (${loaded.path}):`);\n for (const name of names) {\n console.log(`- ${name}`);\n }\n });\n\n cmd\n .command('show')\n .description('Show one MCP server or all servers')\n .argument('[name]', 'MCP server name')\n .option('--json', 'Print JSON')\n .action((name: string | undefined, opts: { json?: boolean }) => {\n const loaded = listConfiguredMcpServers(ctx.configPath);\n if (!loaded.ok) {\n throw new Error('error' in loaded ? loaded.error : 'Failed to load MCP config');\n }\n const value = name ? loaded.mcpServers[name] : loaded.mcpServers;\n if (name && !value) {\n throw new Error(`No MCP server named \"${name}\" in ${loaded.path}.`);\n }\n console.log(JSON.stringify(value ?? {}, null, 2));\n if (!opts.json && !name) {\n console.log(`(${loaded.path})`);\n }\n });\n\n cmd\n .command('set')\n .description('Upsert an MCP server definition')\n .argument('<name>', 'Server name')\n .argument('<json>', 'Server config JSON')\n .action(async (name: string, json: string) => {\n const parsed = parseConfigValue(json);\n if (!parsed.ok) {\n throw new Error('error' in parsed ? parsed.error : 'Invalid JSON');\n }\n const result = await setConfiguredMcpServer({\n name,\n server: parsed.value,\n configPath: ctx.configPath,\n });\n if (!result.ok) {\n throw new Error('error' in result ? result.error : 'Failed to save MCP server');\n }\n console.log(`Saved MCP server \"${name}\" to ${result.path}.`);\n });\n\n cmd\n .command('unset')\n .description('Remove an MCP server definition')\n .argument('<name>', 'Server name')\n .action(async (name: string) => {\n const result = await unsetConfiguredMcpServer({ name, configPath: ctx.configPath });\n if (!result.ok) {\n throw new Error('error' in result ? result.error : 'Failed to unset MCP server');\n }\n console.log(\n result.removed\n ? `Removed MCP server \"${name}\" from ${result.path}.`\n : `No MCP server named \"${name}\" in ${result.path}.`,\n );\n });\n\n return cmd;\n}\n\nregister({\n id: 'mcp',\n name: 'mcp',\n description: 'MCP server registry and channel bridge',\n factory: createMcpCommand,\n metadata: {\n category: 'setup',\n examples: [\n 'xopc mcp list',\n 'xopc mcp serve',\n ],\n },\n});\n\nexport { createMcpCommand };\n"],"mappings":";;;;;;;AAWA,SAAS,iBAAiB,MAA8C;AACtE,KAAI,CAAC,MAAM,MAAM,CACf;AAEF,QAAO,aAAa,KAAK,MAAM,EAAE,QAAQ,CAAC,MAAM;;AAGlD,SAAS,iBAAiB,KAA0B;CAClD,MAAM,MAAM,IAAI,QAAQ,MAAM,CAC3B,YAAY,4CAA4C,CACxD,YACC,SACA,eAAe;EACb;EACA;EACA;EACD,CAAC,CACH;AAEH,KACG,QAAQ,QAAQ,CAChB,YAAY,sCAAsC,CAClD,OAAO,eAAe,wBAAwB,CAC9C,OAAO,mBAAmB,uBAAuB,CACjD,OAAO,uBAAuB,+BAA+B,CAC7D,OAAO,gCAAgC,yCAAyC,OAAO,CACvF,OAAO,iBAAiB,6BAA6B,MAAM,CAC3D,OAAO,OAAO,SAAS;EACtB,MAAM,OAAO,OAAO,KAAK,qBAAqB,OAAO,CAAC,aAAa;AACnE,MAAI,SAAS,UAAU,SAAS,QAAQ,SAAS,MAC/C,OAAM,IAAI,MAAM,uDAAuD;AAEzE,QAAM,wBAAwB;GAC5B,YAAY,KAAK;GACjB,cAAe,KAAK,SAAgC,iBAAiB,KAAK,UAAU;GACpF,mBAAmB;GACnB,SAAS,QAAQ,KAAK,QAAQ;GAC/B,CAAC;GACF;AAEJ,KACG,QAAQ,OAAO,CACf,YAAY,8BAA8B,CAC1C,OAAO,UAAU,aAAa,CAC9B,QAAQ,SAA6B;EACpC,MAAM,SAAS,yBAAyB,IAAI,WAAW;AACvD,MAAI,CAAC,OAAO,GACV,OAAM,IAAI,MAAM,WAAW,SAAS,OAAO,QAAQ,4BAA4B;AAEjF,MAAI,KAAK,MAAM;AACb,WAAQ,IAAI,KAAK,UAAU,OAAO,YAAY,MAAM,EAAE,CAAC;AACvD;;EAEF,MAAM,QAAQ,OAAO,KAAK,OAAO,WAAW,CAAC,MAAM;AACnD,MAAI,MAAM,WAAW,GAAG;AACtB,WAAQ,IAAI,gCAAgC,OAAO,KAAK,GAAG;AAC3D;;AAEF,UAAQ,IAAI,gBAAgB,OAAO,KAAK,IAAI;AAC5C,OAAK,MAAM,QAAQ,MACjB,SAAQ,IAAI,KAAK,OAAO;GAE1B;AAEJ,KACG,QAAQ,OAAO,CACf,YAAY,qCAAqC,CACjD,SAAS,UAAU,kBAAkB,CACrC,OAAO,UAAU,aAAa,CAC9B,QAAQ,MAA0B,SAA6B;EAC9D,MAAM,SAAS,yBAAyB,IAAI,WAAW;AACvD,MAAI,CAAC,OAAO,GACV,OAAM,IAAI,MAAM,WAAW,SAAS,OAAO,QAAQ,4BAA4B;EAEjF,MAAM,QAAQ,OAAO,OAAO,WAAW,QAAQ,OAAO;AACtD,MAAI,QAAQ,CAAC,MACX,OAAM,IAAI,MAAM,wBAAwB,KAAK,OAAO,OAAO,KAAK,GAAG;AAErE,UAAQ,IAAI,KAAK,UAAU,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC;AACjD,MAAI,CAAC,KAAK,QAAQ,CAAC,KACjB,SAAQ,IAAI,IAAI,OAAO,KAAK,GAAG;GAEjC;AAEJ,KACG,QAAQ,MAAM,CACd,YAAY,kCAAkC,CAC9C,SAAS,UAAU,cAAc,CACjC,SAAS,UAAU,qBAAqB,CACxC,OAAO,OAAO,MAAc,SAAiB;EAC5C,MAAM,SAAS,iBAAiB,KAAK;AACrC,MAAI,CAAC,OAAO,GACV,OAAM,IAAI,MAAM,WAAW,SAAS,OAAO,QAAQ,eAAe;EAEpE,MAAM,SAAS,MAAM,uBAAuB;GAC1C;GACA,QAAQ,OAAO;GACf,YAAY,IAAI;GACjB,CAAC;AACF,MAAI,CAAC,OAAO,GACV,OAAM,IAAI,MAAM,WAAW,SAAS,OAAO,QAAQ,4BAA4B;AAEjF,UAAQ,IAAI,qBAAqB,KAAK,OAAO,OAAO,KAAK,GAAG;GAC5D;AAEJ,KACG,QAAQ,QAAQ,CAChB,YAAY,kCAAkC,CAC9C,SAAS,UAAU,cAAc,CACjC,OAAO,OAAO,SAAiB;EAC9B,MAAM,SAAS,MAAM,yBAAyB;GAAE;GAAM,YAAY,IAAI;GAAY,CAAC;AACnF,MAAI,CAAC,OAAO,GACV,OAAM,IAAI,MAAM,WAAW,SAAS,OAAO,QAAQ,6BAA6B;AAElF,UAAQ,IACN,OAAO,UACH,uBAAuB,KAAK,SAAS,OAAO,KAAK,KACjD,wBAAwB,KAAK,OAAO,OAAO,KAAK,GACrD;GACD;AAEJ,QAAO;;AAGT,SAAS;CACP,IAAI;CACJ,MAAM;CACN,aAAa;CACb,SAAS;CACT,UAAU;EACR,UAAU;EACV,UAAU,CACR,iBACA,iBACD;EACF;CACF,CAAC"}
@@ -1,34 +0,0 @@
1
- import type { Config } from './schema.js';
2
- import { type ConfigMcpServers } from './mcp-config-normalize.js';
3
- export { normalizeConfiguredMcpServers, type ConfigMcpServers } from './mcp-config-normalize.js';
4
- type ConfigMcpReadResult = {
5
- ok: true;
6
- path: string;
7
- config: Config;
8
- mcpServers: ConfigMcpServers;
9
- } | {
10
- ok: false;
11
- path: string;
12
- error: string;
13
- };
14
- type ConfigMcpWriteResult = {
15
- ok: true;
16
- path: string;
17
- config: Config;
18
- mcpServers: ConfigMcpServers;
19
- removed?: boolean;
20
- } | {
21
- ok: false;
22
- path: string;
23
- error: string;
24
- };
25
- export declare function listConfiguredMcpServers(configPath?: string): ConfigMcpReadResult;
26
- export declare function setConfiguredMcpServer(params: {
27
- name: string;
28
- server: unknown;
29
- configPath?: string;
30
- }): Promise<ConfigMcpWriteResult>;
31
- export declare function unsetConfiguredMcpServer(params: {
32
- name: string;
33
- configPath?: string;
34
- }): Promise<ConfigMcpWriteResult>;