Files
GenericAgent/frontends/desktop/dist/assets/CollabPage-DD4zkzQv.js
T
YI QI LIMandabraxas914 efb3bc6ad1 feat(desktop): compiled React Desktop 2.0 v0.2.1 renderer update (#787)
* fix(desktop): expose explicit backup capabilities

* fix(desktop): align titlebar controls with native metrics

* release(desktop): prepare portable v0.2.1

* build(desktop): rebuild compiled dist from source 4a67226

Rebuild the compiled-only React Desktop 2.0 renderer from abraxas914/GenericAgent
main @4a67226, carrying the v0.2.1 iterations that PR #784 was closed to await:
live turn-timer persistence across session switch, Mixin image-to-path fallback,
folder drag-drop, per-turn duration, and image-thumbnail repair.

- dist/**: regenerated 98 manifest assets + entry HTML
- build-provenance.json: sourceCommit -> 4a67226, manifest sha256 recomputed
- verify-compiled-dist.mjs: expectedSourceCommit -> 4a67226
- dist/README.md: provenance source commit updated
- desktop_bridge.py, test_bridge_origin_security.py: synced to 4a67226
- core (agentmain.py, llmcore*, src/**, public/**) remains zero-diff vs upstream

---------

Co-authored-by: abraxas914 <abraxas345589144233@outlook.com>
2026-08-30 14:21:51 +08:00

2 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{b as r,aj as l}from"./tauri-compat-D_GD_wMe.js";import{H as i,b as N,J as C,L as S,K as M,N as T,O as W,P as v,M as R,Q as E}from"./main-j7e_THPB.js";import{MarkdownPart as w}from"./MarkdownPart-ZJKeOipX.js";import"./index-9FI8Jlf5.js";import"./WindowsTitlebar-Byi-SYR_.js";import"./markdown-preprocess-Cc2i34eF.js";const $=200;function D({message:a}){const n=a.role==="user",e=a.role==="conductor";return l.jsx("div",{className:`collab-msg collab-msg--${a.role}`,"data-slot":"collab-msg",children:l.jsxs("div",{className:`collab-bubble ${n?"collab-bubble--user":e?"collab-bubble--conductor":"collab-bubble--system"}`,children:[a.images&&a.images.length>0&&l.jsx("div",{className:"collab-msg-images",children:a.images.map((c,s)=>l.jsx("img",{src:c.base64||c.path,alt:c.name,className:"collab-msg-img"},s))}),a.files&&a.files.length>0&&l.jsx("div",{className:"collab-msg-files",children:a.files.map((c,s)=>l.jsx("span",{className:"collab-msg-file-chip",children:c.name},s))}),e||a.role==="system"?l.jsx(w,{content:a.msg}):l.jsx("span",{className:"collab-msg-text",children:a.msg})]})})}function P({since:a}){const{t:n}=N();return l.jsx("div",{className:"collab-msg collab-msg--conductor","data-slot":"collab-typing",children:l.jsxs("div",{className:"collab-thinking-bar",children:[l.jsx("span",{className:"collab-thinking-dot"}),l.jsx("span",{className:"collab-thinking-label",children:n("collab.typing")}),l.jsx("span",{className:"collab-thinking-time",children:l.jsx(S,{since:a})})]})})}function B(){const a=i(o=>o.messages),n=i(o=>o.conductorTyping),e=i(o=>o.connectionStatus),{t:c}=N(),{scrollRef:s}=C(),[m,x]=r.useState(1),d=r.useRef(null),p=r.useRef(0);r.useEffect(()=>{(e==="connecting"||a.length===0)&&x(1)},[e,a.length]);const b=$*m,u=Math.max(0,a.length-b),k=a.slice(u),t=u,g=r.useCallback(()=>{const o=s.current;o&&(d.current=o.scrollHeight-o.scrollTop),x(h=>h+1)},[s]);r.useLayoutEffect(()=>{if(d.current==null)return;if(u>=p.current){d.current=null,p.current=u;return}const o=s.current;o&&(o.scrollTop=o.scrollHeight-d.current),d.current=null,p.current=u},[u,s]),r.useEffect(()=>{p.current=u},[u]);const j=[...a].reverse().find(o=>o.role==="user"),y=o=>o>1e12?o:o*1e3,f=r.useRef(Date.now());return j!=null&&j.ts&&(f.current=y(j.ts)),e==="connecting"?l.jsx("div",{className:"collab-messages-area","data-slot":"collab-messages",children:l.jsxs("div",{className:"collab-connecting",children:[l.jsx("span",{className:"collab-connecting-dot"}),l.jsx("span",{children:c("status.connecting")})]})}):a.length===0?l.jsx("div",{className:"collab-messages-area","data-slot":"collab-messages",children:l.jsx("div",{className:"collab-empty",children:l.jsx("p",{children:c("collab.placeholder")})})}):l.jsx("div",{className:"collab-messages-area","data-slot":"collab-messages",ref:s,children:l.jsxs("div",{className:"collab-messages-scroll",children:[t>0&&l.jsxs("button",{type:"button","data-slot":"show-earlier-btn",onClick:g,children:["Show ",t," earlier"]}),k.map((o,h)=>l.jsx(D,{message:o},o.id||u+h)),n&&l.jsx(P,{since:f.current})]})})}function H(){const a=i(t=>t.sendMessage),n=i(t=>t.conductorTyping),e=i(t=>t.connectionStatus),c=i(t=>t.modelConfig),s=i(t=>t.runtimeModel),m=i(t=>t.loadModel),x=i(t=>t.selectModel),d=M(t=>t.defaultModelNo);r.useEffect(()=>{m()},[m]);const p=r.useCallback((t,g)=>{var f,o;const j=(f=g==null?void 0:g.files)==null?void 0:f.map(h=>({name:h.name,path:h.path})),y=(o=g==null?void 0:g.images)==null?void 0:o.map(h=>({name:h.name,path:h.path,base64:h.base64}));a(t,j,y)},[a]),b=r.useCallback(()=>{},[]),u=e!=="ready",k=(c==null?void 0:c.effective)??(c==null?void 0:c.configured)??d;return l.jsx("div",{className:"collab-composer-wrap","data-slot":"collab-composer","data-disabled":u||void 0,children:l.jsx(T,{onSend:p,onStop:b,isGenerating:n,hideStatusStack:!0,modelControl:l.jsx(W,{selectedNo:k,runningNo:s!=null&&s.running?s.effective:null,isRunning:!!(s!=null&&s.running),onSelect:x})})})}const L=[{key:"1",icon:"comment"},{key:"2",icon:"symbol-misc"},{key:"3",icon:"graph"},{key:"4",icon:"edit"}],F=["collab.chipProgress","collab.chipPause","collab.chipSummary"];function I({onChipClick:a}){const{t:n}=N();return l.jsxs("div",{className:"collab-welcome","data-slot":"collab-welcome",children:[l.jsx("h2",{className:"collab-welcome-title",children:n("collab.guideTitle")}),l.jsx("p",{className:"collab-welcome-sub",children:n("collab.guideWhen")}),l.jsx("div",{className:"collab-welcome-steps",children:L.map(e=>l.jsxs("div",{className:"collab-welcome-step",children:[l.jsx("span",{className:"collab-welcome-step-icon",children:l.jsx(v,{name:e.icon,size:"1rem"})}),l.jsxs("span",{className:"collab-welcome-step-text",children:[l.jsx("span",{className:"collab-welcome-step-label",children:n(`collab.guideStep${e.key}t`)}),l.jsx("span",{className:"collab-welcome-step-desc",children:n(`collab.guideStep${e.key}d`)})]})]},e.key))}),l.jsx("div",{className:"collab-welcome-chips",children:F.map(e=>l.jsx("button",{type:"button",className:"collab-welcome-chip",onClick:()=>a(n(e)),children:n(e)},e))})]})}function O(){const a=i(s=>s.workers),n=a.filter(s=>s.status==="running").length,e=a.filter(s=>s.status==="reported").length,c=a.filter(s=>s.status==="failed").length;return l.jsxs("div",{className:"collab-rail","data-slot":"collab-rail",children:[n>0&&l.jsxs("span",{className:"collab-rail-badge collab-rail-badge--running","data-slot":"collab-rail-run",children:[l.jsx("span",{className:"collab-rail-dot collab-rail-dot--running"}),l.jsx("span",{className:"collab-rail-n",children:n}),l.jsx("span",{className:"collab-rail-label",children:"active"})]}),e>0&&l.jsxs("span",{className:"collab-rail-badge collab-rail-badge--done","data-slot":"collab-rail-done",children:[l.jsx("span",{className:"collab-rail-dot collab-rail-dot--done"}),l.jsx("span",{className:"collab-rail-n",children:e}),l.jsx("span",{className:"collab-rail-label",children:"reported"})]}),c>0&&l.jsxs("span",{className:"collab-rail-badge collab-rail-badge--issue","data-slot":"collab-rail-issue",children:[l.jsx("span",{className:"collab-rail-dot collab-rail-dot--issue"}),l.jsx("span",{className:"collab-rail-n",children:c}),l.jsx("span",{className:"collab-rail-label",children:"failed"})]})]})}function A(a){if(!a)return"";const n=a>1e12?a:a*1e3,e=Math.max(0,Math.floor((Date.now()-n)/1e3));if(e<10)return"just now";if(e<60)return`${e}s ago`;const c=Math.floor(e/60);if(c<60)return`${c}m ago`;const s=Math.floor(c/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}function G({status:a}){switch(a){case"running":return l.jsx("span",{className:"collab-card-glyph collab-card-glyph--running"});case"reported":return l.jsx("span",{className:"collab-card-glyph collab-card-glyph--done",children:"✓"});case"paused":return l.jsx("span",{className:"collab-card-glyph collab-card-glyph--paused",children:"⏸"});case"failed":return l.jsx("span",{className:"collab-card-glyph collab-card-glyph--failed",children:"!"});case"terminated":return l.jsx("span",{className:"collab-card-glyph collab-card-glyph--terminated",children:"×"})}}function z({worker:a,onClick:n}){const{t:e}=N(),c=i(m=>m.killWorker),s=r.useCallback(m=>{m.preventDefault(),R.confirm({title:e("collab.terminateWorker"),content:e("collab.terminateWorkerConfirm",{name:a.title}),okText:e("collab.terminateWorker"),cancelText:e("common.cancel"),okType:"danger",onOk:async()=>{try{await c(a.id)}catch{E.error({content:e("collab.terminateWorkerFailed")})}}})},[a.id,a.title,c,e]);return l.jsxs("article",{className:`collab-card collab-card--${a.status}`,"data-slot":"collab-card",onClick:()=>n(a),onContextMenu:s,children:[l.jsxs("div",{className:"collab-card-status",children:[l.jsx(G,{status:a.status}),l.jsx("span",{className:"collab-card-status-text",children:a.status}),a.updatedAt&&l.jsx("span",{className:"collab-card-time",children:A(a.updatedAt)})]}),l.jsx("div",{className:"collab-card-title",children:a.title}),l.jsx("div",{className:"collab-card-summary",children:a.summary})]})}function J({worker:a,onClose:n}){return l.jsxs("div",{className:"collab-drawer-wrap","data-slot":"collab-drawer-wrap",children:[l.jsx("div",{className:"collab-drawer-backdrop",onClick:n}),l.jsxs("aside",{className:"collab-drawer","data-slot":"collab-drawer",children:[l.jsxs("div",{className:"collab-drawer-head",children:[l.jsx("span",{className:"collab-drawer-title",children:a.title}),l.jsx("button",{className:"collab-drawer-close",onClick:n,"aria-label":"Close",children:l.jsx("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",children:l.jsx("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),l.jsx("div",{className:"collab-drawer-body",children:a.fullReply?l.jsx(w,{content:a.fullReply}):l.jsx("p",{className:"collab-drawer-empty",children:"No output yet."})})]})]})}function K({collapsed:a,onToggle:n}){const e=i(d=>d.workers),[c,s]=r.useState(null),m=r.useCallback(d=>{s(d)},[]),x=r.useCallback(()=>{s(null)},[]);return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:`collab-worker-panel ${a?"collab-worker-panel--collapsed":""}`,"data-slot":"collab-worker-panel",children:[l.jsxs("div",{className:"collab-worker-panel-head",children:[!a&&l.jsxs(l.Fragment,{children:[l.jsx("span",{className:"collab-worker-panel-title",children:"Agents"}),l.jsx("span",{className:"collab-worker-panel-count",children:e.length})]}),l.jsx("button",{className:"collab-panel-collapse-btn",onClick:n,"aria-label":a?"Show agents panel":"Hide agents panel",children:l.jsx(v,{name:a?"layout-sidebar-right-off":"layout-sidebar-right",size:"1rem"})})]}),!a&&(e.length>0?l.jsx("div",{className:"collab-worker-list",children:e.map(d=>l.jsx(z,{worker:d,onClick:m},d.id))}):l.jsx("div",{className:"collab-worker-empty",children:"No agents yet"}))]}),c&&l.jsx(J,{worker:c,onClose:x})]})}function Y(){const{t:a}=N(),n=i(b=>b.connectionStatus),e=i(b=>b.messages),c=i(b=>b.connect),s=i(b=>b.sendMessage),[m,x]=r.useState(!0);r.useEffect(()=>{c()},[c]);const d=r.useCallback(b=>{s(b)},[s]);if(n==="offline")return l.jsx("div",{className:"collab-page","data-slot":"collab-page",children:l.jsxs("div",{className:"collab-offline",children:[l.jsx("div",{className:"collab-offline-icon",children:"⚡"}),l.jsx("h3",{children:a("collab.offlineTitle")}),l.jsx("p",{children:a("collab.offlineSub")}),l.jsx("button",{className:"collab-retry-btn",onClick:c,children:a("collab.retry")})]})});const p=n==="ready"&&e.length===0;return l.jsxs("div",{className:"collab-page","data-slot":"collab-page","data-empty":p||void 0,children:[l.jsxs("div",{className:"collab-main",children:[l.jsx(O,{}),l.jsxs("div",{className:"collab-chat-area",children:[p?l.jsx(I,{onChipClick:d}):l.jsx(B,{}),l.jsx(H,{})]})]}),l.jsx(K,{collapsed:!m,onToggle:()=>x(b=>!b)})]})}export{Y as CollabPage};