@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 +1 @@
1
- import{ai as e,ii as t,ni as n,si as r}from"./index-CKkR-v9U.js";function i(){return r(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,e,`dark:border-edge`)}function a(){return r(t,n)}function o(e){return e.split(/[,\n]/).flatMap(e=>{let t=e.trim();return t?[/^-?\d+$/.test(t)?Number(t):t]:[]})}function s(e){return e.map(String).join(`, `)}function c(e){let t=e.accounts?.default?.botToken;return typeof t==`string`?t:``}function l(e){return Object.values(e.accounts??{}).some(e=>typeof e.botToken==`string`&&e.botToken.trim().length>0)}function u(e){return Object.keys(e.accounts??{}).length>0||e.allowFrom.length>0}function d(e){return!!(e.appId?.trim()&&e.appSecret?.trim())||Object.keys(e.accounts??{}).length>0}export{u as a,c,l as i,a as n,s as o,d as r,o as s,i as t};
1
+ import{ii as e,oi as t,ri as n,ti as r}from"./index-DnevRVa6.js";function i(){return t(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,e,`dark:border-edge`)}function a(){return t(n,r)}function o(e){return e.split(/[,\n]/).flatMap(e=>{let t=e.trim();return t?[/^-?\d+$/.test(t)?Number(t):t]:[]})}function s(e){return e.map(String).join(`, `)}function c(e){let t=e.accounts?.default?.botToken;return typeof t==`string`?t:``}function l(e){return Object.values(e.accounts??{}).some(e=>typeof e.botToken==`string`&&e.botToken.trim().length>0)}function u(e){return Object.keys(e.accounts??{}).length>0||e.allowFrom.length>0}function d(e){return!!(e.appId?.trim()&&e.appSecret?.trim())||Object.keys(e.accounts??{}).length>0}export{u as a,c,l as i,a as n,s as o,d as r,o as s,i as t};
@@ -0,0 +1 @@
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-CWWpfkq1.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-DTN0w7rV.js";import{K as c,Ki as l,Ro as u,So as d,ai as f,ba as p,eo as m,et as h,ii as g,oi as _,or as v,qr as y,sr as b,tt as x}from"./index-DnevRVa6.js";var S=`/api/image/providers`;async function ee(){return(await s(i(`/api/image/providers`)))?.payload?.providers??[]}var C=e(t(),1),te=n();function w(){return{apiKey:``,region:``,baseUrl:``,imageBaseUrl:``}}function ne(e){return e?.apiKey?`••••••••••••`:``}function T(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:ne(t),region:t?.region??``,baseUrl:t?.baseUrl??``,imageBaseUrl:t?.imageBaseUrl??``}}return r}function E(e,t,n){let r=e[n].trim();if(r!==t[n].trim())return r||null}function D(e,t){let n=e.trim(),r=t.trim();if(n!==r&&!(c(n)&&c(r)))return n||(r?null:void 0)}function O(e,t,n){let r={};for(let i of e){let e=t[i]??w(),a=n[i]??w();if(JSON.stringify(e)===JSON.stringify(a))continue;let o={},s=D(e.apiKey,a.apiKey);s!==void 0&&(o.apiKey=s);let c=E(e,a,`region`);c!==void 0&&(o.region=c);let l=E(e,a,`baseUrl`);l!==void 0&&(o.baseUrl=l);let u=E(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 v())}var j=r();function re(e){let t=(0,te.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 f;t[5]!==s||t[6]!==o?(f=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:[x(e.kind,s),(0,j.jsx)(m,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=f):f=t[7];let p=`img-cred-key-${n}`,h;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==p||t[12]!==r?(h=(0,j.jsx)(y,{id:p,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]=p,t[12]=r,t[13]=h):h=t[13];let g;return t[14]!==d||t[15]!==f||t[16]!==h?(g=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[d,f,h]}),t[14]=d,t[15]=f,t[16]=h,t[17]=g):g=t[17],g}function M(e){return e.apiKey??null}function N(){return _(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,g)}function ie(){return _(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,te.c)(76),{summaries:n,credDraft:r,credBaseline:i,credDirty:a,credSaving:o,credError:s,credSavedFlash:c,credNoopFlash:g,updateCredRow:v,onDiscardCredentials:y,onSaveCredentials:b,extensionIds:x,showExtensionLinks:S,showImageModelsLink:ee,hideActions:ne,language:T,apiKeyLinkLabels:E,messages:D}=e,O=ne===void 0?!1:ne,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,C.useState)(he),[I,L]=(0,C.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]??w(),i[e.id]??w())&&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]===D.credentialsIntro?W=t[15]:(W=(0,j.jsx)(`p`,{children:D.credentialsIntro}),t[14]=D.credentialsIntro,t[15]=W);let G;t[16]!==A||t[17]!==D.regionHint?(G=A?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.regionHint}):null,t[16]=A,t[17]=D.regionHint,t[18]=G):G=t[18];let K;t[19]!==fe||t[20]!==D.endpointPresetsHint?(K=fe?(0,j.jsx)(`p`,{className:`text-fg-subtle`,children:D.endpointPresetsHint}):null,t[19]=fe,t[20]=D.endpointPresetsHint,t[21]=K):K=t[21];let q;t[22]!==ee||t[23]!==D.imageModelsLinkTitle||t[24]!==D.openImageModelsPage?(q=ee?(0,j.jsx)(`p`,{children:(0,j.jsx)(u,{to:`/settings/credentials?tab=image-models`,className:`font-medium text-accent hover:underline`,title:D.imageModelsLinkTitle,children:D.openImageModelsPage})}):null,t[22]=ee,t[23]=D.imageModelsLinkTitle,t[24]=D.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]!==g||t[35]!==c||t[36]!==o||t[37]!==O||t[38]!==y||t[39]!==b||t[40]!==D.credentialsNothingToSave||t[41]!==D.credentialsSaved||t[42]!==D.discardCredentials||t[43]!==D.saveCredentials||t[44]!==D.savingCredentials?(X=O?null:(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-end gap-2`,children:[c?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsSaved}):null,g?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsNothingToSave}):null,(0,j.jsx)(f,{type:`button`,variant:`secondary`,onClick:y,disabled:!a||o,children:D.discardCredentials}),(0,j.jsx)(f,{type:`button`,variant:`primary`,onClick:b,disabled:!a||o,children:o?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(p,{className:`size-3.5 animate-spin`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.savingCredentials})]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(l,{className:`size-3.5`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.saveCredentials})]})})]}),t[33]=a,t[34]=g,t[35]=c,t[36]=o,t[37]=O,t[38]=y,t[39]=b,t[40]=D.credentialsNothingToSave,t[41]=D.credentialsSaved,t[42]=D.discardCredentials,t[43]=D.saveCredentials,t[44]=D.savingCredentials,t[45]=X):X=t[45];let Z;if(t[46]!==E||t[47]!==i||t[48]!==r||t[49]!==x||t[50]!==V||t[51]!==T||t[52]!==S||t[53]!==n||t[54]!==D||t[55]!==U||t[56]!==v){let e;t[58]!==E||t[59]!==i||t[60]!==r||t[61]!==x||t[62]!==V||t[63]!==T||t[64]!==S||t[65]!==D||t[66]!==U||t[67]!==v?(e=e=>{let t=r[e.id]??w(),n=e.ui,a=S&&x.has(e.id)?`/settings/ext/${encodeURIComponent(e.id)}`:null,o=ue(t,i[e.id]??w()),s=V(e.id),c=e.label??e.id,l=de(D,e.models.length);return(0,j.jsxs)(`section`,{className:_(`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:c}),(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:D.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:D.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:D.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:l}),e.defaultModel?(0,j.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,j.jsxs)(`span`,{className:`text-fg-muted`,children:[D.defaultModel,`:`]}),` `,e.id,`/`,e.defaultModel]}):null]})]}),(0,j.jsx)(d,{className:_(`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?D.collapseProvider:D.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)(u,{to:a,className:`mb-3 inline-flex items-center gap-1 text-xs font-medium text-accent hover:underline`,title:D.extensionSettingsLinkTitle,children:[(0,j.jsx)(m,{className:`size-3`}),D.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:[D.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=>v(e.id,{apiKey:t}),apiKeyLinks:h(e.id,T),apiKeyLinkLabels:E,labels:{apiKeyLabel:D.apiKeyLabel,optionalPlaceholder:D.optionalPlaceholder,maskedHelp:D.apiKeyMaskedHelp,copy:D.apiKeyCopy,copied:D.apiKeyCopied,show:D.apiKeyShow,hide:D.apiKeyHide,notInConfigFile:D.apiKeyNotInConfigFile,loadFailed:D.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:D.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===``){v(e.id,{region:``,imageBaseUrl:``});return}if(r===P){v(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&v(e.id,{region:i.value,imageBaseUrl:i.imageBaseUrl})},children:[(0,j.jsx)(`option`,{value:``,children:D.regionPresetDefault}),n.regions.map(e=>(0,j.jsx)(`option`,{value:e.value,children:se(D,e.value,e.label)},e.value)),(0,j.jsx)(`option`,{value:P,children:D.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=>v(e.id,{region:t.target.value})}),(0,j.jsx)(`input`,{type:`url`,className:N(),value:t.imageBaseUrl,placeholder:D.imageBaseUrlLabel,onChange:t=>v(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(D,n.baseUrlPresetKind)}),le(D,n.baseUrlPresetKind)?(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:le(D,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===``){v(e.id,{baseUrl:``});return}if(n===P){v(e.id,{baseUrl:``});return}v(e.id,{baseUrl:n.replace(/\/+$/,``)})},children:[(0,j.jsx)(`option`,{value:``,children:D.baseUrlPresetDefault}),n.baseUrlPresets.map(pe),(0,j.jsx)(`option`,{value:P,children:D.baseUrlPresetCustom})]}),oe(t,n.baseUrlPresets)===P?(0,j.jsx)(`input`,{type:`url`,className:_(N(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>v(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:D.imageBaseUrlLabel}),(0,j.jsx)(`input`,{id:`img-cred-imgbase-ro-${e.id}`,type:`url`,readOnly:!0,className:_(N(),`cursor-not-allowed opacity-90`),value:t.imageBaseUrl,title:D.imageBaseUrlPresetHint}),(0,j.jsx)(`p`,{className:`text-[11px] text-fg-subtle`,children:D.imageBaseUrlPresetHint})]}):null]})]}):null]},e.id)},t[58]=E,t[59]=i,t[60]=r,t[61]=x,t[62]=V,t[63]=T,t[64]=S,t[65]=D,t[66]=U,t[67]=v,t[68]=e):e=t[68],Z=n.map(e),t[46]=E,t[47]=i,t[48]=r,t[49]=x,t[50]=V,t[51]=T,t[52]=S,t[53]=n,t[54]=D,t[55]=U,t[56]=v,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=b(o(e=>!!e.token)),n=t.data,r=(0,C.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,C.useRef)(!1),[c,l]=(0,C.useState)(null),[u,d]=(0,C.useState)(!1),[f,p]=(0,C.useState)(null),[m,h]=(0,C.useState)(!1),[g,_]=(0,C.useState)(!1),v=(0,C.useMemo)(()=>T(n?.payload?.config,r),[n?.payload?.config,r]),y=c??v,x=v;return{gwSwr:t,credDraft:y,credBaseline:x,credDirty:(0,C.useMemo)(()=>JSON.stringify(y)!==JSON.stringify(x),[y,x]),credSaving:u,credError:f,credSavedFlash:m,credNoopFlash:g,updateCredRow:(0,C.useCallback)((e,t)=>{s.current=!0,l(n=>{let r=n??v,i=r[e]??w();return{...r,[e]:{...i,...t}}})},[v]),onDiscardCredentials:(0,C.useCallback)(()=>{s.current=!1,l(null),p(null),h(!1),_(!1)},[]),saveCredentials:(0,C.useCallback)(async e=>{let n=O(r,y,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,y,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)})}),v()}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,te.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=_(`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)(y,{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,ee as u};
@@ -1 +1 @@
1
- import{Jn as e,c as t,s as n}from"./index-CKkR-v9U.js";function r(e){return e===`zh`?`zh`:`en`}function i(e,t){let n=r(t),i=n===`en`?void 0:e.metadata.i18n?.[n],a=i?.examplePrompts&&i.examplePrompts.length>0?i.examplePrompts:e.metadata.examplePrompts??[];return{description:o(i?.description,e.description),whenToUse:s(i?.whenToUse,e.metadata.whenToUse),examplePrompts:a}}function a(e){return[e.name,e.title,e.description,e.metadata.whenToUse??``,...(e.metadata.examplePrompts??[]).map(e=>e.text),...Object.values(e.metadata.i18n??{}).flatMap(e=>[e.description??``,e.whenToUse??``,...(e.examplePrompts??[]).map(e=>e.text)]),...e.metadata.tags].join(` `).toLowerCase()}function o(e,t){return e?.trim()||t}function s(e,t){return e?.trim()||t?.trim()||void 0}function c(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function l(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function u(e,t){return e?new Intl.DateTimeFormat(t,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)):`—`}function d(e){if(!e||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a?`${i}h ${a}m`:`${i}h`}function f(e){return e===`succeeded`?`bg-emerald-500/15 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/15 text-red-700 dark:text-red-300`:e===`cancelled`?`bg-amber-500/15 text-amber-700 dark:text-amber-300`:`bg-accent-soft text-accent-fg`}function p(e){let r=e.metadata.tags.map(e=>e.toLowerCase());for(let e of n)if(t[e].some(e=>r.includes(e)))return e;return null}function m(e,n){if(n===`all`)return!0;let r=e.metadata.tags.map(e=>e.toLowerCase());return t[n].some(e=>r.includes(e))}function h(e){let t=new Map;for(let n of e){let e=p(n)??`uncategorized`,r=t.get(e)??[];r.push(n),t.set(e,r)}let r=[];for(let e of n){let n=t.get(e);n?.length&&r.push({category:e,items:n})}let i=t.get(`uncategorized`);return i?.length&&r.push({category:`uncategorized`,items:i}),r}function g(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function _(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!m(e,n)||!g(e,r)?!1:i?a(e).includes(i):!0)}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function y(e){if(e==null)return e;if(typeof e==`object`&&e&&`raw`in e){let t=e.raw;return t===void 0?e:t}return e}function b(t){let n=t.run.metadata?.sessionKey?.trim();return n&&e(n)?n:null}function x(e){return`/chat/${encodeURIComponent(e)}`}function S(e){let t=e.source;return t&&typeof t==`object`&&`kind`in t&&typeof t.kind==`string`?t.kind:e.metadata?.triggerSource?.trim()||`unknown`}function C(e,t){let n=t.trim();return!n||n===`all`?!0:S(e)===n}function w(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();e&&(t[n]=e)}return Object.keys(t).length>0?t:void 0}export{h as a,b as c,v as d,x as f,u as i,C as l,i as m,_ as n,l as o,c as p,d as r,y as s,w as t,f as u};
1
+ import{Jn as e,c as t,s as n}from"./index-DnevRVa6.js";function r(e){return e===`zh`?`zh`:`en`}function i(e,t){let n=r(t),i=n===`en`?void 0:e.metadata.i18n?.[n],a=i?.examplePrompts&&i.examplePrompts.length>0?i.examplePrompts:e.metadata.examplePrompts??[];return{description:o(i?.description,e.description),whenToUse:s(i?.whenToUse,e.metadata.whenToUse),examplePrompts:a}}function a(e){return[e.name,e.title,e.description,e.metadata.whenToUse??``,...(e.metadata.examplePrompts??[]).map(e=>e.text),...Object.values(e.metadata.i18n??{}).flatMap(e=>[e.description??``,e.whenToUse??``,...(e.examplePrompts??[]).map(e=>e.text)]),...e.metadata.tags].join(` `).toLowerCase()}function o(e,t){return e?.trim()||t}function s(e,t){return e?.trim()||t?.trim()||void 0}function c(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function l(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function u(e,t){return e?new Intl.DateTimeFormat(t,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}).format(new Date(e)):`—`}function d(e){if(!e||!Number.isFinite(e))return`—`;let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a?`${i}h ${a}m`:`${i}h`}function f(e){return e===`succeeded`?`bg-emerald-500/15 text-emerald-700 dark:text-emerald-300`:e===`failed`||e===`timeout`?`bg-red-500/15 text-red-700 dark:text-red-300`:e===`cancelled`?`bg-amber-500/15 text-amber-700 dark:text-amber-300`:`bg-accent-soft text-accent-fg`}function p(e){let r=e.metadata.tags.map(e=>e.toLowerCase());for(let e of n)if(t[e].some(e=>r.includes(e)))return e;return null}function m(e,n){if(n===`all`)return!0;let r=e.metadata.tags.map(e=>e.toLowerCase());return t[n].some(e=>r.includes(e))}function h(e){let t=new Map;for(let n of e){let e=p(n)??`uncategorized`,r=t.get(e)??[];r.push(n),t.set(e,r)}let r=[];for(let e of n){let n=t.get(e);n?.length&&r.push({category:e,items:n})}let i=t.get(`uncategorized`);return i?.length&&r.push({category:`uncategorized`,items:i}),r}function g(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function _(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!m(e,n)||!g(e,r)?!1:i?a(e).includes(i):!0)}function v(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function y(e){if(e==null)return e;if(typeof e==`object`&&e&&`raw`in e){let t=e.raw;return t===void 0?e:t}return e}function b(t){let n=t.run.metadata?.sessionKey?.trim();return n&&e(n)?n:null}function x(e){return`/chat/${encodeURIComponent(e)}`}function S(e){let t=e.source;return t&&typeof t==`object`&&`kind`in t&&typeof t.kind==`string`?t.kind:e.metadata?.triggerSource?.trim()||`unknown`}function C(e,t){let n=t.trim();return!n||n===`all`?!0:S(e)===n}function w(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.trim();e&&(t[n]=e)}return Object.keys(t).length>0?t:void 0}export{h as a,b as c,v as d,x as f,u as i,C as l,i as m,_ as n,l as o,c as p,d as r,y as s,w as t,f as u};
@@ -0,0 +1,27 @@
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-CWWpfkq1.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{t as s}from"./copy-Dv6d4Dvw.js";import{a as c}from"./fetch-DTN0w7rV.js";import{C as l,Co as u,Cr as d,D as f,E as p,Fr as m,Hi as h,Ji as g,Jr as _,Ka as v,Ma as y,Ni as b,S as x,Si as S,So as C,Sr as w,T,Tr as E,Uo as D,Vo as O,Yi as k,Zr as ee,_ as te,a as ne,ai as A,b as j,br as M,ci as N,d as P,ea as F,f as I,g as L,ga as re,h as ie,ho as R,i as z,ji as B,l as V,m as ae,na as H,o as U,oi as W,p as G,pi as oe,r as se,ro as K,to as ce,u as q,ua as le,v as J,vi as ue,w as de,wr as fe,xr as pe,y as me,yr as he}from"./index-DnevRVa6.js";import{a as Y,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-CJqnPWkW.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,S=n.metrics.errorAgentCount>0,C=n.startedAtMs??n.createdAtMs,w=we(v?o-C:n.metrics.durationMs),T=X(f.taskArtifacts,{count:n.metrics.artifactCount}),E;t[7]===n?E=t[8]:(E=Fe(n),t[7]=n,t[8]=E);let D=E,O;t[9]===n?O=t[10]:(O=Ie(n),t[9]=n,t[10]=O);let k=O,te;t[11]!==c||t[12]!==n?(te=()=>{c(n)},t[11]=c,t[12]=n,t[13]=te):te=t[13];let ne=te,j;t[14]!==g||t[15]!==l||t[16]!==n?(j=()=>{g||l(n)},t[14]=g,t[15]=l,t[16]=n,t[17]=j):j=t[17];let M=j,N=s?`border-accent/70 ring-1 ring-accent/30`:`border-edge`,P;t[18]===N?P=t[19]:(P=W(`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=W(`w-full text-left`,ee.focusRingPanel),t[20]=F):F=t[20];let I;t[21]===D?I=t[22]:(I=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-semibold leading-5 text-fg`,children:D}),t[21]=D,t[22]=I);let L;t[23]===k?L=t[24]:(L=(0,$.jsx)(`div`,{className:`mt-1 truncate text-[11px] font-medium text-fg-muted`,children:k}),t[23]=k,t[24]=L);let re;t[25]!==I||t[26]!==L?(re=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[I,L]}),t[25]=I,t[26]=L,t[27]=re):re=t[27];let ie;t[28]===n.status?ie=t[29]:(ie=W(`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold shadow-sm`,De(n.status)),t[28]=n.status,t[29]=ie);let R;t[30]!==i||t[31]!==o||t[32]!==C?(R=We(C,o,i),t[30]=i,t[31]=o,t[32]=C,t[33]=R):R=t[33];let z;t[34]===R?z=t[35]:(z=(0,$.jsx)(`span`,{children:R}),t[34]=R,t[35]=z);let B=w===`—`?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),(0,$.jsx)(`span`,{children:X(f.taskElapsed,{duration:w})})]}),V;t[36]!==z||t[37]!==B?(V=(0,$.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5 text-[11px] text-fg-subtle`,children:[z,B]}),t[36]=z,t[37]=B,t[38]=V):V=t[38];let ae=n.metrics.artifactCount>0?(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 font-medium text-fg-muted`,children:T}):null,H=s?(0,$.jsx)(`span`,{className:`font-medium text-accent-fg`,children:f.taskOpenDetails}):null,U;t[39]!==ae||t[40]!==H?(U=(0,$.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2 text-[11px] text-fg-subtle`,children:[ae,H]}),t[39]=ae,t[40]=H,t[41]=U):U=t[41];let G;t[42]===m?G=t[43]:(G=()=>m(Ye),t[42]=m,t[43]=G);let oe;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(ce,{className:`size-4`,"aria-hidden":!0}),t[44]=oe):oe=t[44];let se;t[45]!==f.taskActionsAria||t[46]!==p||t[47]!==G?(se=(0,$.jsx)(A,{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:oe}),t[45]=f.taskActionsAria,t[46]=p,t[47]=G,t[48]=se):se=t[48];let K;t[49]!==v||t[50]!==g||t[51]!==M||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?(K=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),M()}}),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]=M,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]=K):K=t[61];let q;return t[62]!==se||t[63]!==K?(q=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[se,K]}),t[62]=se,t[63]=K,t[64]=q):q=t[64],(0,$.jsxs)(`div`,{className:P,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:ne,"aria-label":`${f.taskOpenDetails}: ${D}`,"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:[re,(0,$.jsx)(`span`,{className:ie,children:f.status[n.status]??n.status})]}),V]}),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,U,S?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(ue,{className:`size-3 shrink-0`,"aria-hidden":!0}),X(f.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null]}),q]})});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=W(`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=W(`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)(A,{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)(A,{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)(A,{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 f=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]===f.description?_=t[11]:(_=(0,$.jsx)(pe,{className:`mt-1 text-sm text-fg-muted`,children:f.description}),t[10]=f.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]!==f.whenToUse?(y=f.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:f.whenToUse})]}):null,t[15]=l.whenToUseHeading,t[16]=f.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)(A,{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)(A,{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)(d,{children:[h,(0,$.jsxs)(M,{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)(fe,{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)(``),[f,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),j(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=f||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 j(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)(fe,{open:e,onOpenChange:e=>!e&&r(),children:(0,$.jsxs)(d,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(M,{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)(pe,{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)(A,{variant:`secondary`,onClick:r,disabled:n,children:o.cancelDialog}),(0,$.jsx)(A,{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=W(`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`,ee.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=W(`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 S;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(S=(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)(H,{className:`size-3.5`,"aria-hidden":!0})}),t[25]=S):S=t[25];let C;t[26]===x?C=t[27]:(C=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[x,S]}),t[26]=x,t[27]=C);let w;t[28]===s.description?w=t[29]:(w=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]=w);let T;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,$.jsx)(y,{className:`size-3`,"aria-hidden":!0}),t[30]=T):T=t[30];let E;t[31]!==n.phases.length||t[32]!==i.phaseCount?(E=X(i.phaseCount,{count:n.phases.length}),t[31]=n.phases.length,t[32]=i.phaseCount,t[33]=E):E=t[33];let D;t[34]===E?D=t[35]:(D=(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[T,E]}),t[34]=E,t[35]=D);let O;t[36]===l?O=t[37]:(O=l?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(oe,{className:`size-3`,"aria-hidden":!0}),l]}):null,t[36]=l,t[37]=O);let k;t[38]!==D||t[39]!==O?(k=(0,$.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center gap-3 pt-3 text-[11px] text-fg-subtle`,children:[D,O]}),t[38]=D,t[39]=O,t[40]=k):k=t[40];let te;return t[41]!==C||t[42]!==w||t[43]!==k||t[44]!==d?(te=(0,$.jsxs)(`button`,{type:`button`,onClick:d,className:f,children:[C,w,k]}),t[41]=C,t[42]=w,t[43]=k,t[44]=d,t[45]=te):te=t[45],te}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=Y(f),t[4]=f,t[5]=p);let m=p,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(h,{className:`pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-fg-subtle`,"aria-hidden":!0}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>c(e.target.value),t[7]=_):_=t[7];let v=o.searchPlaceholder,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=W(`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`,ee.focusRingPanel),t[8]=y):y=t[8];let b=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))}),x;return t[9]===b?x=t[10]:(x=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:b}),t[9]=b,t[10]=x),(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:[g,(0,$.jsx)(`input`,{value:s,onChange:_,placeholder:v,className:y})]}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,role:`group`,"aria-label":o.categoryFilterAria,children:U.map(e=>(0,$.jsx)(A,{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))})]}),x]})}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 f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(w,{className:`fixed inset-0 z-50 bg-scrim`}),t[4]=f):f=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=W(`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`,ee.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)(pe,{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)(N,{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)(he,{asChild:!0,children:(0,$.jsx)(A,{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)(d,{children:[f,(0,$.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none`,children:(0,$.jsxs)(M,{className:p,onOpenAutoFocus:dt,children:[y,b]})})]}),t[23]=y,t[24]=b,t[25]=x):x=t[25];let S;return t[26]!==n||t[27]!==x||t[28]!==u?(S=(0,$.jsx)(fe,{open:n,onOpenChange:u,children:x}),t[26]=n,t[27]=x,t[28]=u,t[29]=S):S=t[29],S}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 m=a(n).workflows,h=x(n),v=O(),[y,b]=(0,Z.useState)(!0),[S,D]=(0,Z.useState)(!1),[k,ee]=(0,Z.useState)(null),[te,ne]=(0,Z.useState)(!1),[,j]=(0,Z.useState)(0),F=e?.run.status,I=F?z.has(F):!1;(0,Z.useEffect)(()=>{e?.run.id&&(b(I||F===`failed`||F===`timeout`||F===`succeeded`&&e.run.metrics.errorAgentCount>0),ee(null))},[e?.run.id,I,F,e?.run.metrics.errorAgentCount]),(0,Z.useEffect)(()=>{if(!I)return;let e=window.setInterval(()=>j(e=>e+1),1e3);return()=>window.clearInterval(e)},[I]);let L=(0,Z.useMemo)(()=>e?P(e):null,[e]),ie=(0,Z.useMemo)(()=>L?f(L):{phases:[],unphased:null},[L]),V=(0,Z.useMemo)(()=>k==null||!L?null:L.agents.find(e=>e.id===k)??null,[k,L]),ae=(0,Z.useCallback)(e=>{ee(e.id)},[]),H=e?Te(e.run.result):void 0,U=_e(H),G=U.trim().length>0,oe=(0,Z.useCallback)(async()=>{G&&await _(U)&&(ne(!0),window.setTimeout(()=>ne(!1),1500))},[G,U]),se=(0,Z.useCallback)(()=>{if(!G||!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)},[G,U,e]),ce=(0,Z.useCallback)(()=>{if(!e)return;let t=gt(e);t&&v(ve(t))},[v,e]),q=e?gt(e):null;if(t)return(0,$.jsx)(fe,{open:!0,onOpenChange:e=>!e&&c(),children:(0,$.jsxs)(d,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(M,{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:m.runSummaryTitle}),(0,$.jsx)(A,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":m.pickStartClose,onClick:c,children:(0,$.jsx)(N,{className:`size-5`,"aria-hidden":!0})})]}),(0,$.jsx)(`div`,{className:`p-5 text-sm text-fg-muted`,children:m.loading})]})]})});if(!e||!L)return null;let{run:J}=e,pe=e.controls.canCancel&&I,me=I&&J.startedAtMs!=null?we(Date.now()-J.startedAtMs):we(J.metrics.durationMs??void 0),he=mt(e,m),Y=ht(e,m),be=J.metadata,xe=_t(J.source);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(fe,{open:!0,onOpenChange:e=>!e&&c(),children:(0,$.jsxs)(d,{children:[(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(M,{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:J.title}),(0,$.jsx)(A,{type:`button`,variant:`ghost`,className:`size-9 shrink-0 p-0`,"aria-label":m.pickStartClose,onClick:c,children:(0,$.jsx)(N,{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:J.title}),(0,$.jsx)(`span`,{className:W(`rounded-full px-2 py-0.5 text-xs font-medium`,De(J.status)),children:ft(J.status,m)})]}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:J.definitionId}),J.goal?(0,$.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-fg-muted`,children:J.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:J.status===`succeeded`?(0,$.jsx)(le,{className:`size-4`,"aria-hidden":!0}):J.status===`failed`||J.status===`timeout`?(0,$.jsx)(ue,{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:m.runSummaryTitle}),(0,$.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-fg-muted`,children:he}),Y?(0,$.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-fg-subtle`,children:Y}):null]})]})}),(0,$.jsxs)(`dl`,{className:`mt-5 grid gap-3 sm:grid-cols-2 lg:grid-cols-4`,children:[(0,$.jsx)(St,{label:m.metrics.startedAt,value:ye(J.startedAtMs??J.createdAtMs,r)}),(0,$.jsx)(St,{label:m.metrics.duration,value:me}),(0,$.jsx)(St,{label:m.metrics.agents,value:X(m.agentProgress,{done:J.metrics.doneAgentCount,total:J.metrics.agentCount})}),(0,$.jsx)(St,{label:m.metrics.artifacts,value:String(J.metrics.artifactCount)})]}),(0,$.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-2`,children:[q?(0,$.jsxs)(A,{variant:`primary`,onClick:ce,children:[(0,$.jsx)(re,{className:`size-4`,"aria-hidden":!0}),m.continueInChat]}):null,pe?(0,$.jsxs)(A,{variant:`secondary`,onClick:i,className:`text-red-600 dark:text-red-300`,children:[(0,$.jsx)(R,{className:`size-4`,"aria-hidden":!0}),m.cancel]}):null,e.controls.canRetry?(0,$.jsxs)(A,{variant:`secondary`,onClick:o,children:[(0,$.jsx)(g,{className:`size-4`,"aria-hidden":!0}),m.rerun]}):null,G?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(A,{variant:`secondary`,onClick:oe,children:[te?(0,$.jsx)(u,{className:`size-4`,"aria-hidden":!0}):(0,$.jsx)(s,{className:`size-4`,"aria-hidden":!0}),te?m.copied:m.copyResult]}),(0,$.jsxs)(A,{variant:`secondary`,onClick:se,children:[(0,$.jsx)(K,{className:`size-4`,"aria-hidden":!0}),m.exportResult]})]}):null]}),(0,$.jsxs)(`div`,{className:`mt-6`,children:[(0,$.jsx)(`h3`,{className:`text-sm font-semibold text-fg`,children:m.resultTitle}),G?(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-edge bg-surface-base/50 p-3`,children:(0,$.jsx)(l,{result:H,labels:h.result})}):(0,$.jsx)(`div`,{className:`mt-3 rounded-xl border border-dashed border-edge p-4 text-sm text-fg-muted`,children:m.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:()=>b(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:m.process}),(0,$.jsxs)(`p`,{className:`mt-1 text-xs text-fg-subtle`,children:[X(m.agentProgress,{done:J.metrics.doneAgentCount,total:J.metrics.agentCount}),` · `,me]})]}),(0,$.jsx)(C,{className:W(`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:[I?(0,$.jsx)(T,{snapshot:L,labels:h,logsExpanded:S,onToggleLogs:()=>D(e=>!e),selectedAgentId:k,onSelectAgent:ae}):(0,$.jsx)(de,{rollup:ie,currentPhase:L.currentPhase,labels:h.phase,recentLogs:L.logs,recentLogsHeading:h.recentLogsHeading,showAllLogsLabel:h.showAllLogs,logsExpanded:S,onToggleLogs:()=>D(e=>!e),selectedAgentId:k,onSelectAgent:ae}),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,m)})]})},e.id))}):null]}):null]}),(0,$.jsx)(yt,{agents:L.agents,labels:m,defaultExpanded:J.status===`failed`||J.status===`timeout`||J.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:m.metadataSession,value:be?.sessionKey??ge(e)??`—`}),(0,$.jsx)(Ct,{label:m.metadataSource,value:xe}),(0,$.jsx)(Ct,{label:m.metadataDefinition,value:`${be?.definition.version??J.definitionVersion} · ${be?.definition.source??`unknown`}`}),(0,$.jsx)(Ct,{label:m.metadataRetryOf,value:be?.retryOfRunId??`—`})]})]})]})]})}),(0,$.jsx)(p,{open:k!=null&&V!=null,agent:V,snapshot:L,sessionKey:null,pinnedAgentId:null,onPinAgent:()=>{},onClose:()=>ee(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 d;t[6]===r.agentIoHint?d=t[7]:(d=(0,$.jsx)(`p`,{className:`text-xs leading-5 text-fg-subtle`,children:r.agentIoHint}),t[6]=r.agentIoHint,t[7]=d);let f;t[8]!==u||t[9]!==d?(f=(0,$.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[u,d]}),t[8]=u,t[9]=d,t[10]=f):f=t[10];let p=a?`rotate-180`:null,m;t[11]===p?m=t[12]:(m=W(`mt-0.5 size-4 shrink-0 text-fg-subtle transition-transform`,p),t[11]=p,t[12]=m);let h;t[13]===m?h=t[14]:(h=(0,$.jsx)(C,{className:m,"aria-hidden":!0}),t[13]=m,t[14]=h);let g;t[15]!==a||t[16]!==f||t[17]!==h?(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:[f,h]}),t[15]=a,t[16]=f,t[17]=h,t[18]=g):g=t[18];let _;t[19]!==n||t[20]!==a||t[21]!==r.agentInputHeading||t[22]!==r.agentNoOutput||t[23]!==r.agentOutputHeading||t[24]!==r.agentStatus?(_=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:W(`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:W(`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]=_):_=t[25];let v;return t[26]!==g||t[27]!==_?(v=(0,$.jsxs)(`section`,{className:`mt-6 rounded-2xl border border-edge bg-surface-base/35`,children:[g,_]}),t[26]=g,t[27]=_,t[28]=v):v=t[28],v}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,[u,f]=(0,Z.useState)(``),p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p={},t[0]=p):p=t[0];let[m,h]=(0,Z.useState)(p),[g,_]=(0,Z.useState)(``),[v,x]=(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,ee;t[4]===r?ee=t[5]:(ee=r?ne[r.name]??[]:[],t[4]=r,t[5]=ee);let te=ee,j;t[6]===k?.examplePrompts?j=t[7]:(j=k?.examplePrompts??[],t[6]=k?.examplePrompts,t[7]=j);let N=j,P=te.length>0,F;t[8]!==g||t[9]!==r?.defaults?(F=g.trim()?Number(g):r?.defaults.concurrency,t[8]=g,t[9]=r?.defaults,t[10]=F):F=t[10];let I=F,L;t[11]!==r?.defaults||t[12]!==v?(L=v.trim()?Number(v):r?.defaults.maxSubagents,t[11]=r?.defaults,t[12]=v,t[13]=L):L=t[13];let re=L,ie=r&&k?Et(u,m,k.description,l):l.noInputSummary,R;t[14]!==r||t[15]!==n?(R=()=>{!n||!r||(f(``),h({}),_(``),x(``),D(!1))},t[14]=r,t[15]=n,t[16]=R):R=t[16];let z=r?.id,B;if(t[17]!==n||t[18]!==z?(B=[n,z],t[17]=n,t[18]=z,t[19]=B):B=t[19],(0,Z.useEffect)(R,B),!r||!k)return null;let V;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{Ce(e,f,h)},t[20]=V):V=t[20];let ae=V,H;t[21]!==m||t[22]!==g||t[23]!==u||t[24]!==k.description||t[25]!==v||t[26]!==c?(H=()=>{let e=Ee(m);c({goal:u.trim()||k.description,input:e,concurrency:g.trim()?Number(g):void 0,maxSubagents:v.trim()?Number(v):void 0})},t[21]=m,t[22]=g,t[23]=u,t[24]=k.description,t[25]=v,t[26]=c,t[27]=H):H=t[27];let U=H,G;t[28]===s?G=t[29]:(G=e=>!e&&s(),t[28]=s,t[29]=G);let se;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,$.jsx)(w,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[30]=se):se=t[30];let K;t[31]===k.description?K=t[32]:(K=(0,$.jsx)(pe,{className:`mt-1 text-sm text-fg-muted`,children:k.description}),t[31]=k.description,t[32]=K);let ce;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(y,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[33]=ce):ce=t[33];let q;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(q=(0,$.jsx)(oe,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[34]=q):q=t[34];let le;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(b,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[35]=le):le=t[35];let J=te.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:m[e.key]??``,onChange:t=>h(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:m[e.key]??``,onChange:t=>h(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)),ue;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(ue=e=>f(e.target.value),t[36]=ue):ue=t[36];let de;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(de=()=>D(Ot),t[37]=de):de=t[37];let me=l.advancedSettings,he=T&&`rotate-180`,Y;t[38]===he?Y=t[39]:(Y=W(`size-4 transition-transform`,he),t[38]=he,t[39]=Y);let ge;t[40]===Y?ge=t[41]:(ge=(0,$.jsx)(C,{className:Y}),t[40]=Y,t[41]=ge);let _e;t[42]!==l.cancelDialog||t[43]!==s||t[44]!==o?(_e=(0,$.jsx)(A,{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]!==U||t[48]!==ve?(ye=(0,$.jsx)(A,{variant:`primary`,onClick:U,disabled:o,children:ve}),t[46]=o,t[47]=U,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)(fe,{open:n,onOpenChange:G,children:(0,$.jsxs)(d,{children:[se,(0,$.jsxs)(M,{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]}),K]}),(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:ie})]}),(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:[ce,(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:[q,(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:[le,(0,$.jsx)(`span`,{children:X(l.runLimitsSummary,{concurrency:I??r.defaults.concurrency,max:re??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)(S,{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]}),J,P?(0,$.jsx)(wt,{examples:N,labels:l,onSelect:ae}):null,(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:l.goalLabel}),(0,$.jsx)(`textarea`,{value:u,onChange:ue,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:ae}),(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:de,children:[me,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:g,onChange:e=>_(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:v,onChange:e=>x(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)(h,{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=W(`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`,ee.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 g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(F,{className:`size-4`,"aria-hidden":!0}),t[10]=g):g=t[10];let _;t[11]!==r.addWorkflow||t[12]!==m?(_=(0,$.jsxs)(A,{variant:`secondary`,onClick:m,children:[g,r.addWorkflow]}),t[11]=r.addWorkflow,t[12]=m,t[13]=_):_=t[13];let v=i&&`animate-spin`,y;t[14]===v?y=t[15]:(y=W(`size-4`,v),t[14]=v,t[15]=y);let b;t[16]===y?b=t[17]:(b=(0,$.jsx)(k,{className:y,"aria-hidden":!0}),t[16]=y,t[17]=b);let x;t[18]!==r.refresh||t[19]!==i||t[20]!==s||t[21]!==b?(x=(0,$.jsxs)(A,{variant:`secondary`,onClick:s,disabled:i,children:[b,r.refresh]}),t[18]=r.refresh,t[19]=i,t[20]=s,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==x||t[24]!==p||t[25]!==_?(S=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[p,_,x]}),t[23]=x,t[24]=p,t[25]=_,t[26]=S):S=t[26],S}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:h,selectedRunView:g,selectedRunLoading:_,selectedRunError:y,openRunDetails:b,closeRunDetails:x,openRunInChat:S,pickStartOpen:C,setPickStartOpen:w,startDefinition:T,setStartDefinition:E,detailDefinition:D,setDetailDefinition:O,manageOpen:k,setManageOpen:te,actionError:ne,actionFeedback:j,starting:M,savingWorkflow:N,loading:P,error:F,stats:I,submitStart:L,cancelRun:re,retryRun:ie,saveCustomWorkflow:R}=n,z=m(Lt),B=m(It),V;t[0]!==B||t[1]!==o||t[2]!==z||t[3]!==n?(V=()=>{if(!o){B();return}return z({startExtra:null,main:null,end:(0,$.jsx)(Nt,{vm:n})}),()=>B()},t[0]=B,t[1]=o,t[2]=z,t[3]=n,t[4]=V):V=t[4];let ae;if(t[5]!==B||t[6]!==o||t[7]!==P||t[8]!==n?(ae=[B,o,P,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[5]=B,t[6]=o,t[7]=P,t[8]=n,t[9]=ae):ae=t[9],(0,Z.useLayoutEffect)(V,ae),!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 G;t[20]===a.subtitleBoard?G=t[21]:(G=(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]=G);let oe;t[22]!==U||t[23]!==G?(oe=(0,$.jsxs)(`div`,{children:[U,G]}),t[22]=U,t[23]=G,t[24]=oe):oe=t[24];let se=a.boardTriggerFilterAria,K;t[25]===p?K=t[26]:(K=e=>p(e.target.value),t[25]=p,t[26]=K);let ce;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(ce=W(`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`,ee.focusRingPanel),t[27]=ce):ce=t[27];let q;t[28]===a.boardTriggerFilterAll?q=t[29]:(q=(0,$.jsx)(`option`,{value:`all`,children:a.boardTriggerFilterAll}),t[28]=a.boardTriggerFilterAll,t[29]=q);let le;t[30]===a.boardTriggerFilterCron?le=t[31]:(le=(0,$.jsx)(`option`,{value:`cron`,children:a.boardTriggerFilterCron}),t[30]=a.boardTriggerFilterCron,t[31]=le);let J;t[32]===a.boardTriggerFilterWebui?J=t[33]:(J=(0,$.jsx)(`option`,{value:`webui`,children:a.boardTriggerFilterWebui}),t[32]=a.boardTriggerFilterWebui,t[33]=J);let ue;t[34]===a.boardTriggerFilterChat?ue=t[35]:(ue=(0,$.jsx)(`option`,{value:`chat`,children:a.boardTriggerFilterChat}),t[34]=a.boardTriggerFilterChat,t[35]=ue);let de;t[36]===a.boardTriggerFilterApi?de=t[37]:(de=(0,$.jsx)(`option`,{value:`api`,children:a.boardTriggerFilterApi}),t[36]=a.boardTriggerFilterApi,t[37]=de);let fe;t[38]!==a.boardTriggerFilterAria||t[39]!==le||t[40]!==J||t[41]!==ue||t[42]!==de||t[43]!==K||t[44]!==q||t[45]!==f?(fe=(0,$.jsxs)(`select`,{value:f,"aria-label":se,onChange:K,className:ce,children:[q,le,J,ue,de]}),t[38]=a.boardTriggerFilterAria,t[39]=le,t[40]=J,t[41]=ue,t[42]=de,t[43]=K,t[44]=q,t[45]=f,t[46]=fe):fe=t[46];let pe=a.boardWorkflowFilterAria,me;t[47]===d?me=t[48]:(me=e=>d(e.target.value),t[47]=d,t[48]=me);let he;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(he=W(`h-9 min-w-40 rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,ee.focusRingPanel),t[49]=he):he=t[49];let Y;t[50]===a.boardWorkflowFilterAll?Y=t[51]:(Y=(0,$.jsx)(`option`,{value:``,children:a.boardWorkflowFilterAll}),t[50]=a.boardWorkflowFilterAll,t[51]=Y);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]!==me||t[56]!==Y||t[57]!==ge||t[58]!==u?(_e=(0,$.jsxs)(`select`,{value:u,"aria-label":pe,onChange:me,className:he,children:[Y,ge]}),t[54]=a.boardWorkflowFilterAria,t[55]=me,t[56]=Y,t[57]=ge,t[58]=u,t[59]=_e):_e=t[59];let ve;t[60]===w?ve=t[61]:(ve=()=>w(!0),t[60]=w,t[61]=ve);let ye;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(H,{className:`size-4`,"aria-hidden":!0}),t[62]=ye):ye=t[62];let be;t[63]!==a.boardStart||t[64]!==ve?(be=(0,$.jsxs)(A,{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]!==fe||t[67]!==_e||t[68]!==be?(xe=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[fe,_e,be]}),t[66]=fe,t[67]=_e,t[68]=be,t[69]=xe):xe=t[69];let Se;t[70]!==xe||t[71]!==oe?(Se=(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between`,children:[oe,xe]}),t[70]=xe,t[71]=oe,t[72]=Se):Se=t[72];let X;t[73]===j?X=t[74]:(X=j?(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:j}):null,t[73]=j,t[74]=X);let Ce;t[75]!==ne||t[76]!==F?(Ce=ne??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:ne??F}):null,t[75]=ne,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]===re?De=t[89]:(De=e=>void re(e),t[88]=re,t[89]=De);let Oe;t[90]===ie?Oe=t[91]:(Oe=e=>void ie(e),t[90]=ie,t[91]=Oe);let ke;t[92]===w?ke=t[93]:(ke=()=>w(!0),t[92]=w,t[93]=ke);let Ae;t[94]!==r||t[95]!==P||t[96]!==i||t[97]!==b||t[98]!==S||t[99]!==c||t[100]!==l||t[101]!==h||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:h,loading:P,onOpenRun:b,onOpenRunChat:S,onCancelRun:De,onRetryRun:Oe,onStart:ke})}),t[94]=r,t[95]=P,t[96]=i,t[97]=b,t[98]=S,t[99]=c,t[100]=l,t[101]=h,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=!!h&&_,Ne;t[116]!==re||t[117]!==h?(Ne=()=>{h&&re(h)},t[116]=re,t[117]=h,t[118]=Ne):Ne=t[118];let Pe;t[119]!==ie||t[120]!==h?(Pe=()=>{h&&ie(h)},t[119]=ie,t[120]=h,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]===w?Ie=t[131]:(Ie=()=>w(!1),t[130]=w,t[131]=Ie);let Le;t[132]!==w||t[133]!==E?(Le=e=>{w(!1),E(e)},t[132]=w,t[133]=E,t[134]=Le):Le=t[134];let Re;t[135]!==s||t[136]!==r||t[137]!==C||t[138]!==Ie||t[139]!==Le?(Re=(0,$.jsx)(ut,{open:C,definitions:s,language:r,onClose:Ie,onPick:Le}),t[135]=s,t[136]=r,t[137]=C,t[138]=Ie,t[139]=Le,t[140]=Re):Re=t[140];let ze=T!=null,Be;t[141]===E?Be=t[142]:(Be=()=>E(null),t[141]=E,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]!==T||t[147]!==M||t[148]!==ze||t[149]!==Be||t[150]!==Ve?(He=(0,$.jsx)(Dt,{open:ze,definition:T,language:r,starting:M,onClose:Be,onStart:Ve}),t[145]=r,t[146]=T,t[147]=M,t[148]=ze,t[149]=Be,t[150]=Ve,t[151]=He):He=t[151];let Ue=D!=null,We;t[152]===O?We=t[153]:(We=()=>O(null),t[152]=O,t[153]=We);let Ge;t[154]!==D||t[155]!==O||t[156]!==E?(Ge=()=>{D&&(O(null),E(D))},t[154]=D,t[155]=O,t[156]=E,t[157]=Ge):Ge=t[157];let Ke;t[158]!==D||t[159]!==r||t[160]!==Ue||t[161]!==We||t[162]!==Ge?(Ke=(0,$.jsx)(nt,{open:Ue,definition:D,language:r,onClose:We,onRun:Ge}),t[158]=D,t[159]=r,t[160]=Ue,t[161]=We,t[162]=Ge,t[163]=Ke):Ke=t[163];let qe;t[164]===te?qe=t[165]:(qe=()=>te(!1),t[164]=te,t[165]=qe);let Je;t[166]===R?Je=t[167]:(Je=e=>void R(e),t[166]=R,t[167]=Je);let Ye;t[168]!==r||t[169]!==k||t[170]!==N||t[171]!==qe||t[172]!==Je?(Ye=(0,$.jsx)(it,{open:k,language:r,saving:N,onClose:qe,onSave:Je}),t[168]=r,t[169]=k,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=O(),[u,d]=D(),f=u.get(`q`)??``,p=u.get(`wf`)?.trim()??``,m=u.get(`trigger`)?.trim()||`all`,h=u.get(`run`)?.trim()??``,[g,_]=(0,Z.useState)(null),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(!1),[w,T]=(0,Z.useState)(null),[E,k]=(0,Z.useState)(null),[ee,ne]=(0,Z.useState)(!1),[A,j]=(0,Z.useState)(!1),M=o(s?[`workflow-definitions`,r]:null,ie,{revalidateOnFocus:!1}),N=o(s?[`workflow-runs`,r]:null,()=>L(100),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),P=o(s?[`workflow-stats`,r,p]:null,()=>ae(p),{revalidateOnFocus:!1});(0,Z.useEffect)(()=>{if(!E)return;let e=window.setTimeout(()=>k(null),4e3);return()=>window.clearTimeout(e)},[E]);let F=M.data??[],re=N.data??[],R=h||null,z=se(R),B=(0,Z.useMemo)(()=>Se(F,f,`all`,`all`),[F,f]),H=(0,Z.useCallback)(e=>{d(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[d]),U=(0,Z.useCallback)(e=>{H(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[H]),W=(0,Z.useCallback)(e=>{H(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[H]),oe=(0,Z.useCallback)(e=>{H(t=>{let n=e.trim();n&&n!==`all`?t.set(q,n):t.delete(q)})},[H]),K=(0,Z.useCallback)(e=>{H(t=>{t.set(`run`,e.id)})},[H]),ce=(0,Z.useCallback)(()=>{H(e=>{e.delete(`run`)})},[H]),le=(0,Z.useCallback)(e=>{let t=je(e);t&&l(ve(t))},[l]);(0,Z.useEffect)(()=>{u.get(`tab`)&&H(e=>{e.delete(`tab`)})},[H,u]),(0,Z.useEffect)(()=>{let e=u.get(`def`),t=u.get(V)===`1`;if(!e||!F.length)return;let n=F.find(t=>t.id===e||t.name===e);n&&(t?_(n):x(n),H(e=>{e.delete(`def`),e.delete(V)}))},[F,H,u]),(0,Z.useEffect)(()=>{let e=()=>{N.mutate(),P.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)}},[N,P]);let ue=(0,Z.useCallback)(()=>{M.mutate(),N.mutate(),P.mutate()},[M,N,P]),de=(0,Z.useCallback)(async e=>{if(g){ne(!0),T(null);try{let n=await me({definitionId:g.id,goal:e.goal,input:e.input,concurrency:e.concurrency,maxSubagents:e.maxSubagents});_(null),await N.mutate(),await P.mutate(),k(t.startSuccess),H(e=>{e.set(`run`,n.runId)})}catch(e){T(e instanceof Error?e.message:t.startFailed)}finally{ne(!1)}}},[t.startFailed,t.startSuccess,H,N,g,P]),fe=(0,Z.useCallback)(async e=>{try{await I(e),await N.mutate(),await P.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await N.mutate(),await P.mutate();return}T(n)}},[t.cancelFailed,N,P]),pe=(0,Z.useCallback)(async e=>{try{let t=await te(e);await N.mutate(),await P.mutate(),H(e=>{e.set(`run`,t.runId)})}catch(e){T(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,H,N,P]),he=(0,Z.useCallback)(async e=>{j(!0),T(null);try{await J(e.name,e.script),C(!1),await M.mutate(),k(t.saveWorkflowSuccess)}catch(e){T(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{j(!1)}},[M,t.saveWorkflowFailed,t.saveWorkflowSuccess]),Y=(0,Z.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(X(t.deleteConfirm,{name:e.name}))){T(null);try{await G(e.id),await M.mutate(),k(t.deleteWorkflowSuccess)}catch(e){T(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[M,t]),ge=M.isLoading||N.isLoading,_e=M.error?.message??N.error?.message??null;return{language:e,localeTag:n,labels:t,hasToken:s,searchQuery:f,setSearchQuery:U,workflowFilterId:p,setWorkflowFilterId:W,triggerFilter:m,setTriggerFilter:oe,definitions:F,filteredDefinitions:B,runs:re,selectedRunId:R,selectedRunView:z.view,selectedRunLoading:z.loading,selectedRunError:z.error?.message??null,openRunDetails:K,closeRunDetails:ce,openRunInChat:le,pickStartOpen:v,setPickStartOpen:y,startDefinition:g,setStartDefinition:_,detailDefinition:b,setDetailDefinition:x,manageOpen:S,setManageOpen:C,actionError:w,actionFeedback:E,starting:ee,savingWorkflow:A,loading:ge,error:_e,stats:P.data,refreshAll:ue,submitStart:de,cancelRun:fe,retryRun:pe,saveCustomWorkflow:he,removeCustomWorkflow:Y}}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};
@@ -9,21 +9,21 @@
9
9
  <link rel="icon" type="image/svg+xml" href="/logo.svg" />
10
10
  <link rel="apple-touch-icon" href="/logo.svg" />
11
11
  <title>xopc</title>
12
- <script type="module" crossorigin src="/assets/index-CKkR-v9U.js"></script>
12
+ <script type="module" crossorigin src="/assets/index-DnevRVa6.js"></script>
13
13
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-aKtaBQYM.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-DYoKfS8f.js">
16
16
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-BOUWij0V.js">
17
17
  <link rel="modulepreload" crossorigin href="/assets/Combination-HAlzriaz.js">
18
18
  <link rel="modulepreload" crossorigin href="/assets/vendor-swr-BIWyz7Rc.js">
19
- <link rel="modulepreload" crossorigin href="/assets/url-CY1RQKTU.js">
19
+ <link rel="modulepreload" crossorigin href="/assets/url-CWWpfkq1.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DPHK1VkS.js">
21
21
  <link rel="modulepreload" crossorigin href="/assets/circle-check-C23XjkUj.js">
22
22
  <link rel="modulepreload" crossorigin href="/assets/copy-Dv6d4Dvw.js">
23
- <link rel="modulepreload" crossorigin href="/assets/theme-store-BC-42BoZ.js">
24
- <link rel="modulepreload" crossorigin href="/assets/fetch-BWtQq_Ys.js">
23
+ <link rel="modulepreload" crossorigin href="/assets/theme-store-ht5iswWS.js">
24
+ <link rel="modulepreload" crossorigin href="/assets/fetch-DTN0w7rV.js">
25
25
  <link rel="modulepreload" crossorigin href="/assets/toast-z0toXu32.js">
26
- <link rel="stylesheet" crossorigin href="/assets/index-VlELBY99.css">
26
+ <link rel="stylesheet" crossorigin href="/assets/index-BUKUv7QW.css">
27
27
  </head>
28
28
  <body>
29
29
  <div id="root"></div>
package/dist/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.0.91";
2
+ var version = "0.0.92";
3
3
  //#endregion
4
4
  export { version };
5
5
 
@@ -1,17 +1,10 @@
1
- import type { Config } from "../../config/schema.js";
2
- import { type BundleMcpConfig, type BundleMcpDiagnostic, type BundleMcpServerConfig } from "../../extensions/bundle-mcp.js";
1
+ import type { Config } from '../../config/schema.js';
2
+ import { type BundleMcpConfig, type BundleMcpDiagnostic, type BundleMcpServerConfig } from '../../extensions/bundle-mcp.js';
3
3
  export type MergedBundleMcpConfig = {
4
4
  config: BundleMcpConfig;
5
5
  diagnostics: BundleMcpDiagnostic[];
6
6
  };
7
7
  export type BundleMcpServerMapper = (server: BundleMcpServerConfig, name: string) => BundleMcpServerConfig;
8
- /**
9
- * User config stores OpenClaw MCP transport names, while CLI backends such as
10
- * Claude Code and Gemini expect a downstream `type` field. Keep this adapter
11
- * out of the generic merge path because embedded Pi still consumes the raw
12
- * OpenClaw `transport` shape directly.
13
- */
14
- export declare function toCliBundleMcpServerConfig(server: BundleMcpServerConfig): BundleMcpServerConfig;
15
8
  export declare function loadMergedBundleMcpConfig(params: {
16
9
  workspaceDir: string;
17
10
  cfg?: Config;
@@ -1,45 +1,21 @@
1
+ import { isManagedConnectorServer } from "../../connectors/materialize.js";
1
2
  import { normalizeConfiguredMcpServers } from "../../config/mcp-config-normalize.js";
2
- import { loadEnabledBundleMcpConfig } from "../../extensions/bundle-mcp.js";
3
3
  //#region src/agent/mcp/bundle-mcp-config.ts
4
- const OPENCLAW_TRANSPORT_TO_CLI_BUNDLE_TYPE = {
5
- "streamable-http": "http",
6
- http: "http",
7
- sse: "sse",
8
- stdio: "stdio"
9
- };
10
- /**
11
- * User config stores OpenClaw MCP transport names, while CLI backends such as
12
- * Claude Code and Gemini expect a downstream `type` field. Keep this adapter
13
- * out of the generic merge path because embedded Pi still consumes the raw
14
- * OpenClaw `transport` shape directly.
15
- */
16
- function toCliBundleMcpServerConfig(server) {
17
- const next = { ...server };
18
- const rawTransport = next.transport;
19
- delete next.transport;
20
- if (typeof next.type === "string") return next;
21
- if (typeof rawTransport === "string") {
22
- const mapped = OPENCLAW_TRANSPORT_TO_CLI_BUNDLE_TYPE[rawTransport];
23
- if (mapped) next.type = mapped;
24
- }
25
- return next;
4
+ function listConnectorManagedMcpServers(params) {
5
+ const configuredMcp = normalizeConfiguredMcpServers(params.cfg?.mcp?.servers);
6
+ return Object.fromEntries(Object.entries(configuredMcp).filter(([, server]) => isManagedConnectorServer(server)).map(([name, server]) => [name, params.mapConfiguredServer(server, name)]));
26
7
  }
27
8
  function loadMergedBundleMcpConfig(params) {
28
- const bundleMcp = loadEnabledBundleMcpConfig({
29
- workspaceDir: params.workspaceDir,
30
- cfg: params.cfg
31
- });
32
- const configuredMcp = normalizeConfiguredMcpServers(params.cfg?.mcp?.servers);
33
9
  const mapConfiguredServer = params.mapConfiguredServer ?? ((server) => server);
34
10
  return {
35
- config: { mcpServers: {
36
- ...bundleMcp.config.mcpServers,
37
- ...Object.fromEntries(Object.entries(configuredMcp).map(([name, server]) => [name, mapConfiguredServer(server, name)]))
38
- } },
39
- diagnostics: bundleMcp.diagnostics
11
+ config: { mcpServers: listConnectorManagedMcpServers({
12
+ cfg: params.cfg,
13
+ mapConfiguredServer
14
+ }) },
15
+ diagnostics: []
40
16
  };
41
17
  }
42
18
  //#endregion
43
- export { loadMergedBundleMcpConfig, toCliBundleMcpServerConfig };
19
+ export { loadMergedBundleMcpConfig };
44
20
 
45
21
  //# sourceMappingURL=bundle-mcp-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-mcp-config.js","names":[],"sources":["../../../../src/agent/mcp/bundle-mcp-config.ts"],"sourcesContent":["import { normalizeConfiguredMcpServers } from \"../../config/mcp-config-normalize.js\";\nimport type { Config } from \"../../config/schema.js\";\nimport {\n loadEnabledBundleMcpConfig,\n type BundleMcpConfig,\n type BundleMcpDiagnostic,\n type BundleMcpServerConfig,\n} from \"../../extensions/bundle-mcp.js\";\n\nexport type MergedBundleMcpConfig = {\n config: BundleMcpConfig;\n diagnostics: BundleMcpDiagnostic[];\n};\n\nexport type BundleMcpServerMapper = (\n server: BundleMcpServerConfig,\n name: string,\n) => BundleMcpServerConfig;\n\nconst OPENCLAW_TRANSPORT_TO_CLI_BUNDLE_TYPE: Record<string, string> = {\n \"streamable-http\": \"http\",\n http: \"http\",\n sse: \"sse\",\n stdio: \"stdio\",\n};\n\n/**\n * User config stores OpenClaw MCP transport names, while CLI backends such as\n * Claude Code and Gemini expect a downstream `type` field. Keep this adapter\n * out of the generic merge path because embedded Pi still consumes the raw\n * OpenClaw `transport` shape directly.\n */\nexport function toCliBundleMcpServerConfig(server: BundleMcpServerConfig): BundleMcpServerConfig {\n const next = { ...server } as Record<string, unknown>;\n const rawTransport = next.transport;\n delete next.transport;\n if (typeof next.type === \"string\") {\n return next as BundleMcpServerConfig;\n }\n if (typeof rawTransport === \"string\") {\n const mapped = OPENCLAW_TRANSPORT_TO_CLI_BUNDLE_TYPE[rawTransport];\n if (mapped) {\n next.type = mapped;\n }\n }\n return next as BundleMcpServerConfig;\n}\n\nexport function loadMergedBundleMcpConfig(params: {\n workspaceDir: string;\n cfg?: Config;\n mapConfiguredServer?: BundleMcpServerMapper;\n}): MergedBundleMcpConfig {\n const bundleMcp = loadEnabledBundleMcpConfig({\n workspaceDir: params.workspaceDir,\n cfg: params.cfg,\n });\n const configuredMcp = normalizeConfiguredMcpServers(params.cfg?.mcp?.servers);\n const mapConfiguredServer = params.mapConfiguredServer ?? ((server) => server);\n\n return {\n config: {\n // OpenClaw config is the owner-managed layer, so it overrides bundle defaults.\n mcpServers: {\n ...bundleMcp.config.mcpServers,\n ...Object.fromEntries(\n Object.entries(configuredMcp).map(([name, server]) => [\n name,\n mapConfiguredServer(server as BundleMcpServerConfig, name),\n ]),\n ),\n } satisfies BundleMcpConfig[\"mcpServers\"],\n },\n diagnostics: bundleMcp.diagnostics,\n };\n}\n"],"mappings":";;;AAmBA,MAAM,wCAAgE;CACpE,mBAAmB;CACnB,MAAM;CACN,KAAK;CACL,OAAO;CACR;;;;;;;AAQD,SAAgB,2BAA2B,QAAsD;CAC/F,MAAM,OAAO,EAAE,GAAG,QAAQ;CAC1B,MAAM,eAAe,KAAK;AAC1B,QAAO,KAAK;AACZ,KAAI,OAAO,KAAK,SAAS,SACvB,QAAO;AAET,KAAI,OAAO,iBAAiB,UAAU;EACpC,MAAM,SAAS,sCAAsC;AACrD,MAAI,OACF,MAAK,OAAO;;AAGhB,QAAO;;AAGT,SAAgB,0BAA0B,QAIhB;CACxB,MAAM,YAAY,2BAA2B;EAC3C,cAAc,OAAO;EACrB,KAAK,OAAO;EACb,CAAC;CACF,MAAM,gBAAgB,8BAA8B,OAAO,KAAK,KAAK,QAAQ;CAC7E,MAAM,sBAAsB,OAAO,yBAAyB,WAAW;AAEvE,QAAO;EACL,QAAQ,EAEN,YAAY;GACV,GAAG,UAAU,OAAO;GACpB,GAAG,OAAO,YACR,OAAO,QAAQ,cAAc,CAAC,KAAK,CAAC,MAAM,YAAY,CACpD,MACA,oBAAoB,QAAiC,KAAK,CAC3D,CAAC,CACH;GACF,EACF;EACD,aAAa,UAAU;EACxB"}
1
+ {"version":3,"file":"bundle-mcp-config.js","names":[],"sources":["../../../../src/agent/mcp/bundle-mcp-config.ts"],"sourcesContent":["import { normalizeConfiguredMcpServers } from '../../config/mcp-config-normalize.js';\nimport { isManagedConnectorServer } from '../../connectors/materialize.js';\nimport type { Config } from '../../config/schema.js';\nimport {\n type BundleMcpConfig,\n type BundleMcpDiagnostic,\n type BundleMcpServerConfig,\n} from '../../extensions/bundle-mcp.js';\n\nexport type MergedBundleMcpConfig = {\n config: BundleMcpConfig;\n diagnostics: BundleMcpDiagnostic[];\n};\n\nexport type BundleMcpServerMapper = (\n server: BundleMcpServerConfig,\n name: string,\n) => BundleMcpServerConfig;\n\nfunction listConnectorManagedMcpServers(params: {\n cfg?: Config;\n mapConfiguredServer: BundleMcpServerMapper;\n}): BundleMcpConfig[\"mcpServers\"] {\n const configuredMcp = normalizeConfiguredMcpServers(params.cfg?.mcp?.servers);\n return Object.fromEntries(\n Object.entries(configuredMcp)\n .filter(([, server]) => isManagedConnectorServer(server))\n .map(([name, server]) => [\n name,\n params.mapConfiguredServer(server as BundleMcpServerConfig, name),\n ]),\n ) satisfies BundleMcpConfig[\"mcpServers\"];\n}\n\nexport function loadMergedBundleMcpConfig(params: {\n workspaceDir: string;\n cfg?: Config;\n mapConfiguredServer?: BundleMcpServerMapper;\n}): MergedBundleMcpConfig {\n const mapConfiguredServer = params.mapConfiguredServer ?? ((server) => server);\n\n return {\n config: {\n mcpServers: listConnectorManagedMcpServers({\n cfg: params.cfg,\n mapConfiguredServer,\n }),\n },\n diagnostics: [],\n };\n}\n"],"mappings":";;;AAmBA,SAAS,+BAA+B,QAGN;CAChC,MAAM,gBAAgB,8BAA8B,OAAO,KAAK,KAAK,QAAQ;AAC7E,QAAO,OAAO,YACZ,OAAO,QAAQ,cAAc,CAC1B,QAAQ,GAAG,YAAY,yBAAyB,OAAO,CAAC,CACxD,KAAK,CAAC,MAAM,YAAY,CACvB,MACA,OAAO,oBAAoB,QAAiC,KAAK,CAClE,CAAC,CACL;;AAGH,SAAgB,0BAA0B,QAIhB;CACxB,MAAM,sBAAsB,OAAO,yBAAyB,WAAW;AAEvE,QAAO;EACL,QAAQ,EACN,YAAY,+BAA+B;GACzC,KAAK,OAAO;GACZ;GACD,CAAC,EACH;EACD,aAAa,EAAE;EAChB"}
@@ -1,10 +1,10 @@
1
1
  import "./bundle-mcp-names.js";
2
- import { hasAnyMcpServers } from "../../extensions/bundle-mcp.js";
2
+ import { listConnectorInstances } from "../../connectors/instances.js";
3
3
  //#region src/agent/mcp/bundle-mcp-policy.ts
4
4
  function shouldCreateBundleMcpRuntimeForAttempt(params) {
5
5
  if (params.toolsEnabled === false) return false;
6
6
  if (params.disabledTools?.has("bundle-mcp")) return false;
7
- return hasAnyMcpServers(params.cfg);
7
+ return listConnectorInstances(params.cfg ?? {}).length > 0;
8
8
  }
9
9
  function isMcpToolName(toolName) {
10
10
  return toolName.includes("__");
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-mcp-policy.js","names":[],"sources":["../../../../src/agent/mcp/bundle-mcp-policy.ts"],"sourcesContent":["import { TOOL_NAME_SEPARATOR } from './bundle-mcp-names.js';\nimport { hasAnyMcpServers } from '../../extensions/bundle-mcp.js';\nimport type { Config } from '../../config/schema.js';\n\nexport function shouldCreateBundleMcpRuntimeForAttempt(params: {\n cfg?: Config;\n toolsEnabled?: boolean;\n disabledTools?: Set<string>;\n}): boolean {\n if (params.toolsEnabled === false) {\n return false;\n }\n if (params.disabledTools?.has('bundle-mcp')) {\n return false;\n }\n return hasAnyMcpServers(params.cfg);\n}\n\nexport function isMcpToolName(toolName: string): boolean {\n return toolName.includes(TOOL_NAME_SEPARATOR);\n}\n\nexport function parseMcpToolName(toolName: string): { serverId: string; toolId: string } | null {\n const idx = toolName.indexOf(TOOL_NAME_SEPARATOR);\n if (idx <= 0) {\n return null;\n }\n return {\n serverId: toolName.slice(0, idx),\n toolId: toolName.slice(idx + TOOL_NAME_SEPARATOR.length),\n };\n}\n"],"mappings":";;;AAIA,SAAgB,uCAAuC,QAI3C;AACV,KAAI,OAAO,iBAAiB,MAC1B,QAAO;AAET,KAAI,OAAO,eAAe,IAAI,aAAa,CACzC,QAAO;AAET,QAAO,iBAAiB,OAAO,IAAI;;AAGrC,SAAgB,cAAc,UAA2B;AACvD,QAAO,SAAS,SAAA,KAA6B;;AAG/C,SAAgB,iBAAiB,UAA+D;CAC9F,MAAM,MAAM,SAAS,QAAA,KAA4B;AACjD,KAAI,OAAO,EACT,QAAO;AAET,QAAO;EACL,UAAU,SAAS,MAAM,GAAG,IAAI;EAChC,QAAQ,SAAS,MAAM,MAAA,EAAiC;EACzD"}
1
+ {"version":3,"file":"bundle-mcp-policy.js","names":[],"sources":["../../../../src/agent/mcp/bundle-mcp-policy.ts"],"sourcesContent":["import { TOOL_NAME_SEPARATOR } from './bundle-mcp-names.js';\nimport { listConnectorInstances } from '../../connectors/instances.js';\nimport type { Config } from '../../config/schema.js';\n\nexport function shouldCreateBundleMcpRuntimeForAttempt(params: {\n cfg?: Config;\n toolsEnabled?: boolean;\n disabledTools?: Set<string>;\n}): boolean {\n if (params.toolsEnabled === false) {\n return false;\n }\n if (params.disabledTools?.has('bundle-mcp')) {\n return false;\n }\n return listConnectorInstances(params.cfg ?? ({} as Config)).length > 0;\n}\n\nexport function isMcpToolName(toolName: string): boolean {\n return toolName.includes(TOOL_NAME_SEPARATOR);\n}\n\nexport function parseMcpToolName(toolName: string): { serverId: string; toolId: string } | null {\n const idx = toolName.indexOf(TOOL_NAME_SEPARATOR);\n if (idx <= 0) {\n return null;\n }\n return {\n serverId: toolName.slice(0, idx),\n toolId: toolName.slice(idx + TOOL_NAME_SEPARATOR.length),\n };\n}\n"],"mappings":";;;AAIA,SAAgB,uCAAuC,QAI3C;AACV,KAAI,OAAO,iBAAiB,MAC1B,QAAO;AAET,KAAI,OAAO,eAAe,IAAI,aAAa,CACzC,QAAO;AAET,QAAO,uBAAuB,OAAO,OAAQ,EAAE,CAAY,CAAC,SAAS;;AAGvE,SAAgB,cAAc,UAA2B;AACvD,QAAO,SAAS,SAAA,KAA6B;;AAG/C,SAAgB,iBAAiB,UAA+D;CAC9F,MAAM,MAAM,SAAS,QAAA,KAA4B;AACjD,KAAI,OAAO,EACT,QAAO;AAET,QAAO;EACL,UAAU,SAAS,MAAM,GAAG,IAAI;EAChC,QAAQ,SAAS,MAAM,MAAA,EAAiC;EACzD"}
@@ -2,20 +2,20 @@ import { init_string_coerce, normalizeOptionalString } from "../../utils/string-
2
2
  import { createLogger } from "../../utils/logger/index.js";
3
3
  import { init_logger } from "../../utils/logger.js";
4
4
  import { sanitizeServerName } from "./bundle-mcp-names.js";
5
+ import { resolveConnectorSecretReferences } from "../../connectors/secret-store.js";
5
6
  import { resolveGlobalSingleton } from "../../utils/global-singleton.js";
6
7
  import { redactSensitiveUrlLikeString } from "../../utils/redact-sensitive-url.js";
7
8
  import { loadEmbeddedMcpConfig } from "./embedded-mcp.js";
8
9
  import { isMcpConfigRecord } from "./mcp-config-shared.js";
9
10
  import { resolveMcpTransport } from "./mcp-transport.js";
10
- import { createRequire } from "node:module";
11
11
  import crypto from "node:crypto";
12
+ import Ajv2020 from "ajv/dist/2020.js";
12
13
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
13
14
  import { AjvJsonSchemaValidator } from "@modelcontextprotocol/sdk/validation/ajv-provider.js";
14
15
  //#region src/agent/mcp/bundle-mcp-runtime.ts
15
16
  init_logger();
16
17
  init_string_coerce();
17
18
  const log = createLogger("BundleMcp");
18
- const require = createRequire(import.meta.url);
19
19
  const SESSION_MCP_RUNTIME_MANAGER_KEY = Symbol.for("xopc.sessionMcpRuntimeManager");
20
20
  const DRAFT_2020_12_SCHEMA = "https://json-schema.org/draft/2020-12/schema";
21
21
  const DEFAULT_SESSION_MCP_RUNTIME_IDLE_TTL_MS = 600 * 1e3;
@@ -25,7 +25,7 @@ function isDraft202012Schema(schema) {
25
25
  }
26
26
  function createBundleMcpJsonSchemaValidator() {
27
27
  const defaultValidator = new AjvJsonSchemaValidator();
28
- const ajv2020 = new (require("ajv/dist/2020"))({
28
+ const ajv2020 = new Ajv2020({
29
29
  strict: false,
30
30
  validateFormats: false,
31
31
  validateSchema: false,
@@ -134,7 +134,7 @@ function createSessionMcpRuntime(params) {
134
134
  try {
135
135
  for (const [serverName, rawServer] of Object.entries(loaded.mcpServers)) {
136
136
  failIfDisposed();
137
- const resolved = resolveMcpTransport(serverName, rawServer);
137
+ const resolved = resolveMcpTransport(serverName, await resolveConnectorSecretReferences(rawServer));
138
138
  if (!resolved) continue;
139
139
  const safeServerName = sanitizeServerName(serverName, usedServerNames);
140
140
  if (safeServerName !== serverName) log.warn(`bundle-mcp: server key "${serverName}" registered as "${safeServerName}" for provider-safe tool names.`);