@xopcai/xopc 0.0.89 → 0.0.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -12
- package/README.zh-CN.md +36 -12
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/Combination-HAlzriaz.js +41 -0
- package/dist/gateway/static/root/assets/agents-bVWUlrlD.js +222 -0
- package/dist/gateway/static/root/assets/apps-page-CIC8bmvZ.js +1 -0
- package/dist/gateway/static/root/assets/{attachment-preview-renderer-CpyoFbs4.js → attachment-preview-renderer-DBAxQXb-.js} +2 -2
- package/dist/gateway/static/root/assets/{attachment-process-heavy-CqVriadb.js → attachment-process-heavy-Csq3TrrP.js} +4 -4
- package/dist/gateway/static/root/assets/channels-settings-C8G8RAAP.js +1 -0
- package/dist/gateway/static/root/assets/{channels-status-swr-DaHGkRF1.js → channels-status-swr-CYWL5DLD.js} +1 -1
- package/dist/gateway/static/root/assets/circle-check-C23XjkUj.js +1 -0
- package/dist/gateway/static/root/assets/copy-Dv6d4Dvw.js +1 -0
- package/dist/gateway/static/root/assets/cron-api-TVqLlGAC.js +1 -0
- package/dist/gateway/static/root/assets/cron-dreaming-jobs-Ip703-qM.js +2 -0
- package/dist/gateway/static/root/assets/cron-page-BtcFYlvv.js +1 -0
- package/dist/gateway/static/root/assets/dist-CUV1uY5f.js +1 -0
- package/dist/gateway/static/root/assets/{extension-debug-page-CtuKJ9tE.js → extension-debug-page-mTLHRDp1.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-ykzjOkR5.js → extension-page-iI8BI7WK.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-Ce2qrdpO.js → extension-settings-page-ByXcdubM.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-C9FFJjuH.js → fetch-BWtQq_Ys.js} +1 -1
- package/dist/gateway/static/root/assets/{field-primitives-BFcrNeTU.js → field-primitives-BsZ-4VT5.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-CEg4Vr9R.js → heartbeat-config-api-WjTsRLCU.js} +1 -1
- package/dist/gateway/static/root/assets/{index-CZfy9oxs.js → index-CKkR-v9U.js} +101 -97
- package/dist/gateway/static/root/assets/index-VlELBY99.css +1 -0
- package/dist/gateway/static/root/assets/logs-page-ClnIpxfd.js +1 -0
- package/dist/gateway/static/root/assets/note-detail-page-B91pLkEI.css +1 -0
- package/dist/gateway/static/root/assets/note-detail-page-DJ2Mb4x7.js +179 -0
- package/dist/gateway/static/root/assets/note-time-JLBPSLzK.js +1 -0
- package/dist/gateway/static/root/assets/notes-page-BE-75qz9.js +1 -0
- package/dist/gateway/static/root/assets/{pdf-BnEvgIXZ.js → pdf-epILhEOn.js} +1 -1
- package/dist/gateway/static/root/assets/preload-helper-zJ_50EbN.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-bJJkWtTl.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-BqdzA28u.js → settings-form-section-DSYCknxM.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-WcMXLq2U.js +3 -0
- package/dist/gateway/static/root/assets/share-preview-page-awRqs4hV.js +2 -0
- package/dist/gateway/static/root/assets/skills-page-Lu-i1JG7.js +2 -0
- package/dist/gateway/static/root/assets/{theme-store-CNqbmTNV.js → theme-store-BC-42BoZ.js} +1 -1
- package/dist/gateway/static/root/assets/toast-z0toXu32.js +1 -0
- package/dist/gateway/static/root/assets/url-CY1RQKTU.js +3 -0
- package/dist/gateway/static/root/assets/{utils-BWm2tG2w.js → utils-DX3TQuap.js} +1 -1
- package/dist/gateway/static/root/assets/vendor-codemirror-DYoKfS8f.js +45 -0
- package/dist/gateway/static/root/assets/voice-api-key-field-B5uKlDqA.js +1 -0
- package/dist/gateway/static/root/assets/workflow-page.utils-ClC37yEp.js +1 -0
- package/dist/gateway/static/root/assets/workflows-page-C7VhIXtR.js +27 -0
- package/dist/gateway/static/root/index.html +11 -7
- package/dist/package.js +1 -1
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js +20 -18
- package/dist/src/agent/skills/marketplace/adapters/skillhub/adapter.js.map +1 -1
- package/dist/src/agent/tools/cronjob-tool.d.ts +6 -0
- package/dist/src/agent/tools/cronjob-tool.js +74 -9
- package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
- package/dist/src/agent/tools/edit.d.ts +5 -1
- package/dist/src/agent/tools/edit.js +7 -5
- package/dist/src/agent/tools/edit.js.map +1 -1
- package/dist/src/agent/tools/factory.js +2 -2
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/write.d.ts +5 -1
- package/dist/src/agent/tools/write.js +7 -5
- package/dist/src/agent/tools/write.js.map +1 -1
- package/dist/src/agent/workflow/agent-progress.js +2 -0
- package/dist/src/agent/workflow/agent-progress.js.map +1 -1
- package/dist/src/agent/workflow/builtins/client-proposal.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/client-proposal.js +155 -0
- package/dist/src/agent/workflow/builtins/client-proposal.js.map +1 -0
- package/dist/src/agent/workflow/builtins/competitor-scan.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/competitor-scan.js +150 -0
- package/dist/src/agent/workflow/builtins/competitor-scan.js.map +1 -0
- package/dist/src/agent/workflow/builtins/content-draft.d.ts +13 -0
- package/dist/src/agent/workflow/builtins/content-draft.js +146 -0
- package/dist/src/agent/workflow/builtins/content-draft.js.map +1 -0
- package/dist/src/agent/workflow/builtins/content-repurpose.d.ts +11 -0
- package/dist/src/agent/workflow/builtins/content-repurpose.js +137 -0
- package/dist/src/agent/workflow/builtins/content-repurpose.js.map +1 -0
- package/dist/src/agent/workflow/builtins/decision-compare.d.ts +13 -0
- package/dist/src/agent/workflow/builtins/decision-compare.js +173 -0
- package/dist/src/agent/workflow/builtins/decision-compare.js.map +1 -0
- package/dist/src/agent/workflow/builtins/inbox-triage.d.ts +11 -0
- package/dist/src/agent/workflow/builtins/inbox-triage.js +148 -0
- package/dist/src/agent/workflow/builtins/inbox-triage.js.map +1 -0
- package/dist/src/agent/workflow/builtins/index.d.ts +10 -1
- package/dist/src/agent/workflow/builtins/index.js +46 -1
- package/dist/src/agent/workflow/builtins/index.js.map +1 -1
- package/dist/src/agent/workflow/builtins/meeting-prep.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/meeting-prep.js +144 -0
- package/dist/src/agent/workflow/builtins/meeting-prep.js.map +1 -0
- package/dist/src/agent/workflow/builtins/offer-design.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/offer-design.js +161 -0
- package/dist/src/agent/workflow/builtins/offer-design.js.map +1 -0
- package/dist/src/agent/workflow/builtins/weekly-review.d.ts +12 -0
- package/dist/src/agent/workflow/builtins/weekly-review.js +131 -0
- package/dist/src/agent/workflow/builtins/weekly-review.js.map +1 -0
- package/dist/src/agent/workflow/step-labels.js +2 -2
- package/dist/src/agent/workflow/step-labels.js.map +1 -1
- package/dist/src/agent/workflow/subagent-runner.js +3 -1
- package/dist/src/agent/workflow/subagent-runner.js.map +1 -1
- package/dist/src/agent/workflow/types.d.ts +4 -0
- package/dist/src/chat-commands/agent-edit.d.ts +4 -0
- package/dist/src/chat-commands/agent-edit.js +136 -0
- package/dist/src/chat-commands/agent-edit.js.map +1 -0
- package/dist/src/chat-commands/index.d.ts +1 -0
- package/dist/src/chat-commands/index.js +3 -1
- package/dist/src/chat-commands/index.js.map +1 -1
- package/dist/src/cli/bin.js +2 -0
- package/dist/src/cli/bin.js.map +1 -1
- package/dist/src/cli/commands/cron.js +42 -3
- package/dist/src/cli/commands/cron.js.map +1 -1
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +79 -56
- package/dist/src/cli/commands/doctor/checks/session-integrity.js.map +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/update.js +86 -79
- package/dist/src/cli/commands/update.js.map +1 -1
- package/dist/src/commands/agents.config.d.ts +3 -2
- package/dist/src/commands/agents.config.js +5 -2
- package/dist/src/commands/agents.config.js.map +1 -1
- package/dist/src/config/agent-typed-models.d.ts +2 -7
- package/dist/src/config/agent-typed-models.js +3 -14
- package/dist/src/config/agent-typed-models.js.map +1 -1
- package/dist/src/config/localized-text.d.ts +6 -0
- package/dist/src/config/localized-text.js +42 -0
- package/dist/src/config/localized-text.js.map +1 -0
- package/dist/src/config/models-json.d.ts +6 -6
- package/dist/src/config/schema.d.ts +6 -21
- package/dist/src/config/schema.js +4 -4
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/cron/executor.d.ts +2 -0
- package/dist/src/cron/executor.js +111 -1
- package/dist/src/cron/executor.js.map +1 -1
- package/dist/src/cron/types.d.ts +8 -1
- package/dist/src/cron/validation.d.ts +4 -0
- package/dist/src/cron/validation.js +4 -3
- package/dist/src/cron/validation.js.map +1 -1
- package/dist/src/cron/workflow-run-completion.d.ts +23 -0
- package/dist/src/cron/workflow-run-completion.js +72 -0
- package/dist/src/cron/workflow-run-completion.js.map +1 -0
- package/dist/src/extensions/update.d.ts +51 -0
- package/dist/src/extensions/update.js +260 -0
- package/dist/src/extensions/update.js.map +1 -0
- package/dist/src/gateway/agents-admin.d.ts +15 -8
- package/dist/src/gateway/agents-admin.js +77 -28
- package/dist/src/gateway/agents-admin.js.map +1 -1
- package/dist/src/gateway/heartbeat/service.js +1 -1
- package/dist/src/gateway/hono/lib/config-payload.d.ts +6 -0
- package/dist/src/gateway/hono/lib/config-payload.js +3 -1
- package/dist/src/gateway/hono/lib/config-payload.js.map +1 -1
- package/dist/src/gateway/hono/middleware/auth.d.ts +2 -0
- package/dist/src/gateway/hono/middleware/auth.js +11 -7
- package/dist/src/gateway/hono/middleware/auth.js.map +1 -1
- package/dist/src/gateway/hono/routes/agents.js +55 -12
- package/dist/src/gateway/hono/routes/agents.js.map +1 -1
- package/dist/src/gateway/hono/routes/config-patch/agents.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/gateway.d.ts +2 -2
- package/dist/src/gateway/hono/routes/config-patch/gateway.js +12 -0
- package/dist/src/gateway/hono/routes/config-patch/gateway.js.map +1 -1
- package/dist/src/gateway/hono/routes/lazy-bundles.js +8 -0
- package/dist/src/gateway/hono/routes/lazy-bundles.js.map +1 -1
- package/dist/src/gateway/hono/routes/notes.d.ts +3 -0
- package/dist/src/gateway/hono/routes/notes.js +274 -0
- package/dist/src/gateway/hono/routes/notes.js.map +1 -0
- package/dist/src/gateway/hono/routes/sessions.js.map +1 -1
- package/dist/src/gateway/hono/routes/update.js +55 -107
- package/dist/src/gateway/hono/routes/update.js.map +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +3 -1
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/server.js +2 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/service.d.ts +3 -0
- package/dist/src/gateway/service.js +12 -1
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-ripgrep.d.ts +6 -0
- package/dist/src/gateway/workspace-ripgrep.js +62 -11
- package/dist/src/gateway/workspace-ripgrep.js.map +1 -1
- package/dist/src/heartbeat/index.js +1 -1
- package/dist/src/infra/brew.d.ts +4 -0
- package/dist/src/infra/brew.js +20 -0
- package/dist/src/infra/brew.js.map +1 -0
- package/dist/src/infra/package-json.d.ts +2 -0
- package/dist/src/infra/package-json.js +23 -0
- package/dist/src/infra/package-json.js.map +1 -0
- package/dist/src/infra/package-update-steps.d.ts +35 -0
- package/dist/src/infra/package-update-steps.js +304 -0
- package/dist/src/infra/package-update-steps.js.map +1 -0
- package/dist/src/infra/path-env.d.ts +11 -0
- package/dist/src/infra/path-env.js +90 -0
- package/dist/src/infra/path-env.js.map +1 -0
- package/dist/src/infra/path-prepend.d.ts +7 -0
- package/dist/src/infra/path-prepend.js +44 -0
- package/dist/src/infra/path-prepend.js.map +1 -0
- package/dist/src/infra/stable-node-path.d.ts +2 -0
- package/dist/src/infra/stable-node-path.js +28 -0
- package/dist/src/infra/stable-node-path.js.map +1 -0
- package/dist/src/infra/update-global.d.ts +30 -23
- package/dist/src/infra/update-global.js +113 -64
- package/dist/src/infra/update-global.js.map +1 -1
- package/dist/src/infra/update-log.d.ts +1 -0
- package/dist/src/infra/update-log.js +12 -0
- package/dist/src/infra/update-log.js.map +1 -0
- package/dist/src/infra/update-restart.d.ts +20 -0
- package/dist/src/infra/update-restart.js +165 -0
- package/dist/src/infra/update-restart.js.map +1 -0
- package/dist/src/infra/update-runner.d.ts +89 -1
- package/dist/src/infra/update-runner.js +604 -173
- package/dist/src/infra/update-runner.js.map +1 -1
- package/dist/src/infra/update-startup.d.ts +3 -0
- package/dist/src/infra/update-startup.js +8 -4
- package/dist/src/infra/update-startup.js.map +1 -1
- package/dist/src/notes/attachment-ref.d.ts +9 -0
- package/dist/src/notes/attachment-ref.js +27 -0
- package/dist/src/notes/attachment-ref.js.map +1 -0
- package/dist/src/notes/index.d.ts +4 -0
- package/dist/src/notes/index.js +4 -0
- package/dist/src/notes/note-attachment-sync.d.ts +7 -0
- package/dist/src/notes/note-attachment-sync.js +46 -0
- package/dist/src/notes/note-attachment-sync.js.map +1 -0
- package/dist/src/notes/note-index-meta.d.ts +14 -0
- package/dist/src/notes/note-index-meta.js +87 -0
- package/dist/src/notes/note-index-meta.js.map +1 -0
- package/dist/src/notes/paths.d.ts +5 -0
- package/dist/src/notes/paths.js +23 -0
- package/dist/src/notes/paths.js.map +1 -0
- package/dist/src/notes/service.d.ts +42 -0
- package/dist/src/notes/service.js +331 -0
- package/dist/src/notes/service.js.map +1 -0
- package/dist/src/notes/store.d.ts +33 -0
- package/dist/src/notes/store.js +317 -0
- package/dist/src/notes/store.js.map +1 -0
- package/dist/src/notes/types.d.ts +162 -0
- package/dist/src/notes/types.js +1 -0
- package/dist/src/routing/resolve-route.d.ts +3 -1
- package/dist/src/routing/resolve-route.js.map +1 -1
- package/dist/src/session/store.d.ts +5 -3
- package/dist/src/session/store.js +66 -20
- package/dist/src/session/store.js.map +1 -1
- package/dist/src/utils/logger/stats.d.ts +1 -1
- package/dist/src/workflows/domain/event.d.ts +3 -0
- package/dist/src/workflows/domain/run.d.ts +3 -0
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/engine/projector.js +17 -0
- package/dist/src/workflows/engine/projector.js.map +1 -1
- package/dist/src/workflows/engine/workflow-engine.js +127 -0
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
- package/dist/src/workflows/index.js +1 -1
- package/dist/src/workflows/service/run-view-to-snapshot.js +3 -1
- package/dist/src/workflows/service/run-view-to-snapshot.js.map +1 -1
- package/dist/src/workflows/service/workflow-run-service.d.ts +1 -0
- package/dist/src/workflows/service/workflow-run-service.js +4 -1
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -1
- package/dist/src/workflows/service/workflow-session-bridge.js +1 -1
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/agents-B6PJB07W.js +0 -222
- package/dist/gateway/static/root/assets/apps-page-BOr0B1wv.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-BelUKggl.js +0 -1
- package/dist/gateway/static/root/assets/cron-api-CjOg-BIj.js +0 -1
- package/dist/gateway/static/root/assets/cron-dreaming-jobs-DueM3rBz.js +0 -2
- package/dist/gateway/static/root/assets/cron-page-DhoZmZXb.js +0 -1
- package/dist/gateway/static/root/assets/dist-6LecgDx5.js +0 -1
- package/dist/gateway/static/root/assets/dist-BTWC-BTN.js +0 -45
- package/dist/gateway/static/root/assets/index-CiN1cQiQ.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-BwWLfqvd.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-DV5WN8uk.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-CfOBRbPX.js +0 -3
- package/dist/gateway/static/root/assets/share-preview-page-Di5Bzh4g.js +0 -2
- package/dist/gateway/static/root/assets/skills-page-D0H5Kaxg.js +0 -2
- package/dist/gateway/static/root/assets/url-aYn-Rj1C.js +0 -7
- package/dist/gateway/static/root/assets/vendor-codemirror-D0yxdRpg.js +0 -58
- package/dist/gateway/static/root/assets/voice-api-key-field-X2UfnHeq.js +0 -1
- package/dist/gateway/static/root/assets/workflows-page-BOPpO3NG.js +0 -27
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{t as i}from"./url-aYn-Rj1C.js";import{o as a}from"./vendor-swr-BIWyz7Rc.js";import{a as o,n as s}from"./fetch-C9FFJjuH.js";import{Dn as c,En as l,H as u,P as d,U as f,Ui as p,_r as m,ar as h,ei as g,fa as _,vr as v,wa as y,xi as b,yr as x}from"./index-CZfy9oxs.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&&!(d(n)&&d(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 l())}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 m;t[5]!==s||t[6]!==o?(m=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:[f(e.kind,s),(0,j.jsx)(p,{className:`size-3`,"aria-hidden":!0})]},`${e.kind}-${e.href}`))}):null,t[5]=s,t[6]=o,t[7]=m):m=t[7];let g=`img-cred-key-${n}`,_;t[8]!==a||t[9]!==i||t[10]!==l||t[11]!==g||t[12]!==r?(_=(0,j.jsx)(h,{id:g,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]=g,t[12]=r,t[13]=_):_=t[13];let v;return t[14]!==d||t[15]!==m||t[16]!==_?(v=(0,j.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1 sm:col-span-2`,children:[d,m,_]}),t[14]=d,t[15]=m,t[16]=_,t[17]=v):v=t[17],v}function M(e){return e.apiKey??null}function N(){return x(`w-full rounded-lg border border-edge bg-surface-panel px-3 py-2 text-sm text-fg`,`placeholder:text-fg-subtle`,m)}function ie(){return x(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:l,updateCredRow:d,onDiscardCredentials:f,onSaveCredentials:m,extensionIds:h,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)(y,{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]!==l||t[35]!==c||t[36]!==o||t[37]!==O||t[38]!==f||t[39]!==m||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,l?(0,j.jsx)(`span`,{className:`text-sm text-fg-muted`,children:D.credentialsNothingToSave}):null,(0,j.jsx)(v,{type:`button`,variant:`secondary`,onClick:f,disabled:!a||o,children:D.discardCredentials}),(0,j.jsx)(v,{type:`button`,variant:`primary`,onClick:m,disabled:!a||o,children:o?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(b,{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)(g,{className:`size-3.5`}),(0,j.jsx)(`span`,{className:`ml-1.5`,children:D.saveCredentials})]})})]}),t[33]=a,t[34]=l,t[35]=c,t[36]=o,t[37]=O,t[38]=f,t[39]=m,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]!==h||t[50]!==V||t[51]!==T||t[52]!==S||t[53]!==n||t[54]!==D||t[55]!==U||t[56]!==d){let e;t[58]!==E||t[59]!==i||t[60]!==r||t[61]!==h||t[62]!==V||t[63]!==T||t[64]!==S||t[65]!==D||t[66]!==U||t[67]!==d?(e=e=>{let t=r[e.id]??w(),n=e.ui,a=S&&h.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:x(`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)(_,{className:x(`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)(y,{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)(p,{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=>d(e.id,{apiKey:t}),apiKeyLinks:u(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===``){d(e.id,{region:``,imageBaseUrl:``});return}if(r===P){d(e.id,{region:``,imageBaseUrl:``});return}let i=n.regions.find(e=>e.value===r);i&&d(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=>d(e.id,{region:t.target.value})}),(0,j.jsx)(`input`,{type:`url`,className:N(),value:t.imageBaseUrl,placeholder:D.imageBaseUrlLabel,onChange:t=>d(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===``){d(e.id,{baseUrl:``});return}if(n===P){d(e.id,{baseUrl:``});return}d(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:x(N(),`mt-2`),value:t.baseUrl,placeholder:`https://…`,onChange:t=>d(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:x(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]=h,t[62]=V,t[63]=T,t[64]=S,t[65]=D,t[66]=U,t[67]=d,t[68]=e):e=t[68],Z=n.map(e),t[46]=E,t[47]=i,t[48]=r,t[49]=h,t[50]=V,t[51]=T,t[52]=S,t[53]=n,t[54]=D,t[55]=U,t[56]=d,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=c(o(e=>!!e.token)),n=t.data,r=(0,C.useMemo)(()=>e.map(e=>e.id),[e]),s=(0,C.useRef)(!1),[l,u]=(0,C.useState)(null),[d,f]=(0,C.useState)(!1),[p,m]=(0,C.useState)(null),[h,g]=(0,C.useState)(!1),[_,v]=(0,C.useState)(!1),y=(0,C.useMemo)(()=>T(n?.payload?.config,r),[n?.payload?.config,r]),b=l??y,x=y;return{gwSwr:t,credDraft:b,credBaseline:x,credDirty:(0,C.useMemo)(()=>JSON.stringify(b)!==JSON.stringify(x),[b,x]),credSaving:d,credError:p,credSavedFlash:h,credNoopFlash:_,updateCredRow:(0,C.useCallback)((e,t)=>{s.current=!0,u(n=>{let r=n??y,i=r[e]??w();return{...r,[e]:{...i,...t}}})},[y]),onDiscardCredentials:(0,C.useCallback)(()=>{s.current=!1,u(null),m(null),g(!1),v(!1)},[]),saveCredentials:(0,C.useCallback)(async e=>{let n=O(r,b,x);if(Object.keys(n).length===0){v(!0),window.setTimeout(()=>v(!1),2200);return}f(!0),m(null),g(!1);try{await A(n),await t.mutate?.(),a(i(S)),s.current=!1,u(null),g(!0),window.setTimeout(()=>g(!1),2e3)}catch(t){m(t instanceof Error?t.message:e)}finally{f(!1)}},[r,b,x,t])}}function ve(){return{enabled:!1,provider:`alibaba`,alibaba:{model:`paraformer-v2`},openai:{model:`whisper-1`},fallback:{enabled:!0,order:[`alibaba`,`openai`]}}}function I(){return{enabled:!1,provider:`openai`,trigger:`always`,maxTextLength:512,timeoutMs:6e4,alibaba:{model:`qwen-tts`,voice:`Cherry`},openai:{model:`tts-1`,voice:`alloy`},edge:{voice:`en-US-MichelleNeural`},minimax:{model:`speech-2.8-hd`,voice:`male-qn-qingse`},"tts-local-cli":{command:``,outputFormat:`wav`}}}function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function R(e){return typeof e==`string`&&e.trim().length>0?e.trim():`alibaba`}function z(e,t,n){let r=L(e.providers)?e.providers:void 0,i=r&&L(r[t])?r[t]:void 0;return{...n,...i??{}}}function B(e){let t=ve();if(!L(e))return t;let n=R(e.provider),r=z(e,`alibaba`,t.alibaba??{}),i=z(e,`openai`,t.openai??{}),a=t.fallback??{enabled:!0,order:[`alibaba`,`openai`]};if(L(e.fallback)){let t=Array.isArray(e.fallback.order)?e.fallback.order.filter(e=>typeof e==`string`&&e.trim().length>0):a.order;a={enabled:typeof e.fallback.enabled==`boolean`?e.fallback.enabled:a.enabled,order:t.length?t:a.order}}let o=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,alibaba:r,openai:i,...o?{providers:o}:{},fallback:a}}function V(e){return typeof e==`string`&&e.trim().length>0?e.trim():`openai`}function H(e){let t=I();if(!L(e))return t;let n=V(e.provider),r=e.trigger===`off`||e.trigger===`always`||e.trigger===`inbound`||e.trigger===`tagged`?e.trigger:`always`,i=t[`tts-local-cli`]??{},a=L(e.providers)?Object.fromEntries(Object.entries(e.providers).map(([e,t])=>[e,L(t)?{...t}:{}])):void 0;return{enabled:!!e.enabled,provider:n,trigger:r,maxTextLength:typeof e.maxTextLength==`number`&&Number.isFinite(e.maxTextLength)?e.maxTextLength:t.maxTextLength,timeoutMs:typeof e.timeoutMs==`number`&&Number.isFinite(e.timeoutMs)?e.timeoutMs:t.timeoutMs,...a?{providers:a}:{},alibaba:z(e,`alibaba`,t.alibaba??{}),openai:z(e,`openai`,t.openai??{}),edge:z(e,`edge`,t.edge??{}),minimax:z(e,`minimax`,t.minimax??{}),"tts-local-cli":z(e,`tts-local-cli`,i)}}function U(e){let{alibaba:t,openai:n,providers:r,...i}=e,a={...r??{}};return t&&(a.alibaba={...a.alibaba??{},...t}),n&&(a.openai={...a.openai??{},...n}),{...i,...Object.keys(a).length>0?{providers:a}:{}}}function W(e){let{alibaba:t,openai:n,edge:r,minimax:i,"tts-local-cli":a,providers:o,...s}=e,c={...o??{}};return t&&(c.alibaba={...c.alibaba??{},...t}),n&&(c.openai={...c.openai??{},...n}),r&&(c.edge={...c.edge??{},...r}),i&&(c.minimax={...c.minimax??{},...i}),a&&(c[`tts-local-cli`]={...c[`tts-local-cli`]??{},...a}),{...s,...Object.keys(c).length>0?{providers:c}:{}}}function G(e){let t=L(e)?e:{};return{stt:B(t.stt),tts:H(t.tts)}}async function K(){return G((await s(i(`/api/config`))).payload?.config??{})}async function q(e){await s(i(`/api/config`),{method:`PATCH`,body:JSON.stringify({stt:U(e.stt),tts:W(e.tts)})}),l()}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=x(`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)(h,{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 g;return t[12]!==p||t[13]!==m?(g=(0,j.jsx)(`div`,{className:p,children:m}),t[12]=p,t[13]=m,t[14]=g):g=t[14],g}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,27 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{a as t,n,t as r}from"./vendor-react-BOUWij0V.js";import{i,o as a}from"./url-aYn-Rj1C.js";import{i as o}from"./vendor-swr-BIWyz7Rc.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-BTWC-BTN.js";import{a as m}from"./fetch-C9FFJjuH.js";import{Ar as h,Da as g,Er as _,Fi as v,Hr as y,Jn as b,Oi as x,Pr as S,Wi as C,Xr as w,a as T,ai as E,c as D,d as O,f as k,fa as A,i as j,ka as M,l as N,n as P,ni as F,o as I,r as L,s as R,si as ee,t as te,u as z,ur as B,vr as V,xr as H,yr as U}from"./index-CZfy9oxs.js";var W=e(t(),1),G=n(),ne=[`queued`,`running`,`succeeded`,`attention`],K=10080*60*1e3,q=new Set([`failed`,`timeout`,`cancelled`]);function J(e){return e.metadata?.sessionKey?.trim()||null}function re(e,t=60){let n=e.title?.trim()||e.definitionId;return n.length<=t?n:`${n.slice(0,t-1)}…`}function Y(e,t){let n=t.trim().toLowerCase();return n?[e.title,e.definitionId,e.id].join(` `).toLowerCase().includes(n):!0}function X(e,t){let n=t.workflowFilterId.trim();return e.filter(e=>n&&e.definitionId!==n?!1:Y(e,t.searchQuery))}function ie(e){return e.completedAtMs??e.createdAtMs}function ae(e,t){return t-ie(e)<=K}function oe(e,t){return e.status===`queued`?`queued`:e.status===`running`?`running`:e.status===`succeeded`?ae(e,t)?`succeeded`:null:q.has(e.status)?`attention`:null}function se(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)=>ie(t)-ie(e))}function ce(e,t){let n={queued:[],running:[],succeeded:[],attention:[]};for(let r of e){let e=oe(r,t);e&&n[e].push(r)}let r=se(`succeeded`,n.succeeded),i=r.length,a=r.slice(0,20),o=Math.max(0,i-20);return ne.map(e=>e===`succeeded`?{id:e,runs:a,totalInWindow:i,hiddenByCap:o}:{id:e,runs:se(e,n[e])})}function le(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 ue(e){return e.status===`queued`||e.status===`running`}function de(e){return e.status===`failed`||e.status===`timeout`||e.status===`cancelled`}function fe(e){return e===`zh`?`zh`:`en`}function pe(e,t){let n=fe(t),r=n===`en`?void 0:e.metadata.i18n?.[n],i=r?.examplePrompts&&r.examplePrompts.length>0?r.examplePrompts:e.metadata.examplePrompts??[];return{description:he(r?.description,e.description),whenToUse:ge(r?.whenToUse,e.metadata.whenToUse),examplePrompts:i}}function me(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 he(e,t){return e?.trim()||t}function ge(e,t){return e?.trim()||t?.trim()||void 0}function _e(e,t,n){if(e.field===`goal`){t(e.text);return}n(t=>({...t,[e.field]:e.text}))}function Z(e,t){return e.replace(/\{\{(\w+)\}\}/g,(e,n)=>String(t[n]??``))}function ve(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 ye(e,t){if(t===`all`)return!0;let n=e.metadata.tags.map(e=>e.toLowerCase());return P[t].some(e=>n.includes(e))}function be(e,t){return t===`all`?!0:t===`builtin`?e.metadata.builtIn:e.metadata.source===`user`}function xe(e,t,n,r){let i=t.trim().toLowerCase();return e.filter(e=>!ye(e,n)||!be(e,r)?!1:i?me(e).includes(i):!0)}function Q(e){return`/chat/${encodeURIComponent(e)}`}function Se(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}var $=r(),Ce=(0,W.memo)(function(e){let t=(0,G.c)(69),{run:n,language:r,localeTag:i,nowMs:o,onOpen:s,onCancel:c,onRetry:l}=e,u=a(r).workflows,[d,f]=(0,W.useState)(!1),p;t[0]===n?p=t[1]:(p=J(n),t[0]=n,t[1]=p);let m=!p,g;t[2]===n?g=t[3]:(g=ue(n),t[2]=n,t[3]=g);let _=g,v=n.status===`running`||n.status===`queued`,y;t[4]!==n.metrics.agentCount||t[5]!==n.metrics.doneAgentCount?(y=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]=y):y=t[6];let b=y,x=n.metrics.errorAgentCount>0,S=n.startedAtMs??n.createdAtMs,w;t[7]!==m||t[8]!==s||t[9]!==n?(w=()=>{m||s(n)},t[7]=m,t[8]=s,t[9]=n,t[10]=w):w=t[10];let T=w,E=m?`opacity-60`:`hover:border-edge-strong hover:bg-surface-hover/50`,D;t[11]===E?D=t[12]:(D=U(`group relative rounded-xl border border-edge bg-surface-panel p-3 transition-colors`,E),t[11]=E,t[12]=D);let O=m?u.taskNoSession:void 0,k=m&&`cursor-not-allowed`,A;t[13]===k?A=t[14]:(A=U(`w-full text-left`,B.focusRingPanel,k),t[13]=k,t[14]=A);let j;t[15]===n?j=t[16]:(j=re(n),t[15]=n,t[16]=j);let M;t[17]===j?M=t[18]:(M=(0,$.jsx)(`div`,{className:`line-clamp-2 text-sm font-medium leading-5 text-fg`,children:j}),t[17]=j,t[18]=M);let N;t[19]===n.definitionId?N=t[20]:(N=(0,$.jsx)(`span`,{className:`truncate`,children:n.definitionId}),t[19]=n.definitionId,t[20]=N);let P;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,$.jsx)(`span`,{"aria-hidden":!0,children:`·`}),t[21]=P):P=t[21];let F;t[22]!==i||t[23]!==o||t[24]!==S?(F=le(S,o,i),t[22]=i,t[23]=o,t[24]=S,t[25]=F):F=t[25];let I;t[26]===F?I=t[27]:(I=(0,$.jsx)(`span`,{children:F}),t[26]=F,t[27]=I);let L;t[28]!==N||t[29]!==I?(L=(0,$.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-1 text-[11px] text-fg-subtle`,children:[N,P,I]}),t[28]=N,t[29]=I,t[30]=L):L=t[30];let R;t[31]!==M||t[32]!==L?(R=(0,$.jsxs)(`div`,{className:`pr-7`,children:[M,L]}),t[31]=M,t[32]=L,t[33]=R):R=t[33];let ee=v?(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:Z(u.agentProgress,{done:n.metrics.doneAgentCount,total:n.metrics.agentCount})}),(0,$.jsxs)(`span`,{children:[b,`%`]})]}),(0,$.jsx)(`div`,{className:`mt-1.5 h-1 overflow-hidden rounded-full bg-surface-hover`,children:(0,$.jsx)(`div`,{className:`h-full rounded-full bg-accent transition-all`,style:{width:`${b}%`}})})]}):null,te=x?(0,$.jsxs)(`div`,{className:`mt-2 flex items-center gap-1 text-[11px] text-amber-700 dark:text-amber-300`,children:[(0,$.jsx)(h,{className:`size-3 shrink-0`,"aria-hidden":!0}),Z(u.runRowErrorSummary,{count:n.metrics.errorAgentCount})]}):null,z;t[34]!==m||t[35]!==T||t[36]!==A||t[37]!==R||t[38]!==ee||t[39]!==te||t[40]!==O?(z=(0,$.jsxs)(`button`,{type:`button`,onClick:T,disabled:m,title:O,className:A,children:[R,ee,te]}),t[34]=m,t[35]=T,t[36]=A,t[37]=R,t[38]=ee,t[39]=te,t[40]=O,t[41]=z):z=t[41];let H;t[42]===f?H=t[43]:(H=()=>f(Te),t[42]=f,t[43]=H);let ne;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(ne=(0,$.jsx)(C,{className:`size-4`,"aria-hidden":!0}),t[44]=ne):ne=t[44];let K;t[45]!==u.taskActionsAria||t[46]!==d||t[47]!==H?(K=(0,$.jsx)(V,{variant:`ghost`,className:`size-7 p-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,"aria-label":u.taskActionsAria,"aria-expanded":d,onClick:H,children:ne}),t[45]=u.taskActionsAria,t[46]=d,t[47]=H,t[48]=K):K=t[48];let q;t[49]!==_||t[50]!==m||t[51]!==T||t[52]!==u.cancel||t[53]!==u.continueInChat||t[54]!==u.rerun||t[55]!==u.taskCloseMenu||t[56]!==d||t[57]!==c||t[58]!==l||t[59]!==n||t[60]!==f?(q=d?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,className:`fixed inset-0 z-10 cursor-default`,"aria-label":u.taskCloseMenu,onClick:()=>f(!1)}),(0,$.jsxs)(`div`,{className:`absolute right-0 z-20 mt-1 min-w-[9rem] rounded-lg border border-edge bg-surface-panel py-1 shadow-surface`,children:[(0,$.jsx)(we,{label:u.continueInChat,disabled:m,onClick:()=>{f(!1),T()}}),_?(0,$.jsx)(we,{label:u.cancel,tone:`danger`,onClick:()=>{f(!1),c(n.id)}}):null,de(n)?(0,$.jsx)(we,{label:u.rerun,onClick:()=>{f(!1),l(n.id)}}):null]})]}):null,t[49]=_,t[50]=m,t[51]=T,t[52]=u.cancel,t[53]=u.continueInChat,t[54]=u.rerun,t[55]=u.taskCloseMenu,t[56]=d,t[57]=c,t[58]=l,t[59]=n,t[60]=f,t[61]=q):q=t[61];let Y;t[62]!==K||t[63]!==q?(Y=(0,$.jsxs)(`div`,{className:`absolute right-2 top-2`,children:[K,q]}),t[62]=K,t[63]=q,t[64]=Y):Y=t[64];let X;return t[65]!==z||t[66]!==Y||t[67]!==D?(X=(0,$.jsxs)(`div`,{className:D,children:[z,Y]}),t[65]=z,t[66]=Y,t[67]=D,t[68]=X):X=t[68],X});function we(e){let t=(0,G.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=U(`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 Te(e){return!e}function Ee(e,t){return t.boardColumns[e]}var De=(0,W.memo)(function(e){let t=(0,G.c)(13),{column:n,language:r,localeTag:i,nowMs:o,onOpenRun:s,onCancelRun:c,onRetryRun:l}=e,u=a(r).workflows,[d,f]=(0,W.useState)(!1),p=n.id===`succeeded`,m=p?5:n.runs.length,h;t[0]!==m||t[1]!==n.runs||t[2]!==d||t[3]!==p?(h=p&&!d?n.runs.slice(0,m):n.runs,t[0]=m,t[1]=n.runs,t[2]=d,t[3]=p,t[4]=h):h=t[4];let g=h,_=p&&n.runs.length>5&&!d,v=p&&d,y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=U(`flex min-h-[12rem] min-w-[16rem] flex-1 flex-col rounded-2xl border border-edge bg-surface-panel/40`,`snap-center`),t[5]=y):y=t[5];let b;t[6]===n.runs.length?b=t[7]:(b=(0,$.jsx)(`span`,{className:`rounded-full bg-surface-hover px-2 py-0.5 text-xs tabular-nums text-fg-muted`,children:n.runs.length}),t[6]=n.runs.length,t[7]=b);let x=g.length===0?(0,$.jsx)(`p`,{className:`px-1 py-6 text-center text-xs text-fg-subtle`,children:u.boardColumnEmpty}):g.map(e=>(0,$.jsx)(Ce,{run:e,language:r,localeTag:i,nowMs:o,onOpen:s,onCancel:c,onRetry:l},e.id)),S=_?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>f(!0),children:Z(u.boardExpandSucceeded,{count:Math.min(n.runs.length,n.totalInWindow??n.runs.length)})}):null,C=v?(0,$.jsx)(V,{variant:`ghost`,className:`h-8 w-full text-xs`,onClick:()=>f(!1),children:u.boardCollapseSucceeded}):null,w=p&&(n.hiddenByCap??0)>0?(0,$.jsx)(`p`,{className:`px-1 text-center text-[11px] text-fg-subtle`,children:Z(u.boardSucceededCapHint,{count:n.hiddenByCap??0})}):null,T;return t[8]!==x||t[9]!==S||t[10]!==C||t[11]!==w?(T=(0,$.jsxs)(`div`,{className:`flex flex-1 flex-col gap-2 p-2`,children:[x,S,C,w]}),t[8]=x,t[9]=S,t[10]=C,t[11]=w,t[12]=T):T=t[12],(0,$.jsxs)(`section`,{className:y,"aria-label":Ee(n.id,u),children:[(0,$.jsxs)(`header`,{className:`flex items-center justify-between gap-2 border-b border-edge-subtle px-3 py-2.5`,children:[(0,$.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:Ee(n.id,u)}),b]}),T]})}),Oe=(0,W.memo)(function(e){let t=(0,G.c)(35),{runs:n,language:r,localeTag:i,labels:a,searchQuery:o,workflowFilterId:s,loading:c,onOpenRun:l,onCancelRun:u,onRetryRun:d,onStart:f}=e,[p]=(0,W.useState)(ke),m;t[0]!==p||t[1]!==n||t[2]!==o||t[3]!==s?(m=ce(X(n,{searchQuery:o,workflowFilterId:s}),p),t[0]=p,t[1]=n,t[2]=o,t[3]=s,t[4]=m):m=t[4];let h=m,g=h.reduce(Ae,0);if(c&&g===0){let e;return t[5]===a.loading?e=t[6]:(e=(0,$.jsx)(`p`,{className:`text-sm text-fg-muted`,children:a.loading}),t[5]=a.loading,t[6]=e),e}if(!c&&g===0){let e;t[7]===a.boardEmptyTitle?e=t[8]:(e=(0,$.jsx)(`p`,{className:`text-sm font-medium text-fg`,children:a.boardEmptyTitle}),t[7]=a.boardEmptyTitle,t[8]=e);let n;t[9]===a.boardEmptyHint?n=t[10]:(n=(0,$.jsx)(`p`,{className:`mx-auto mt-2 max-w-md text-sm leading-6 text-fg-muted`,children:a.boardEmptyHint}),t[9]=a.boardEmptyHint,t[10]=n);let r;t[11]!==a.boardStart||t[12]!==f?(r=(0,$.jsx)(`div`,{className:`mt-4 flex justify-center`,children:(0,$.jsx)(V,{variant:`primary`,onClick:f,children:a.boardStart})}),t[11]=a.boardStart,t[12]=f,t[13]=r):r=t[13];let i;return t[14]!==e||t[15]!==n||t[16]!==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[14]=e,t[15]=n,t[16]=r,t[17]=i):i=t[17],i}let _;if(t[18]!==h||t[19]!==r||t[20]!==i||t[21]!==p||t[22]!==u||t[23]!==l||t[24]!==d){let e;t[26]!==r||t[27]!==i||t[28]!==p||t[29]!==u||t[30]!==l||t[31]!==d?(e=e=>(0,$.jsx)(De,{column:e,language:r,localeTag:i,nowMs:p,onOpenRun:l,onCancelRun:u,onRetryRun:d},e.id),t[26]=r,t[27]=i,t[28]=p,t[29]=u,t[30]=l,t[31]=d,t[32]=e):e=t[32],_=h.map(e),t[18]=h,t[19]=r,t[20]=i,t[21]=p,t[22]=u,t[23]=l,t[24]=d,t[25]=_}else _=t[25];let v;return t[33]===_?v=t[34]:(v=(0,$.jsx)(`div`,{className:`-mx-1 flex gap-3 overflow-x-auto px-1 pb-2 snap-x snap-mandatory`,children:_}),t[33]=_,t[34]=v),v});function ke(){return Date.now()}function Ae(e,t){return e+t.runs.length}function je(e){let t=(0,G.c)(45),{open:n,definition:r,language:i,onClose:o,onRun:p}=e,m;t[0]===i?m=t[1]:(m=a(i),t[0]=i,t[1]=m);let h=m.workflows;if(!r)return null;let g;t[2]!==r||t[3]!==i?(g=pe(r,i),t[2]=r,t[3]=i,t[4]=g):g=t[4];let _=g,v=r.runtime?.source??``,y;t[5]===o?y=t[6]:(y=e=>!e&&o(),t[5]=o,t[6]=y);let b;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(c,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[7]=b):b=t[7];let x;t[8]===r.title?x=t[9]:(x=(0,$.jsx)(f,{className:`text-base font-semibold text-fg`,children:r.title}),t[8]=r.title,t[9]=x);let S;t[10]===_.description?S=t[11]:(S=(0,$.jsx)(d,{className:`mt-1 text-sm text-fg-muted`,children:_.description}),t[10]=_.description,t[11]=S);let C;t[12]!==x||t[13]!==S?(C=(0,$.jsxs)(`div`,{className:`border-b border-edge px-5 py-4`,children:[x,S]}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w;t[15]!==h.whenToUseHeading||t[16]!==_.whenToUse?(w=_.whenToUse?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:h.whenToUseHeading}),(0,$.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-fg-muted`,children:_.whenToUse})]}):null,t[15]=h.whenToUseHeading,t[16]=_.whenToUse,t[17]=w):w=t[17];let T;t[18]!==r.phases||t[19]!==h.phasesHeading?(T=r.phases.length>0?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:h.phasesHeading}),(0,$.jsx)(`ol`,{className:`mt-2 space-y-2`,children:r.phases.map(Me)})]}):null,t[18]=r.phases,t[19]=h.phasesHeading,t[20]=T):T=t[20];let E;t[21]!==h.scriptHeading||t[22]!==v?(E=v?(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h3`,{className:`text-xs font-semibold uppercase tracking-wide text-fg-subtle`,children:h.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:v})]}):null,t[21]=h.scriptHeading,t[22]=v,t[23]=E):E=t[23];let D;t[24]!==E||t[25]!==w||t[26]!==T?(D=(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-4 overflow-auto px-5 py-4`,children:[w,T,E]}),t[24]=E,t[25]=w,t[26]=T,t[27]=D):D=t[27];let O;t[28]!==h.closeResult||t[29]!==o?(O=(0,$.jsx)(V,{variant:`secondary`,onClick:o,children:h.closeResult}),t[28]=h.closeResult,t[29]=o,t[30]=O):O=t[30];let k;t[31]!==h.runWorkflow||t[32]!==p?(k=(0,$.jsx)(V,{variant:`primary`,onClick:p,children:h.runWorkflow}),t[31]=h.runWorkflow,t[32]=p,t[33]=k):k=t[33];let A;t[34]!==O||t[35]!==k?(A=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[O,k]}),t[34]=O,t[35]=k,t[36]=A):A=t[36];let j;t[37]!==D||t[38]!==A||t[39]!==C?(j=(0,$.jsxs)(s,{children:[b,(0,$.jsxs)(l,{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:[C,D,A]})]}),t[37]=D,t[38]=A,t[39]=C,t[40]=j):j=t[40];let M;return t[41]!==n||t[42]!==j||t[43]!==y?(M=(0,$.jsx)(u,{open:n,onOpenChange:y,children:j}),t[41]=n,t[42]=j,t[43]=y,t[44]=M):M=t[44],M}function Me(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 Ne({open:e,language:t,saving:n,onClose:r,onSave:i}){let o=a(t).workflows,[p,m]=(0,W.useState)(``),[h,g]=(0,W.useState)(``),[_,v]=(0,W.useState)(!1),[y,b]=(0,W.useState)(!1),[x,S]=(0,W.useState)(null),[C,w]=(0,W.useState)(null);(0,W.useEffect)(()=>{e&&(m(``),v(!1),b(!1),S(null),w(null),g(`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 T=p.trim(),E=!!(T&&h.trim());(0,W.useEffect)(()=>{if(!e||!E){b(!1),S(null),w(null);return}let t=!1,n=window.setTimeout(()=>{b(!0),S(null),k(T,h).then(e=>{t||w(e)}).catch(e=>{t||(w(null),S(e instanceof Error?e.message:o.validateWorkflowFailed))}).finally(()=>{t||b(!1)})},450);return()=>{t=!0,window.clearTimeout(n)}},[E,o.validateWorkflowFailed,e,h,T]);let D=(0,W.useMemo)(()=>x?[x]:C?.errors.map(e=>e.message)??[],[x,C]),O=_||y||C!=null||x!=null,A=E&&!n&&!y&&C?.valid===!0,j=async()=>{if(v(!0),!(!E||n)){b(!0),S(null);try{let e=await k(T,h);if(w(e),!e.valid)return;await i({name:T,script:h})}catch(e){w(null),S(e instanceof Error?e.message:o.validateWorkflowFailed)}finally{b(!1)}}};return(0,$.jsx)(u,{open:e,onOpenChange:e=>!e&&r(),children:(0,$.jsxs)(s,{children:[(0,$.jsx)(c,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),(0,$.jsxs)(l,{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)(f,{className:`text-base font-semibold text-fg`,children:o.manageDialogTitle}),(0,$.jsx)(d,{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:p,onChange:e=>{m(e.target.value),w(null),S(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:h,onChange:e=>{g(e.target.value),w(null),S(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`})]}),O?(0,$.jsxs)(`div`,{className:D.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:y?o.validatingWorkflow:D.length>0?o.validationFailed:o.validationPassed}),D.length>0?(0,$.jsx)(`ul`,{className:`mt-1 list-disc space-y-1 pl-5`,children:D.map(e=>(0,$.jsx)(`li`,{children:e},e))}):C?.definition?(0,$.jsx)(`div`,{className:`mt-1 text-xs opacity-80`,children:o.validationPreview.replace(`{{phaseCount}}`,String(C.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)(V,{variant:`secondary`,onClick:r,disabled:n,children:o.cancelDialog}),(0,$.jsx)(V,{variant:`primary`,disabled:!A,onClick:()=>void j(),children:n?o.savingWorkflow:o.saveWorkflow})]})]})]})})}function Pe(e){let t=(0,G.c)(31),{open:n,definitions:r,language:i,onClose:o,onPick:m}=e,h;t[0]===i?h=t[1]:(h=a(i),t[0]=i,t[1]=h);let g=h.workflows,_;t[2]===o?_=t[3]:(_=e=>!e&&o(),t[2]=o,t[3]=_);let v;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,$.jsx)(c,{className:`fixed inset-0 z-50 bg-black/40`}),t[4]=v):v=t[4];let y;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(y=U(`fixed left-1/2 top-1/2 z-50 flex max-h-[min(85vh,720px)] w-[min(92vw,32rem)] -translate-x-1/2 -translate-y-1/2`,`flex-col rounded-2xl border border-edge bg-surface-panel shadow-surface`,B.focusRingPanel),t[5]=y):y=t[5];let b;t[6]===g.pickStartTitle?b=t[7]:(b=(0,$.jsx)(f,{className:`text-base font-semibold text-fg`,children:g.pickStartTitle}),t[6]=g.pickStartTitle,t[7]=b);let x;t[8]===g.pickStartHint?x=t[9]:(x=(0,$.jsx)(d,{className:`mt-1 text-sm text-fg-muted`,children:g.pickStartHint}),t[8]=g.pickStartHint,t[9]=x);let S;t[10]!==b||t[11]!==x?(S=(0,$.jsxs)(`div`,{children:[b,x]}),t[10]=b,t[11]=x,t[12]=S):S=t[12];let C;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(H,{className:`size-4`,"aria-hidden":!0}),t[13]=C):C=t[13];let w;t[14]===g.pickStartClose?w=t[15]:(w=(0,$.jsx)(p,{asChild:!0,children:(0,$.jsx)(V,{variant:`ghost`,className:`size-8 p-0`,"aria-label":g.pickStartClose,children:C})}),t[14]=g.pickStartClose,t[15]=w);let T;t[16]!==S||t[17]!==w?(T=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3 border-b border-edge-subtle px-5 py-4`,children:[S,w]}),t[16]=S,t[17]=w,t[18]=T):T=t[18];let E;t[19]!==r||t[20]!==g.noDefinitions||t[21]!==i||t[22]!==m?(E=(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-3`,children:r.length===0?(0,$.jsx)(`p`,{className:`px-2 py-8 text-center text-sm text-fg-muted`,children:g.noDefinitions}):(0,$.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:r.map(e=>{let t=pe(e,i);return(0,$.jsx)(`li`,{children:(0,$.jsxs)(`button`,{type:`button`,onClick:()=>m(e),className:U(`flex w-full items-start gap-3 rounded-xl border border-edge bg-surface-base/50 px-3 py-3 text-left`,`hover:border-edge-strong hover:bg-surface-hover/60`,B.focusRingPanel),children:[(0,$.jsx)(`span`,{className:`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg bg-accent-soft text-accent-fg`,children:(0,$.jsx)(ee,{className:`size-3.5`,"aria-hidden":!0})}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block text-sm font-semibold text-fg`,children:e.title}),(0,$.jsx)(`span`,{className:`mt-0.5 block text-xs text-fg-subtle`,children:e.id}),t.description?(0,$.jsx)(`span`,{className:`mt-1 line-clamp-2 block text-xs leading-5 text-fg-muted`,children:t.description}):null]})]})},e.id)})})}),t[19]=r,t[20]=g.noDefinitions,t[21]=i,t[22]=m,t[23]=E):E=t[23];let D;t[24]!==T||t[25]!==E?(D=(0,$.jsxs)(s,{children:[v,(0,$.jsxs)(l,{className:y,children:[T,E]})]}),t[24]=T,t[25]=E,t[26]=D):D=t[26];let O;return t[27]!==n||t[28]!==D||t[29]!==_?(O=(0,$.jsx)(u,{open:n,onOpenChange:_,children:D}),t[27]=n,t[28]=D,t[29]=_,t[30]=O):O=t[30],O}function Fe(e){let t=(0,G.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 Ie(e,t){let n=e.metadata.estimatedAgents;return n?n.min===n.max?Z(t.agentScaleExact,{count:n.min}):Z(t.agentScaleRange,{min:n.min,max:n.max}):Z(t.agentScaleExact,{count:e.defaults.maxSubagents})}function Le(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 Re(e){let t=(0,G.c)(53),{open:n,definition:r,language:i,starting:o,onClose:p,onStart:m}=e,h=a(i).workflows,[g,v]=(0,W.useState)(``),b;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(b={},t[0]=b):b=t[0];let[C,w]=(0,W.useState)(b),[T,E]=(0,W.useState)(``),[D,O]=(0,W.useState)(``),[k,j]=(0,W.useState)(!1),M;t[1]!==r||t[2]!==i?(M=r?pe(r,i):null,t[1]=r,t[2]=i,t[3]=M):M=t[3];let N=M,P;t[4]===r?P=t[5]:(P=r?te[r.name]??[]:[],t[4]=r,t[5]=P);let F=P,I;t[6]===N?.examplePrompts?I=t[7]:(I=N?.examplePrompts??[],t[6]=N?.examplePrompts,t[7]=I);let L=I,R=F.length>0,ee;t[8]!==T||t[9]!==r?.defaults?(ee=T.trim()?Number(T):r?.defaults.concurrency,t[8]=T,t[9]=r?.defaults,t[10]=ee):ee=t[10];let z=ee,B;t[11]!==r?.defaults||t[12]!==D?(B=D.trim()?Number(D):r?.defaults.maxSubagents,t[11]=r?.defaults,t[12]=D,t[13]=B):B=t[13];let H=B,ne=r&&N?Le(g,C,N.description,h):h.noInputSummary,K;t[14]!==r||t[15]!==n?(K=()=>{!n||!r||(v(``),w({}),E(``),O(``),j(!1))},t[14]=r,t[15]=n,t[16]=K):K=t[16];let q=r?.id,J;if(t[17]!==n||t[18]!==q?(J=[n,q],t[17]=n,t[18]=q,t[19]=J):J=t[19],(0,W.useEffect)(K,J),!r||!N)return null;let re;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(re=e=>{_e(e,v,w)},t[20]=re):re=t[20];let Y=re,X;t[21]!==C||t[22]!==T||t[23]!==g||t[24]!==N.description||t[25]!==D||t[26]!==m?(X=()=>{let e=Se(C);m({goal:g.trim()||N.description,input:e,concurrency:T.trim()?Number(T):void 0,maxSubagents:D.trim()?Number(D):void 0})},t[21]=C,t[22]=T,t[23]=g,t[24]=N.description,t[25]=D,t[26]=m,t[27]=X):X=t[27];let ie=X,ae;t[28]===p?ae=t[29]:(ae=e=>!e&&p(),t[28]=p,t[29]=ae);let oe;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(oe=(0,$.jsx)(c,{className:`xopc-dialog-overlay fixed inset-0 z-65 bg-scrim backdrop-blur-[1px]`}),t[30]=oe):oe=t[30];let se;t[31]===N.description?se=t[32]:(se=(0,$.jsx)(d,{className:`mt-1 text-sm text-fg-muted`,children:N.description}),t[31]=N.description,t[32]=se);let ce;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(ce=(0,$.jsx)(x,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[33]=ce):ce=t[33];let le;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,$.jsx)(_,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[34]=le):le=t[34];let ue;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ue=(0,$.jsx)(y,{className:`size-3.5 shrink-0 text-fg-subtle`,"aria-hidden":!0}),t[35]=ue):ue=t[35];let de=F.map(e=>(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-medium text-fg`,children:[Ve(h,e.labelKey),e.required?` *`:``]}),e.multiline?(0,$.jsx)(`textarea`,{value:C[e.key]??``,onChange:t=>w(n=>({...n,[e.key]:t.target.value})),placeholder:Ve(h,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:C[e.key]??``,onChange:t=>w(n=>({...n,[e.key]:t.target.value})),placeholder:Ve(h,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)),fe;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(fe=e=>v(e.target.value),t[36]=fe):fe=t[36];let me;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(me=()=>j(ze),t[37]=me):me=t[37];let he=h.advancedSettings,ge=k&&`rotate-180`,ve;t[38]===ge?ve=t[39]:(ve=U(`size-4 transition-transform`,ge),t[38]=ge,t[39]=ve);let ye;t[40]===ve?ye=t[41]:(ye=(0,$.jsx)(A,{className:ve}),t[40]=ve,t[41]=ye);let be;t[42]!==h.cancelDialog||t[43]!==p||t[44]!==o?(be=(0,$.jsx)(V,{variant:`secondary`,onClick:p,disabled:o,children:h.cancelDialog}),t[42]=h.cancelDialog,t[43]=p,t[44]=o,t[45]=be):be=t[45];let xe=o?h.starting:h.start,Q;t[46]!==o||t[47]!==ie||t[48]!==xe?(Q=(0,$.jsx)(V,{variant:`primary`,onClick:ie,disabled:o,children:xe}),t[46]=o,t[47]=ie,t[48]=xe,t[49]=Q):Q=t[49];let Ce;return t[50]!==be||t[51]!==Q?(Ce=(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 border-t border-edge px-5 py-4`,children:[be,Q]}),t[50]=be,t[51]=Q,t[52]=Ce):Ce=t[52],(0,$.jsx)(u,{open:n,onOpenChange:ae,children:(0,$.jsxs)(s,{children:[oe,(0,$.jsxs)(l,{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)(f,{className:`text-base font-semibold text-fg`,children:[h.startTitle,` · `,r.title]}),se]}),(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:h.runPlanPreview}),(0,$.jsx)(`p`,{className:`mt-1 line-clamp-2 text-xs leading-5 text-fg-muted`,children:ne})]}),(0,$.jsx)(`span`,{className:`shrink-0 rounded-full bg-accent-soft px-2 py-1 text-[11px] font-medium text-accent-fg`,children:h.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:Z(h.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:[le,(0,$.jsx)(`span`,{children:Ie(r,h)})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 rounded-xl bg-surface-panel px-2.5 py-2`,children:[ue,(0,$.jsx)(`span`,{children:Z(h.runLimitsSummary,{concurrency:z??r.defaults.concurrency,max:H??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}),h.startPlanPhases]}),(0,$.jsx)(`div`,{className:`mt-2 flex flex-wrap items-center gap-1.5`,children:r.phases.map(Be)})]}):null]}),de,R?(0,$.jsx)(Fe,{examples:L,labels:h,onSelect:Y}):null,(0,$.jsxs)(`label`,{className:`block`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-fg`,children:h.goalLabel}),(0,$.jsx)(`textarea`,{value:g,onChange:fe,placeholder:h.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`})]}),R?null:(0,$.jsx)(Fe,{examples:L,labels:h,onSelect:Y}),(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:me,children:[he,ye]}),k?(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:T,onChange:e=>E(e.target.value),placeholder:Z(h.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:D,onChange:e=>O(e.target.value),placeholder:Z(h.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]})]}),Ce]})]})})}function ze(e){return!e}function Be(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 Ve(e,t){return e.args[t]??t}function He(e){let t=(0,G.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]?Z(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)(Ue,{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)(Ue,{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)(Ue,{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?`—`:ve(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)(Ue,{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 Ue(e){let t=(0,G.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 We(e){let t=(0,G.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)(w,{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=U(`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`,B.focusRingPanel),t[3]=f):f=t[3];let p;t[4]!==r.searchPlaceholder||t[5]!==a||t[6]!==u?(p=(0,$.jsxs)(`div`,{className:`relative min-w-[12rem] flex-1 sm:max-w-xs`,children:[l,(0,$.jsx)(`input`,{value:a,onChange:u,placeholder:d,className:f})]}),t[4]=r.searchPlaceholder,t[5]=a,t[6]=u,t[7]=p):p=t[7];let m;t[8]===c?m=t[9]:(m=()=>c(!0),t[8]=c,t[9]=m);let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,$.jsx)(E,{className:`size-4`,"aria-hidden":!0}),t[10]=h):h=t[10];let g;t[11]!==r.addWorkflow||t[12]!==m?(g=(0,$.jsxs)(V,{variant:`secondary`,onClick:m,children:[h,r.addWorkflow]}),t[11]=r.addWorkflow,t[12]=m,t[13]=g):g=t[13];let _=i&&`animate-spin`,v;t[14]===_?v=t[15]:(v=U(`size-4`,_),t[14]=_,t[15]=v);let y;t[16]===v?y=t[17]:(y=(0,$.jsx)(F,{className:v,"aria-hidden":!0}),t[16]=v,t[17]=y);let b;t[18]!==r.refresh||t[19]!==i||t[20]!==s||t[21]!==y?(b=(0,$.jsxs)(V,{variant:`secondary`,onClick:s,disabled:i,children:[y,r.refresh]}),t[18]=r.refresh,t[19]=i,t[20]=s,t[21]=y,t[22]=b):b=t[22];let x;return t[23]!==b||t[24]!==p||t[25]!==g?(x=(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[p,g,b]}),t[23]=b,t[24]=p,t[25]=g,t[26]=x):x=t[26],x}function Ge(e){let t=(0,G.c)(137),{vm:n}=e,{language:r,localeTag:i,labels:a,hasToken:o,definitions:s,filteredDefinitions:c,runs:l,searchQuery:u,workflowFilterId:d,setWorkflowFilterId:f,openRunInChat:p,pickStartOpen:m,setPickStartOpen:h,startDefinition:g,setStartDefinition:_,detailDefinition:y,setDetailDefinition:x,manageOpen:S,setManageOpen:C,actionError:w,actionFeedback:T,starting:E,savingWorkflow:D,loading:O,error:k,stats:A,submitStart:j,cancelRun:M,retryRun:N,saveCustomWorkflow:P}=n,F=b(Je),I=b(qe),L;t[0]!==I||t[1]!==o||t[2]!==F||t[3]!==n?(L=()=>{if(!o){I();return}return F({startExtra:null,main:null,end:(0,$.jsx)(We,{vm:n})}),()=>I()},t[0]=I,t[1]=o,t[2]=F,t[3]=n,t[4]=L):L=t[4];let R;if(t[5]!==I||t[6]!==o||t[7]!==O||t[8]!==n?(R=[I,o,O,n,n.refreshAll,n.setManageOpen,n.setSearchQuery],t[5]=I,t[6]=o,t[7]=O,t[8]=n,t[9]=R):R=t[9],(0,W.useLayoutEffect)(L,R),!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 te;t[18]===a.title?te=t[19]:(te=(0,$.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-fg`,children:a.title}),t[18]=a.title,t[19]=te);let z;t[20]===a.subtitleBoard?z=t[21]:(z=(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]=z);let H;t[22]!==te||t[23]!==z?(H=(0,$.jsxs)(`div`,{children:[te,z]}),t[22]=te,t[23]=z,t[24]=H):H=t[24];let ne=a.boardWorkflowFilterAria,K;t[25]===f?K=t[26]:(K=e=>f(e.target.value),t[25]=f,t[26]=K);let q;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(q=U(`h-9 min-w-[10rem] rounded-lg border border-edge bg-surface-panel px-2.5 text-xs font-medium text-fg shadow-surface`,B.focusRingPanel),t[27]=q):q=t[27];let J;t[28]===a.boardWorkflowFilterAll?J=t[29]:(J=(0,$.jsx)(`option`,{value:``,children:a.boardWorkflowFilterAll}),t[28]=a.boardWorkflowFilterAll,t[29]=J);let re;t[30]===s?re=t[31]:(re=s.map(Ke),t[30]=s,t[31]=re);let Y;t[32]!==a.boardWorkflowFilterAria||t[33]!==re||t[34]!==K||t[35]!==J||t[36]!==d?(Y=(0,$.jsxs)(`select`,{value:d,"aria-label":ne,onChange:K,className:q,children:[J,re]}),t[32]=a.boardWorkflowFilterAria,t[33]=re,t[34]=K,t[35]=J,t[36]=d,t[37]=Y):Y=t[37];let X;t[38]===h?X=t[39]:(X=()=>h(!0),t[38]=h,t[39]=X);let ie;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,$.jsx)(ee,{className:`size-4`,"aria-hidden":!0}),t[40]=ie):ie=t[40];let ae;t[41]!==a.boardStart||t[42]!==X?(ae=(0,$.jsxs)(V,{variant:`primary`,onClick:X,children:[ie,a.boardStart]}),t[41]=a.boardStart,t[42]=X,t[43]=ae):ae=t[43];let oe;t[44]!==Y||t[45]!==ae?(oe=(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[Y,ae]}),t[44]=Y,t[45]=ae,t[46]=oe):oe=t[46];let se;t[47]!==oe||t[48]!==H?(se=(0,$.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-end sm:justify-between`,children:[H,oe]}),t[47]=oe,t[48]=H,t[49]=se):se=t[49];let ce;t[50]===T?ce=t[51]:(ce=T?(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:T}):null,t[50]=T,t[51]=ce);let le;t[52]!==w||t[53]!==k?(le=w??k?(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:w??k}):null,t[52]=w,t[53]=k,t[54]=le):le=t[54];let ue;t[55]!==r||t[56]!==A?(ue=(0,$.jsx)(He,{stats:A,language:r}),t[55]=r,t[56]=A,t[57]=ue):ue=t[57];let de;t[58]!==a.boardEmptyHint||t[59]!==a.boardEmptyTitle||t[60]!==a.boardStart||t[61]!==a.loading?(de={boardEmptyTitle:a.boardEmptyTitle,boardEmptyHint:a.boardEmptyHint,boardStart:a.boardStart,loading:a.loading},t[58]=a.boardEmptyHint,t[59]=a.boardEmptyTitle,t[60]=a.boardStart,t[61]=a.loading,t[62]=de):de=t[62];let fe;t[63]===M?fe=t[64]:(fe=e=>void M(e),t[63]=M,t[64]=fe);let pe;t[65]===N?pe=t[66]:(pe=e=>void N(e),t[65]=N,t[66]=pe);let me;t[67]===h?me=t[68]:(me=()=>h(!0),t[67]=h,t[68]=me);let he;t[69]!==r||t[70]!==O||t[71]!==i||t[72]!==p||t[73]!==l||t[74]!==u||t[75]!==de||t[76]!==fe||t[77]!==pe||t[78]!==me||t[79]!==d?(he=(0,$.jsx)(Oe,{runs:l,language:r,localeTag:i,labels:de,searchQuery:u,workflowFilterId:d,loading:O,onOpenRun:p,onCancelRun:fe,onRetryRun:pe,onStart:me}),t[69]=r,t[70]=O,t[71]=i,t[72]=p,t[73]=l,t[74]=u,t[75]=de,t[76]=fe,t[77]=pe,t[78]=me,t[79]=d,t[80]=he):he=t[80];let ge;t[81]!==se||t[82]!==ce||t[83]!==le||t[84]!==ue||t[85]!==he?(ge=(0,$.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[100rem] flex-col gap-5 px-4 py-6 lg:px-6`,children:[se,ce,le,ue,he]}),t[81]=se,t[82]=ce,t[83]=le,t[84]=ue,t[85]=he,t[86]=ge):ge=t[86];let _e;t[87]===h?_e=t[88]:(_e=()=>h(!1),t[87]=h,t[88]=_e);let Z;t[89]!==h||t[90]!==_?(Z=e=>{h(!1),_(e)},t[89]=h,t[90]=_,t[91]=Z):Z=t[91];let ve;t[92]!==c||t[93]!==r||t[94]!==m||t[95]!==_e||t[96]!==Z?(ve=(0,$.jsx)(Pe,{open:m,definitions:c,language:r,onClose:_e,onPick:Z}),t[92]=c,t[93]=r,t[94]=m,t[95]=_e,t[96]=Z,t[97]=ve):ve=t[97];let ye=g!=null,be;t[98]===_?be=t[99]:(be=()=>_(null),t[98]=_,t[99]=be);let xe;t[100]===j?xe=t[101]:(xe=e=>void j(e),t[100]=j,t[101]=xe);let Q;t[102]!==r||t[103]!==g||t[104]!==E||t[105]!==ye||t[106]!==be||t[107]!==xe?(Q=(0,$.jsx)(Re,{open:ye,definition:g,language:r,starting:E,onClose:be,onStart:xe}),t[102]=r,t[103]=g,t[104]=E,t[105]=ye,t[106]=be,t[107]=xe,t[108]=Q):Q=t[108];let Se=y!=null,Ce;t[109]===x?Ce=t[110]:(Ce=()=>x(null),t[109]=x,t[110]=Ce);let we;t[111]!==y||t[112]!==x||t[113]!==_?(we=()=>{y&&(x(null),_(y))},t[111]=y,t[112]=x,t[113]=_,t[114]=we):we=t[114];let Te;t[115]!==y||t[116]!==r||t[117]!==Se||t[118]!==Ce||t[119]!==we?(Te=(0,$.jsx)(je,{open:Se,definition:y,language:r,onClose:Ce,onRun:we}),t[115]=y,t[116]=r,t[117]=Se,t[118]=Ce,t[119]=we,t[120]=Te):Te=t[120];let Ee;t[121]===C?Ee=t[122]:(Ee=()=>C(!1),t[121]=C,t[122]=Ee);let De;t[123]===P?De=t[124]:(De=e=>void P(e),t[123]=P,t[124]=De);let ke;t[125]!==r||t[126]!==S||t[127]!==D||t[128]!==Ee||t[129]!==De?(ke=(0,$.jsx)(Ne,{open:S,language:r,saving:D,onClose:Ee,onSave:De}),t[125]=r,t[126]=S,t[127]=D,t[128]=Ee,t[129]=De,t[130]=ke):ke=t[130];let Ae;return t[131]!==ge||t[132]!==ve||t[133]!==Q||t[134]!==Te||t[135]!==ke?(Ae=(0,$.jsxs)(`main`,{className:`min-h-0 flex-1 overflow-auto bg-surface-base`,children:[ge,ve,Q,Te,ke]}),t[131]=ge,t[132]=ve,t[133]=Q,t[134]=Te,t[135]=ke,t[136]=Ae):Ae=t[136],Ae}function Ke(e){return(0,$.jsx)(`option`,{value:e.id,children:e.title},e.id)}function qe(e){return e.clearPageHeader}function Je(e){return e.setPageHeader}function Ye(){let e=i(e=>e.language),t=a(e).workflows,n=e===`zh`?`zh-CN`:`en-US`,r=m(e=>e.token),s=!!r,c=g(),[l,u]=M(),d=l.get(`q`)??``,f=l.get(`wf`)?.trim()??``,p=l.get(`run`)?.trim()??``,[h,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(!1),[b,x]=(0,W.useState)(null),[S,C]=(0,W.useState)(!1),[w,E]=(0,W.useState)(null),[k,A]=(0,W.useState)(null),[P,F]=(0,W.useState)(!1),[ee,te]=(0,W.useState)(!1),B=o(s?[`workflow-definitions`,r]:null,R,{revalidateOnFocus:!1}),V=o(s?[`workflow-runs`,r]:null,()=>D(100),{revalidateOnFocus:!1,refreshInterval:e=>e?.length&&e.some(e=>e.status===`queued`||e.status===`running`)?3e3:0}),H=o(s?[`workflow-stats`,r]:null,I,{revalidateOnFocus:!1});(0,W.useEffect)(()=>{if(!k)return;let e=window.setTimeout(()=>A(null),4e3);return()=>window.clearTimeout(e)},[k]);let U=B.data??[],G=V.data??[],ne=(0,W.useMemo)(()=>xe(U,d,`all`,`all`),[U,d]),K=(0,W.useCallback)(e=>{u(t=>{let n=new URLSearchParams(t);return e(n,t),n},{replace:!0})},[u]),q=(0,W.useCallback)(e=>{K(t=>{let n=e.trim();n?t.set(`q`,n):t.delete(`q`)})},[K]),re=(0,W.useCallback)(e=>{K(t=>{let n=e.trim();n?t.set(`wf`,n):t.delete(`wf`)})},[K]),Y=(0,W.useCallback)(e=>{let t=J(e);t&&c(Q(t))},[c]);(0,W.useEffect)(()=>{let e=l.get(`tab`);if(!(!p&&!e)){if(p&&G.length>0){let e=G.find(e=>e.id===p),t=e?J(e):null;t&&c(Q(t),{replace:!0})}K(e=>{e.delete(`tab`),e.delete(`run`)})}},[c,K,p,G,l]),(0,W.useEffect)(()=>{let e=l.get(`def`),t=l.get(L)===`1`;if(!e||!U.length)return;let n=U.find(t=>t.id===e||t.name===e);n&&(t?_(n):x(n),K(e=>{e.delete(`def`),e.delete(L)}))},[U,K,l]),(0,W.useEffect)(()=>{let e=()=>{V.mutate(),H.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)}},[V,H]);let X=(0,W.useCallback)(()=>{B.mutate(),V.mutate(),H.mutate()},[B,V,H]),ie=(0,W.useCallback)(async e=>{if(h){F(!0),E(null);try{let n=await O({definitionId:h.id,goal:e.goal,input:e.input,concurrency:e.concurrency,maxSubagents:e.maxSubagents});_(null),await V.mutate(),await H.mutate(),A(t.startSuccess),c(Q(n.sessionKey))}catch(e){E(e instanceof Error?e.message:t.startFailed)}finally{F(!1)}}},[t.startFailed,t.startSuccess,c,V,h,H]),ae=(0,W.useCallback)(async e=>{try{await j(e),await V.mutate(),await H.mutate()}catch(e){let n=e instanceof Error?e.message:t.cancelFailed;if(/not active|already finished/i.test(n)){await V.mutate(),await H.mutate();return}E(n)}},[t.cancelFailed,V,H]),oe=(0,W.useCallback)(async e=>{try{let t=await N(e);await V.mutate(),await H.mutate(),c(Q(t.sessionKey))}catch(e){E(e instanceof Error?e.message:t.retryFailed)}},[t.retryFailed,c,V,H]),se=(0,W.useCallback)(async e=>{te(!0),E(null);try{await z(e.name,e.script),C(!1),await B.mutate(),A(t.saveWorkflowSuccess)}catch(e){E(e instanceof Error?e.message:t.saveWorkflowFailed)}finally{te(!1)}},[B,t.saveWorkflowFailed,t.saveWorkflowSuccess]),ce=(0,W.useCallback)(async e=>{if(e.metadata.source===`user`&&window.confirm(Z(t.deleteConfirm,{name:e.name}))){E(null);try{await T(e.id),await B.mutate(),A(t.deleteWorkflowSuccess)}catch(e){E(e instanceof Error?e.message:t.deleteWorkflowFailed)}}},[B,t]);return{language:e,localeTag:n,labels:t,hasToken:s,searchQuery:d,setSearchQuery:q,workflowFilterId:f,setWorkflowFilterId:re,definitions:U,filteredDefinitions:ne,runs:G,openRunInChat:Y,pickStartOpen:v,setPickStartOpen:y,startDefinition:h,setStartDefinition:_,detailDefinition:b,setDetailDefinition:x,manageOpen:S,setManageOpen:C,actionError:w,actionFeedback:k,starting:P,savingWorkflow:ee,loading:B.isLoading||V.isLoading,error:B.error?.message??V.error?.message??null,stats:H.data,refreshAll:X,submitStart:ie,cancelRun:ae,retryRun:oe,saveCustomWorkflow:se,removeCustomWorkflow:ce}}function Xe(){let e=(0,G.c)(2),t=Ye(),n;return e[0]===t?n=e[1]:(n=(0,$.jsx)(Ge,{vm:t}),e[0]=t,e[1]=n),n}export{Xe as WorkflowsPage};
|