@xopcai/xopc 0.0.376 → 0.0.377
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/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/gateway/static/root/assets/{activity-store-CvR3rjdp.js → activity-store-BVtU6S1w.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-avatar-dicebear-B6OsxiBw.js → agent-avatar-dicebear-BD63ce58.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-defaults-settings-panel-MB_QmjX-.js → agent-defaults-settings-panel-Ch07F4uX.js} +1 -1
- package/dist/gateway/static/root/assets/{agent-plugin-dialog-Bpcf0zhP.js → agent-plugin-dialog-CdCVOg5e.js} +1 -1
- package/dist/gateway/static/root/assets/{agents-BQ7ag_R3.js → agents-D2__mhy8.js} +3 -3
- package/dist/gateway/static/root/assets/{agents-admin-api-DsXvJeqd.js → agents-admin-api-DgQph1Pu.js} +1 -1
- package/dist/gateway/static/root/assets/{app-management-settings-panel-9JzhRHSD.js → app-management-settings-panel-B0yP8rNC.js} +1 -1
- package/dist/gateway/static/root/assets/{appearance-settings-CoyZuGAt.js → appearance-settings-Bnq1nzDX.js} +1 -1
- package/dist/gateway/static/root/assets/{apps-page-CcbCxZaw.js → apps-page-CSIFuEnj.js} +1 -1
- package/dist/gateway/static/root/assets/{archive-plugin-kfDRSd7K.js → archive-plugin-FBVMH4ym.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-page-DZJKbmlm.js → automations-page-qsg6pZlF.js} +1 -1
- package/dist/gateway/static/root/assets/{automations-workspace-ChKT1JN6.js → automations-workspace-DqBWLl61.js} +1 -1
- package/dist/gateway/static/root/assets/{binary-plugins-d4QP_iyy.js → binary-plugins-B0qGhVNs.js} +1 -1
- package/dist/gateway/static/root/assets/{block-editor-DraiSml9.js → block-editor-CjQv4zlo.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automation-inputs-BAiaU9gl.js → browser-automation-inputs-DSbRHrG7.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-automations-page-Bo40qRor.js → browser-automations-page-CzEWM_ie.js} +1 -1
- package/dist/gateway/static/root/assets/{browser-settings-page-Dg4S7ph5.js → browser-settings-page-CsDck88G.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-B-vsqiw2.js → capabilities-HaRLmYU1.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-DQEeiNq_.js → capabilities-LpGa-olH.js} +1 -1
- package/dist/gateway/static/root/assets/{capabilities-page-CuHSjBDG.js → capabilities-page-BeQ-Yj3_.js} +2 -2
- package/dist/gateway/static/root/assets/{capabilities-settings-panel-bxxADxzW.js → capabilities-settings-panel-BQ-I3L-C.js} +1 -1
- package/dist/gateway/static/root/assets/{capability-header-actions-CaH0L2sV.js → capability-header-actions-DuBac0EK.js} +1 -1
- package/dist/gateway/static/root/assets/{channels-Drx78hEY.js → channels-1wUJcCxP.js} +1 -1
- package/dist/gateway/static/root/assets/{chat-terminal-dock-hZnKhClF.js → chat-terminal-dock-CQc1mqZM.js} +1 -1
- package/dist/gateway/static/root/assets/{computer-settings-page-CYEA9B-G.js → computer-settings-page-BIwOemaK.js} +1 -1
- package/dist/gateway/static/root/assets/{connector-service-page-DXi2Bx2u.js → connector-service-page-CG9KKuXq.js} +1 -1
- package/dist/gateway/static/root/assets/{connectors-page-BCWPY5hs.js → connectors-page-BFzjGpKE.js} +1 -1
- package/dist/gateway/static/root/assets/{date-picker-BW_xBw2L.js → date-picker-DoZGE2hF.js} +1 -1
- package/dist/gateway/static/root/assets/{dependency-picker-ByRPupfC.js → dependency-picker-hrz7p1Lv.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-DTcVMPlC.js → desktop-pet-C1bTu_dG.js} +1 -1
- package/dist/gateway/static/root/assets/{desktop-pet-settings-BkMP5pdR.js → desktop-pet-settings-C2xCFimg.js} +1 -1
- package/dist/gateway/static/root/assets/{device-pairing-wizard-5kYuK9oW.js → device-pairing-wizard-CZ5Wmq5U.js} +1 -1
- package/dist/gateway/static/root/assets/{directory-picker-path-field-DIYIejyX.js → directory-picker-path-field-BaHQhI4z.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-QCUvXcP2.js → extension-debug-page-B1uMVNGe.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BMeQveJ_.js → extension-page-850m5tOc.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-provider-CDOEBj7F.js → extension-provider-B-_CkaD2.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-D-M7P4HQ.js → extension-settings-page-P3FNAW0n.js} +1 -1
- package/dist/gateway/static/root/assets/{fallback-models-5DaUVrLS.js → fallback-models-BoJZA9Cm.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-config-swr-CWIVt5XM.js → gateway-config-swr-siY2J0hx.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-realtime-DC8N3fNU.js → gateway-realtime-Biz18NiE.js} +1 -1
- package/dist/gateway/static/root/assets/gateway-realtime-store-BazlseY_.js +1 -0
- package/dist/gateway/static/root/assets/{gateway-settings-DK2NzPkL.js → gateway-settings-BG1zXG8B.js} +1 -1
- package/dist/gateway/static/root/assets/{gateway-startup-retry-pVqdX0dO.js → gateway-startup-retry-CeL1OFDZ.js} +1 -1
- package/dist/gateway/static/root/assets/{home-page-A3oTV3Vq.js → home-page-B8RmZbDw.js} +1 -1
- package/dist/gateway/static/root/assets/{image-generation-api-CX6__We2.js → image-generation-api-CeDrok06.js} +1 -1
- package/dist/gateway/static/root/assets/{imports-page-b0ILSTz1.js → imports-page-C9FTl2dW.js} +1 -1
- package/dist/gateway/static/root/assets/index-CGVecvp4.css +1 -0
- package/dist/gateway/static/root/assets/{index-Cz75qf5b.js → index-DU5FmDQh.js} +28 -28
- package/dist/gateway/static/root/assets/{keyboard-shortcuts-settings-DGl7wSHG.js → keyboard-shortcuts-settings-Dx-36I-c.js} +1 -1
- package/dist/gateway/static/root/assets/{local-app-workbench-page--W2QjBqz.js → local-app-workbench-page-Cg4gdTwm.js} +1 -1
- package/dist/gateway/static/root/assets/{local-apps-page-8SQ85WLr.js → local-apps-page-3GKgu7at.js} +1 -1
- package/dist/gateway/static/root/assets/{local-session-drafts-LCEmswHW.js → local-session-drafts-DnSw14fE.js} +1 -1
- package/dist/gateway/static/root/assets/{locale-store-UEl-U1DO.js → locale-store-DSsLH7JO.js} +1 -1
- package/dist/gateway/static/root/assets/{logs-page-BAQeHGd4.js → logs-page-CApZnDPi.js} +1 -1
- package/dist/gateway/static/root/assets/{management-settings-DoXDsSSN.js → management-settings-DcgCzPd-.js} +1 -1
- package/dist/gateway/static/root/assets/{markdown-view-DUo9Tl3H.js → markdown-view-2rwSrMXW.js} +1 -1
- package/dist/gateway/static/root/assets/{media-plugins-8zr2wlMR.js → media-plugins-CjGiKLFo.js} +1 -1
- package/dist/gateway/static/root/assets/messages-Cn25s55n.js +3 -0
- package/dist/gateway/static/root/assets/models-hub-cache-DaqiLHPe.js +1 -0
- package/dist/gateway/static/root/assets/{note-detail-panel-Cg65uYJ3.js → note-detail-panel-CncL3xmy.js} +3 -3
- package/dist/gateway/static/root/assets/{notes-api-bDQOslzF.js → notes-api-D9fGUbkK.js} +1 -1
- package/dist/gateway/static/root/assets/{notes-page-DDUlWJOk.js → notes-page-D9romxNU.js} +1 -1
- package/dist/gateway/static/root/assets/{page-context-capture-button-o-i2_7Jz.js → page-context-capture-button-CKqYL9AQ.js} +1 -1
- package/dist/gateway/static/root/assets/{personal-page-E9-LBR1_.js → personal-page-DoG-2fru.js} +1 -1
- package/dist/gateway/static/root/assets/{product-open-page-DWgjStlK.js → product-open-page-DFu_ZT2h.js} +1 -1
- package/dist/gateway/static/root/assets/{product-preview-content-BWQRI242.js → product-preview-content-tPBCFa7L.js} +1 -1
- package/dist/gateway/static/root/assets/{project-detail-page-FjGobz6n.js → project-detail-page-C9Bt5toA.js} +1 -1
- package/dist/gateway/static/root/assets/{projects-page-CVhXJp7f.js → projects-page-Bu3jZa3A.js} +1 -1
- package/dist/gateway/static/root/assets/{registry-api-CftkuRz7.js → registry-api-ZhIt79wL.js} +1 -1
- package/dist/gateway/static/root/assets/{remote-access-hub-B2AcKWlb.js → remote-access-hub-C9MNGl2t.js} +1 -1
- package/dist/gateway/static/root/assets/{runtime-tools-settings-panel-DmOfq9ay.js → runtime-tools-settings-panel-BYQuPsWk.js} +1 -1
- package/dist/gateway/static/root/assets/{scenes-page-QQ2CiTee.js → scenes-page-7LjR8Aek.js} +1 -1
- package/dist/gateway/static/root/assets/{schema-form-TbUx_9NF.js → schema-form-GwVc8KsT.js} +1 -1
- package/dist/gateway/static/root/assets/{send-session-input-D4c72mD6.js → send-session-input-B64q4_6R.js} +1 -1
- package/dist/gateway/static/root/assets/{session-api-DtpzfFNw.js → session-api-BUa3BaGX.js} +1 -1
- package/dist/gateway/static/root/assets/session-manager-BWLIDok4.js +16 -0
- package/dist/gateway/static/root/assets/{sessions-page-CquSXQHo.js → sessions-page-CzbNB_RT.js} +1 -1
- package/dist/gateway/static/root/assets/settings-advanced-gate-CmNe5RJ4.js +1 -0
- package/dist/gateway/static/root/assets/{settings-page-NncRVc1e.js → settings-page-DAvi3P8Q.js} +1 -1
- package/dist/gateway/static/root/assets/{setup-status-panel-t1vcGUsK.js → setup-status-panel-DoAn6P_k.js} +1 -1
- package/dist/gateway/static/root/assets/{share-link-dialog-DGUiTTZ3.js → share-link-dialog-CbkS1cj-.js} +1 -1
- package/dist/gateway/static/root/assets/{share-preview-page-BDl6XGKm.js → share-preview-page-DicRCB4L.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-api-BIx5ji2U.js → shares-api-BUGeqXCG.js} +1 -1
- package/dist/gateway/static/root/assets/{shares-settings-DVM6xJuW.js → shares-settings-Bbkz0xuD.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-api-Crld1PEV.js → skill-api-DpTUuYWk.js} +1 -1
- package/dist/gateway/static/root/assets/{skill-reload-api-D2HAboLP.js → skill-reload-api-CII18PA5.js} +1 -1
- package/dist/gateway/static/root/assets/{skills-page-DdD6C_Z8.js → skills-page-BuBSAOOd.js} +1 -1
- package/dist/gateway/static/root/assets/{system-settings-panel-DUro5X0b.js → system-settings-panel-DlNaQp-l.js} +1 -1
- package/dist/gateway/static/root/assets/{task-detail-page-BYNcWubZ.js → task-detail-page-DeElbs6T.js} +1 -1
- package/dist/gateway/static/root/assets/{task-expandable-content-BKa2YEJy.js → task-expandable-content-sONbgbwR.js} +1 -1
- package/dist/gateway/static/root/assets/{theme-store-ByAapAD7.js → theme-store-Kz0VUMSb.js} +1 -1
- package/dist/gateway/static/root/assets/{tracing-settings-page-Dv-XBvpD.js → tracing-settings-page-CZHhm1Nn.js} +1 -1
- package/dist/gateway/static/root/assets/{tunnel-api-C2_SEpMa.js → tunnel-api-sUbAaSX6.js} +1 -1
- package/dist/gateway/static/root/assets/{usage-page-CqMzyGiK.js → usage-page-NPLApyNj.js} +1 -1
- package/dist/gateway/static/root/assets/{use-autosave-BhsYFV0o.js → use-autosave-CZzYhcAl.js} +1 -1
- package/dist/gateway/static/root/assets/{use-composer-attachments-Bv4umde0.js → use-composer-attachments-Bb_Hqqry.js} +1 -1
- package/dist/gateway/static/root/assets/{use-file-preview-expanded-CBVymo3h.js → use-file-preview-expanded-D4WI5JDn.js} +2 -2
- package/dist/gateway/static/root/assets/{user-model-page-EMn_nA9w.js → user-model-page-DAEiJzNV.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-DRoGFFs6.js → voice-api-key-field-CIIGmtHR.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-config-api-BwLiaw5J.js → voice-config-api-BtWFziQc.js} +1 -1
- package/dist/gateway/static/root/assets/{work-discovery-overlay-DbH62mtI.js → work-discovery-overlay-DxRDLQvs.js} +1 -1
- package/dist/gateway/static/root/assets/{workflow-run-setup-panel-BYfytB9q.js → workflow-run-setup-panel-Be_Rey6d.js} +1 -1
- package/dist/gateway/static/root/assets/{workflows-page-rJqJ9dQo.js → workflows-page-wJk7l1_H.js} +1 -1
- package/dist/gateway/static/root/assets/{workspace-api-BHy2a_hm.js → workspace-api-B5ssQs4p.js} +2 -2
- package/dist/gateway/static/root/assets/{xopc-cloud-account-card-DrAX_9m_.js → xopc-cloud-account-card-D7Rtu5eI.js} +1 -1
- package/dist/gateway/static/root/index.html +27 -27
- package/dist/package.js +1 -1
- package/dist/src/agent/session/session-config-service.js +2 -4
- package/dist/src/browser/native-messaging-host.js +1 -1
- package/dist/src/browser/providers/browser-ext-install.js +2 -2
- package/dist/src/cli/commands/doctor/checks/database-schema.js +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/gateway/hono/app.js +1 -1
- package/dist/src/gateway/hono/routes/browser-install.js +1 -1
- package/dist/src/gateway/service/session-command-service.js +1 -1
- package/dist/src/gateway/service.js +4 -4
- package/dist/src/home-intelligence/host.js +2 -2
- package/dist/src/personal-agent/service.js +1 -11
- package/dist/src/providers/prompt-cache-payload.js +18 -22
- package/dist/src/session/config-store.js +1 -2
- package/dist/src/storage/sqlite/device-pairing-approval.js +1 -1
- package/dist/src/storage/sqlite/migrations/246_personal_session_thinking.sql +22 -0
- package/dist/src/storage/sqlite/migrations/runner.d.ts +1 -1
- package/dist/src/storage/sqlite/migrations/runner.js +3 -3
- package/dist/src/storage/sqlite/schema.js +1 -1
- package/package.json +3 -3
- package/dist/gateway/static/root/assets/gateway-realtime-store-BkE2mHog.js +0 -1
- package/dist/gateway/static/root/assets/index-BGBkIIzM.css +0 -1
- package/dist/gateway/static/root/assets/messages-Uqz0xpsK.js +0 -3
- package/dist/gateway/static/root/assets/models-hub-cache-3HOFy11k.js +0 -1
- package/dist/gateway/static/root/assets/session-manager-De46GeR0.js +0 -16
- package/dist/gateway/static/root/assets/settings-advanced-gate-BOHKIN4t.js +0 -1
- package/dist/src/personal-agent/model-config.d.ts +0 -5
- package/dist/src/personal-agent/model-config.js +0 -59
|
@@ -1 +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"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as a}from"./check-DUBLcKHA.js";import{t as o}from"./globe-DSSGFWFn.js";import{t as s}from"./plus-Q2yW6OE7.js";import{t as c}from"./messages-Uqz0xpsK.js";import{a as l,n as u,r as d}from"./locale-store-UEl-U1DO.js";import{i as f}from"./vendor-swr-BIWyz7Rc.js";import{t as p}from"./button-CS04eWY9.js";import{r as m}from"./gateway-config-swr-CWIVt5XM.js";import{n as h,t as g}from"./registry-api-CftkuRz7.js";import{t as _}from"./skeleton-BwbyijEw.js";import{t as v}from"./electron-env-Dit0bHgy.js";import{Do as y,Fo as b,Yr as x,_n as S,ds as C,gn as w,us as T}from"./index-Cz75qf5b.js";import{n as ee,r as te}from"./settings-page-layout-X1x-2Cp9.js";var E=n(),D=e(t(),1),O=r();function ne({zh:e}){let t=c(e?`zh`:`en`).computerSettings,n=f(`settings-agent-defaults`,w),r=f(g,h),a=n.data?.defaults.models.computerUse?.primary??``,[o,s]=(0,D.useState)(a),[l,u]=(0,D.useState)(!1),[d,m]=(0,D.useState)(``),[v,y]=(0,D.useState)(!1);(0,D.useEffect)(()=>{s(a)},[a]);let b=!o||r.data?.some(e=>e.id===o&&e.computerUse),C=async()=>{u(!0),m(``),y(!1);try{if(!b)throw Error(t.modelUnavailable);let e=await w(),r={...e.defaults.models};o?r.computerUse={primary:o,fallbacks:[]}:delete r.computerUse;let i=await S({...e.defaults,models:r});await n.mutate(i,!1),y(!0)}catch(e){m(e instanceof Error?e.message:String(e))}finally{u(!1)}};return(0,O.jsxs)(`section`,{"aria-label":t.model,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.model}),!n.data&&!n.error?(0,O.jsx)(_,{className:`h-52 w-full rounded-xl`}):n.error?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-danger`,children:[String(n.error),(0,O.jsx)(p,{onClick:()=>{n.mutate().catch(()=>{})},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 sm:p-5`,children:[(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,O.jsx)(`div`,{className:`min-w-0 flex-1`,children:r.isLoading?(0,O.jsx)(_,{className:`h-11 w-full rounded-lg`}):(0,O.jsx)(x,{value:o,onChange:e=>{s(e),y(!1)},disabled:l,capabilitiesFilter:`computer-use`,models:r.data??[],modelsError:r.error,placeholder:t.selectModel,searchPlaceholder:t.searchModel,noMatches:t.noModels,registryEmptyHint:t.noModels,allowEmpty:!0,emptyLabel:t.noModel,ariaLabel:t.modelLabel,className:`w-full`,contentAlign:`start`})}),(0,O.jsx)(p,{variant:`primary`,disabled:l||o===a||!b||!!r.error||r.isLoading,onClick:()=>{C()},children:t.saveModel})]}),(0,O.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-fg-muted`,children:[(0,O.jsx)(`span`,{children:t.modelDataUse}),(0,O.jsx)(p,{asChild:!0,variant:`ghost`,className:`h-auto p-0 text-xs`,children:(0,O.jsx)(i,{to:`/settings/capabilities/models?add=1`,children:t.manageModels})}),v&&(0,O.jsx)(`span`,{role:`status`,children:t.modelSaved})]}),!b&&!r.isLoading&&!r.error&&(0,O.jsx)(`p`,{role:`status`,className:`mt-3 text-sm text-warning`,children:t.modelUnavailable}),r.error&&(0,O.jsxs)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[String(r.error),(0,O.jsx)(p,{onClick:()=>{r.mutate().catch(()=>{})},children:t.retry})]}),d&&(0,O.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:d})]})]})}function k(e){let t=(0,E.c)(15),{icon:n,title:r,description:i,children:a}=e,o;t[0]===n?o=t[1]:(o=n&&(0,O.jsx)(`div`,{className:`flex size-6 shrink-0 items-center justify-center text-fg-muted`,"aria-hidden":!0,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,O.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,O.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===a?u=t[10]:(u=a&&(0,O.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:a}),t[9]=a,t[10]=u);let d;return t[11]!==o||t[12]!==l||t[13]!==u?(d=(0,O.jsxs)(`div`,{className:`flex min-h-16 flex-wrap items-center gap-3 px-4 py-3 sm:flex-nowrap sm:px-5`,children:[o,l,u]}),t[11]=o,t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function A(){let e=(0,E.c)(2),t=u(j)===`zh`,n;return e[0]===t?n=e[1]:(n=(0,O.jsx)(M,{zh:t}),e[0]=t,e[1]=n),n}function j(e){return e.language}function M({zh:e}){let t=c(e?`zh`:`en`).computerSettings,{data:n,mutate:r,error:u}=m(!0),f=n?.payload?.config,[h,g]=(0,D.useState)(!1),[x,S]=(0,D.useState)(``),[w,E]=(0,D.useState)(!1),[A,j]=(0,D.useState)(null),[M,N]=(0,D.useState)(!1),[P,F]=(0,D.useState)(null),[re,I]=(0,D.useState)(!1),[L,R]=(0,D.useState)(``),[z,B]=(0,D.useState)(!1),[ie,V]=(0,D.useState)(!1),H=window.electronAPI?.platform===`darwin`?window.electronAPI.computer:void 0,U=window.electronAPI?.platform===`darwin`?window.electronAPI.system:void 0;(0,D.useEffect)(()=>{if(!H)return;let e=!1,t=!1,n=async()=>{if(!t){t=!0;try{let t=await H.status();e||(j(t),N(!1))}catch{e||(j(null),N(!0))}finally{t=!1}}};n();let r=window.setInterval(()=>{n()},2e3);return()=>{e=!0,window.clearInterval(r)}},[H]),(0,D.useEffect)(()=>{if(!H?.access)return;let e=!1;return H.access().then(t=>{e||(F(t),I(!1))}).catch(()=>{e||I(!0)}),()=>{e=!0}},[H]);let W=async e=>{g(!0),S(``);try{await e()}catch(e){S(e instanceof Error?e.message:String(e))}finally{g(!1)}},ae=e=>W(async()=>{v()&&(await l(d(`/api/config`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({computer:{enabled:e}})}),await r())}),G=async()=>{S(``),E(!1);try{await H?.stop(),E(!0),H&&j(await H.status())}catch(e){S(e instanceof Error?e.message:String(e))}},K=A?.session?.status??`idle`,q=t.states[K]??K,J=v()&&f?.computer?.enabled===!0,oe=A?.controlPaused?t.pausedNotice:J?A?.connected?`${t.connected} · ${q}`:A?t.disconnected:t.checking:t.disabled,Y=!H||M||A?.reenrollmentRequired===!0||!!(A?.error||A?.session?.errorCode)||A!=null&&(!A.permissions.accessibility||A.permissions.screenRecording!==`granted`),X=A?.permissions.accessibility===!0&&A.permissions.screenRecording===`granted`&&!A.reenrollmentRequired,Z=P?.apps.filter(e=>P.authorizedAppIds.includes(e.appId))??[],Q=P?.apps.filter(e=>!P.authorizedAppIds.includes(e.appId)&&`${e.name} ${e.appId}`.toLocaleLowerCase().includes(L.toLocaleLowerCase()))??[],$=(0,O.jsxs)(`section`,{"aria-labelledby":`computer-permissions-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-permissions-title`,className:`text-sm font-semibold text-fg`,children:t.permissions}),H?M?(0,O.jsx)(`p`,{role:`alert`,className:`rounded-xl bg-danger-soft p-5 text-sm text-danger`,children:t.nativeError}):A?X&&!ie?(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(b,{className:`size-5`}),title:t.systemPermissions,description:t.granted,children:(0,O.jsx)(p,{onClick:()=>V(!0),children:t.viewDetails})})}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(C,{className:`size-5`}),title:t.device,description:(0,O.jsxs)(`span`,{"aria-live":`polite`,children:[A.connected?t.connected:t.disconnected,` · `,q]}),children:A.reenrollmentRequired&&(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{j(await H.reenroll())})},children:t.reenroll})}),U&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(k,{icon:(0,O.jsx)(b,{className:`size-5`}),title:t.accessibility,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.accessibility?t.granted:t.notGranted}),!A.permissions.accessibility&&(0,O.jsx)(p,{disabled:h,"aria-label":`${t.openSettings}: ${t.accessibility}`,onClick:()=>{W(()=>U.requestAccessibility())},children:t.openSettings})]}),(0,O.jsxs)(k,{icon:(0,O.jsx)(C,{className:`size-5`}),title:t.screen,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.screenRecording===`granted`?t.granted:t.notGranted}),A.permissions.screenRecording!==`granted`&&(0,O.jsx)(p,{disabled:h,"aria-label":`${t.openSettings}: ${t.screen}`,onClick:()=>{W(()=>U.requestScreen())},children:t.openSettings})]})]}),X&&(0,O.jsx)(`div`,{className:`flex justify-end px-4 py-2 sm:px-5`,children:(0,O.jsx)(p,{variant:`ghost`,onClick:()=>V(!1),children:t.hideDetails})})]}):(0,O.jsx)(`div`,{"aria-label":t.checking,children:(0,O.jsx)(_,{className:`h-20 w-full rounded-xl`})}):(0,O.jsx)(`p`,{className:`rounded-xl bg-surface-hover/20 p-5 text-sm leading-relaxed text-fg-muted`,children:window.electronAPI&&window.electronAPI.platform!==`darwin`?t.unsupportedPlatform:t.desktopRequired}),(A?.error||A?.session?.errorCode)&&(0,O.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-red-600`,children:A.error||A.session?.errorCode})]});return(0,O.jsxs)(te,{gap:`gap-7`,children:[(0,O.jsx)(ee,{title:t.title,subtitle:t.subtitle,meta:(0,O.jsx)(`span`,{className:`mt-3 inline-flex rounded-md border border-edge px-2 py-1 text-xs text-fg-muted`,children:t.preview}),actions:H&&(0,O.jsxs)(p,{onClick:()=>{G()},children:[(0,O.jsx)(y,{className:`size-3.5`}),t.stop]})}),x&&(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-red-600`,children:x}),w&&(0,O.jsx)(`p`,{role:`status`,className:`text-sm text-fg-muted`,children:t.stoppedNotice}),(0,O.jsxs)(`section`,{"aria-labelledby":`computer-control-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-control-title`,className:`text-sm font-semibold text-fg`,children:t.control}),!f&&!u?(0,O.jsx)(_,{className:`h-32 w-full rounded-xl`}):u?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-fg-muted`,children:[String(u),` `,(0,O.jsx)(p,{onClick:()=>{W(()=>r())},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(T,{className:`size-5`}),title:t.desktop,description:(0,O.jsx)(`span`,{"aria-live":`polite`,children:oe}),children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.desktop,"aria-checked":J,disabled:h||!v(),onClick:()=>{ae(f?.computer?.enabled!==!0)},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${J?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${J?`translate-x-5`:`translate-x-0`}`})})})}),A?.controlPaused&&(0,O.jsx)(`div`,{className:`flex justify-end border-t border-edge-subtle px-4 py-3 sm:px-5`,children:(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{H&&j(await H.resume()),E(!1)})},children:t.resume})})]})]}),Y&&$,H?.access&&(0,O.jsxs)(`section`,{"aria-labelledby":`computer-app-access-title`,className:`space-y-3`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsx)(`h2`,{id:`computer-app-access-title`,className:`text-sm font-semibold text-fg`,children:t.appAccess}),!P?.allowAllApps&&(0,O.jsxs)(p,{disabled:h,"aria-expanded":z,"aria-controls":z?`computer-app-picker`:void 0,onClick:()=>{B(e=>!e),R(``)},children:[z?(0,O.jsx)(a,{className:`size-4`,"aria-hidden":!0}):(0,O.jsx)(s,{className:`size-4`,"aria-hidden":!0}),z?t.doneAdding:t.addApp]})]}),P?(0,O.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(T,{className:`size-5`}),title:t.anyApp,description:t.anyAppDescription,children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.anyApp,"aria-checked":P.allowAllApps===!0,disabled:h,onClick:()=>{W(async()=>{F(await H.setAllAppAccess(!P.allowAllApps)),B(!1)})},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${P.allowAllApps?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${P.allowAllApps?`translate-x-5`:`translate-x-0`}`})})})}),!P.allowAllApps&&(0,O.jsx)(`div`,{className:`border-t border-edge-subtle`,children:Z.length?Z.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-16 items-center justify-between gap-3 border-b border-edge-subtle px-4 py-3 last:border-b-0 sm:px-5`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(p,{disabled:h,variant:`ghost`,onClick:()=>{W(async()=>{let t=await H.setAppAccess(e.appId,!1);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.revokeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-5 py-6 text-center text-sm text-fg-muted`,children:t.noAuthorizedApps})})]}):re?(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t.appListError}):(0,O.jsx)(_,{className:`h-20 w-full rounded-xl`}),z&&!P?.allowAllApps&&(0,O.jsxs)(`div`,{id:`computer-app-picker`,className:`space-y-3 rounded-2xl border border-edge bg-surface-panel p-4`,children:[(0,O.jsxs)(`div`,{className:`flex gap-2`,children:[(0,O.jsx)(`input`,{"aria-label":t.searchApps,value:L,onChange:e=>R(e.target.value),placeholder:t.searchApps,className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`}),(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{F(await H.access()),I(!1)})},children:t.refreshApps})]}),P&&(0,O.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-xl border border-edge`,children:Q.length?Q.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-3 border-b border-edge-subtle px-3 py-2 last:border-b-0`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(p,{disabled:h,variant:`secondary`,onClick:()=>{W(async()=>{let t=await H.setAppAccess(e.appId,!0);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.authorizeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-3 py-5 text-center text-sm text-fg-muted`,children:P.appsBusy?t.appsBusy:P.appsUnavailable?t.appListError:t.noMatchingApps})})]})]}),(0,O.jsx)(ne,{zh:e}),!Y&&$,(0,O.jsxs)(`section`,{"aria-labelledby":`computer-browser-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-browser-title`,className:`text-sm font-semibold text-fg`,children:t.otherControl}),(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(o,{className:`size-5`}),title:t.browser,description:f?f.browser?.enabled?t.browserEnabled:t.browserDisabled:t.checking,children:(0,O.jsx)(p,{asChild:!0,children:(0,O.jsx)(i,{to:`/settings/agent-browser`,children:t.manage})})})})]}),(0,O.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.previewFootnote})]})}export{A as ComputerSettingsPage,M as ComputerSettingsPanel};
|
|
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"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as a}from"./check-DUBLcKHA.js";import{t as o}from"./globe-DSSGFWFn.js";import{t as s}from"./plus-Q2yW6OE7.js";import{t as c}from"./messages-Cn25s55n.js";import{a as l,n as u,r as d}from"./locale-store-DSsLH7JO.js";import{i as f}from"./vendor-swr-BIWyz7Rc.js";import{t as p}from"./button-CS04eWY9.js";import{r as m}from"./gateway-config-swr-siY2J0hx.js";import{n as h,t as g}from"./registry-api-ZhIt79wL.js";import{t as _}from"./skeleton-BwbyijEw.js";import{t as v}from"./electron-env-Dit0bHgy.js";import{Do as y,Fo as b,Yr as x,_n as S,ds as C,gn as w,us as T}from"./index-DU5FmDQh.js";import{n as ee,r as te}from"./settings-page-layout-X1x-2Cp9.js";var E=n(),D=e(t(),1),O=r();function ne({zh:e}){let t=c(e?`zh`:`en`).computerSettings,n=f(`settings-agent-defaults`,w),r=f(g,h),a=n.data?.defaults.models.computerUse?.primary??``,[o,s]=(0,D.useState)(a),[l,u]=(0,D.useState)(!1),[d,m]=(0,D.useState)(``),[v,y]=(0,D.useState)(!1);(0,D.useEffect)(()=>{s(a)},[a]);let b=!o||r.data?.some(e=>e.id===o&&e.computerUse),C=async()=>{u(!0),m(``),y(!1);try{if(!b)throw Error(t.modelUnavailable);let e=await w(),r={...e.defaults.models};o?r.computerUse={primary:o,fallbacks:[]}:delete r.computerUse;let i=await S({...e.defaults,models:r});await n.mutate(i,!1),y(!0)}catch(e){m(e instanceof Error?e.message:String(e))}finally{u(!1)}};return(0,O.jsxs)(`section`,{"aria-label":t.model,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{className:`text-sm font-semibold text-fg`,children:t.model}),!n.data&&!n.error?(0,O.jsx)(_,{className:`h-52 w-full rounded-xl`}):n.error?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-danger`,children:[String(n.error),(0,O.jsx)(p,{onClick:()=>{n.mutate().catch(()=>{})},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`rounded-2xl border border-edge bg-surface-panel p-4 sm:p-5`,children:[(0,O.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,O.jsx)(`div`,{className:`min-w-0 flex-1`,children:r.isLoading?(0,O.jsx)(_,{className:`h-11 w-full rounded-lg`}):(0,O.jsx)(x,{value:o,onChange:e=>{s(e),y(!1)},disabled:l,capabilitiesFilter:`computer-use`,models:r.data??[],modelsError:r.error,placeholder:t.selectModel,searchPlaceholder:t.searchModel,noMatches:t.noModels,registryEmptyHint:t.noModels,allowEmpty:!0,emptyLabel:t.noModel,ariaLabel:t.modelLabel,className:`w-full`,contentAlign:`start`})}),(0,O.jsx)(p,{variant:`primary`,disabled:l||o===a||!b||!!r.error||r.isLoading,onClick:()=>{C()},children:t.saveModel})]}),(0,O.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 text-xs text-fg-muted`,children:[(0,O.jsx)(`span`,{children:t.modelDataUse}),(0,O.jsx)(p,{asChild:!0,variant:`ghost`,className:`h-auto p-0 text-xs`,children:(0,O.jsx)(i,{to:`/settings/capabilities/models?add=1`,children:t.manageModels})}),v&&(0,O.jsx)(`span`,{role:`status`,children:t.modelSaved})]}),!b&&!r.isLoading&&!r.error&&(0,O.jsx)(`p`,{role:`status`,className:`mt-3 text-sm text-warning`,children:t.modelUnavailable}),r.error&&(0,O.jsxs)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:[String(r.error),(0,O.jsx)(p,{onClick:()=>{r.mutate().catch(()=>{})},children:t.retry})]}),d&&(0,O.jsx)(`p`,{role:`alert`,className:`mt-3 text-sm text-danger`,children:d})]})]})}function k(e){let t=(0,E.c)(15),{icon:n,title:r,description:i,children:a}=e,o;t[0]===n?o=t[1]:(o=n&&(0,O.jsx)(`div`,{className:`flex size-6 shrink-0 items-center justify-center text-fg-muted`,"aria-hidden":!0,children:n}),t[0]=n,t[1]=o);let s;t[2]===r?s=t[3]:(s=(0,O.jsx)(`h3`,{className:`text-sm font-medium text-fg`,children:r}),t[2]=r,t[3]=s);let c;t[4]===i?c=t[5]:(c=i&&(0,O.jsx)(`div`,{className:`mt-0.5 text-xs text-fg-muted`,children:i}),t[4]=i,t[5]=c);let l;t[6]!==s||t[7]!==c?(l=(0,O.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[s,c]}),t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]===a?u=t[10]:(u=a&&(0,O.jsx)(`div`,{className:`flex shrink-0 items-center gap-3`,children:a}),t[9]=a,t[10]=u);let d;return t[11]!==o||t[12]!==l||t[13]!==u?(d=(0,O.jsxs)(`div`,{className:`flex min-h-16 flex-wrap items-center gap-3 px-4 py-3 sm:flex-nowrap sm:px-5`,children:[o,l,u]}),t[11]=o,t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function A(){let e=(0,E.c)(2),t=u(j)===`zh`,n;return e[0]===t?n=e[1]:(n=(0,O.jsx)(M,{zh:t}),e[0]=t,e[1]=n),n}function j(e){return e.language}function M({zh:e}){let t=c(e?`zh`:`en`).computerSettings,{data:n,mutate:r,error:u}=m(!0),f=n?.payload?.config,[h,g]=(0,D.useState)(!1),[x,S]=(0,D.useState)(``),[w,E]=(0,D.useState)(!1),[A,j]=(0,D.useState)(null),[M,N]=(0,D.useState)(!1),[P,F]=(0,D.useState)(null),[re,I]=(0,D.useState)(!1),[L,R]=(0,D.useState)(``),[z,B]=(0,D.useState)(!1),[ie,V]=(0,D.useState)(!1),H=window.electronAPI?.platform===`darwin`?window.electronAPI.computer:void 0,U=window.electronAPI?.platform===`darwin`?window.electronAPI.system:void 0;(0,D.useEffect)(()=>{if(!H)return;let e=!1,t=!1,n=async()=>{if(!t){t=!0;try{let t=await H.status();e||(j(t),N(!1))}catch{e||(j(null),N(!0))}finally{t=!1}}};n();let r=window.setInterval(()=>{n()},2e3);return()=>{e=!0,window.clearInterval(r)}},[H]),(0,D.useEffect)(()=>{if(!H?.access)return;let e=!1;return H.access().then(t=>{e||(F(t),I(!1))}).catch(()=>{e||I(!0)}),()=>{e=!0}},[H]);let W=async e=>{g(!0),S(``);try{await e()}catch(e){S(e instanceof Error?e.message:String(e))}finally{g(!1)}},ae=e=>W(async()=>{v()&&(await l(d(`/api/config`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({computer:{enabled:e}})}),await r())}),G=async()=>{S(``),E(!1);try{await H?.stop(),E(!0),H&&j(await H.status())}catch(e){S(e instanceof Error?e.message:String(e))}},K=A?.session?.status??`idle`,q=t.states[K]??K,J=v()&&f?.computer?.enabled===!0,oe=A?.controlPaused?t.pausedNotice:J?A?.connected?`${t.connected} · ${q}`:A?t.disconnected:t.checking:t.disabled,Y=!H||M||A?.reenrollmentRequired===!0||!!(A?.error||A?.session?.errorCode)||A!=null&&(!A.permissions.accessibility||A.permissions.screenRecording!==`granted`),X=A?.permissions.accessibility===!0&&A.permissions.screenRecording===`granted`&&!A.reenrollmentRequired,Z=P?.apps.filter(e=>P.authorizedAppIds.includes(e.appId))??[],Q=P?.apps.filter(e=>!P.authorizedAppIds.includes(e.appId)&&`${e.name} ${e.appId}`.toLocaleLowerCase().includes(L.toLocaleLowerCase()))??[],$=(0,O.jsxs)(`section`,{"aria-labelledby":`computer-permissions-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-permissions-title`,className:`text-sm font-semibold text-fg`,children:t.permissions}),H?M?(0,O.jsx)(`p`,{role:`alert`,className:`rounded-xl bg-danger-soft p-5 text-sm text-danger`,children:t.nativeError}):A?X&&!ie?(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(b,{className:`size-5`}),title:t.systemPermissions,description:t.granted,children:(0,O.jsx)(p,{onClick:()=>V(!0),children:t.viewDetails})})}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(C,{className:`size-5`}),title:t.device,description:(0,O.jsxs)(`span`,{"aria-live":`polite`,children:[A.connected?t.connected:t.disconnected,` · `,q]}),children:A.reenrollmentRequired&&(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{j(await H.reenroll())})},children:t.reenroll})}),U&&(0,O.jsxs)(O.Fragment,{children:[(0,O.jsxs)(k,{icon:(0,O.jsx)(b,{className:`size-5`}),title:t.accessibility,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.accessibility?t.granted:t.notGranted}),!A.permissions.accessibility&&(0,O.jsx)(p,{disabled:h,"aria-label":`${t.openSettings}: ${t.accessibility}`,onClick:()=>{W(()=>U.requestAccessibility())},children:t.openSettings})]}),(0,O.jsxs)(k,{icon:(0,O.jsx)(C,{className:`size-5`}),title:t.screen,children:[(0,O.jsx)(`span`,{className:`text-xs text-fg-muted`,children:A.permissions.screenRecording===`granted`?t.granted:t.notGranted}),A.permissions.screenRecording!==`granted`&&(0,O.jsx)(p,{disabled:h,"aria-label":`${t.openSettings}: ${t.screen}`,onClick:()=>{W(()=>U.requestScreen())},children:t.openSettings})]})]}),X&&(0,O.jsx)(`div`,{className:`flex justify-end px-4 py-2 sm:px-5`,children:(0,O.jsx)(p,{variant:`ghost`,onClick:()=>V(!1),children:t.hideDetails})})]}):(0,O.jsx)(`div`,{"aria-label":t.checking,children:(0,O.jsx)(_,{className:`h-20 w-full rounded-xl`})}):(0,O.jsx)(`p`,{className:`rounded-xl bg-surface-hover/20 p-5 text-sm leading-relaxed text-fg-muted`,children:window.electronAPI&&window.electronAPI.platform!==`darwin`?t.unsupportedPlatform:t.desktopRequired}),(A?.error||A?.session?.errorCode)&&(0,O.jsx)(`p`,{role:`alert`,className:`break-words text-sm text-red-600`,children:A.error||A.session?.errorCode})]});return(0,O.jsxs)(te,{gap:`gap-7`,children:[(0,O.jsx)(ee,{title:t.title,subtitle:t.subtitle,meta:(0,O.jsx)(`span`,{className:`mt-3 inline-flex rounded-md border border-edge px-2 py-1 text-xs text-fg-muted`,children:t.preview}),actions:H&&(0,O.jsxs)(p,{onClick:()=>{G()},children:[(0,O.jsx)(y,{className:`size-3.5`}),t.stop]})}),x&&(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-red-600`,children:x}),w&&(0,O.jsx)(`p`,{role:`status`,className:`text-sm text-fg-muted`,children:t.stoppedNotice}),(0,O.jsxs)(`section`,{"aria-labelledby":`computer-control-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-control-title`,className:`text-sm font-semibold text-fg`,children:t.control}),!f&&!u?(0,O.jsx)(_,{className:`h-32 w-full rounded-xl`}):u?(0,O.jsxs)(`div`,{role:`alert`,className:`text-sm text-fg-muted`,children:[String(u),` `,(0,O.jsx)(p,{onClick:()=>{W(()=>r())},children:t.retry})]}):(0,O.jsxs)(`div`,{className:`divide-y divide-edge-subtle overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(T,{className:`size-5`}),title:t.desktop,description:(0,O.jsx)(`span`,{"aria-live":`polite`,children:oe}),children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.desktop,"aria-checked":J,disabled:h||!v(),onClick:()=>{ae(f?.computer?.enabled!==!0)},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${J?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${J?`translate-x-5`:`translate-x-0`}`})})})}),A?.controlPaused&&(0,O.jsx)(`div`,{className:`flex justify-end border-t border-edge-subtle px-4 py-3 sm:px-5`,children:(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{H&&j(await H.resume()),E(!1)})},children:t.resume})})]})]}),Y&&$,H?.access&&(0,O.jsxs)(`section`,{"aria-labelledby":`computer-app-access-title`,className:`space-y-3`,children:[(0,O.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,O.jsx)(`h2`,{id:`computer-app-access-title`,className:`text-sm font-semibold text-fg`,children:t.appAccess}),!P?.allowAllApps&&(0,O.jsxs)(p,{disabled:h,"aria-expanded":z,"aria-controls":z?`computer-app-picker`:void 0,onClick:()=>{B(e=>!e),R(``)},children:[z?(0,O.jsx)(a,{className:`size-4`,"aria-hidden":!0}):(0,O.jsx)(s,{className:`size-4`,"aria-hidden":!0}),z?t.doneAdding:t.addApp]})]}),P?(0,O.jsxs)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:[(0,O.jsx)(k,{icon:(0,O.jsx)(T,{className:`size-5`}),title:t.anyApp,description:t.anyAppDescription,children:(0,O.jsx)(`button`,{type:`button`,role:`switch`,"aria-label":t.anyApp,"aria-checked":P.allowAllApps===!0,disabled:h,onClick:()=>{W(async()=>{F(await H.setAllAppAccess(!P.allowAllApps)),B(!1)})},className:`touch-target flex items-center rounded-lg px-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent disabled:opacity-50`,children:(0,O.jsx)(`span`,{className:`flex h-6 w-11 items-center rounded-full p-0.5 transition-colors ${P.allowAllApps?`bg-accent`:`bg-fg-muted/30`}`,children:(0,O.jsx)(`span`,{className:`size-5 rounded-full bg-white transition-transform ${P.allowAllApps?`translate-x-5`:`translate-x-0`}`})})})}),!P.allowAllApps&&(0,O.jsx)(`div`,{className:`border-t border-edge-subtle`,children:Z.length?Z.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-16 items-center justify-between gap-3 border-b border-edge-subtle px-4 py-3 last:border-b-0 sm:px-5`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(p,{disabled:h,variant:`ghost`,onClick:()=>{W(async()=>{let t=await H.setAppAccess(e.appId,!1);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.revokeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-5 py-6 text-center text-sm text-fg-muted`,children:t.noAuthorizedApps})})]}):re?(0,O.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:t.appListError}):(0,O.jsx)(_,{className:`h-20 w-full rounded-xl`}),z&&!P?.allowAllApps&&(0,O.jsxs)(`div`,{id:`computer-app-picker`,className:`space-y-3 rounded-2xl border border-edge bg-surface-panel p-4`,children:[(0,O.jsxs)(`div`,{className:`flex gap-2`,children:[(0,O.jsx)(`input`,{"aria-label":t.searchApps,value:L,onChange:e=>R(e.target.value),placeholder:t.searchApps,className:`min-w-0 flex-1 rounded-lg border border-edge bg-surface-base px-3 py-2 text-sm text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`}),(0,O.jsx)(p,{disabled:h,onClick:()=>{W(async()=>{F(await H.access()),I(!1)})},children:t.refreshApps})]}),P&&(0,O.jsx)(`div`,{className:`max-h-64 overflow-y-auto rounded-xl border border-edge`,children:Q.length?Q.map(e=>(0,O.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-3 border-b border-edge-subtle px-3 py-2 last:border-b-0`,children:[(0,O.jsxs)(`div`,{className:`min-w-0`,children:[(0,O.jsx)(`p`,{className:`truncate text-sm font-medium text-fg`,children:e.name}),(0,O.jsx)(`p`,{className:`truncate text-xs text-fg-muted`,children:e.appId})]}),(0,O.jsx)(p,{disabled:h,variant:`secondary`,onClick:()=>{W(async()=>{let t=await H.setAppAccess(e.appId,!0);F(e=>e&&{...e,authorizedAppIds:t.authorizedAppIds})})},children:t.authorizeApp})]},e.appId)):(0,O.jsx)(`p`,{className:`px-3 py-5 text-center text-sm text-fg-muted`,children:P.appsBusy?t.appsBusy:P.appsUnavailable?t.appListError:t.noMatchingApps})})]})]}),(0,O.jsx)(ne,{zh:e}),!Y&&$,(0,O.jsxs)(`section`,{"aria-labelledby":`computer-browser-title`,className:`space-y-3`,children:[(0,O.jsx)(`h2`,{id:`computer-browser-title`,className:`text-sm font-semibold text-fg`,children:t.otherControl}),(0,O.jsx)(`div`,{className:`overflow-hidden rounded-2xl border border-edge bg-surface-panel`,children:(0,O.jsx)(k,{icon:(0,O.jsx)(o,{className:`size-5`}),title:t.browser,description:f?f.browser?.enabled?t.browserEnabled:t.browserDisabled:t.checking,children:(0,O.jsx)(p,{asChild:!0,children:(0,O.jsx)(i,{to:`/settings/agent-browser`,children:t.manage})})})})]}),(0,O.jsx)(`p`,{className:`text-xs text-fg-muted`,children:t.previewFootnote})]})}export{A as ComputerSettingsPage,M as ComputerSettingsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,n as r,t as i}from"./vendor-react-BOUWij0V.js";import{t as a}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as o}from"./secret-input-D93UrW4C.js";import{t as s}from"./x-B_N4OPjy.js";import{t as c}from"./messages-
|
|
1
|
+
import{i as e,n as t}from"./rolldown-runtime-aKtaBQYM.js";import{a as n,n as r,t as i}from"./vendor-react-BOUWij0V.js";import{t as a}from"./chunk-KS7C4IRE-BMYIfy9x.js";import{t as o}from"./secret-input-D93UrW4C.js";import{t as s}from"./x-B_N4OPjy.js";import{t as c}from"./messages-Cn25s55n.js";import{n as l}from"./locale-store-DSsLH7JO.js";import{a as u,c as d,i as f,n as p,o as m,r as h,s as g,t as _}from"./dist-BGTk37IG.js";import{i as v}from"./vendor-swr-BIWyz7Rc.js";import{t as y}from"./button-CS04eWY9.js";import{t as b}from"./skeleton-BwbyijEw.js";import{Ha as x,Lo as S,Mt as C,ba as w,ja as T,li as E,za as D}from"./index-DU5FmDQh.js";var O=t({ConnectorServiceDialog:()=>I,ConnectorServicePage:()=>M}),k=r(),A=e(n(),1),j=i();function M(){let e=(0,k.c)(11),t=l(N),n;e[0]===t?n=e[1]:(n=c(t),e[0]=t,e[1]=n);let r=n.connectorsSettings,i=t===`zh`,o;e[2]===r.title?o=e[3]:(o=(0,j.jsx)(a,{to:`/capabilities/connectors`,className:`text-sm text-accent-fg`,children:r.title}),e[2]=r.title,e[3]=o);let s=i?`应用连接服务`:`App connection service`,u;e[4]===s?u=e[5]:(u=(0,j.jsx)(`h1`,{className:`text-xl font-semibold`,children:s}),e[4]=s,e[5]=u);let d,f;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,j.jsx)(`p`,{className:`text-sm text-fg-muted`,children:(0,j.jsx)(P,{})}),f=(0,j.jsx)(R,{}),e[6]=d,e[7]=f):(d=e[6],f=e[7]);let p;return e[8]!==o||e[9]!==u?(p=(0,j.jsxs)(`main`,{className:`mx-auto w-full max-w-2xl space-y-6 p-6`,children:[o,u,d,f]}),e[8]=o,e[9]=u,e[10]=p):p=e[10],p}function N(e){return e.language}function P(){let e=(0,k.c)(2),t=l(F)===`zh`?`此设置决定新账号通过哪个服务连接。已有账号继续使用其原来的连接服务。`:`Choose the service for new accounts. Existing accounts keep their original service.`,n;return e[0]===t?n=e[1]:(n=(0,j.jsx)(j.Fragment,{children:t}),e[0]=t,e[1]=n),n}function F(e){return e.language}function I(e){let t=(0,k.c)(27),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{open:r,onOpenChange:i,hideTrigger:a}=n,o=a===void 0?!1:a,v=l(L),b;t[2]===v?b=t[3]:(b=c(v),t[2]=v,t[3]=b);let x=b.connectorsSettings,C=v===`zh`,w;t[4]!==o||t[5]!==C?(w=o?null:(0,j.jsx)(d,{asChild:!0,children:(0,j.jsxs)(y,{type:`button`,variant:`secondary`,className:`shrink-0`,"aria-label":C?`应用连接服务`:`Connection service`,children:[(0,j.jsx)(S,{className:`size-4`,"aria-hidden":!0}),(0,j.jsx)(`span`,{className:`hidden sm:inline`,children:C?`应用连接服务`:`Connection service`})]})}),t[4]=o,t[5]=C,t[6]=w):w=t[6];let T;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,j.jsx)(u,{className:`xopc-dialog-overlay fixed inset-0 z-[60] bg-scrim`}),t[7]=T):T=t[7];let E=C?`应用连接服务`:`App connection service`,D;t[8]===E?D=t[9]:(D=(0,j.jsx)(g,{className:`text-base font-semibold text-fg`,children:E}),t[8]=E,t[9]=D);let O;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,j.jsx)(f,{className:`mt-1 text-sm text-fg-muted`,children:(0,j.jsx)(P,{})}),t[10]=O):O=t[10];let A;t[11]===D?A=t[12]:(A=(0,j.jsxs)(`div`,{className:`min-w-0`,children:[D,O]}),t[11]=D,t[12]=A);let M;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,j.jsx)(s,{className:`size-5`,"aria-hidden":!0}),t[13]=M):M=t[13];let N;t[14]===x.modalClose?N=t[15]:(N=(0,j.jsx)(p,{asChild:!0,children:(0,j.jsx)(y,{variant:`ghost`,className:`shrink-0 p-1.5`,"aria-label":x.modalClose,children:M})}),t[14]=x.modalClose,t[15]=N);let F;t[16]!==N||t[17]!==A?(F=(0,j.jsxs)(`div`,{className:`flex shrink-0 items-start justify-between gap-3 border-b border-edge-subtle px-6 py-5`,children:[A,N]}),t[16]=N,t[17]=A,t[18]=F):F=t[18];let I;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,j.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-5`,children:(0,j.jsx)(R,{})}),t[19]=I):I=t[19];let z;t[20]===F?z=t[21]:(z=(0,j.jsxs)(m,{children:[T,(0,j.jsxs)(h,{className:`xopc-dialog-content fixed left-1/2 top-1/2 z-[60] flex h-[min(100dvh-2rem,42rem)] w-[min(100%-2rem,42rem)] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl border border-edge bg-surface-overlay shadow-float`,children:[F,I]})]}),t[20]=F,t[21]=z);let B;return t[22]!==i||t[23]!==r||t[24]!==z||t[25]!==w?(B=(0,j.jsxs)(_,{open:r,onOpenChange:i,children:[w,z]}),t[22]=i,t[23]=r,t[24]=z,t[25]=w,t[26]=B):B=t[26],B}function L(e){return e.language}function R(){let e=l(e=>e.language),t=c(e).connectorsSettings,n=e===`zh`,{data:r,error:i,mutate:a}=v(`connector-service`,T),[s,u]=(0,A.useState)(``),[d,f]=(0,A.useState)(!1),[p,m]=(0,A.useState)(),[h,g]=(0,A.useState)();async function _(e){f(!0),m(void 0);try{await e(),u(``),await a()}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}return(0,j.jsxs)(`div`,{className:`space-y-6`,children:[!r&&!i?(0,j.jsx)(b,{className:`h-40 w-full`}):null,r?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`section`,{className:`space-y-3 rounded-xl border border-edge p-4`,children:[(0,j.jsx)(`h2`,{className:`font-medium`,children:`XOPC Cloud`}),(0,j.jsx)(`p`,{className:`text-sm text-fg-muted`,children:t.composioSetupHint}),(0,j.jsx)(C,{providerId:`xopc-cloud`,displayName:`XOPC Cloud`,connected:r.mode===`managed`&&r.configured,onConnected:()=>{a()}}),(0,j.jsx)(y,{variant:`secondary`,disabled:d||r.mode===`managed`&&r.configured,onClick:()=>void _(()=>x({mode:`managed`})),children:r.mode===`managed`?n?`当前服务`:`Current service`:n?`使用 XOPC Cloud`:`Use XOPC Cloud`})]}),(0,j.jsxs)(`details`,{className:`rounded-xl border border-edge p-4`,children:[(0,j.jsx)(`summary`,{className:`cursor-pointer text-sm font-medium`,children:t.composioSetupByok}),(0,j.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,j.jsxs)(`ol`,{className:`list-inside list-decimal text-sm text-fg-muted`,children:[(0,j.jsx)(`li`,{children:t.composioSetupStepProject}),(0,j.jsx)(`li`,{children:t.composioSetupStepKey}),(0,j.jsx)(`li`,{children:t.composioSetupStepPaste})]}),(0,j.jsx)(`a`,{href:`https://app.composio.dev`,target:`_blank`,rel:`noreferrer`,className:`text-sm text-accent-fg`,children:t.composioSetupOpenDashboard}),(0,j.jsxs)(`label`,{className:`block space-y-2 text-sm`,children:[(0,j.jsx)(`span`,{children:`Composio API key`}),(0,j.jsx)(o,{value:s,onChange:u,labels:t.secretInputLabels,placeholder:t.composioSetupKeyPlaceholder})]}),(0,j.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:t.composioSetupStorageHint}),(0,j.jsx)(y,{disabled:d||!s.trim(),onClick:()=>void _(()=>w(s)),children:n?`验证并使用新项目`:`Verify and use new project`}),(0,j.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:n?`验证只检查连接服务和现有账号访问,不执行写入。工具权限在实际使用时检查。环境变量密钥需在运行环境中修改。`:`Verification checks service and existing account access without writes. Tool permissions are checked on use. Environment keys must be updated in the gateway environment.`}),(0,j.jsx)(`p`,{className:`text-xs text-fg-subtle`,children:t.composioSessionWritePermissionHint}),r.backends?.filter(e=>e.mode===`byok`).map(e=>(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 text-sm`,children:[(0,j.jsxs)(`div`,{className:`min-w-0`,children:[(0,j.jsx)(`p`,{children:e.label}),(0,j.jsxs)(`p`,{className:`text-xs text-fg-muted`,children:[e.credentialSource===`environment`?n?`环境变量`:`Environment`:n?`本地保存`:`Stored locally`,e.verifiedAt&&` · ${new Date(e.verifiedAt).toLocaleString()}`]})]}),(0,j.jsx)(y,{variant:`ghost`,disabled:d||!s.trim()||e.credentialSource===`environment`,onClick:()=>void _(()=>w(s,e.id)),children:n?`用上方密钥更新`:`Update with key above`}),(0,j.jsx)(y,{variant:`ghost`,disabled:d||e.id===r.backendId,onClick:()=>void _(()=>x({backendId:e.id})),children:e.id===r.backendId?n?`当前服务`:`Current service`:n?`使用`:`Use`}),(0,j.jsx)(y,{variant:`ghost`,disabled:d||e.id===r.backendId,onClick:()=>g(e.id),children:n?`移除`:`Remove`})]},e.id))]})]})]}):null,p||i?(0,j.jsx)(`p`,{role:`alert`,className:`text-sm text-danger`,children:p??String(i)}):null,(0,j.jsx)(E,{open:!!h,title:n?`移除连接服务`:`Remove connection service`,description:n?`移除此服务及其本地保存的密钥,不修改环境变量。需要先切换服务并断开该项目的账号,已有数据不会删除。`:`Remove this service and its saved key, without changing environment variables. Switch services and disconnect this project’s accounts first. Existing data is retained.`,confirmLabel:n?`移除`:`Remove`,cancelLabel:t.modalCancel,destructive:!0,onCancel:()=>g(void 0),onConfirm:()=>{let e=h;g(void 0),e&&_(()=>D(e))}})]})}export{O as n,I as t};
|