ima2-gen 2.0.0 → 2.0.1
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 +2 -11
- package/bin/commands/backfillThumbs.js +18 -0
- package/bin/commands/edit.js +7 -6
- package/bin/commands/gen.js +7 -6
- package/bin/commands/multimode.js +5 -4
- package/bin/commands/node.js +4 -4
- package/bin/ima2.js +7 -1
- package/bin/lib/config-store.js +1 -1
- package/docs/API.md +55 -4
- package/docs/CLI.md +9 -3
- package/docs/PROMPT_STUDIO.md +3 -1
- package/docs/migration/runtime-test-inventory.md +3 -1
- package/lib/agentRuntime.js +22 -16
- package/lib/agentSettings.js +1 -1
- package/lib/agyImageAdapter.js +232 -0
- package/lib/capabilities.js +2 -1
- package/lib/configKeys.js +1 -1
- package/lib/geminiApiImageAdapter.js +183 -0
- package/lib/grokImageAdapter.js +16 -9
- package/lib/grokMultimodeAdapter.js +2 -1
- package/lib/grokRuntime.js +3 -0
- package/lib/grokSizeMapper.js +13 -1
- package/lib/grokVideoAdapter.js +14 -7
- package/lib/historyList.js +18 -2
- package/lib/imageModels.js +15 -0
- package/lib/imageThumb.js +38 -0
- package/lib/providerOptions.js +36 -1
- package/lib/responsesFallback.js +52 -44
- package/lib/runtimeContext.js +27 -0
- package/lib/storageMigration.js +1 -1
- package/lib/thumbBackfill.js +59 -0
- package/lib/vertexAuth.js +44 -0
- package/lib/videoThumb.js +60 -0
- package/package.json +4 -2
- package/routes/auth.js +238 -0
- package/routes/edit.js +41 -7
- package/routes/generate.js +40 -12
- package/routes/history.js +13 -0
- package/routes/index.js +4 -0
- package/routes/keys.js +254 -0
- package/routes/multimode.js +39 -6
- package/routes/nodes.js +57 -35
- package/routes/quota.js +58 -7
- package/routes/video.js +7 -3
- package/server.js +123 -0
- package/ui/dist/.vite/manifest.json +12 -12
- package/ui/dist/assets/AgentWorkspace-CYv84Rus.js +3 -0
- package/ui/dist/assets/{CardNewsWorkspace-BN-ga1lG.js → CardNewsWorkspace-Dqyc1WZ1.js} +2 -2
- package/ui/dist/assets/{NodeCanvas-BbMa4IhI.js → NodeCanvas-ChEXzQbb.js} +2 -2
- package/ui/dist/assets/{PromptBuilderPanel-DRwBJRDQ.js → PromptBuilderPanel-B95ZufnR.js} +1 -1
- package/ui/dist/assets/{PromptImportDialog-Dp85kHCq.js → PromptImportDialog-DGOwFQET.js} +2 -2
- package/ui/dist/assets/{PromptImportDiscoverySection-BE8Q8MLD.js → PromptImportDiscoverySection-CgvdnR49.js} +1 -1
- package/ui/dist/assets/{PromptImportFolderSection-PtH5x0sc.js → PromptImportFolderSection-CfUye9J8.js} +1 -1
- package/ui/dist/assets/{PromptLibraryPanel-FnM9tHI9.js → PromptLibraryPanel-B9kndPw1.js} +2 -2
- package/ui/dist/assets/SettingsWorkspace-B3tgLrmF.js +1 -0
- package/ui/dist/assets/index-BhcvL0g-.js +1 -0
- package/ui/dist/assets/index-BtK3YhJc.js +39 -0
- package/ui/dist/assets/index-ClOLOjnA.css +1 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/AgentWorkspace-C21zqdTZ.js +0 -3
- package/ui/dist/assets/SettingsWorkspace-MARPGyBL.js +0 -1
- package/ui/dist/assets/index-BAFI6htx.js +0 -42
- package/ui/dist/assets/index-BSXxr_Bt.js +0 -1
- package/ui/dist/assets/index-DS-ADE7U.css +0 -1
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as d,j as e,u as p,i as Ge,s as Qe,t as J,D as Ke,b as B,U as je}from"./index-BAFI6htx.js";async function $(n,t){const s=await fetch(n,t);if(!s.ok){const r=await s.json().catch(()=>({})),l=r.error,a=typeof l=="string"?l:l?.message??`Request failed: ${s.status}`,o=new Error(a);throw o.status=s.status,o.code=typeof l=="object"?l?.code:r.code,o}return await s.json()}function Ve(n){return n.filename?`/generated/${n.filename}`:typeof n.url=="string"&&n.url?n.url:typeof n.thumb=="string"&&n.thumb?n.thumb:null}function He(n){const t=Ve(n);if(!t)return null;const s=n.filename??n.canvasEditableFilename??"current-image.png";return{id:`current-${s}`,filename:s,url:t,thumbUrl:n.thumb??t,prompt:n.prompt??n.userPrompt??null,revisedPrompt:n.revisedPrompt??null,createdAt:n.createdAt??Date.now()}}async function ie(n){const t=n?`?selectedSessionId=${encodeURIComponent(n)}`:"";return $(`/api/agent/sessions${t}`)}async function ce(n){const t=n.currentImage?He(n.currentImage):null;return $("/api/agent/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:n.title,currentImage:t,webSearchEnabled:n.webSearchEnabled??!0})})}async function X(n,t){return $(`/api/agent/sessions/${encodeURIComponent(n)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async function Je(n){return $(`/api/agent/sessions/${encodeURIComponent(n)}`,{method:"DELETE"})}async function Xe(n,t,s){return $(`/api/agent/sessions/${encodeURIComponent(n)}/queue`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:t,options:s})})}async function Ye(n){return $(`/api/agent/queue/${encodeURIComponent(n)}/cancel`,{method:"POST"})}async function Ze(n){return $(`/api/agent/queue/${encodeURIComponent(n)}/retry`,{method:"POST"})}const en={provider:"oauth",model:"gpt-5.4-mini",quality:"medium",size:"1024x1024",format:"png",moderation:"low",reasoningEffort:"medium",webSearchEnabled:!0,generationStrategy:"auto",variants:1,maxAutoVariants:8,parallelism:2};function ue(n){return{...en,...n??{}}}function de(n){const{width:t,height:s}=n;return s<560&&t<1280?"mobile-chat-image-sheet":t>=1280?"desktop-three-pane":t>=960&&s>=560?"desktop-rail":t>=768&&s>=700?"tablet-stacked":"mobile-chat-image-sheet"}function ge(){return typeof window>"u"?1440:window.innerWidth}function he(){return typeof window>"u"?900:window.innerHeight}function nn(){const[n,t]=d.useState(()=>de({width:ge(),height:he()}));return d.useEffect(()=>{const s=()=>t(de({width:ge(),height:he()}));return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),n}function w({size:n=16,children:t}){return e.jsx("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:t})}function Z(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M12 5v14"}),e.jsx("path",{d:"M5 12h14"})]})}function fe(n){return e.jsxs(w,{...n,children:[e.jsx("circle",{cx:"11",cy:"11",r:"7"}),e.jsx("path",{d:"M21 21l-4.3-4.3"})]})}function D(n){return e.jsxs(w,{...n,children:[e.jsx("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),e.jsx("circle",{cx:"8",cy:"10",r:"1.5"}),e.jsx("path",{d:"M21 16l-5-5L5 19"})]})}function ee(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M18 6L6 18"}),e.jsx("path",{d:"M6 6l12 12"})]})}function tn(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M22 2L11 13"}),e.jsx("path",{d:"M22 2l-7 20-4-9-9-4 20-7z"})]})}function sn(n){return e.jsx(w,{...n,children:e.jsx("path",{d:"M21.4 11.1l-9.2 9.1a6 6 0 0 1-8.5-8.5l9.2-9.2a4 4 0 0 1 5.7 5.7l-9.2 9.2a2 2 0 0 1-2.8-2.8l8.5-8.5"})})}function an(n){return e.jsxs(w,{...n,children:[e.jsx("circle",{cx:"12",cy:"12",r:"10"}),e.jsx("path",{d:"M2 12h20"}),e.jsx("path",{d:"M12 2a15.3 15.3 0 0 1 0 20"}),e.jsx("path",{d:"M12 2a15.3 15.3 0 0 0 0 20"})]})}function be(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M4 6h16"}),e.jsx("path",{d:"M4 12h16"}),e.jsx("path",{d:"M4 18h16"})]})}function rn(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M3 6h18"}),e.jsx("path",{d:"M8 6V4h8v2"}),e.jsx("path",{d:"M19 6l-1 14H6L5 6"})]})}function ln(n){return e.jsxs(w,{...n,children:[e.jsx("path",{d:"M12 20h9"}),e.jsx("path",{d:"M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4 12.5-12.5z"})]})}function ye(n){return e.jsx(w,{...n,children:e.jsx("path",{d:"M6 9l6 6 6-6"})})}function Se(n){return e.jsx(w,{...n,children:e.jsx("path",{d:"M9 6l6 6-6 6"})})}const me=[{name:"question",display:"/question",aliases:["question","ask","q"],descriptionKey:"agent.slashDesc_question"},{name:"variants",display:"/variants <N>",aliases:["variants","variant","v","n"],descriptionKey:"agent.slashDesc_variants",hasValue:!0},{name:"generate",display:"/generate <N>",aliases:["generate","gen","g"],descriptionKey:"agent.slashDesc_generate",hasValue:!0},{name:"parallelism",display:"/parallelism <N>",aliases:["parallelism","parallel","p"],descriptionKey:"agent.slashDesc_parallelism",hasValue:!0},{name:"help",display:"/help",aliases:["help","h"],descriptionKey:"agent.slashDesc_help"}];function ve(n){const t=n.toLowerCase();return t?me.filter(s=>s.aliases.some(r=>r.startsWith(t))):me}function on({listboxId:n,query:t,highlightIndex:s,onSelect:r,onHighlightChange:l}){const{t:a}=p(),o=ve(t);return o.length===0?null:e.jsx("ul",{id:n,className:"slash-command-menu",role:"listbox","aria-label":a("agent.slashCommands"),children:o.map((i,c)=>e.jsxs("li",{id:`${n}-opt-${c}`,role:"option","aria-selected":c===s,className:`slash-command-menu__item${c===s?" is-highlighted":""}`,onMouseDown:u=>u.preventDefault(),onClick:()=>r(i),onMouseEnter:()=>l(c),children:[e.jsx("span",{className:"slash-command-menu__name",children:i.display}),e.jsx("span",{className:"slash-command-menu__desc",children:a(i.descriptionKey)})]},i.name))})}function cn({webSearchEnabled:n,insertedPrompt:t,onWebSearchChange:s,onSend:r}){const{t:l}=p(),[a,o]=d.useState(""),[i,c]=d.useState(0),[u,m]=d.useState(!1),h=d.useRef(null),x=d.useId(),j=a.trim().length>0,y=a.trimStart().match(/^\/([a-z]*)$/i),M=y!==null,I=M&&!u,T=y?.[1]??"",_=ve(T),q=I&&_.length>0,k=_.length>0?Math.min(i,_.length-1):0,O=q?`${x}-opt-${k}`:void 0;d.useEffect(()=>{c(0),m(!1)},[T]),d.useEffect(()=>{M&&m(!1)},[M]),d.useEffect(()=>{t?.text&&o(f=>f.trim()?`${f.trim()}
|
|
2
|
-
|
|
3
|
-
${t.text}`:t.text)},[t]);const N=()=>{const f=a.trim();f&&(r(f),o(""))},S=f=>{o(`/${f.name} `),h.current?.focus()};return e.jsxs("div",{className:"agent-composer",children:[q&&e.jsx(on,{listboxId:x,query:T,highlightIndex:k,onSelect:S,onHighlightChange:c}),e.jsx("textarea",{ref:h,value:a,"aria-autocomplete":"list","aria-haspopup":"listbox","aria-label":l("agent.composerPlaceholder"),...q?{"aria-controls":x}:{},"aria-activedescendant":O,autoCapitalize:"off",autoCorrect:"off",placeholder:l("agent.composerPlaceholder"),onChange:f=>o(f.target.value),onKeyDown:f=>{if(f.key==="Enter"&&(f.metaKey||f.ctrlKey)){f.preventDefault(),N();return}if(q)switch(f.key){case"Tab":{f.preventDefault(),S(_[k]);return}case"ArrowDown":{f.preventDefault(),c((k+1)%_.length);return}case"ArrowUp":{f.preventDefault(),c((k-1+_.length)%_.length);return}case"Enter":{f.preventDefault(),S(_[k]);return}case"Escape":{f.preventDefault(),m(!0);return}}}}),e.jsxs("div",{className:"agent-composer__actions",children:[e.jsx("button",{type:"button","aria-label":l("agent.attachReference"),title:l("agent.attachReference"),children:e.jsx(sn,{size:16})}),e.jsx("button",{type:"button",className:n?"is-active":"","aria-pressed":n,onClick:()=>s(!n),"aria-label":l("agent.webSearch"),title:l("agent.webSearch"),children:e.jsx(an,{size:16})}),e.jsxs("button",{type:"button",className:"agent-composer__send",onClick:N,disabled:!j,"aria-label":l("agent.send"),children:[e.jsx(tn,{size:16}),e.jsx("span",{children:l("agent.send")})]})]})]})}function z({src:n,alt:t,className:s,fallbackClassName:r,iconSize:l=18}){const[a,o]=d.useState(!1);return!n||a?e.jsx("span",{className:r??"agent-image-fallback","aria-label":t,role:"img",children:e.jsx(D,{size:l})}):Ge(n)?e.jsx("video",{className:s,src:n,controls:!0,loop:!0,playsInline:!0,muted:!0}):e.jsx("img",{className:s,src:n,alt:t,onError:()=>o(!0)})}const P=d.forwardRef(function({image:t,selected:s=!1,compact:r=!1,onSelect:l},a){const{t:o}=p(),i=`${o("agent.selectImage")}: ${t.prompt??t.filename}`,c=`${r?"agent-result-thumb agent-result-thumb--compact":"agent-result-thumb"}${s?" is-selected":""}`;return e.jsx("button",{ref:a,type:"button",className:c,"aria-label":i,"aria-current":s?"true":void 0,onClick:()=>l(t.id),title:o("agent.selectImage"),children:e.jsx(z,{src:t.thumbUrl??t.url,alt:t.prompt??o("agent.imageAlt"),iconSize:r?14:18})})});function un({turn:n,imagesById:t,currentImageId:s,onImageSelect:r}){const{t:l}=p(),a=n.role==="user"?l("agent.user"):l("agent.assistant"),o=n.imageIds??[],i=`agent-message agent-message--${n.role}${n.status==="streaming"?" is-streaming":""}`;return e.jsxs("article",{className:i,"aria-busy":n.status==="streaming"?"true":void 0,children:[e.jsx("div",{className:"agent-message__role",children:a}),e.jsx("p",{children:n.text}),o.length>0?e.jsx("div",{className:"agent-message__images",children:o.map(c=>{const u=t[c];return u?e.jsx(P,{image:u,selected:c===s,compact:!1,onSelect:r},c):null})}):null]})}const dn=["ima2.get_image_context","ima2.web_search","ima2.generate_image"];function gn(n){return n.replace(/\s+/g," ").trim()||"tool"}function hn(n){if(n.toolCalls?.length)return n.toolCalls;const t=gn(n.text);return dn.filter(s=>t.includes(s)).map((s,r)=>({id:`${n.id}-fallback-${r}`,name:s,status:n.status==="error"?"error":n.status==="streaming"?"running":"complete",outputSummary:t,imageIds:s==="ima2.generate_image"?n.imageIds??[]:[],webFindingIds:s==="ima2.web_search"?n.webFindingIds??[]:[]}))}function we(n){return!n||n<0?null:n<1e3?`${n}ms`:`${(n/1e3).toFixed(1)}s`}function mn({call:n,imagesById:t,currentImageId:s,onImageSelect:r}){const{t:l}=p(),a=n.imageIds??[],o=we(n.durationMs);return e.jsxs("div",{className:"agent-tool-call-details",children:[e.jsxs("dl",{children:[e.jsxs("div",{children:[e.jsx("dt",{children:l("agent.toolInput")}),e.jsx("dd",{children:n.inputSummary??"-"})]}),e.jsxs("div",{children:[e.jsx("dt",{children:l("agent.toolOutput")}),e.jsx("dd",{children:n.errorMessage??n.outputSummary??"-"})]}),n.requestId?e.jsxs("div",{children:[e.jsx("dt",{children:l("agent.requestId")}),e.jsx("dd",{children:n.requestId})]}):null,o?e.jsxs("div",{children:[e.jsx("dt",{children:l("agent.duration")}),e.jsx("dd",{children:o})]}):null]}),a.length>0?e.jsx("div",{className:"agent-tool-call-details__artifacts","aria-label":l("agent.toolArtifacts"),children:a.map(i=>{const c=t[i];return c?e.jsx(P,{image:c,selected:i===s,compact:!0,onSelect:r},i):null})}):null]})}function pn({call:n,imagesById:t,currentImageId:s,onImageSelect:r}){const{t:l}=p(),a=d.useId(),[o,i]=d.useState(!1),c=we(n.durationMs);return e.jsxs("li",{className:`agent-tool-call-row agent-tool-call-row--${n.status}`,children:[e.jsxs("button",{type:"button",className:"agent-tool-call-row__toggle","aria-expanded":o,"aria-controls":a,"aria-busy":n.status==="running"?"true":void 0,onClick:()=>i(u=>!u),children:[e.jsx("span",{className:"agent-tool-call-row__status","aria-label":l(`agent.toolStatus.${n.status}`)}),e.jsx("span",{className:"agent-tool-call-row__name",children:n.name}),n.imageIds?.length?e.jsx("span",{className:"agent-tool-call-row__meta",children:l("agent.toolImageCount",{count:n.imageIds.length})}):null,c?e.jsx("span",{className:"agent-tool-call-row__meta",children:c}):null,o?e.jsx(ye,{size:13}):e.jsx(Se,{size:13})]}),e.jsx("div",{id:a,hidden:!o,children:e.jsx(mn,{call:n,imagesById:t,currentImageId:s,onImageSelect:r})})]})}function xn(n){const t=[],s=new Set;let r=!1;const l=[];for(const a of n){const o=hn(a);t.push(...o);for(const i of a.imageIds??[])s.add(i);for(const i of o)for(const c of i.imageIds??[])s.add(c);a.status==="streaming"&&(r=!0);for(const i of o)l.includes(i.name)||l.push(i.name)}return{toolCalls:t,imageIds:[...s],isStreaming:r,label:l.join(" + ")||"tool"}}function jn({turns:n,imagesById:t,currentImageId:s,onImageSelect:r}){const{t:l}=p(),a=d.useId(),[o,i]=d.useState(!1),{toolCalls:c,imageIds:u,isStreaming:m,label:h}=d.useMemo(()=>xn(n),[n]),x=l(o?"agent.toolCollapse":"agent.toolExpand");return e.jsxs("article",{className:`agent-message agent-message--tool is-collapsible${m?" is-streaming":""}`,"aria-busy":m?"true":void 0,children:[e.jsxs("div",{className:"agent-message__tool-summary",children:[e.jsxs("button",{type:"button",className:"agent-message__tool-toggle","aria-expanded":o,"aria-controls":a,"aria-label":`${x}: ${h}`,onClick:()=>i(j=>!j),children:[e.jsxs("span",{className:"agent-message__tool-header",children:[e.jsx("span",{className:"agent-message__tool-dot","aria-hidden":"true"}),e.jsx("span",{className:"agent-message__role",children:l("agent.toolGroup")}),u.length>0?e.jsx("span",{className:"agent-message__tool-count",children:l("agent.toolImageCount",{count:u.length})}):null,c.length>0?e.jsx("span",{className:"agent-message__tool-count",children:l("agent.toolCallCount",{count:c.length})}):null,o?e.jsx(ye,{size:14}):e.jsx(Se,{size:14})]}),e.jsx("span",{className:"agent-message__tool-label",children:h})]}),u.length>0?e.jsx("div",{className:"agent-message__tool-thumbs",children:u.map(j=>{const y=t[j];return y?e.jsx(P,{image:y,selected:j===s,compact:!0,onSelect:r},j):null})}):null]}),e.jsx("div",{id:a,className:"agent-message__tool-details",hidden:!o,children:c.length>0?e.jsx("ul",{className:"agent-tool-call-list",children:c.map(j=>e.jsx(pn,{call:j,imagesById:t,currentImageId:s,onImageSelect:r},j.id))}):null})]})}function fn(n){const t=[];let s=[];const r=()=>{s.length!==0&&(t.push({kind:"tools",turns:s,key:s.map(l=>l.id).join("+")}),s=[])};for(const l of n)l.role==="tool"?s.push(l):(r(),t.push({kind:"single",turn:l}));return r(),t}function bn({turns:n,imagesById:t,currentImageId:s,onImageSelect:r}){const{t:l}=p(),a=d.useRef(null),o=d.useMemo(()=>fn(n),[n]);return d.useEffect(()=>{const i=a.current;i&&(i.scrollTop=i.scrollHeight)},[n.length]),e.jsxs("div",{ref:a,className:"agent-message-list",children:[n.length===0?e.jsx("div",{className:"agent-message-list__empty",children:l("agent.emptyChat")}):null,o.map(i=>i.kind==="tools"?e.jsx(jn,{turns:i.turns,imagesById:t,currentImageId:s,onImageSelect:r},i.key):e.jsx(un,{turn:i.turn,imagesById:t,currentImageId:s,onImageSelect:r},i.turn.id))]})}function yn({status:n,compacted:t=!1}){const{t:s}=p(),r=s(n==="generating"?"agent.statusGenerating":n==="reconnecting"?"agent.statusReconnecting":"agent.statusReady");return e.jsxs("span",{className:`agent-status agent-status--${n}`,"aria-live":n==="ready"?void 0:"polite",children:[n==="generating"?e.jsx("span",{className:"agent-status__dot","aria-hidden":"true"}):null,e.jsx("span",{children:r}),t?e.jsx("em",{children:s("agent.compacted")}):null]})}function Sn(n){const t=n.generationStrategy==="auto"?`auto<=${n.maxAutoVariants}`:`${n.variants}x`;return`${n.model} · ${n.quality} · ${t}/${n.parallelism}p`}function vn({session:n,turns:t,imagesById:s,currentImageId:r,runtimeStatus:l,settings:a,insertedPrompt:o,onOpenModelSettings:i,onWebSearchChange:c,onImageSelect:u,onSend:m}){const{t:h}=p(),x=a?Sn(a):null;return e.jsxs("section",{className:"agent-chat","aria-label":h("agent.chat"),children:[e.jsxs("header",{className:"agent-pane-header",children:[e.jsxs("div",{className:"agent-pane-header__title",children:[e.jsx("span",{children:h("agent.chat")}),e.jsx("strong",{children:n?.title??h("agent.newSession")})]}),e.jsxs("div",{className:"agent-pane-header__actions",children:[x?e.jsxs("button",{type:"button",className:"agent-model-chip","aria-label":h("agent.openModelSettings"),title:h("agent.openModelSettings"),onClick:i,children:[e.jsx("span",{children:h("agent.model")}),e.jsx("strong",{children:x})]}):null,e.jsx(yn,{status:l,compacted:n?.compacted})]})]}),e.jsx(bn,{turns:t,imagesById:s,currentImageId:r,onImageSelect:u}),e.jsx(cn,{webSearchEnabled:n?.webSearchEnabled??!1,insertedPrompt:o,onWebSearchChange:c,onSend:m})]})}const wn=["image","refs","web","memory"];function In({activeTab:n,onChange:t}){const{t:s}=p(),r={image:s("agent.imageTab"),refs:s("agent.refsTab"),web:s("agent.webTab"),memory:s("agent.memoryTab")};return e.jsx("div",{className:"agent-context-tabs",role:"tablist","aria-label":s("agent.contextTabs"),children:wn.map(l=>e.jsx("button",{type:"button",role:"tab","aria-selected":n===l,className:n===l?"active":"",onClick:()=>t(l),children:r[l]},l))})}function _n({activeTab:n,currentImage:t}){const{t:s}=p();return n==="refs"?e.jsx("div",{className:"agent-tab-empty",children:s("agent.noRefs")}):n==="web"?e.jsx("div",{className:"agent-tab-empty",children:s("agent.noWeb")}):n==="memory"?e.jsxs("ul",{className:"agent-memory-list",children:[e.jsx("li",{children:s("agent.memoryItemStyle")}),e.jsx("li",{children:s("agent.memoryItemSubject")})]}):e.jsxs("dl",{className:"agent-image-meta",children:[e.jsxs("div",{children:[e.jsx("dt",{children:s("agent.filename")}),e.jsx("dd",{children:t?.filename??"-"})]}),e.jsxs("div",{children:[e.jsx("dt",{children:s("agent.prompt")}),e.jsx("dd",{children:t?.prompt??t?.revisedPrompt??"-"})]})]})}function Ie({currentImage:n,images:t,activeTab:s,onTabChange:r,onImageSelect:l,headerAction:a}){const{t:o}=p(),i=d.useRef({}),c=d.useMemo(()=>t.findIndex(h=>h.id===n?.id),[n?.id,t]);d.useEffect(()=>{n?.id&&i.current[n.id]?.scrollIntoView({block:"nearest",inline:"nearest"})},[n?.id]);const u=d.useCallback(h=>{const x=t[h];x&&l(x.id)},[t,l]),m=d.useCallback(h=>{if(t.length===0)return;const x=c>=0?c:0;let j=null;(h.key==="ArrowLeft"||h.key==="ArrowUp")&&(j=Math.max(0,x-1)),(h.key==="ArrowRight"||h.key==="ArrowDown")&&(j=Math.min(t.length-1,x+1)),h.key==="Home"&&(j=0),h.key==="End"&&(j=t.length-1),!(j===null||j===x)&&(h.preventDefault(),u(j))},[c,t.length,u]);return e.jsxs("section",{className:"agent-image","aria-label":o("agent.imagePane"),children:[e.jsxs("header",{className:"agent-pane-header",children:[e.jsxs("div",{className:"agent-pane-header__title",children:[e.jsx("span",{children:o("agent.imagePane")}),e.jsx("strong",{children:o("agent.currentImage")})]}),a]}),e.jsx("div",{className:"agent-image__preview",tabIndex:t.length>1?0:void 0,onKeyDown:m,"aria-label":t.length>1?o("agent.variants"):void 0,children:n?e.jsx(z,{src:n.url,alt:n.prompt??o("agent.imageAlt"),fallbackClassName:"agent-image__empty",iconSize:34}):e.jsxs("div",{className:"agent-image__empty",children:[e.jsx(D,{size:34}),e.jsx("span",{children:o("agent.noImage")})]})}),e.jsx("div",{className:"agent-image__variants","aria-label":o("agent.variants"),onKeyDown:m,children:t.map(h=>e.jsx(P,{ref:x=>{i.current[h.id]=x},image:h,selected:h.id===n?.id,onSelect:l},h.id))}),e.jsx(In,{activeTab:s,onChange:r}),e.jsx(_n,{activeTab:s,currentImage:n})]})}const pe='button, [href], input, textarea, select, [tabindex]:not([tabindex="-1"])';function ne(n,t){const s=d.useRef(null),r=d.useRef(null);return d.useEffect(()=>{if(!n)return;r.current=document.activeElement;const l=window.setTimeout(()=>{s.current?.querySelector(pe)?.focus()},0),a=o=>{if(o.key==="Escape"){o.preventDefault(),t();return}if(o.key!=="Tab")return;const i=Array.from(s.current?.querySelectorAll(pe)??[]);if(i.length===0)return;const c=i[0],u=i[i.length-1];o.shiftKey&&document.activeElement===c?(o.preventDefault(),u.focus()):!o.shiftKey&&document.activeElement===u&&(o.preventDefault(),c.focus())};return document.addEventListener("keydown",a),()=>{window.clearTimeout(l),document.removeEventListener("keydown",a),r.current?.focus()}},[t,n]),s}function Nn({open:n,currentImage:t,images:s,activeTab:r,onTabChange:l,onImageSelect:a,onClose:o}){const{t:i}=p(),c=d.useCallback(()=>o(),[o]),u=ne(n,c);return n?e.jsxs("div",{className:"agent-dialog agent-dialog--image",role:"presentation",children:[e.jsx("button",{type:"button",className:"agent-dialog__backdrop",onClick:o,"aria-label":i("agent.closeImage")}),e.jsx("section",{ref:u,className:"agent-image-sheet",role:"dialog","aria-modal":"true","aria-label":i("agent.imagePane"),children:e.jsx(Ie,{currentImage:t,images:s,activeTab:r,onTabChange:l,onImageSelect:a,headerAction:e.jsx("button",{type:"button",onClick:o,"aria-label":i("agent.closeImage"),children:e.jsx(ee,{size:17})})})})]}):null}function _e({settings:n,onChange:t}){const{t:s}=p(),r=a=>{if(a==="grok"&&!J(n.model)){t({provider:a,model:"grok-imagine-image"});return}if(a!=="grok"&&J(n.model)){t({provider:a,model:Ke});return}t({provider:a})},l=a=>{if(J(a)){t({model:a,provider:"grok"});return}if(n.provider==="grok"){t({model:a,provider:"oauth"});return}t({model:a})};return e.jsxs("section",{className:"agent-settings-grid","aria-label":s("agent.model"),children:[e.jsxs("label",{children:[e.jsx("span",{children:s("agent.model")}),e.jsx("select",{value:n.model,onChange:a=>l(a.target.value),children:Qe.map(a=>e.jsx("option",{value:a.value,children:s(a.fullLabelKey)},a.value))})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.provider")}),e.jsxs("select",{value:n.provider,onChange:a=>r(a.target.value),children:[e.jsx("option",{value:"oauth",children:"GPT OAuth"}),e.jsx("option",{value:"api",children:"API"}),e.jsx("option",{value:"grok",children:"Grok"})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.reasoningEffort")}),e.jsxs("select",{value:n.reasoningEffort,onChange:a=>t({reasoningEffort:a.target.value}),children:[e.jsx("option",{value:"low",children:"low"}),e.jsx("option",{value:"medium",children:"medium"}),e.jsx("option",{value:"high",children:"high"}),e.jsx("option",{value:"xhigh",children:"xhigh"})]})]})]})}function Cn({open:n,settings:t,onSettingsChange:s,onClose:r}){const{t:l}=p(),a=d.useCallback(()=>r(),[r]),o=ne(n,a);return n?e.jsxs("div",{className:"agent-dialog agent-dialog--model",role:"presentation",children:[e.jsx("button",{type:"button",className:"agent-dialog__backdrop",onClick:r,"aria-label":l("agent.closeModelSettings")}),e.jsxs("section",{ref:o,className:"agent-model-sheet",role:"dialog","aria-modal":"true","aria-label":l("agent.modelSettings"),children:[e.jsxs("header",{children:[e.jsx("strong",{children:l("agent.modelSettings")}),e.jsx("button",{type:"button",onClick:r,"aria-label":l("agent.closeModelSettings"),children:e.jsx(ee,{size:17})})]}),e.jsx(_e,{settings:t,onChange:s})]})]}):null}function Ne({mode:n,onInsert:t}){const{t:s}=p(),r=B(u=>u.promptLibrary),l=B(u=>u.promptLibraryLoading),a=B(u=>u.loadPromptLibrary),[o,i]=d.useState("");d.useEffect(()=>{a()},[a]);const c=d.useMemo(()=>{const u=o.trim().toLowerCase();return r.prompts.filter(m=>{const h=m.tags.map(x=>x.toLowerCase());return n==="forms"&&!h.includes("agent:form")?!1:u?m.name.toLowerCase().includes(u)||m.text.toLowerCase().includes(u)||h.some(x=>x.includes(u)):!0})},[r.prompts,n,o]);return e.jsxs("section",{className:"agent-sidebar-section","aria-label":s(n==="forms"?"agent.forms":"agent.promptLibrary"),children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:s(n==="forms"?"agent.forms":"agent.promptLibrary")}),e.jsx("strong",{children:c.length})]})}),e.jsxs("label",{className:"agent-sidebar-search",children:[e.jsx("span",{children:s("promptLibrary.search")}),e.jsx("input",{value:o,onChange:u=>i(u.target.value),placeholder:s("promptLibrary.search")})]}),e.jsxs("div",{className:"agent-prompt-library-list",children:[l?e.jsx("div",{className:"agent-tab-empty",children:s("common.loading")}):null,!l&&c.length===0?e.jsx("div",{className:"agent-tab-empty",children:s(n==="forms"?"agent.noForms":"promptLibrary.empty")}):null,c.map(u=>e.jsxs("article",{className:"agent-prompt-library-row",children:[e.jsx("strong",{children:u.name||s("promptLibrary.untitled")}),e.jsx("p",{children:u.text}),e.jsx("button",{type:"button",onClick:()=>t(u.text),children:s("agent.insertPrompt")})]},u.id))]})]})}function kn({onInsert:n}){return e.jsx(Ne,{mode:"forms",onInsert:n})}function An({settings:n,onChange:t}){const{t:s}=p();return e.jsxs("section",{className:"agent-settings-grid","aria-label":s("agent.quality"),children:[e.jsxs("label",{children:[e.jsx("span",{children:s("agent.generationStrategy")}),e.jsxs("select",{value:n.generationStrategy,onChange:r=>t({generationStrategy:r.target.value}),children:[e.jsx("option",{value:"auto",children:s("agent.generationStrategyAuto")}),e.jsx("option",{value:"manual",children:s("agent.generationStrategyManual")})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.quality")}),e.jsxs("select",{value:n.quality,onChange:r=>t({quality:r.target.value}),children:[e.jsx("option",{value:"low",children:"low"}),e.jsx("option",{value:"medium",children:"medium"}),e.jsx("option",{value:"high",children:"high"})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.size")}),e.jsxs("select",{value:n.size,onChange:r=>t({size:r.target.value}),children:[e.jsx("option",{value:"1024x1024",children:"1024x1024"}),e.jsx("option",{value:"1536x1024",children:"1536x1024"}),e.jsx("option",{value:"1024x1536",children:"1024x1536"}),e.jsx("option",{value:"2048x2048",children:"2048x2048"})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.format")}),e.jsxs("select",{value:n.format,onChange:r=>t({format:r.target.value}),children:[e.jsx("option",{value:"png",children:"png"}),e.jsx("option",{value:"jpeg",children:"jpeg"}),e.jsx("option",{value:"webp",children:"webp"})]})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.moderation")}),e.jsxs("select",{value:n.moderation,onChange:r=>t({moderation:r.target.value}),children:[e.jsx("option",{value:"low",children:"low"}),e.jsx("option",{value:"auto",children:"auto"})]})]}),n.generationStrategy==="manual"?e.jsxs("label",{children:[e.jsx("span",{children:s("agent.variantsCount")}),e.jsx("input",{type:"number",min:1,max:8,value:n.variants,onChange:r=>t({variants:Number(r.target.value)})})]}):e.jsxs("label",{children:[e.jsx("span",{children:s("agent.maxAutoVariants")}),e.jsx("input",{type:"number",min:1,max:8,value:n.maxAutoVariants,onChange:r=>t({maxAutoVariants:Number(r.target.value)})})]}),e.jsxs("label",{children:[e.jsx("span",{children:s("agent.parallelism")}),e.jsx("input",{type:"number",min:1,max:8,value:n.parallelism,onChange:r=>t({parallelism:Number(r.target.value)})})]})]})}function Mn(n){return n.status==="queued"?`#${n.position}`:n.status==="running"?"running":n.status==="succeeded"?`${n.resultImageIds.length} img`:n.status==="failed"?n.errorCode??"failed":"canceled"}function Tn(n){if(!n)return"-";const t=Math.max(1,Math.round((Date.now()-n)/1e3));if(t<60)return`${t}s ago`;const s=Math.round(t/60);return s<60?`${s}m ago`:`${Math.round(s/60)}h ago`}function En({item:n,onCancel:t,onRetry:s}){const{t:r}=p(),l=n.status==="queued",a=n.status==="failed"||n.status==="canceled",o=`${n.plan.plannedVariants||n.plan.prompts.length||1}v/${n.plan.plannedParallelism||n.options.parallelism}p · ${n.plan.source}`;return e.jsxs("div",{className:`agent-queue-row agent-queue-row--${n.status}`,children:[e.jsxs("div",{className:"agent-queue-row__main",children:[e.jsx("strong",{children:n.prompt}),e.jsxs("span",{children:[r(`agent.queueStatus.${n.status}`)," · ",Mn(n)," · ",o," · ",Tn(n.createdAt)]}),n.plan.reason?e.jsx("small",{children:n.plan.reason}):null,n.errorMessage?e.jsx("small",{children:n.errorMessage}):null]}),e.jsxs("div",{className:"agent-queue-row__actions",children:[l?e.jsx("button",{type:"button",onClick:()=>t(n.id),children:r("agent.cancelQueue")}):null,a?e.jsx("button",{type:"button",onClick:()=>s(n.id),children:r("agent.retryQueue")}):null]})]})}function $n({items:n,summary:t,onCancel:s,onRetry:r}){const{t:l}=p();return e.jsxs("section",{className:"agent-sidebar-section","aria-label":l("agent.queue"),children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:l("agent.queue")}),e.jsxs("strong",{children:[t?.runningCount??0," ",l("agent.runningShort")," · ",t?.queuedCount??0," ",l("agent.queuedShort")]})]})}),e.jsx("div",{className:"agent-queue-list",children:n.length===0?e.jsx("div",{className:"agent-tab-empty",children:l("agent.queueEmpty")}):n.map(a=>e.jsx(En,{item:a,onCancel:s,onRetry:r},a.id))})]})}const qn=["image","library","forms","quality","model","queue"];function Ln({activeTab:n,onChange:t}){const{t:s}=p();return e.jsx("div",{className:"agent-sidebar-tabs",role:"tablist","aria-label":s("agent.rightSidebar"),children:qn.map(r=>e.jsx("button",{type:"button",role:"tab",className:n===r?"active":"","aria-selected":n===r,onClick:()=>t(r),children:s(`agent.sidebarTabs.${r}`)},r))})}function Rn({currentImage:n,images:t,contextTab:s,sidebarTab:r,queueItems:l,runSummary:a,settings:o,onContextTabChange:i,onSidebarTabChange:c,onImageSelect:u,onSettingsChange:m,onInsertPrompt:h,onCancelQueue:x,onRetryQueue:j}){const{t:y}=p();return e.jsxs("aside",{className:"agent-right-sidebar",children:[e.jsx(Ln,{activeTab:r,onChange:c}),r==="image"?e.jsx(Ie,{currentImage:n,images:t,activeTab:s,onTabChange:i,onImageSelect:u}):null,r==="library"?e.jsx(Ne,{mode:"library",onInsert:h}):null,r==="forms"?e.jsx(kn,{onInsert:h}):null,r==="quality"?e.jsxs("section",{className:"agent-sidebar-section","aria-label":y("agent.quality"),children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:y("agent.quality")}),e.jsx("strong",{children:o.generationStrategy==="auto"?y("agent.generationStrategyAuto"):y("agent.generationStrategyManual")})]})}),e.jsx(An,{settings:o,onChange:m})]}):null,r==="model"?e.jsxs("section",{className:"agent-sidebar-section","aria-label":y("agent.modelSettings"),children:[e.jsx("header",{children:e.jsxs("div",{children:[e.jsx("span",{children:y("agent.modelSettings")}),e.jsx("strong",{children:o.model})]})}),e.jsx(_e,{settings:o,onChange:m})]}):null,r==="queue"?e.jsx($n,{items:l,summary:a,onCancel:x,onRetry:j}):null]})}function Ce({summary:n}){const{t}=p();if(!n||n.status==="idle")return null;const s=n.status==="running"?t("agent.sessionRunning"):n.status==="queued"?t("agent.sessionQueued",{count:n.queuedCount}):t("agent.sessionError");return e.jsxs("span",{className:`agent-session-spinner agent-session-spinner--${n.status}`,"aria-label":s,title:s,children:[e.jsx("span",{"aria-hidden":"true"}),n.queuedCount>0?e.jsx("em",{children:n.queuedCount}):null]})}function Dn(n){const t=Math.max(1,Math.round((Date.now()-n)/6e4));if(t<60)return`${t}m`;const s=Math.round(t/60);return s<24?`${s}h`:`${Math.round(s/24)}d`}function ke({sessions:n,selectedId:t,imagesById:s,runSummaryBySession:r={},onSelect:l,onRename:a,onDelete:o}){const{t:i}=p();return e.jsx("div",{className:"agent-session-list",children:n.map(c=>{const u=c.lastImageId?s[c.lastImageId]:null;return e.jsxs("div",{className:`agent-session-row${c.id===t?" is-active":""}`,children:[e.jsxs("button",{type:"button","aria-current":c.id===t?"page":void 0,onClick:()=>l(c.id),children:[e.jsx("span",{className:"agent-session-row__thumb",children:u?e.jsx(z,{src:u.thumbUrl??u.url,alt:"",iconSize:17}):e.jsx(D,{size:17})}),e.jsxs("span",{className:"agent-session-row__body",children:[e.jsx("strong",{children:c.title}),e.jsxs("span",{children:[i("agent.imageCount",{count:c.imageCount})," · ",Dn(c.updatedAt)]})]}),e.jsxs("span",{className:"agent-session-row__badges",children:[e.jsx(Ce,{summary:r[c.id]}),c.webSearchEnabled?e.jsx("em",{title:i("agent.web"),children:"W"}):null,c.compacted?e.jsx("em",{title:i("agent.compacted"),children:"C"}):null]})]}),e.jsxs("div",{className:"agent-session-row__actions",children:[e.jsx("button",{type:"button",onClick:()=>a(c.id),"aria-label":i("agent.renameSession"),title:i("agent.renameSession"),children:e.jsx(ln,{size:14})}),e.jsx("button",{type:"button",onClick:()=>o(c.id),"aria-label":i("agent.deleteSession"),title:i("agent.deleteSession"),children:e.jsx(rn,{size:14})})]})]},c.id)})})}function zn({open:n,sessions:t,selectedId:s,imagesById:r,runSummaryBySession:l,onClose:a,onCreate:o,onSelect:i,onRename:c,onDelete:u}){const{t:m}=p(),[h,x]=d.useState(""),j=d.useCallback(()=>a(),[a]),y=ne(n,j),M=d.useMemo(()=>{const I=h.trim().toLowerCase();return I?t.filter(T=>T.title.toLowerCase().includes(I)):t},[h,t]);return n?e.jsxs("div",{className:"agent-dialog agent-dialog--drawer",role:"presentation",children:[e.jsx("button",{type:"button",className:"agent-dialog__backdrop",onClick:a,"aria-label":m("agent.closeSessions")}),e.jsxs("section",{ref:y,className:"agent-session-drawer",role:"dialog","aria-modal":"true","aria-label":m("agent.sessions"),children:[e.jsxs("header",{children:[e.jsx("strong",{children:m("agent.sessions")}),e.jsx("button",{type:"button",onClick:a,"aria-label":m("agent.closeSessions"),children:e.jsx(ee,{size:17})})]}),e.jsxs("button",{type:"button",className:"agent-sessions__create",onClick:o,children:[e.jsx(Z,{size:16}),e.jsx("span",{children:m("agent.newSession")})]}),e.jsxs("label",{className:"agent-sessions__search",children:[e.jsx(fe,{size:15}),e.jsx("input",{value:h,onChange:I=>x(I.target.value),placeholder:m("agent.sessionSearch")})]}),e.jsx(ke,{sessions:M,selectedId:s,imagesById:r,runSummaryBySession:l,onSelect:i,onRename:c,onDelete:u})]})]}):null}function Bn({sessions:n,selectedId:t,imagesById:s,runSummaryBySession:r={},onCreate:l,onSelect:a,onOpenDrawer:o}){const{t:i}=p();return e.jsxs("aside",{className:"agent-rail","aria-label":i("agent.sessions"),children:[e.jsx("button",{type:"button",onClick:o,"aria-label":i("agent.openSessions"),title:i("agent.openSessions"),children:e.jsx(be,{size:17})}),e.jsx("button",{type:"button",onClick:l,"aria-label":i("agent.newSession"),title:i("agent.newSession"),children:e.jsx(Z,{size:17})}),e.jsx("div",{className:"agent-rail__sessions",children:n.map(c=>{const u=c.lastImageId?s[c.lastImageId]:null;return e.jsxs("button",{type:"button",className:c.id===t?"is-active":"",onClick:()=>a(c.id),title:c.title,children:[u?e.jsx(z,{src:u.thumbUrl??u.url,alt:"",iconSize:17}):e.jsx(D,{size:17}),e.jsx(Ce,{summary:r[c.id]}),c.compacted?e.jsx("span",{"aria-label":i("agent.compacted")}):null]},c.id)})})]})}function Pn(n){const{t}=p(),[s,r]=d.useState(""),l=d.useMemo(()=>{const a=s.trim().toLowerCase();return a?n.sessions.filter(o=>o.title.toLowerCase().includes(a)):n.sessions},[n.sessions,s]);return e.jsxs("aside",{className:"agent-sessions","aria-label":t("agent.sessions"),children:[e.jsxs("div",{className:"agent-sessions__brand",children:[e.jsxs("div",{children:[e.jsx("span",{children:"ima2-gen"}),e.jsx("strong",{children:t("agent.title")})]}),e.jsx(je,{})]}),e.jsxs("button",{type:"button",className:"agent-sessions__create",onClick:n.onCreate,children:[e.jsx(Z,{size:16}),e.jsx("span",{children:t("agent.newSession")})]}),e.jsxs("label",{className:"agent-sessions__search",children:[e.jsx(fe,{size:15}),e.jsx("input",{value:s,onChange:a=>r(a.target.value),placeholder:t("agent.sessionSearch")})]}),e.jsx(ke,{...n,sessions:l})]})}function On({layoutMode:n,session:t,currentImage:s,onOpenSessions:r,onOpenImage:l}){const{t:a}=p(),o=n==="mobile-chat-image-sheet";return e.jsxs("header",{className:"agent-topbar",children:[e.jsx("button",{type:"button",className:"agent-topbar__icon",onClick:r,"aria-label":a("agent.openSessions"),title:a("agent.openSessions"),children:e.jsx(be,{size:18})}),e.jsxs("div",{className:"agent-topbar__title",children:[e.jsx("span",{children:a("agent.title")}),e.jsx("strong",{children:t?.title??a("agent.newSession")})]}),e.jsx(je,{}),o?e.jsx("button",{type:"button",className:"agent-topbar__image",onClick:l,"aria-label":a("agent.openImage"),title:a("agent.openImage"),children:s?e.jsx(z,{src:s.thumbUrl??s.url,alt:"",iconSize:18}):e.jsx(D,{size:18})}):null]})}const Ae="agent-local-";let xe=0;function Y(){return{sessions:[],turnsBySession:{},imagesById:{},imageIdsBySession:{},selectedSessionId:null,currentImageId:null,allowedTools:["ima2.get_image_context","ima2.web_search","ima2.generate_image"],manifest:null,queueBySession:{},runSummaryBySession:{}}}function te(n){return xe+=1,`${Ae}${n}-${Date.now()}-${xe}`}function Wn(n){return n.id.startsWith(Ae)}function Un(n,t){return{id:te("user"),role:"user",text:n,imageIds:[],webFindingIds:[],status:"complete",createdAt:t}}function Fn(n,t){return{id:te("pending"),role:"assistant",text:n,imageIds:[],webFindingIds:[],status:"streaming",createdAt:t}}function Gn(n){return{id:te("error"),role:"assistant",text:n,imageIds:[],webFindingIds:[],status:"error",createdAt:Date.now()}}function Qn(n,t,s){return{...n,turnsBySession:{...n.turnsBySession,[t]:[...n.turnsBySession[t]??[],...s]}}}function Kn(n,t,s,r){const l=n.turnsBySession[t]??[];return{...n,turnsBySession:{...n.turnsBySession,[t]:[...l.filter(a=>a.id!==s),Gn(r)]}}}function Vn(n,t,s){const r={...t.turnsBySession};for(const[l,a]of Object.entries(n.turnsBySession)){const o=r[l]??[],i=new Set(o.map(m=>m.id)),c=Math.max(0,...o.map(m=>m.createdAt??0)),u=a.filter(m=>s.has(m.id)||i.has(m.id)?!1:Wn(m)||m.status==="streaming"?!0:(m.createdAt??0)>=c);u.length>0&&(r[l]=[...o,...u])}return{...t,turnsBySession:r}}function Jn(){const{t:n}=p(),t=nn(),s=B(g=>g.currentImage),r=d.useRef(!1),l=d.useRef(0),[a,o]=d.useState(()=>Y()),[i,c]=d.useState(null),[u,m]=d.useState("image"),[h,x]=d.useState("image"),[j,y]=d.useState(null),[M,I]=d.useState(!1),[T,_]=d.useState(!1),[q,k]=d.useState(!1),[O,N]=d.useState("reconnecting"),S=d.useCallback(g=>{o({...Y(),...g}),c(g.selectedSessionId??null)},[]),f=d.useCallback((g,b)=>{const v={...Y(),...g};o(C=>Vn(C,v,b)),c(g.selectedSessionId??null)},[]),Me=()=>{l.current+=1,N("generating")},Te=()=>{l.current=Math.max(0,l.current-1),l.current===0&&N("ready")},W=d.useCallback(async g=>{N("reconnecting");const b=await ie(g);if(b.sessions.length>0){S(b),N("ready");return}const v=await ce({title:n("agent.newSession"),currentImage:s});S(v),N("ready")},[S,s,n]),se=d.useCallback(async g=>{const b=await ie(g);S(b),N("ready")},[S]);d.useEffect(()=>{r.current||(r.current=!0,W().catch(g=>{console.error(g),N("ready")}))},[W]);const L=a.sessions.find(g=>g.id===i)??null,U=a.currentImageId?a.imagesById[a.currentImageId]??null:null,ae=i?(a.imageIdsBySession[i]??[]).map(g=>a.imagesById[g]).filter(g=>!!g):[],Ee=L?a.turnsBySession[L.id]??[]:[],$e=i?a.queueBySession[i]??[]:[],A=i?a.runSummaryBySession[i]:void 0,R=ue(L?.generationSettings),qe=O==="reconnecting"?"reconnecting":l.current>0||A?.status==="queued"||A?.status==="running"?"generating":"ready",Le=t==="desktop-rail",re=t==="desktop-three-pane",F=t!=="mobile-chat-image-sheet";d.useEffect(()=>{if(!i||A?.status!=="queued"&&A?.status!=="running")return;const g=window.setInterval(()=>{se(i).catch(console.error)},1500);return()=>window.clearInterval(g)},[se,i,A?.queuedCount,A?.runningCount,A?.status]);const G=g=>{I(!1),W(g).catch(console.error)},Q=()=>{ce({title:n("agent.newSession"),currentImage:null}).then(S).catch(console.error)},le=g=>{const b=a.sessions.find(C=>C.id===g),v=window.prompt(n("agent.renameSession"),b?.title??"");v?.trim()&&X(g,{title:v.trim()}).then(S).catch(console.error)},oe=g=>{const b=a.sessions.find(v=>v.id===g);!b||!window.confirm(n("agent.deleteConfirm",{title:b.title}))||Je(g).then(S).catch(console.error)},K=g=>{if(!i)return;const b=ue({...R,...g});o(v=>({...v,sessions:v.sessions.map(C=>C.id===i?{...C,generationSettings:b,webSearchEnabled:b.webSearchEnabled}:C)})),X(i,{generationSettings:g}).then(S).catch(console.error)},Re=g=>{K({webSearchEnabled:g})},V=g=>{if(!i||a.currentImageId===g)return;const b=i;o(v=>({...v,currentImageId:g})),X(b,{currentImageId:g}).then(S).catch(console.error)},De=g=>{y({id:Date.now(),text:g})},ze=g=>{Ye(g).then(S).catch(console.error)},Be=g=>{Ze(g).then(S).catch(console.error)},Pe=()=>{if(F){x("model");return}k(!0)},Oe=g=>{if(!i)return;const b=i,v=Date.now(),C=Un(g,v),H=Fn(n("agent.pending"),v+1),We=new Set([C.id,H.id]);Me(),o(E=>Qn(E,b,[C,H])),Xe(b,g,R).then(E=>f(E.workspace,We)).catch(E=>{const Ue=E instanceof Error?E.message:String(E);o(Fe=>Kn(Fe,b,H.id,Ue))}).finally(Te)};return e.jsxs("main",{className:`agent-workspace agent-workspace--${t}`,"data-layout":t,"aria-label":n("agent.workspace"),children:[re?null:e.jsx(On,{layoutMode:t,session:L,currentImage:U,onOpenSessions:()=>I(!0),onOpenImage:()=>_(!0)}),e.jsxs("div",{className:"agent-workspace__body",children:[re?e.jsx(Pn,{sessions:a.sessions,selectedId:i??"",imagesById:a.imagesById,runSummaryBySession:a.runSummaryBySession,onCreate:Q,onSelect:G,onRename:le,onDelete:oe}):null,Le?e.jsx(Bn,{sessions:a.sessions,selectedId:i??"",imagesById:a.imagesById,runSummaryBySession:a.runSummaryBySession,onCreate:Q,onSelect:G,onOpenDrawer:()=>I(!0)}):null,e.jsx(vn,{session:L,turns:Ee,imagesById:a.imagesById,currentImageId:a.currentImageId,runtimeStatus:qe,settings:R,insertedPrompt:j,onOpenModelSettings:Pe,onWebSearchChange:Re,onImageSelect:V,onSend:Oe}),F?e.jsx(Rn,{currentImage:U,images:ae,contextTab:u,sidebarTab:h,queueItems:$e,runSummary:A,settings:R,onContextTabChange:m,onSidebarTabChange:x,onImageSelect:V,onSettingsChange:K,onInsertPrompt:De,onCancelQueue:ze,onRetryQueue:Be}):null]}),e.jsx(zn,{open:M,sessions:a.sessions,selectedId:i??"",imagesById:a.imagesById,runSummaryBySession:a.runSummaryBySession,onClose:()=>I(!1),onCreate:Q,onSelect:G,onRename:le,onDelete:oe}),e.jsx(Nn,{open:T,currentImage:U,images:ae,activeTab:u,onTabChange:m,onImageSelect:V,onClose:()=>_(!1)}),e.jsx(Cn,{open:q&&!F,settings:R,onSettingsChange:K,onClose:()=>k(!1)})]})}export{Jn as AgentWorkspace};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as m,h as T,k as E,l as R,j as e,b as o,m as C,o as $,a as d,T as q,I as O,W as A}from"./index-BAFI6htx.js";function S(s,n){return s(n==="ready"?"settings.account.status.ready":n==="auth_required"?"settings.account.status.authRequired":n==="starting"?"settings.account.status.starting":n==="offline"?"settings.account.status.offline":n==="no_image_model"?"settings.account.status.noImageModel":n==="error"?"settings.account.status.error":"settings.account.status.checking")}function I(){const{t:s}=m(),n=T(),r=E(),{data:t,error:l}=R(),c=t?.apiKeySource==="env"||t?.apiKeySource==="config"||t?.apiKeyValid===!0,u=n?.status==="ready",h=t?.apiKeySource==="config"?s("settings.account.apiSourceConfig"):s("settings.account.apiSourceEnv"),g=t?.apiKeyValid===!0,i=r?.status==="ready";return e.jsxs(e.Fragment,{children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:s("settings.account.primaryEyebrow")}),e.jsx("h4",{children:s("settings.account.oauthTitle")}),e.jsx("p",{children:s("settings.account.oauthBody")})]}),e.jsxs("div",{className:`settings-status${u?" is-ok":""}`,children:[e.jsx("span",{"aria-hidden":"true"}),S(s,n?.status)]})]}),c?e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:h}),e.jsx("h4",{children:s("settings.account.apiTitle")}),e.jsx("p",{children:s("settings.account.apiBody")})]}),e.jsxs("div",{className:`settings-status${g?" is-ok":" is-muted"}`,children:[e.jsx("span",{"aria-hidden":"true"}),s(l?"settings.account.apiUnknown":g?"settings.account.apiReady":"settings.account.apiUnavailable")]})]}):null,e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:s("settings.account.grokEyebrow")}),e.jsx("h4",{children:s("settings.account.grokTitle")}),e.jsx("p",{children:s("settings.account.grokBody")})]}),e.jsxs("div",{className:`settings-status${i?" is-ok":" is-muted"}`,children:[e.jsx("span",{"aria-hidden":"true"}),S(s,r?.status)]})]})]})}function P(){const{t:s}=m(),n=o(l=>l.reasoningEffort),r=o(l=>l.setReasoningEffort),t=l=>{r(l.target.value)};return e.jsx("div",{className:"image-model-select image-model-select--settings",children:e.jsx("select",{id:"settings-reasoning-effort",value:n,onChange:t,children:C.map(l=>e.jsx("option",{value:l.value,children:s(l.fullLabelKey)},l.value))})})}const M={ko:"KO",en:"EN"};function B(){const{t:s,locale:n}=m(),r=o(t=>t.setLocale);return e.jsx("div",{className:"lang-toggle",role:"group","aria-label":s("language.label"),children:$.map(t=>e.jsx("button",{type:"button",className:`lang-toggle__btn ${n===t?"is-active":""}`,onClick:()=>r(t),"aria-pressed":n===t,title:s(`language.${t}`),children:e.jsx("span",{className:"lang-toggle__label",children:M[t]})},t))})}const K=["system","dark","light"];function D(){const{t:s}=m(),n=o(i=>i.theme),r=o(i=>i.setTheme),t=o(i=>i.themeFamily),l=o(i=>i.setThemeFamily),[c,u]=d.useState(!1),h=d.useRef(null);d.useEffect(()=>{if(!c)return;const i=p=>{h.current&&(h.current.contains(p.target)||u(!1))},x=p=>{p.key==="Escape"&&u(!1)};return document.addEventListener("mousedown",i),document.addEventListener("keydown",x),()=>{document.removeEventListener("mousedown",i),document.removeEventListener("keydown",x)}},[c]);const g=i=>s(`theme.family.${i}`);return e.jsxs("div",{className:"theme-toggle","aria-label":s("theme.label"),children:[e.jsxs("div",{className:"theme-toggle__row",children:[e.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:s("theme.styleLabel")}),e.jsxs("div",{className:"theme-toggle__family",ref:h,children:[e.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":c,"aria-labelledby":"theme-style-label",onClick:()=>u(i=>!i),children:[e.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${t}`,"aria-hidden":"true"}),e.jsx("span",{className:"theme-toggle__family-name",children:g(t)}),e.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),c?e.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:q.map(i=>e.jsx("li",{role:"none",children:e.jsxs("button",{type:"button",role:"option","aria-selected":t===i,className:`theme-toggle__family-option ${t===i?"is-active":""}`,onClick:()=>{l(i),u(!1)},children:[e.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${i}`,"aria-hidden":"true"}),e.jsx("span",{className:"theme-toggle__family-name",children:g(i)})]})},i))}):null]})]}),e.jsxs("div",{className:"theme-toggle__row",children:[e.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:s("theme.modeLabel")}),e.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:K.map(i=>e.jsx("button",{type:"button",className:`theme-toggle__btn ${n===i?"is-active":""}`,onClick:()=>r(i),"aria-pressed":n===i,title:s(`theme.${i}`),children:s(`theme.${i}`)},i))})]})]})}const F=["rail","horizontal","sidebar"];function z(){const{t:s}=m(),n=o(t=>t.historyStripLayout),r=o(t=>t.setHistoryStripLayout);return e.jsx("div",{className:"history-layout-toggle",role:"group","aria-label":s("settings.appearance.historyStripLayoutTitle"),children:F.map(t=>e.jsx("button",{type:"button",className:`history-layout-toggle__btn ${n===t?"is-active":""}`,onClick:()=>r(t),"aria-pressed":n===t,title:s(`settings.appearance.historyStripLayout.${t}`),children:s(`settings.appearance.historyStripLayout.${t}`)},t))})}const G=[{value:"default",labelKey:"workspace.defaultLabel",descKey:"workspace.defaultDesc"},{value:"prompt-studio",labelKey:"workspace.promptStudioLabel",descKey:"workspace.promptStudioDesc"}];function H(){const s=o(t=>t.workspaceProfile),n=o(t=>t.setWorkspaceProfile),{t:r}=m();return e.jsx("div",{className:"settings-field",children:e.jsx("select",{id:"workspace-profile-select",className:"settings-field__select",value:s,onChange:t=>n(t.target.value),"aria-label":r("workspace.profileLabel"),children:G.map(t=>e.jsx("option",{value:t.value,children:r(t.labelKey)},t.value))})})}function V(s){return s>80?"var(--error, #e53935)":s>50?"var(--warning, #f59e0b)":"var(--info, #3b82f6)"}function W(s){if(!s)return"";const n=new Date(s);return`${n.getMonth()+1}/${n.getDate()} ${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}`}function U(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:e.jsx("path",{d:"M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.998 5.998 0 0 0-3.998 2.9 6.049 6.049 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023l-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.393.681zm1.097-2.365l2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.612-1.5z"})})}function Q(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd","aria-hidden":"true",children:e.jsx("path",{d:"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"})})}function J({window:s}){const n=W(s.resetsAt);return e.jsxs("div",{className:"quota-bar",children:[e.jsx("span",{className:"quota-bar__label",children:s.label}),e.jsx("div",{className:"quota-bar__track",children:e.jsx("div",{className:"quota-bar__fill",style:{width:`${Math.min(s.percent,100)}%`,background:V(s.percent)}})}),e.jsxs("span",{className:"quota-bar__pct",children:[s.percent,"%"]}),n&&e.jsx("span",{className:"quota-bar__reset",children:n})]})}function X(){const{t:s}=m(),[n,r]=d.useState(null),[t,l]=d.useState(!0);d.useEffect(()=>{const g=setTimeout(()=>{fetch("/api/quota").then(i=>i.json()).then(r).catch(()=>r(null)).finally(()=>l(!1))},1500);return()=>clearTimeout(g)},[]);const c=n?.codex,u=c?.windows&&c.windows.length>0,h=c?.account?[c.account.email,c.account.plan].filter(Boolean).join(" · "):null;return e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:s("settings.quota.eyebrow")}),e.jsx("h4",{children:s("settings.quota.title")})]}),e.jsxs("div",{className:"settings-row__control quota-cards",children:[e.jsxs("div",{className:"quota-card",children:[e.jsxs("div",{className:"quota-card__header",children:[e.jsx(U,{}),e.jsx("strong",{children:"Codex"}),h&&e.jsx("span",{className:"quota-card__account",children:h})]}),t?e.jsx("span",{className:"quota-card__loading",children:s("common.loading")}):u?c.windows.map(g=>e.jsx(J,{window:g},g.label)):c?.authenticated===!1?e.jsx("span",{className:"quota-card__hint",children:s("settings.quota.codexNotLoggedIn")}):c?.error?e.jsx("span",{className:"quota-card__hint",children:s("settings.quota.fetchError")}):e.jsx("span",{className:"quota-card__hint",children:s("settings.quota.noData")})]}),e.jsxs("div",{className:"quota-card",children:[e.jsxs("div",{className:"quota-card__header",children:[e.jsx(Q,{}),e.jsx("strong",{children:"Grok"})]}),e.jsx("a",{href:"https://grok.com/?_s=usage",target:"_blank",rel:"noopener noreferrer",className:"settings-action-btn",children:s("settings.quota.grokUsageLink")})]})]})]})}function Y(){const{t:s}=m(),[n,r]=d.useState(null);d.useEffect(()=>{fetch("/api/config/grok-planner").then(l=>l.json()).then(r).catch(()=>{})},[]);const t=async l=>{try{await fetch("/api/config/grok-planner",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:l})}),r(c=>c?{...c,model:l}:null)}catch{}};return n?e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.grokPlanner.title")}),e.jsx("p",{children:s("settings.grokPlanner.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx("select",{value:n.model,onChange:l=>{t(l.target.value)},"aria-label":s("settings.grokPlanner.title"),children:n.options.map(l=>e.jsx("option",{value:l,children:l},l))})})]}):null}const _=["account","generation","appearance","workspace","language","future"];function y({id:s,setRef:n,children:r}){const{t}=m();return e.jsxs("section",{id:s,ref:l=>n(s,l),className:"settings-section","aria-labelledby":`settings-section-${s}`,children:[e.jsx("header",{className:"settings-section__header",children:e.jsxs("div",{children:[e.jsx("h3",{id:`settings-section-${s}`,children:t(`settings.sections.${s}.title`)}),e.jsx("p",{children:t(`settings.sections.${s}.hint`)})]})}),e.jsx("div",{className:"settings-section__body",children:r})]})}function ee(){const{t:s}=m(),n=o(a=>a.activeSettingsSection),r=o(a=>a.setActiveSettingsSection),t=o(a=>a.closeSettings),l=o(a=>a.openReadinessPopup),c=o(a=>a.galleryDefaultScope),u=o(a=>a.setGalleryDefaultScope),h=o(a=>a.provider),g=d.useRef(null),i=d.useRef(null),x=d.useRef(!1),p=d.useRef({account:null,generation:null,appearance:null,workspace:null,language:null,future:null}),j=(a,f)=>{p.current[a]=f},k=a=>{r(a),x.current=!0,p.current[a]?.scrollIntoView({behavior:"auto",block:"start"}),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{x.current=!1,i.current=null},120)};return d.useEffect(()=>{const a=f=>{f.key==="Escape"&&t()};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[t]),d.useEffect(()=>{const a=g.current;if(!a||typeof IntersectionObserver!="function")return;const f=new IntersectionObserver(v=>{if(x.current)return;const N=v.filter(w=>w.isIntersecting).sort((w,L)=>L.intersectionRatio-w.intersectionRatio)[0]?.target.id;N&&_.includes(N)&&r(N)},{root:a,threshold:[.35,.6]});for(const v of _){const b=p.current[v];b&&f.observe(b)}return()=>f.disconnect()},[r]),d.useEffect(()=>()=>{i.current!==null&&window.clearTimeout(i.current)},[]),e.jsx("main",{ref:g,className:"settings-workspace","aria-labelledby":"settings-title",children:e.jsxs("div",{className:"settings-shell",children:[e.jsxs("header",{className:"settings-header",children:[e.jsxs("div",{children:[e.jsx("p",{className:"settings-eyebrow",children:s("settings.eyebrow")}),e.jsx("h2",{id:"settings-title",children:s("settings.title")}),e.jsx("p",{children:s("settings.subtitle")})]}),e.jsx("button",{type:"button",className:"settings-close",onClick:t,"aria-label":s("settings.closeAria"),title:s("settings.closeTitle"),children:"X"})]}),e.jsxs("div",{className:"settings-layout",children:[e.jsx("nav",{className:"settings-nav settings-nav--mobile","aria-label":s("settings.navAria"),children:e.jsx("div",{className:"settings-mobile-nav",role:"list",children:_.map(a=>e.jsxs("button",{type:"button",className:`settings-mobile-nav__item${n===a?" is-active":""}`,onClick:()=>k(a),"aria-current":n===a?"true":void 0,children:[e.jsx("span",{children:s(`settings.sections.${a}.title`)}),e.jsx("small",{children:s(`settings.sections.${a}.hint`)})]},a))})}),e.jsx("nav",{className:"settings-nav","aria-label":s("settings.navAria"),children:_.map(a=>e.jsxs("button",{type:"button",className:`settings-nav__item${n===a?" is-active":""}`,onClick:()=>k(a),"aria-label":s("settings.jumpTo",{section:s(`settings.sections.${a}.title`)}),children:[e.jsx("span",{children:s(`settings.sections.${a}.title`)}),e.jsx("small",{children:s(`settings.sections.${a}.hint`)})]},a))}),e.jsxs("section",{className:"settings-content","aria-label":s("settings.contentAria"),children:[e.jsxs(y,{id:"account",setRef:j,children:[e.jsx(I,{}),e.jsx(X,{}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("readiness.settingsTitle")}),e.jsx("p",{children:s("readiness.settingsBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx("button",{type:"button",className:"settings-action-btn",onClick:l,children:s("readiness.open")})})]})]}),e.jsxs(y,{id:"generation",setRef:j,children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.imageModel.title")}),e.jsx("p",{children:s("settings.imageModel.body")}),e.jsx("p",{className:"settings-row__microcopy",children:s("settings.imageModel.unsupportedHelp")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(O,{variant:"settings"})})]}),h==="grok"?e.jsxs(e.Fragment,{children:[e.jsx("article",{className:"settings-row",children:e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.grokCompatibility.title")}),e.jsx("p",{children:s("settings.grokCompatibility.body")})]})}),e.jsx(Y,{})]}):e.jsxs(e.Fragment,{children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.reasoning.title")}),e.jsx("p",{children:s("settings.reasoning.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(P,{})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.webSearch.title")}),e.jsx("p",{children:s("settings.webSearch.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(A,{})})]})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.gallery.defaultScopeTitle")}),e.jsx("p",{children:s("settings.gallery.defaultScopeBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsxs("select",{value:c,onChange:a=>u(a.target.value),"aria-label":s("settings.gallery.defaultScopeTitle"),children:[e.jsx("option",{value:"current-session",children:s("gallery.scope.current")}),e.jsx("option",{value:"all",children:s("gallery.scope.all")})]})})]})]}),e.jsxs(y,{id:"appearance",setRef:j,children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.appearance.themeTitle")}),e.jsx("p",{children:s("settings.appearance.themeBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(D,{})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.appearance.historyStripLayoutTitle")}),e.jsx("p",{children:s("settings.appearance.historyStripLayoutBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(z,{})})]})]}),e.jsx(y,{id:"workspace",setRef:j,children:e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("workspace.sectionTitle")}),e.jsx("p",{children:s("workspace.sectionBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(H,{})})]})}),e.jsx(y,{id:"language",setRef:j,children:e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:s("settings.language.title")}),e.jsx("p",{children:s("settings.language.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(B,{})})]})}),e.jsx(y,{id:"future",setRef:j,children:e.jsxs("article",{className:"settings-note",children:[e.jsx("h4",{children:s("settings.future.title")}),e.jsx("p",{children:s("settings.future.body")})]})})]})]})]})})}export{ee as SettingsWorkspace};
|