omni-context-cli 0.0.93 → 0.0.94
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 +3 -2
- package/README.zh-CN.md +3 -2
- package/dist/cli.js +7 -7
- package/dist/clients/extension.vsix +0 -0
- package/dist/clients/web/assets/{App-CM8Va3JQ.js → App-DjDfFse6.js} +2 -2
- package/dist/clients/web/assets/{ImageWorkshop-D0woOaMP.js → ImageWorkshop-hyT9YKCC.js} +1 -1
- package/dist/clients/web/assets/{_baseUniq-8ZoXEUbL.js → _baseUniq-Bf5ZQo04.js} +1 -1
- package/dist/clients/web/assets/{arc-B2TpLZAc.js → arc-CksI4bMI.js} +1 -1
- package/dist/clients/web/assets/{architectureDiagram-VXUJARFQ-sCw1Bqxj.js → architectureDiagram-VXUJARFQ-EZ1kfr-B.js} +1 -1
- package/dist/clients/web/assets/{blockDiagram-VD42YOAC-TzLCV8cu.js → blockDiagram-VD42YOAC-I78PD5A0.js} +1 -1
- package/dist/clients/web/assets/{c4Diagram-YG6GDRKO-CB75g8mk.js → c4Diagram-YG6GDRKO-RL3uo7H9.js} +1 -1
- package/dist/clients/web/assets/channel-JIkUSSh2.js +1 -0
- package/dist/clients/web/assets/{chunk-4BX2VUAB-CnCH9PHV.js → chunk-4BX2VUAB-Dajhvqsl.js} +1 -1
- package/dist/clients/web/assets/{chunk-55IACEB6-j6kgk2Ub.js → chunk-55IACEB6-DHeJD3yo.js} +1 -1
- package/dist/clients/web/assets/{chunk-B4BG7PRW-CU5TkBMe.js → chunk-B4BG7PRW-DSm_fvYj.js} +1 -1
- package/dist/clients/web/assets/{chunk-DI55MBZ5-B9PNM453.js → chunk-DI55MBZ5-DZpq0vb0.js} +1 -1
- package/dist/clients/web/assets/{chunk-FMBD7UC4-ubTGnudB.js → chunk-FMBD7UC4-T7us9cyM.js} +1 -1
- package/dist/clients/web/assets/{chunk-QN33PNHL-D5no8Jfp.js → chunk-QN33PNHL-BnwFtpaC.js} +1 -1
- package/dist/clients/web/assets/{chunk-QZHKN3VN-RIiVnjQx.js → chunk-QZHKN3VN-DoJJAdPJ.js} +1 -1
- package/dist/clients/web/assets/{chunk-TZMSLE5B-DTy2vR2B.js → chunk-TZMSLE5B-CPRKeX5Y.js} +1 -1
- package/dist/clients/web/assets/classDiagram-2ON5EDUG-BDYZ047q.js +1 -0
- package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-BDYZ047q.js +1 -0
- package/dist/clients/web/assets/clone-IghYl_Ok.js +1 -0
- package/dist/clients/web/assets/{cose-bilkent-S5V4N54A-Bqct6Lvl.js → cose-bilkent-S5V4N54A-DiBahR7x.js} +1 -1
- package/dist/clients/web/assets/{dagre-6UL2VRFP-441VQkK1.js → dagre-6UL2VRFP-Cb0eMfHk.js} +1 -1
- package/dist/clients/web/assets/{diagram-PSM6KHXK-BO9H2Aak.js → diagram-PSM6KHXK-A8_5l2sp.js} +1 -1
- package/dist/clients/web/assets/{diagram-QEK2KX5R-3lGBBCVw.js → diagram-QEK2KX5R-DqpCDEmy.js} +1 -1
- package/dist/clients/web/assets/{diagram-S2PKOQOG-DY84HL8G.js → diagram-S2PKOQOG-Z0-s4not.js} +1 -1
- package/dist/clients/web/assets/{erDiagram-Q2GNP2WA-DWcgMtNO.js → erDiagram-Q2GNP2WA-Bpi4ggfg.js} +1 -1
- package/dist/clients/web/assets/{flowDiagram-NV44I4VS-Ybex1wXj.js → flowDiagram-NV44I4VS-DLXyF4QH.js} +1 -1
- package/dist/clients/web/assets/{ganttDiagram-JELNMOA3-ChWIAt1T.js → ganttDiagram-JELNMOA3-BVffxweM.js} +1 -1
- package/dist/clients/web/assets/{gitGraphDiagram-NY62KEGX-ClJFv0ul.js → gitGraphDiagram-NY62KEGX-DdvEsKru.js} +1 -1
- package/dist/clients/web/assets/{graph-Cs6Qxtax.js → graph-B5RnG_15.js} +1 -1
- package/dist/clients/web/assets/{index-DPbcKIIg.js → index-ld8vzNT7.js} +2 -2
- package/dist/clients/web/assets/{infoDiagram-WHAUD3N6-DnTUhHY0.js → infoDiagram-WHAUD3N6-BDYBeNO3.js} +1 -1
- package/dist/clients/web/assets/{journeyDiagram-XKPGCS4Q-CIENPsGT.js → journeyDiagram-XKPGCS4Q-B1kCTS3g.js} +1 -1
- package/dist/clients/web/assets/{kanban-definition-3W4ZIXB7-AhFkjsY3.js → kanban-definition-3W4ZIXB7-klJ-AOxg.js} +1 -1
- package/dist/clients/web/assets/{layout-BntZLQYy.js → layout-BXxQSVDe.js} +1 -1
- package/dist/clients/web/assets/{linear-CbNyjCBb.js → linear-B6Ksl5C9.js} +1 -1
- package/dist/clients/web/assets/{min-1nUrt3JX.js → min-JwhjXiR7.js} +1 -1
- package/dist/clients/web/assets/{mindmap-definition-VGOIOE7T-Cs3o7Dfz.js → mindmap-definition-VGOIOE7T-h8v8ASn1.js} +1 -1
- package/dist/clients/web/assets/{pieDiagram-ADFJNKIX-yQPBfZ8y.js → pieDiagram-ADFJNKIX-CMMpWf_d.js} +1 -1
- package/dist/clients/web/assets/{quadrantDiagram-AYHSOK5B-5kPfWslR.js → quadrantDiagram-AYHSOK5B-pC9zZrgu.js} +1 -1
- package/dist/clients/web/assets/{requirementDiagram-UZGBJVZJ-DoucrOtZ.js → requirementDiagram-UZGBJVZJ-DIgNRW2g.js} +1 -1
- package/dist/clients/web/assets/{sankeyDiagram-TZEHDZUN-PTFbpc-u.js → sankeyDiagram-TZEHDZUN-Brr1MQ0p.js} +1 -1
- package/dist/clients/web/assets/{sequenceDiagram-WL72ISMW-BZ33cKfm.js → sequenceDiagram-WL72ISMW-CDQhAH2B.js} +1 -1
- package/dist/clients/web/assets/{stateDiagram-FKZM4ZOC-C4idf-WB.js → stateDiagram-FKZM4ZOC-B-jiiQoR.js} +1 -1
- package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-JSFPsD14.js +1 -0
- package/dist/clients/web/assets/{timeline-definition-IT6M3QCI-P1su699P.js → timeline-definition-IT6M3QCI-e7EJOQT2.js} +1 -1
- package/dist/clients/web/assets/{treemap-KMMF4GRG-BmD_DFh3.js → treemap-KMMF4GRG-CVM-vGMH.js} +1 -1
- package/dist/clients/web/assets/{useAppearance-PXtz8423.js → useAppearance-BZtw0eF7.js} +1 -1
- package/dist/clients/web/assets/{xychartDiagram-PRI3JC2R-DtIpn1yU.js → xychartDiagram-PRI3JC2R-CyDwivj3.js} +1 -1
- package/dist/clients/web/index.html +1 -1
- package/dist/skills/cookbook/SKILL.md +57 -3
- package/package.json +1 -1
- package/dist/clients/web/assets/channel-Cc6WLpkH.js +0 -1
- package/dist/clients/web/assets/classDiagram-2ON5EDUG-8oZ_o2z8.js +0 -1
- package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-8oZ_o2z8.js +0 -1
- package/dist/clients/web/assets/clone-Z2wHm8pw.js +0 -1
- package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-B-b2Duqy.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{R as e,j as t,u as n,r as o,a,b as i,c as r,d as s}from"./index-DPbcKIIg.js";import{P as l,I as c,C as d,a as u,b as m,s as h,S as v,u as p,L as b,c as g,R as f,T as x}from"./useAppearance-PXtz8423.js";const w=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M7 2h10v2H7zM5 4h2v10H5zm12-2h2v12h-2z"}),e.createElement("path",{d:"M13 2h2v6h-2zM9 2h2v4H9zm-4 8h14v2H5zm2 4h10v2H7zm2 2h2v4H9zm4 0h2v4h-2zm-4 4h6v2H9z"})),y=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M21 15v4h-2v-4zm-2 4v2H5v-2zM5 15v4H3v-4zm8-12v14h-2V3z"}),e.createElement("path",{d:"M7 11v2h10v-2zm2 2v2h2v-2zm4 0v2h2v-2z"}),e.createElement("path",{d:"M15 11v2h2v-2z"})),N=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M4 4h6v2H4zm0 14h16v2H4zM20 8h2v10h-2zM2 6h2v12H2zm8 0h10v2H10z"}));function k({children:e,onClick:n,disabled:o,variant:a="secondary",className:i="",href:r,download:s}){const l=`inline-flex items-center justify-center gap-2 px-3 py-2.5 border border-dashed text-xs font-bold uppercase tracking-wider transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-vscode-accent ${"primary"===a?"bg-vscode-accent text-white border-vscode-accent hover:opacity-90":"danger"===a?"text-vscode-error border-vscode-error/60 hover:bg-vscode-error/10":"text-vscode-text border-vscode-border hover:bg-vscode-element"} ${o?"opacity-50 cursor-not-allowed":"cursor-pointer"} ${i}`;return r&&!o?t.jsx("a",{href:r,download:s,className:l,children:e}):t.jsx("button",{type:"button",onClick:n,disabled:o,className:l,children:e})}function C({src:e,alt:n="",overlayUrl:o,className:a,children:i}){return t.jsxs("div",{className:`relative overflow-hidden ${a??""}`,children:[t.jsx("img",{src:e,alt:n,className:"w-full block object-contain select-none pointer-events-none"}),o&&t.jsx("img",{src:o,alt:"",className:"absolute inset-0 w-full h-full object-contain pointer-events-none"}),i]})}function M({assets:e,dragging:o,paintingId:a,paintedMasks:i,canPaintMask:r,onAddFiles:s,onRemoveAsset:m,onPaintMask:h}){const v=n();return t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-vscode-text-muted",children:v.workshop.referenceImages}),t.jsxs("label",{className:"inline-flex items-center justify-center p-2 cursor-pointer text-vscode-accent hover:opacity-80 focus-within:outline-none focus-within:ring-1 focus-within:ring-vscode-accent",title:v.workshop.dropImages,children:[t.jsx(l,{width:16,height:16}),t.jsx("input",{type:"file",accept:"image/*",multiple:!0,className:"sr-only",onChange:e=>{e.target.files&&s(e.target.files),e.target.value=""}})]})]}),e.length>0&&t.jsx("div",{className:"space-y-2",children:e.map(e=>{var n;return t.jsxs("div",{className:"relative group min-w-0 border border-dashed border-vscode-border",children:[t.jsx("div",{className:"bg-vscode-bg p-1",children:t.jsx(C,{src:e.url,alt:e.fileName||v.workshop.referenceImageAlt,overlayUrl:(null==(n=i.get(e.id))?void 0:n.overlayUrl)??null})}),t.jsxs("div",{className:"absolute top-1 right-1 flex items-center gap-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 transition-opacity",children:[r&&t.jsx(c,{icon:w,title:v.workshop.paintMask,onClick:()=>h(e.id),className:"p-1 bg-vscode-bg/80 "+(a===e.id?"text-vscode-accent":"hover:text-vscode-accent")}),t.jsx(c,{icon:d,title:v.workshop.removeImage,onClick:()=>m(e.id),className:"p-1 bg-vscode-bg/80 hover:text-vscode-error"})]}),t.jsx("div",{className:"px-1 py-1 text-[10px] text-vscode-text-muted truncate",children:e.fileName})]},e.id)})}),t.jsxs("div",{className:`border border-dashed flex items-center justify-center text-vscode-text-muted text-sm gap-2 text-center px-4 ${0===e.length?"h-40 flex-col leading-relaxed":"h-10"} ${o?"border-vscode-accent bg-vscode-element":"border-vscode-border bg-vscode-bg"}`,children:[0===e.length&&t.jsx(u,{width:32,height:32}),t.jsx("span",{children:v.workshop.dropImages})]})]})}function z({label:e,children:n,hint:o}){return t.jsxs("label",{className:"block space-y-2",children:[t.jsx("span",{className:"block text-sm font-medium text-vscode-text",children:e}),n,o&&t.jsx("span",{className:"block text-xs text-vscode-text-muted leading-relaxed",children:o})]})}function j(e){return"image/jpeg"===e?".jpg":"image/webp"===e?".webp":".png"}function P(e){const t=e.match(/^data:([^;]+);base64,(.+)$/s);return t?{mediaType:t[1],base64:t[2]}:null}function S(e){return new Promise((t,n)=>{const o=new Image;o.onload=()=>t(o),o.onerror=()=>n(new Error("Failed to load image")),o.src=e})}function T({item:e,onReuse:o,onRemove:a}){const i=n(),r=e.revisedPrompt||e.prompt;return t.jsxs("article",{className:"relative group border border-dashed border-vscode-border bg-vscode-sidebar min-w-0",children:[t.jsx("div",{className:"bg-vscode-bg p-2 flex items-center justify-center",children:t.jsx("img",{src:e.url,alt:r,className:"block w-full max-h-[70vh] object-contain"})}),t.jsx("div",{className:"absolute top-1 right-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 transition-opacity",children:t.jsx(c,{icon:d,title:i.workshop.removeFromResults,onClick:()=>a(e.id),className:"p-1 bg-vscode-bg/80 hover:text-vscode-error"})}),t.jsxs("div",{className:"p-3 space-y-3 min-w-0",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs text-vscode-text-muted min-w-0",children:[t.jsx("span",{className:"uppercase shrink-0",children:e.kind}),t.jsx("span",{className:"truncate",children:e.model})]}),t.jsx("p",{className:"text-xs text-vscode-text-muted line-clamp-2",children:r}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2 min-w-0",children:[t.jsxs(k,{href:e.url,download:`image-${e.id}${j(e.mimeType)}`,className:"min-w-0",children:[t.jsx(y,{width:14,height:14}),i.workshop.download]}),t.jsxs(k,{onClick:()=>o(e),children:[t.jsx(l,{width:14,height:14}),i.workshop.reuse]}),t.jsxs(k,{onClick:async function(){try{await navigator.clipboard.writeText(r)}catch{return void h(i.actions.copyFailed,"error")}h(i.workshop.promptCopied,"success")},children:[t.jsx(m,{width:14,height:14}),i.workshop.copyPrompt]})]})]})]})}function $({baseImage:e,mask:a,paintOverlayUrl:i,onMaskChange:r,onDone:s}){const l=n(),c=o.useRef(null),d=o.useRef(void 0),[u,m]=o.useState(48),[h,v]=o.useState(!1),[p,b]=o.useState(!1);function g(t){if(!e)return;const n=t.currentTarget,o=n.getContext("2d");if(!o)return;const{x:a,y:i}=function(e,t){const n=t.getBoundingClientRect();return{x:(e.clientX-n.left)/n.width*t.width,y:(e.clientY-n.top)/n.height*t.height}}(t,n),r=n.width/n.getBoundingClientRect().width;o.fillStyle="rgba(255,255,255,0.55)",o.beginPath(),o.arc(a,i,u*r/2,0,2*Math.PI),o.fill(),b(!0)}return o.useEffect(()=>{const t=c.current;if(!t||!(null==e?void 0:e.width)||!(null==e?void 0:e.height))return;if(d.current===e.id)return;d.current=e.id,t.width=e.width,t.height=e.height;const n=t.getContext("2d");n&&(n.clearRect(0,0,t.width,t.height),b(!1))},[null==e?void 0:e.id]),o.useEffect(()=>{const t=c.current;if(!t||!e||!i)return;const n=t.getContext("2d");if(!n)return;const o=new Image;o.onload=()=>{n.clearRect(0,0,t.width,t.height),n.drawImage(o,0,0,t.width,t.height),b(!0)},o.src=i},[e,i]),e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bg-vscode-bg p-2",children:t.jsx(C,{src:e.url,alt:e.fileName||l.workshop.referenceImageAlt,children:t.jsx("canvas",{ref:c,className:"absolute inset-0 w-full h-full cursor-crosshair touch-none",onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),v(!0),g(e)},onPointerMove:e=>{h&&g(e)},onPointerUp:t=>{v(!1),t.currentTarget.releasePointerCapture(t.pointerId),function(){const t=c.current;if(!t||!e||!p)return void r(null,null);const n=t.toDataURL("image/png"),o=document.createElement("canvas");o.width=t.width,o.height=t.height;const a=o.getContext("2d"),i=t.getContext("2d");if(!a||!i)return;const s=i.getImageData(0,0,t.width,t.height),l=a.createImageData(t.width,t.height);for(let e=0;e<s.data.length;e+=4){const t=s.data[e+3]>0;l.data[e]=255,l.data[e+1]=255,l.data[e+2]=255,l.data[e+3]=t?0:255}a.putImageData(l,0,0);const d=o.toDataURL("image/png"),u=P(d);u&&r({id:crypto.randomUUID(),base64:u.base64,mediaType:u.mediaType,fileName:"mask.png",url:d,width:t.width,height:t.height},n)}()},onPointerCancel:()=>v(!1)})})}),t.jsxs("div",{className:"p-3 space-y-3",children:[t.jsxs("label",{className:"block space-y-2",children:[t.jsx("span",{className:"block text-xs font-medium text-vscode-text",children:l.workshop.brushSize}),t.jsx("input",{type:"range",min:8,max:160,value:u,onChange:e=>m(Number(e.target.value)),className:"pixel-range w-full"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(k,{onClick:s,children:l.workshop.done}),t.jsx(k,{onClick:function(){const e=c.current,t=null==e?void 0:e.getContext("2d");e&&t&&t.clearRect(0,0,e.width,e.height),b(!1),r(null,null)},disabled:!p&&!a,children:l.workshop.clear})]})]})]}):null}const E="w-full px-4 py-2.5 bg-vscode-bg border border-dashed border-vscode-border text-sm text-vscode-text focus:outline-none focus:border-vscode-accent focus-visible:ring-1 focus-visible:ring-vscode-accent disabled:opacity-60 disabled:cursor-not-allowed";function H({options:e,sizeError:a,experimental:i,capabilities:r,onChange:s}){const l=n().workshop,c=o.useMemo(()=>(null==r?void 0:r.sizeConstraints)?function(e,t){return[{value:"auto",label:t.auto},...e.presets.map(e=>({value:e,label:e.replace("x"," x ")})),{value:"custom",label:t.custom}]}(r.sizeConstraints,l):[{value:"auto",label:l.auto}],[null==r?void 0:r.sizeConstraints,l]),d=null==r?void 0:r.sizeConstraints,u=a||(i?l.experimentalSize:void 0);return t.jsxs("aside",{className:"border-l border-dashed border-vscode-border bg-vscode-sidebar overflow-y-auto px-4 pt-4 pb-24 space-y-4 min-h-0",children:[t.jsxs("div",{className:"space-y-2",children:[t.jsx("h2",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-muted",children:l.output}),t.jsx("p",{className:"text-xs leading-relaxed text-vscode-text-muted",children:l.protocolSupportHint})]}),t.jsx(v,{label:l.size,value:d?e.size:"auto",onChange:e=>s("size",e),options:c,disabled:!d,description:"custom"!==e.size?u:void 0}),d&&"custom"===e.size&&t.jsx(z,{label:l.customSize,hint:u||l.sizeMultipleHint(d.multipleOf),children:t.jsx("input",{value:e.customSize,onChange:e=>s("customSize",e.target.value),placeholder:"1536x1024",className:E,"aria-invalid":!!a})}),t.jsx(v,{label:l.quality,value:(null==r?void 0:r.supportsQuality)?e.quality:"auto",onChange:e=>s("quality",e),options:[{value:"auto",label:l.auto},{value:"low",label:l.qualityLow},{value:"medium",label:l.qualityMedium},{value:"high",label:l.qualityHigh}],disabled:!(null==r?void 0:r.supportsQuality)}),t.jsx(v,{label:l.format,value:(null==r?void 0:r.supportsOutputFormat)?e.outputFormat:"png",onChange:e=>s("outputFormat",e),options:[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}],disabled:!(null==r?void 0:r.supportsOutputFormat)}),(null==r?void 0:r.supportsCompression)&&"png"!==e.outputFormat&&t.jsx(z,{label:l.compression,children:t.jsx("input",{type:"number",min:0,max:100,value:e.outputCompression,onChange:e=>s("outputCompression",Number(e.target.value)),className:E})}),t.jsx(v,{label:l.background,value:(null==r?void 0:r.supportsBackground)?e.background:"auto",onChange:e=>s("background",e),options:[{value:"auto",label:l.auto},{value:"opaque",label:l.opaque}],disabled:!(null==r?void 0:r.supportsBackground)}),t.jsx(v,{label:l.moderation,value:(null==r?void 0:r.supportsModeration)?e.moderation:"auto",onChange:e=>s("moderation",e),options:[{value:"auto",label:l.auto},{value:"low",label:l.low}],disabled:!(null==r?void 0:r.supportsModeration)}),t.jsx(z,{label:l.images,children:t.jsx("input",{type:"number",min:1,max:10,value:(null==r?void 0:r.supportsMultipleOutputs)?e.n:1,onChange:e=>s("n",Number(e.target.value)),disabled:!(null==r?void 0:r.supportsMultipleOutputs),className:E})})]})}function O(e){return{base64:e.base64,mediaType:e.mediaType,fileName:e.fileName}}async function F(){const e=await a(i("imageWorkshop/config"));if(!e.ok)throw new Error("Failed to load image workshop config");return e.json()}async function I(){const e=await a(i("imageWorkshop/session"));if(!e.ok)throw new Error("Failed to load workshop session");return e.json()}async function R(){const e=await a(i("imageWorkshop/sessions"));return e.ok?e.json():[]}function W(e){var t;return(null==(t=null==e?void 0:e.sizeConstraints)?void 0:t.presets[0])??""}function A(e=null){return{n:1,size:"auto",customSize:W(e),quality:"auto",outputFormat:"png",outputCompression:100,background:"auto",moderation:"auto"}}function D(){const e=s(e=>e.getConfig),l=s(e=>{var t;return null==(t=e.config)?void 0:t.projectName}),[c,m]=o.useState(null),[w,y]=o.useState(!0),[C,E]=o.useState(null),[D,U]=o.useState(""),[q,J]=o.useState([]),[B,_]=o.useState("generate"),[G,L]=o.useState(""),[V,K]=o.useState(""),[Q,X]=o.useState([]),[Y,Z]=o.useState([]),[ee,te]=o.useState(!1),[ne,oe]=o.useState(!1),[ae,ie]=o.useState(()=>A()),re=o.useRef(null),se=o.useRef(!1),[le,ce]=o.useState(null),[de,ue]=o.useState(new Map),me=n();p(),o.useEffect(()=>{e().catch(()=>{}),Promise.all([F(),I(),R()]).then(([e,t,n])=>{m(e);const o=e.imageModels.find(t=>t.id===e.defaultImageModelId)??null;K(e.defaultImageModelId||""),ie(A((null==o?void 0:o.capabilities)??null)),E(t.id),U(t.title),Z(t.items),J(n)}).catch(e=>h(e instanceof Error?e.message:String(e),"error")).finally(()=>y(!1))},[]),o.useEffect(()=>{document.title=l?`${l} - ${me.workshop.title}`:me.workshop.title},[l,me.workshop.title]),o.useEffect(()=>{if(!re.current)return;re.current.style.height="auto";const e=Math.max(160,Math.min(re.current.scrollHeight,640));re.current.style.height=`${e}px`},[G]);const he=(null==c?void 0:c.imageModels.find(e=>e.id===V))??null,ve=(null==he?void 0:he.capabilities)??null,pe=(null==ve?void 0:ve.maxReferenceImages)??10,be=(null==ve?void 0:ve.supportsMask)?Q.find(e=>de.has(e.id)):void 0,ge=be?de.get(be.id).mask:null,fe="custom"===ae.size?ae.customSize:ae.size,xe=(null==ve?void 0:ve.sizeConstraints)?function(e,t){if(!e||"auto"===e)return null;const n=e.match(/^(\d+)x(\d+)$/);if(!n)return"Use WIDTHxHEIGHT, for example 1536x1024.";const o=Number(n[1]),a=Number(n[2]),i=Math.max(o,a),r=Math.min(o,a),s=o*a;return o%t.multipleOf!==0||a%t.multipleOf!==0?`Both edges must be multiples of ${t.multipleOf}.`:i>t.maxLongEdge?`The longest edge must be ${t.maxLongEdge}px or less.`:i/r>t.maxRatio?`The aspect ratio must not exceed ${t.maxRatio}:1.`:s<t.minPixels||s>t.maxPixels?`Total pixels must be between ${t.minPixels.toLocaleString()} and ${t.maxPixels.toLocaleString()}.`:null}(fe,ve.sizeConstraints):null,we=!!(null==ve?void 0:ve.sizeConstraints)&&function(e,t){const n=e.match(/^(\d+)x(\d+)$/);return!!n&&Number(n[1])*Number(n[2])>t.experimentalAbove}(fe,ve.sizeConstraints),ye=!(ee||w||!V||!G.trim()||xe||!("edit"!==B||Q.length>0)),Ne=le?Q.find(e=>e.id===le)??null:null,ke=Ne?de.get(Ne.id):void 0,Ce=(null==ve?void 0:ve.supportsMask)&&ke?ke.mask:null,Me=(null==ke?void 0:ke.overlayUrl)??null;function ze(){X([]),ue(new Map),ce(null),_("generate"),L("")}async function je(e){const t=Array.from(e).filter(e=>e.type.startsWith("image/"));if(0===t.length)return;const n=(await Promise.allSettled(t.map(e=>async function(e){const t=await new Promise((t,n)=>{const o=new FileReader;o.onload=()=>t(String(o.result)),o.onerror=()=>n(o.error),o.readAsDataURL(e)}),n=P(t);if(!n)throw new Error("Invalid image file");const o=await S(t);return{id:crypto.randomUUID(),base64:n.base64,mediaType:n.mediaType,fileName:e.name,url:t,width:o.naturalWidth,height:o.naturalHeight}}(e)))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(0===n.length)return;const o=Math.max(0,pe-Q.length);n.length>o&&h(me.workshop.maxReferences(pe),"info"),X(e=>[...e,...n].slice(0,pe))}async function Pe(e){try{const t=await async function(e){try{const t=await fetch(e.url),n=await t.blob(),o=await new Promise(e=>{const t=new FileReader;t.onloadend=()=>e(t.result),t.readAsDataURL(n)}),a=P(o);if(!a)return null;const i=await S(o);return{id:crypto.randomUUID(),base64:a.base64,mediaType:a.mediaType,fileName:`${e.id}${j(a.mediaType)}`,url:o,width:i.naturalWidth,height:i.naturalHeight}}catch{return null}}(e);if(!t)return;_("edit"),X(e=>[t,...e].slice(0,pe)),h(me.workshop.reuseToast,"success")}catch(t){h(t instanceof Error?t.message:String(t),"error")}}async function Se(e){Z(t=>t.filter(t=>t.id!==e));try{await async function(e){if(!(await a(i("imageWorkshop/item/remove"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok)throw new Error("Failed to remove image")}(e)}catch(t){const e=await I().catch(()=>null);e&&Z(e.items),h(t instanceof Error?t.message:String(t),"error")}}const Te=t.jsx("div",{className:"min-[900px]:hidden h-full flex items-center justify-center bg-vscode-bg text-vscode-text px-6 text-center",children:t.jsxs("div",{className:"max-w-sm border border-dashed border-vscode-border bg-vscode-sidebar p-6 space-y-3",children:[t.jsx(u,{width:40,height:40,className:"mx-auto text-vscode-text-muted"}),t.jsx("h1",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-header",children:me.workshop.desktopOnlyTitle}),t.jsx("p",{className:"text-sm leading-relaxed text-vscode-text-muted",children:me.workshop.desktopOnlyHint})]})});return w?t.jsxs(t.Fragment,{children:[Te,t.jsxs("div",{className:"hidden min-[900px]:flex h-full items-center justify-center bg-vscode-bg text-vscode-text",children:[t.jsx(b,{width:18,height:18,className:"animate-spin mr-2"})," ",me.workshop.loading]})]}):t.jsxs("div",{className:"h-full flex flex-col bg-vscode-bg text-vscode-text text-sm overflow-hidden",onDragOver:e=>{e.preventDefault(),oe(!0)},onDragLeave:function(e){const t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||oe(!1)},onDrop:function(e){e.preventDefault(),oe(!1);const t=e.dataTransfer.files;Array.from(t).some(e=>e.type.startsWith("image/"))&&_("edit"),je(t)},children:[Te,t.jsx("header",{className:"hidden min-[900px]:block safe-area-top flex-none px-4 pb-2 border-b border-dashed border-vscode-border bg-vscode-bg z-10",children:t.jsxs("div",{className:"flex items-center justify-between gap-4",children:[t.jsx("div",{className:"flex items-center gap-2 min-w-0 flex-1 max-w-[min(48rem,60vw)]",children:t.jsx(g,{icon:u,title:D,sessions:q,currentId:C,emptyText:me.workshop.noSessions,newTitle:me.workshop.newSession,onSelect:async function(e){try{const t=await async function(e){const t=await a(i("imageWorkshop/session/load"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})});if(!t.ok)throw new Error("Session not found");return t.json()}(e.id);E(t.id),U(t.title),Z(t.items),ze()}catch(t){h(t instanceof Error?t.message:String(t),"error")}},onNew:async function(){try{const e=await async function(){const e=await a(i("imageWorkshop/session/new"),{method:"POST"});if(!e.ok)throw new Error("Failed to create session");return e.json()}();E(e.id),U(e.title),Z([]),ze()}catch(e){h(e instanceof Error?e.message:String(e),"error")}},disabled:ee})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs(k,{onClick:()=>async function(){await a(i("imageWorkshop/openFolder"),{method:"POST"})}().catch(()=>{}),children:[t.jsx(N,{width:16,height:16}),me.workshop.folder]}),ee?t.jsxs(k,{onClick:async function(){se.current=!0,await async function(){await a(i("imageWorkshop/stop"),{method:"POST"})}().catch(()=>{}),te(!1)},variant:"danger",children:[t.jsx(d,{width:16,height:16}),me.workshop.stop]}):t.jsxs(k,{onClick:async function(){if(!ye||!ve)return;se.current=!1,te(!0);const e="generate"===B?"generate":"edit";try{const t=[];await async function(e,t,n,o){var s;const l={modelId:t.modelId,prompt:t.prompt,...(c=t.options,d=t.capabilities,{n:d.supportsMultipleOutputs?c.n:void 0,size:d.sizeConstraints?"custom"===c.size?c.customSize:c.size:void 0,quality:d.supportsQuality?c.quality:void 0,outputFormat:d.supportsOutputFormat?c.outputFormat:void 0,outputCompression:d.supportsCompression?c.outputCompression:void 0,background:d.supportsBackground?c.background:void 0,moderation:d.supportsModeration?c.moderation:void 0}),images:null==(s=t.images)?void 0:s.map(O),mask:t.mask?O(t.mask):void 0};var c,d;const u=await a(i(`imageWorkshop/${e}`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!u.ok){const e=await u.json().catch(()=>null);throw new Error((null==e?void 0:e.error)||(e?JSON.stringify(e):"Request failed"))}await r(u,(e,t)=>{if("image"===e)n(t);else if("session"===e)null==o||o(t);else if("error"===e)throw new Error(t.error||"Request failed")})}(e,{modelId:V,prompt:G,options:ae,capabilities:ve,images:"generate"===B?[]:Q,mask:"edit"===B?ge:null},e=>t.push(e),e=>{E(e.id),U(e.title),J(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?e:t):[e,...t])}),t.length>0&&Z(e=>[...t,...e]),L(""),X([]),ue(new Map),ce(null)}catch(t){se.current||h(t instanceof Error?t.message:String(t),"error")}finally{te(!1)}},disabled:!ye,variant:"primary",children:[t.jsx(f,{width:16,height:16}),me.workshop.run]})]})]})}),t.jsxs("main",{className:"hidden min-[900px]:grid flex-1 min-h-0 grid-cols-[18rem_minmax(0,1fr)_18rem] 2xl:grid-cols-[20rem_minmax(0,1fr)_20rem] overflow-hidden",children:[t.jsxs("aside",{className:"border-r border-dashed border-vscode-border bg-vscode-sidebar overflow-y-auto px-4 pt-4 pb-24 space-y-4 min-h-0",children:[t.jsxs("section",{className:"space-y-2",children:[t.jsx("div",{className:"grid grid-cols-2 gap-1 bg-vscode-element border border-dashed border-vscode-border p-1",children:["generate","edit"].map(e=>t.jsx("button",{type:"button",onClick:()=>{_(e),"edit"!==e&&(ce(null),ue(new Map))},className:"px-2 py-2 text-xs font-bold uppercase cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-vscode-accent "+(B===e?"bg-vscode-accent text-white":"text-vscode-text-muted hover:text-vscode-text hover:bg-vscode-bg/60"),children:"generate"===e?me.workshop.generate:me.workshop.edit},e))}),t.jsx("p",{className:"text-xs text-vscode-text-muted leading-relaxed",children:"generate"===B?me.workshop.generateDescription:me.workshop.editDescription})]}),t.jsx(v,{label:me.workshop.imageModel,value:V,onChange:function(e){const t=(null==c?void 0:c.imageModels.find(t=>t.id===e))??null,n=(null==t?void 0:t.capabilities)??null,o=(null==n?void 0:n.maxReferenceImages)??10;K(e);const a=Q.slice(0,o);Q.length>a.length&&h(me.workshop.keptReferences(o),"info"),X(a),ce(e=>e&&a.some(t=>t.id===e)?e:null),ue(e=>{let t=!1;for(const o of e.keys())if(!a.some(e=>e.id===o)){t=!0;break}if(!t)return e;const n=new Map(e);for(const o of[...n.keys()])a.some(e=>e.id===o)||n.delete(o);return n});const i=W(ve),r=W(n);ie(e=>({...e,customSize:e.customSize&&e.customSize!==i?e.customSize:r||e.customSize})),(null==n?void 0:n.supportsMask)||(ue(new Map),ce(null))},options:(null==c?void 0:c.imageModels.map(e=>({value:e.id,label:e.nickname||e.name})))||[],placeholder:me.workshop.noModelsPlaceholder,disabled:0===(null==c?void 0:c.imageModels.length)}),0===(null==c?void 0:c.imageModels.length)&&t.jsx("p",{className:"text-xs text-vscode-warning",children:me.workshop.addModelHint}),t.jsx(z,{label:me.workshop.prompt,children:t.jsx("textarea",{ref:re,value:G,onChange:e=>L(e.target.value),placeholder:me.workshop.promptPlaceholder,className:"w-full min-h-40 max-h-[40rem] resize-none overflow-y-auto px-4 py-3 bg-vscode-bg border border-dashed border-vscode-border text-sm text-vscode-text placeholder-vscode-text-muted focus:outline-none focus:border-vscode-accent focus-visible:ring-1 focus-visible:ring-vscode-accent leading-relaxed"})}),"edit"===B&&ve&&ve.maxReferenceImages>0&&t.jsx(M,{assets:Q,dragging:ne,paintingId:le,paintedMasks:de,canPaintMask:!!(null==ve?void 0:ve.supportsMask),onAddFiles:je,onRemoveAsset:e=>{X(t=>t.filter(t=>t.id!==e)),le===e&&ce(null),ue(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})},onPaintMask:e=>ce(t=>t===e?null:e)})]}),t.jsxs("section",{className:"min-h-0 overflow-y-auto px-4 pt-4 pb-24 space-y-4",children:[Ne&&(null==ve?void 0:ve.supportsMask)&&t.jsxs("article",{className:"border border-dashed border-vscode-accent/50 bg-vscode-sidebar min-w-0",children:[t.jsx("div",{className:"p-3 min-w-0",children:t.jsxs("h2",{className:"text-xs font-bold uppercase tracking-wider text-vscode-text-muted",children:[me.workshop.maskPainter," — ",Ne.fileName]})}),t.jsx($,{baseImage:Ne,mask:Ce,paintOverlayUrl:Me,onMaskChange:(e,t)=>{ue(n=>{const o=new Map(n);return e&&t?o.set(Ne.id,{mask:e,overlayUrl:t}):o.delete(Ne.id),o})},onDone:()=>ce(null)})]}),0===Y.length?!Ne&&(ee?t.jsxs("div",{className:"min-h-[24rem] border border-dashed border-vscode-border bg-vscode-sidebar flex flex-col items-center justify-center text-center text-vscode-text-muted gap-3",children:[t.jsx(b,{width:40,height:40,className:"animate-spin text-vscode-accent"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.generating}),t.jsx("p",{className:"mt-2 text-sm",children:me.workshop.generatingHint})]})]}):t.jsxs("div",{className:"min-h-[24rem] flex flex-col items-center justify-center text-center text-vscode-text-muted gap-3",children:[t.jsx(u,{width:48,height:48}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.noImagesYet}),t.jsx("p",{className:"mt-2 text-sm",children:me.workshop.emptyHint})]})]})):t.jsxs("div",{className:"space-y-2",children:[t.jsx("h2",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-muted",children:me.workshop.results}),t.jsxs("div",{className:"space-y-4",children:[ee&&t.jsxs("div",{className:"border border-dashed border-vscode-border bg-vscode-sidebar p-6 flex items-center gap-3 text-vscode-text-muted",children:[t.jsx(b,{width:24,height:24,className:"animate-spin text-vscode-accent shrink-0"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.generating}),t.jsx("p",{className:"mt-1 text-xs",children:me.workshop.generatingHint})]})]}),Y.map(e=>t.jsx(T,{item:e,onReuse:Pe,onRemove:Se},e.id))]})]})]}),t.jsx(H,{options:ae,sizeError:xe,experimental:we,capabilities:ve,onChange:function(e,t){ie(n=>({...n,[e]:t}))}})]}),t.jsx(x,{})]})}export{D as default};
|
|
1
|
+
import{R as e,j as t,u as n,r as o,a,b as i,c as r,d as s}from"./index-ld8vzNT7.js";import{P as l,I as c,C as d,a as u,b as m,s as h,S as v,u as p,L as b,c as g,R as f,T as x}from"./useAppearance-BZtw0eF7.js";const w=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M7 2h10v2H7zM5 4h2v10H5zm12-2h2v12h-2z"}),e.createElement("path",{d:"M13 2h2v6h-2zM9 2h2v4H9zm-4 8h14v2H5zm2 4h10v2H7zm2 2h2v4H9zm4 0h2v4h-2zm-4 4h6v2H9z"})),y=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M21 15v4h-2v-4zm-2 4v2H5v-2zM5 15v4H3v-4zm8-12v14h-2V3z"}),e.createElement("path",{d:"M7 11v2h10v-2zm2 2v2h2v-2zm4 0v2h2v-2z"}),e.createElement("path",{d:"M15 11v2h2v-2z"})),N=t=>e.createElement("svg",Object.assign({viewBox:"0 0 24 24",width:"24",height:"24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},t),e.createElement("path",{d:"M4 4h6v2H4zm0 14h16v2H4zM20 8h2v10h-2zM2 6h2v12H2zm8 0h10v2H10z"}));function k({children:e,onClick:n,disabled:o,variant:a="secondary",className:i="",href:r,download:s}){const l=`inline-flex items-center justify-center gap-2 px-3 py-2.5 border border-dashed text-xs font-bold uppercase tracking-wider transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-vscode-accent ${"primary"===a?"bg-vscode-accent text-white border-vscode-accent hover:opacity-90":"danger"===a?"text-vscode-error border-vscode-error/60 hover:bg-vscode-error/10":"text-vscode-text border-vscode-border hover:bg-vscode-element"} ${o?"opacity-50 cursor-not-allowed":"cursor-pointer"} ${i}`;return r&&!o?t.jsx("a",{href:r,download:s,className:l,children:e}):t.jsx("button",{type:"button",onClick:n,disabled:o,className:l,children:e})}function C({src:e,alt:n="",overlayUrl:o,className:a,children:i}){return t.jsxs("div",{className:`relative overflow-hidden ${a??""}`,children:[t.jsx("img",{src:e,alt:n,className:"w-full block object-contain select-none pointer-events-none"}),o&&t.jsx("img",{src:o,alt:"",className:"absolute inset-0 w-full h-full object-contain pointer-events-none"}),i]})}function M({assets:e,dragging:o,paintingId:a,paintedMasks:i,canPaintMask:r,onAddFiles:s,onRemoveAsset:m,onPaintMask:h}){const v=n();return t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2",children:[t.jsx("h2",{className:"text-xs font-bold uppercase tracking-wider text-vscode-text-muted",children:v.workshop.referenceImages}),t.jsxs("label",{className:"inline-flex items-center justify-center p-2 cursor-pointer text-vscode-accent hover:opacity-80 focus-within:outline-none focus-within:ring-1 focus-within:ring-vscode-accent",title:v.workshop.dropImages,children:[t.jsx(l,{width:16,height:16}),t.jsx("input",{type:"file",accept:"image/*",multiple:!0,className:"sr-only",onChange:e=>{e.target.files&&s(e.target.files),e.target.value=""}})]})]}),e.length>0&&t.jsx("div",{className:"space-y-2",children:e.map(e=>{var n;return t.jsxs("div",{className:"relative group min-w-0 border border-dashed border-vscode-border",children:[t.jsx("div",{className:"bg-vscode-bg p-1",children:t.jsx(C,{src:e.url,alt:e.fileName||v.workshop.referenceImageAlt,overlayUrl:(null==(n=i.get(e.id))?void 0:n.overlayUrl)??null})}),t.jsxs("div",{className:"absolute top-1 right-1 flex items-center gap-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 transition-opacity",children:[r&&t.jsx(c,{icon:w,title:v.workshop.paintMask,onClick:()=>h(e.id),className:"p-1 bg-vscode-bg/80 "+(a===e.id?"text-vscode-accent":"hover:text-vscode-accent")}),t.jsx(c,{icon:d,title:v.workshop.removeImage,onClick:()=>m(e.id),className:"p-1 bg-vscode-bg/80 hover:text-vscode-error"})]}),t.jsx("div",{className:"px-1 py-1 text-[10px] text-vscode-text-muted truncate",children:e.fileName})]},e.id)})}),t.jsxs("div",{className:`border border-dashed flex items-center justify-center text-vscode-text-muted text-sm gap-2 text-center px-4 ${0===e.length?"h-40 flex-col leading-relaxed":"h-10"} ${o?"border-vscode-accent bg-vscode-element":"border-vscode-border bg-vscode-bg"}`,children:[0===e.length&&t.jsx(u,{width:32,height:32}),t.jsx("span",{children:v.workshop.dropImages})]})]})}function z({label:e,children:n,hint:o}){return t.jsxs("label",{className:"block space-y-2",children:[t.jsx("span",{className:"block text-sm font-medium text-vscode-text",children:e}),n,o&&t.jsx("span",{className:"block text-xs text-vscode-text-muted leading-relaxed",children:o})]})}function j(e){return"image/jpeg"===e?".jpg":"image/webp"===e?".webp":".png"}function P(e){const t=e.match(/^data:([^;]+);base64,(.+)$/s);return t?{mediaType:t[1],base64:t[2]}:null}function S(e){return new Promise((t,n)=>{const o=new Image;o.onload=()=>t(o),o.onerror=()=>n(new Error("Failed to load image")),o.src=e})}function T({item:e,onReuse:o,onRemove:a}){const i=n(),r=e.revisedPrompt||e.prompt;return t.jsxs("article",{className:"relative group border border-dashed border-vscode-border bg-vscode-sidebar min-w-0",children:[t.jsx("div",{className:"bg-vscode-bg p-2 flex items-center justify-center",children:t.jsx("img",{src:e.url,alt:r,className:"block w-full max-h-[70vh] object-contain"})}),t.jsx("div",{className:"absolute top-1 right-1 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 transition-opacity",children:t.jsx(c,{icon:d,title:i.workshop.removeFromResults,onClick:()=>a(e.id),className:"p-1 bg-vscode-bg/80 hover:text-vscode-error"})}),t.jsxs("div",{className:"p-3 space-y-3 min-w-0",children:[t.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs text-vscode-text-muted min-w-0",children:[t.jsx("span",{className:"uppercase shrink-0",children:e.kind}),t.jsx("span",{className:"truncate",children:e.model})]}),t.jsx("p",{className:"text-xs text-vscode-text-muted line-clamp-2",children:r}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2 min-w-0",children:[t.jsxs(k,{href:e.url,download:`image-${e.id}${j(e.mimeType)}`,className:"min-w-0",children:[t.jsx(y,{width:14,height:14}),i.workshop.download]}),t.jsxs(k,{onClick:()=>o(e),children:[t.jsx(l,{width:14,height:14}),i.workshop.reuse]}),t.jsxs(k,{onClick:async function(){try{await navigator.clipboard.writeText(r)}catch{return void h(i.actions.copyFailed,"error")}h(i.workshop.promptCopied,"success")},children:[t.jsx(m,{width:14,height:14}),i.workshop.copyPrompt]})]})]})]})}function $({baseImage:e,mask:a,paintOverlayUrl:i,onMaskChange:r,onDone:s}){const l=n(),c=o.useRef(null),d=o.useRef(void 0),[u,m]=o.useState(48),[h,v]=o.useState(!1),[p,b]=o.useState(!1);function g(t){if(!e)return;const n=t.currentTarget,o=n.getContext("2d");if(!o)return;const{x:a,y:i}=function(e,t){const n=t.getBoundingClientRect();return{x:(e.clientX-n.left)/n.width*t.width,y:(e.clientY-n.top)/n.height*t.height}}(t,n),r=n.width/n.getBoundingClientRect().width;o.fillStyle="rgba(255,255,255,0.55)",o.beginPath(),o.arc(a,i,u*r/2,0,2*Math.PI),o.fill(),b(!0)}return o.useEffect(()=>{const t=c.current;if(!t||!(null==e?void 0:e.width)||!(null==e?void 0:e.height))return;if(d.current===e.id)return;d.current=e.id,t.width=e.width,t.height=e.height;const n=t.getContext("2d");n&&(n.clearRect(0,0,t.width,t.height),b(!1))},[null==e?void 0:e.id]),o.useEffect(()=>{const t=c.current;if(!t||!e||!i)return;const n=t.getContext("2d");if(!n)return;const o=new Image;o.onload=()=>{n.clearRect(0,0,t.width,t.height),n.drawImage(o,0,0,t.width,t.height),b(!0)},o.src=i},[e,i]),e?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"bg-vscode-bg p-2",children:t.jsx(C,{src:e.url,alt:e.fileName||l.workshop.referenceImageAlt,children:t.jsx("canvas",{ref:c,className:"absolute inset-0 w-full h-full cursor-crosshair touch-none",onPointerDown:e=>{e.currentTarget.setPointerCapture(e.pointerId),v(!0),g(e)},onPointerMove:e=>{h&&g(e)},onPointerUp:t=>{v(!1),t.currentTarget.releasePointerCapture(t.pointerId),function(){const t=c.current;if(!t||!e||!p)return void r(null,null);const n=t.toDataURL("image/png"),o=document.createElement("canvas");o.width=t.width,o.height=t.height;const a=o.getContext("2d"),i=t.getContext("2d");if(!a||!i)return;const s=i.getImageData(0,0,t.width,t.height),l=a.createImageData(t.width,t.height);for(let e=0;e<s.data.length;e+=4){const t=s.data[e+3]>0;l.data[e]=255,l.data[e+1]=255,l.data[e+2]=255,l.data[e+3]=t?0:255}a.putImageData(l,0,0);const d=o.toDataURL("image/png"),u=P(d);u&&r({id:crypto.randomUUID(),base64:u.base64,mediaType:u.mediaType,fileName:"mask.png",url:d,width:t.width,height:t.height},n)}()},onPointerCancel:()=>v(!1)})})}),t.jsxs("div",{className:"p-3 space-y-3",children:[t.jsxs("label",{className:"block space-y-2",children:[t.jsx("span",{className:"block text-xs font-medium text-vscode-text",children:l.workshop.brushSize}),t.jsx("input",{type:"range",min:8,max:160,value:u,onChange:e=>m(Number(e.target.value)),className:"pixel-range w-full"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(k,{onClick:s,children:l.workshop.done}),t.jsx(k,{onClick:function(){const e=c.current,t=null==e?void 0:e.getContext("2d");e&&t&&t.clearRect(0,0,e.width,e.height),b(!1),r(null,null)},disabled:!p&&!a,children:l.workshop.clear})]})]})]}):null}const E="w-full px-4 py-2.5 bg-vscode-bg border border-dashed border-vscode-border text-sm text-vscode-text focus:outline-none focus:border-vscode-accent focus-visible:ring-1 focus-visible:ring-vscode-accent disabled:opacity-60 disabled:cursor-not-allowed";function H({options:e,sizeError:a,experimental:i,capabilities:r,onChange:s}){const l=n().workshop,c=o.useMemo(()=>(null==r?void 0:r.sizeConstraints)?function(e,t){return[{value:"auto",label:t.auto},...e.presets.map(e=>({value:e,label:e.replace("x"," x ")})),{value:"custom",label:t.custom}]}(r.sizeConstraints,l):[{value:"auto",label:l.auto}],[null==r?void 0:r.sizeConstraints,l]),d=null==r?void 0:r.sizeConstraints,u=a||(i?l.experimentalSize:void 0);return t.jsxs("aside",{className:"border-l border-dashed border-vscode-border bg-vscode-sidebar overflow-y-auto px-4 pt-4 pb-24 space-y-4 min-h-0",children:[t.jsxs("div",{className:"space-y-2",children:[t.jsx("h2",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-muted",children:l.output}),t.jsx("p",{className:"text-xs leading-relaxed text-vscode-text-muted",children:l.protocolSupportHint})]}),t.jsx(v,{label:l.size,value:d?e.size:"auto",onChange:e=>s("size",e),options:c,disabled:!d,description:"custom"!==e.size?u:void 0}),d&&"custom"===e.size&&t.jsx(z,{label:l.customSize,hint:u||l.sizeMultipleHint(d.multipleOf),children:t.jsx("input",{value:e.customSize,onChange:e=>s("customSize",e.target.value),placeholder:"1536x1024",className:E,"aria-invalid":!!a})}),t.jsx(v,{label:l.quality,value:(null==r?void 0:r.supportsQuality)?e.quality:"auto",onChange:e=>s("quality",e),options:[{value:"auto",label:l.auto},{value:"low",label:l.qualityLow},{value:"medium",label:l.qualityMedium},{value:"high",label:l.qualityHigh}],disabled:!(null==r?void 0:r.supportsQuality)}),t.jsx(v,{label:l.format,value:(null==r?void 0:r.supportsOutputFormat)?e.outputFormat:"png",onChange:e=>s("outputFormat",e),options:[{value:"png",label:"PNG"},{value:"jpeg",label:"JPEG"},{value:"webp",label:"WebP"}],disabled:!(null==r?void 0:r.supportsOutputFormat)}),(null==r?void 0:r.supportsCompression)&&"png"!==e.outputFormat&&t.jsx(z,{label:l.compression,children:t.jsx("input",{type:"number",min:0,max:100,value:e.outputCompression,onChange:e=>s("outputCompression",Number(e.target.value)),className:E})}),t.jsx(v,{label:l.background,value:(null==r?void 0:r.supportsBackground)?e.background:"auto",onChange:e=>s("background",e),options:[{value:"auto",label:l.auto},{value:"opaque",label:l.opaque}],disabled:!(null==r?void 0:r.supportsBackground)}),t.jsx(v,{label:l.moderation,value:(null==r?void 0:r.supportsModeration)?e.moderation:"auto",onChange:e=>s("moderation",e),options:[{value:"auto",label:l.auto},{value:"low",label:l.low}],disabled:!(null==r?void 0:r.supportsModeration)}),t.jsx(z,{label:l.images,children:t.jsx("input",{type:"number",min:1,max:10,value:(null==r?void 0:r.supportsMultipleOutputs)?e.n:1,onChange:e=>s("n",Number(e.target.value)),disabled:!(null==r?void 0:r.supportsMultipleOutputs),className:E})})]})}function O(e){return{base64:e.base64,mediaType:e.mediaType,fileName:e.fileName}}async function F(){const e=await a(i("imageWorkshop/config"));if(!e.ok)throw new Error("Failed to load image workshop config");return e.json()}async function I(){const e=await a(i("imageWorkshop/session"));if(!e.ok)throw new Error("Failed to load workshop session");return e.json()}async function R(){const e=await a(i("imageWorkshop/sessions"));return e.ok?e.json():[]}function W(e){var t;return(null==(t=null==e?void 0:e.sizeConstraints)?void 0:t.presets[0])??""}function A(e=null){return{n:1,size:"auto",customSize:W(e),quality:"auto",outputFormat:"png",outputCompression:100,background:"auto",moderation:"auto"}}function D(){const e=s(e=>e.getConfig),l=s(e=>{var t;return null==(t=e.config)?void 0:t.projectName}),[c,m]=o.useState(null),[w,y]=o.useState(!0),[C,E]=o.useState(null),[D,U]=o.useState(""),[q,J]=o.useState([]),[B,_]=o.useState("generate"),[G,L]=o.useState(""),[V,K]=o.useState(""),[Q,X]=o.useState([]),[Y,Z]=o.useState([]),[ee,te]=o.useState(!1),[ne,oe]=o.useState(!1),[ae,ie]=o.useState(()=>A()),re=o.useRef(null),se=o.useRef(!1),[le,ce]=o.useState(null),[de,ue]=o.useState(new Map),me=n();p(),o.useEffect(()=>{e().catch(()=>{}),Promise.all([F(),I(),R()]).then(([e,t,n])=>{m(e);const o=e.imageModels.find(t=>t.id===e.defaultImageModelId)??null;K(e.defaultImageModelId||""),ie(A((null==o?void 0:o.capabilities)??null)),E(t.id),U(t.title),Z(t.items),J(n)}).catch(e=>h(e instanceof Error?e.message:String(e),"error")).finally(()=>y(!1))},[]),o.useEffect(()=>{document.title=l?`${l} - ${me.workshop.title}`:me.workshop.title},[l,me.workshop.title]),o.useEffect(()=>{if(!re.current)return;re.current.style.height="auto";const e=Math.max(160,Math.min(re.current.scrollHeight,640));re.current.style.height=`${e}px`},[G]);const he=(null==c?void 0:c.imageModels.find(e=>e.id===V))??null,ve=(null==he?void 0:he.capabilities)??null,pe=(null==ve?void 0:ve.maxReferenceImages)??10,be=(null==ve?void 0:ve.supportsMask)?Q.find(e=>de.has(e.id)):void 0,ge=be?de.get(be.id).mask:null,fe="custom"===ae.size?ae.customSize:ae.size,xe=(null==ve?void 0:ve.sizeConstraints)?function(e,t){if(!e||"auto"===e)return null;const n=e.match(/^(\d+)x(\d+)$/);if(!n)return"Use WIDTHxHEIGHT, for example 1536x1024.";const o=Number(n[1]),a=Number(n[2]),i=Math.max(o,a),r=Math.min(o,a),s=o*a;return o%t.multipleOf!==0||a%t.multipleOf!==0?`Both edges must be multiples of ${t.multipleOf}.`:i>t.maxLongEdge?`The longest edge must be ${t.maxLongEdge}px or less.`:i/r>t.maxRatio?`The aspect ratio must not exceed ${t.maxRatio}:1.`:s<t.minPixels||s>t.maxPixels?`Total pixels must be between ${t.minPixels.toLocaleString()} and ${t.maxPixels.toLocaleString()}.`:null}(fe,ve.sizeConstraints):null,we=!!(null==ve?void 0:ve.sizeConstraints)&&function(e,t){const n=e.match(/^(\d+)x(\d+)$/);return!!n&&Number(n[1])*Number(n[2])>t.experimentalAbove}(fe,ve.sizeConstraints),ye=!(ee||w||!V||!G.trim()||xe||!("edit"!==B||Q.length>0)),Ne=le?Q.find(e=>e.id===le)??null:null,ke=Ne?de.get(Ne.id):void 0,Ce=(null==ve?void 0:ve.supportsMask)&&ke?ke.mask:null,Me=(null==ke?void 0:ke.overlayUrl)??null;function ze(){X([]),ue(new Map),ce(null),_("generate"),L("")}async function je(e){const t=Array.from(e).filter(e=>e.type.startsWith("image/"));if(0===t.length)return;const n=(await Promise.allSettled(t.map(e=>async function(e){const t=await new Promise((t,n)=>{const o=new FileReader;o.onload=()=>t(String(o.result)),o.onerror=()=>n(o.error),o.readAsDataURL(e)}),n=P(t);if(!n)throw new Error("Invalid image file");const o=await S(t);return{id:crypto.randomUUID(),base64:n.base64,mediaType:n.mediaType,fileName:e.name,url:t,width:o.naturalWidth,height:o.naturalHeight}}(e)))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(0===n.length)return;const o=Math.max(0,pe-Q.length);n.length>o&&h(me.workshop.maxReferences(pe),"info"),X(e=>[...e,...n].slice(0,pe))}async function Pe(e){try{const t=await async function(e){try{const t=await fetch(e.url),n=await t.blob(),o=await new Promise(e=>{const t=new FileReader;t.onloadend=()=>e(t.result),t.readAsDataURL(n)}),a=P(o);if(!a)return null;const i=await S(o);return{id:crypto.randomUUID(),base64:a.base64,mediaType:a.mediaType,fileName:`${e.id}${j(a.mediaType)}`,url:o,width:i.naturalWidth,height:i.naturalHeight}}catch{return null}}(e);if(!t)return;_("edit"),X(e=>[t,...e].slice(0,pe)),h(me.workshop.reuseToast,"success")}catch(t){h(t instanceof Error?t.message:String(t),"error")}}async function Se(e){Z(t=>t.filter(t=>t.id!==e));try{await async function(e){if(!(await a(i("imageWorkshop/item/remove"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})})).ok)throw new Error("Failed to remove image")}(e)}catch(t){const e=await I().catch(()=>null);e&&Z(e.items),h(t instanceof Error?t.message:String(t),"error")}}const Te=t.jsx("div",{className:"min-[900px]:hidden h-full flex items-center justify-center bg-vscode-bg text-vscode-text px-6 text-center",children:t.jsxs("div",{className:"max-w-sm border border-dashed border-vscode-border bg-vscode-sidebar p-6 space-y-3",children:[t.jsx(u,{width:40,height:40,className:"mx-auto text-vscode-text-muted"}),t.jsx("h1",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-header",children:me.workshop.desktopOnlyTitle}),t.jsx("p",{className:"text-sm leading-relaxed text-vscode-text-muted",children:me.workshop.desktopOnlyHint})]})});return w?t.jsxs(t.Fragment,{children:[Te,t.jsxs("div",{className:"hidden min-[900px]:flex h-full items-center justify-center bg-vscode-bg text-vscode-text",children:[t.jsx(b,{width:18,height:18,className:"animate-spin mr-2"})," ",me.workshop.loading]})]}):t.jsxs("div",{className:"h-full flex flex-col bg-vscode-bg text-vscode-text text-sm overflow-hidden",onDragOver:e=>{e.preventDefault(),oe(!0)},onDragLeave:function(e){const t=e.relatedTarget;t instanceof Node&&e.currentTarget.contains(t)||oe(!1)},onDrop:function(e){e.preventDefault(),oe(!1);const t=e.dataTransfer.files;Array.from(t).some(e=>e.type.startsWith("image/"))&&_("edit"),je(t)},children:[Te,t.jsx("header",{className:"hidden min-[900px]:block safe-area-top flex-none px-4 pb-2 border-b border-dashed border-vscode-border bg-vscode-bg z-10",children:t.jsxs("div",{className:"flex items-center justify-between gap-4",children:[t.jsx("div",{className:"flex items-center gap-2 min-w-0 flex-1 max-w-[min(48rem,60vw)]",children:t.jsx(g,{icon:u,title:D,sessions:q,currentId:C,emptyText:me.workshop.noSessions,newTitle:me.workshop.newSession,onSelect:async function(e){try{const t=await async function(e){const t=await a(i("imageWorkshop/session/load"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e})});if(!t.ok)throw new Error("Session not found");return t.json()}(e.id);E(t.id),U(t.title),Z(t.items),ze()}catch(t){h(t instanceof Error?t.message:String(t),"error")}},onNew:async function(){try{const e=await async function(){const e=await a(i("imageWorkshop/session/new"),{method:"POST"});if(!e.ok)throw new Error("Failed to create session");return e.json()}();E(e.id),U(e.title),Z([]),ze()}catch(e){h(e instanceof Error?e.message:String(e),"error")}},disabled:ee})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs(k,{onClick:()=>async function(){await a(i("imageWorkshop/openFolder"),{method:"POST"})}().catch(()=>{}),children:[t.jsx(N,{width:16,height:16}),me.workshop.folder]}),ee?t.jsxs(k,{onClick:async function(){se.current=!0,await async function(){await a(i("imageWorkshop/stop"),{method:"POST"})}().catch(()=>{}),te(!1)},variant:"danger",children:[t.jsx(d,{width:16,height:16}),me.workshop.stop]}):t.jsxs(k,{onClick:async function(){if(!ye||!ve)return;se.current=!1,te(!0);const e="generate"===B?"generate":"edit";try{const t=[];await async function(e,t,n,o){var s;const l={modelId:t.modelId,prompt:t.prompt,...(c=t.options,d=t.capabilities,{n:d.supportsMultipleOutputs?c.n:void 0,size:d.sizeConstraints?"custom"===c.size?c.customSize:c.size:void 0,quality:d.supportsQuality?c.quality:void 0,outputFormat:d.supportsOutputFormat?c.outputFormat:void 0,outputCompression:d.supportsCompression?c.outputCompression:void 0,background:d.supportsBackground?c.background:void 0,moderation:d.supportsModeration?c.moderation:void 0}),images:null==(s=t.images)?void 0:s.map(O),mask:t.mask?O(t.mask):void 0};var c,d;const u=await a(i(`imageWorkshop/${e}`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)});if(!u.ok){const e=await u.json().catch(()=>null);throw new Error((null==e?void 0:e.error)||(e?JSON.stringify(e):"Request failed"))}await r(u,(e,t)=>{if("image"===e)n(t);else if("session"===e)null==o||o(t);else if("error"===e)throw new Error(t.error||"Request failed")})}(e,{modelId:V,prompt:G,options:ae,capabilities:ve,images:"generate"===B?[]:Q,mask:"edit"===B?ge:null},e=>t.push(e),e=>{E(e.id),U(e.title),J(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?e:t):[e,...t])}),t.length>0&&Z(e=>[...t,...e]),L(""),X([]),ue(new Map),ce(null)}catch(t){se.current||h(t instanceof Error?t.message:String(t),"error")}finally{te(!1)}},disabled:!ye,variant:"primary",children:[t.jsx(f,{width:16,height:16}),me.workshop.run]})]})]})}),t.jsxs("main",{className:"hidden min-[900px]:grid flex-1 min-h-0 grid-cols-[18rem_minmax(0,1fr)_18rem] 2xl:grid-cols-[20rem_minmax(0,1fr)_20rem] overflow-hidden",children:[t.jsxs("aside",{className:"border-r border-dashed border-vscode-border bg-vscode-sidebar overflow-y-auto px-4 pt-4 pb-24 space-y-4 min-h-0",children:[t.jsxs("section",{className:"space-y-2",children:[t.jsx("div",{className:"grid grid-cols-2 gap-1 bg-vscode-element border border-dashed border-vscode-border p-1",children:["generate","edit"].map(e=>t.jsx("button",{type:"button",onClick:()=>{_(e),"edit"!==e&&(ce(null),ue(new Map))},className:"px-2 py-2 text-xs font-bold uppercase cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-vscode-accent "+(B===e?"bg-vscode-accent text-white":"text-vscode-text-muted hover:text-vscode-text hover:bg-vscode-bg/60"),children:"generate"===e?me.workshop.generate:me.workshop.edit},e))}),t.jsx("p",{className:"text-xs text-vscode-text-muted leading-relaxed",children:"generate"===B?me.workshop.generateDescription:me.workshop.editDescription})]}),t.jsx(v,{label:me.workshop.imageModel,value:V,onChange:function(e){const t=(null==c?void 0:c.imageModels.find(t=>t.id===e))??null,n=(null==t?void 0:t.capabilities)??null,o=(null==n?void 0:n.maxReferenceImages)??10;K(e);const a=Q.slice(0,o);Q.length>a.length&&h(me.workshop.keptReferences(o),"info"),X(a),ce(e=>e&&a.some(t=>t.id===e)?e:null),ue(e=>{let t=!1;for(const o of e.keys())if(!a.some(e=>e.id===o)){t=!0;break}if(!t)return e;const n=new Map(e);for(const o of[...n.keys()])a.some(e=>e.id===o)||n.delete(o);return n});const i=W(ve),r=W(n);ie(e=>({...e,customSize:e.customSize&&e.customSize!==i?e.customSize:r||e.customSize})),(null==n?void 0:n.supportsMask)||(ue(new Map),ce(null))},options:(null==c?void 0:c.imageModels.map(e=>({value:e.id,label:e.nickname||e.name})))||[],placeholder:me.workshop.noModelsPlaceholder,disabled:0===(null==c?void 0:c.imageModels.length)}),0===(null==c?void 0:c.imageModels.length)&&t.jsx("p",{className:"text-xs text-vscode-warning",children:me.workshop.addModelHint}),t.jsx(z,{label:me.workshop.prompt,children:t.jsx("textarea",{ref:re,value:G,onChange:e=>L(e.target.value),placeholder:me.workshop.promptPlaceholder,className:"w-full min-h-40 max-h-[40rem] resize-none overflow-y-auto px-4 py-3 bg-vscode-bg border border-dashed border-vscode-border text-sm text-vscode-text placeholder-vscode-text-muted focus:outline-none focus:border-vscode-accent focus-visible:ring-1 focus-visible:ring-vscode-accent leading-relaxed"})}),"edit"===B&&ve&&ve.maxReferenceImages>0&&t.jsx(M,{assets:Q,dragging:ne,paintingId:le,paintedMasks:de,canPaintMask:!!(null==ve?void 0:ve.supportsMask),onAddFiles:je,onRemoveAsset:e=>{X(t=>t.filter(t=>t.id!==e)),le===e&&ce(null),ue(t=>{if(!t.has(e))return t;const n=new Map(t);return n.delete(e),n})},onPaintMask:e=>ce(t=>t===e?null:e)})]}),t.jsxs("section",{className:"min-h-0 overflow-y-auto px-4 pt-4 pb-24 space-y-4",children:[Ne&&(null==ve?void 0:ve.supportsMask)&&t.jsxs("article",{className:"border border-dashed border-vscode-accent/50 bg-vscode-sidebar min-w-0",children:[t.jsx("div",{className:"p-3 min-w-0",children:t.jsxs("h2",{className:"text-xs font-bold uppercase tracking-wider text-vscode-text-muted",children:[me.workshop.maskPainter," — ",Ne.fileName]})}),t.jsx($,{baseImage:Ne,mask:Ce,paintOverlayUrl:Me,onMaskChange:(e,t)=>{ue(n=>{const o=new Map(n);return e&&t?o.set(Ne.id,{mask:e,overlayUrl:t}):o.delete(Ne.id),o})},onDone:()=>ce(null)})]}),0===Y.length?!Ne&&(ee?t.jsxs("div",{className:"min-h-[24rem] border border-dashed border-vscode-border bg-vscode-sidebar flex flex-col items-center justify-center text-center text-vscode-text-muted gap-3",children:[t.jsx(b,{width:40,height:40,className:"animate-spin text-vscode-accent"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.generating}),t.jsx("p",{className:"mt-2 text-sm",children:me.workshop.generatingHint})]})]}):t.jsxs("div",{className:"min-h-[24rem] flex flex-col items-center justify-center text-center text-vscode-text-muted gap-3",children:[t.jsx(u,{width:48,height:48}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.noImagesYet}),t.jsx("p",{className:"mt-2 text-sm",children:me.workshop.emptyHint})]})]})):t.jsxs("div",{className:"space-y-2",children:[t.jsx("h2",{className:"text-sm font-bold uppercase tracking-wider text-vscode-text-muted",children:me.workshop.results}),t.jsxs("div",{className:"space-y-4",children:[ee&&t.jsxs("div",{className:"border border-dashed border-vscode-border bg-vscode-sidebar p-6 flex items-center gap-3 text-vscode-text-muted",children:[t.jsx(b,{width:24,height:24,className:"animate-spin text-vscode-accent shrink-0"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-vscode-text-header font-bold uppercase tracking-wider",children:me.workshop.generating}),t.jsx("p",{className:"mt-1 text-xs",children:me.workshop.generatingHint})]})]}),Y.map(e=>t.jsx(T,{item:e,onReuse:Pe,onRemove:Se},e.id))]})]})]}),t.jsx(H,{options:ae,sizeError:xe,experimental:we,capabilities:ve,onChange:function(e,t){ie(n=>({...n,[e]:t}))}})]}),t.jsx(x,{})]})}export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{aU as r,bq as n,aE as t,aS as u,aD as e,br as o,bs as i,bt as f,bu as a,bv as c,bl as v,bw as s,aV as l,a_ as b,b1 as j,bx as d,aY as p,by as y,bo as w,aF as _,bm as m,bz as O}from"./App-
|
|
1
|
+
import{aU as r,bq as n,aE as t,aS as u,aD as e,br as o,bs as i,bt as f,bu as a,bv as c,bl as v,bw as s,aV as l,a_ as b,b1 as j,bx as d,aY as p,by as y,bo as w,aF as _,bm as m,bz as O}from"./App-DjDfFse6.js";function h(t){return"symbol"==typeof t||r(t)&&"[object Symbol]"==n(t)}function g(r,n){for(var t=-1,u=null==r?0:r.length,e=Array(u);++t<u;)e[t]=n(r[t],t,r);return e}var A=u?u.prototype:void 0,k=A?A.toString:void 0;function S(r){if("string"==typeof r)return r;if(t(r))return g(r,S)+"";if(h(r))return k?k.call(r):"";var n=r+"";return"0"==n&&1/r==-1/0?"-0":n}function x(r,n){for(var t=-1,u=null==r?0:r.length;++t<u&&!1!==n(r[t],t,r););return r}function D(r,n,t,u){for(var e=r.length,o=t+-1;++o<e;)if(n(r[o],o,r))return o;return-1}function E(r){return r!=r}function $(r,n){return!!(null==r?0:r.length)&&function(r,n,t){return n==n?function(r,n,t){for(var u=t-1,e=r.length;++u<e;)if(r[u]===n)return u;return-1}(r,n,t):D(r,E,t)}(r,n,0)>-1}function q(r){return e(r)?o(r):i(r)}var B=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V=/^\w*$/;function z(r,n){if(t(r))return!1;var u=typeof r;return!("number"!=u&&"symbol"!=u&&"boolean"!=u&&null!=r&&!h(r))||(V.test(r)||!B.test(r)||null!=n&&r in Object(n))}var F,M,N,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,U=/\\(\\)?/g,Y=(F=function(r){var n=[];return 46===r.charCodeAt(0)&&n.push(""),r.replace(R,function(r,t,u,e){n.push(u?e.replace(U,"$1"):t||r)}),n},M=f(F,function(r){return 500===N.size&&N.clear(),r}),N=M.cache,M);function C(r){return null==r?"":S(r)}function G(r,n){return t(r)?r:z(r,n)?[r]:Y(C(r))}function H(r){if("string"==typeof r||h(r))return r;var n=r+"";return"0"==n&&1/r==-1/0?"-0":n}function I(r,n){for(var t=0,u=(n=G(n,r)).length;null!=r&&t<u;)r=r[H(n[t++])];return t&&t==u?r:void 0}function J(r,n){for(var t=-1,u=n.length,e=r.length;++t<u;)r[e+t]=n[t];return r}var K=u?u.isConcatSpreadable:void 0;function L(r){return t(r)||a(r)||!!(K&&r&&r[K])}function P(r,n,t,u,e){var o=-1,i=r.length;for(t||(t=L),e||(e=[]);++o<i;){var f=r[o];t(f)?J(e,f):u||(e[e.length]=f)}return e}function Q(r,n,t,u){var e=-1,o=null==r?0:r.length;for(u&&o&&(t=r[++e]);++e<o;)t=n(t,r[e],e,r);return t}function T(r,n){for(var t=-1,u=null==r?0:r.length,e=0,o=[];++t<u;){var i=r[t];n(i,t,r)&&(o[e++]=i)}return o}function W(){return[]}var X=Object.prototype.propertyIsEnumerable,Z=Object.getOwnPropertySymbols,rr=Z?function(r){return null==r?[]:(r=Object(r),T(Z(r),function(n){return X.call(r,n)}))}:W;function nr(r,n,u){var e=n(r);return t(r)?e:J(e,u(r))}function tr(r){return nr(r,q,rr)}function ur(r){var n=-1,t=null==r?0:r.length;for(this.__data__=new c;++n<t;)this.add(r[n])}function er(r,n){for(var t=-1,u=null==r?0:r.length;++t<u;)if(n(r[t],t,r))return!0;return!1}function or(r,n){return r.has(n)}ur.prototype.add=ur.prototype.push=function(r){return this.__data__.set(r,"__lodash_hash_undefined__"),this},ur.prototype.has=function(r){return this.__data__.has(r)};function ir(r,n,t,u,e,o){var i=1&t,f=r.length,a=n.length;if(f!=a&&!(i&&a>f))return!1;var c=o.get(r),v=o.get(n);if(c&&v)return c==n&&v==r;var s=-1,l=!0,b=2&t?new ur:void 0;for(o.set(r,n),o.set(n,r);++s<f;){var j=r[s],d=n[s];if(u)var p=i?u(d,j,s,n,r,o):u(j,d,s,r,n,o);if(void 0!==p){if(p)continue;l=!1;break}if(b){if(!er(n,function(r,n){if(!or(b,n)&&(j===r||e(j,r,t,u,o)))return b.push(n)})){l=!1;break}}else if(j!==d&&!e(j,d,t,u,o)){l=!1;break}}return o.delete(r),o.delete(n),l}function fr(r){var n=-1,t=Array(r.size);return r.forEach(function(r,u){t[++n]=[u,r]}),t}function ar(r){var n=-1,t=Array(r.size);return r.forEach(function(r){t[++n]=r}),t}var cr=u?u.prototype:void 0,vr=cr?cr.valueOf:void 0;var sr=Object.prototype.hasOwnProperty;var lr="[object Arguments]",br="[object Array]",jr="[object Object]",dr=Object.prototype.hasOwnProperty;function pr(r,n,u,e,o,i){var f=t(r),a=t(n),c=f?br:l(r),p=a?br:l(n),y=(c=c==lr?jr:c)==jr,w=(p=p==lr?jr:p)==jr,_=c==p;if(_&&b(r)){if(!b(n))return!1;f=!0,y=!1}if(_&&!y)return i||(i=new j),f||d(r)?ir(r,n,u,e,o,i):function(r,n,t,u,e,o,i){switch(t){case"[object DataView]":if(r.byteLength!=n.byteLength||r.byteOffset!=n.byteOffset)return!1;r=r.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(r.byteLength!=n.byteLength||!o(new s(r),new s(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return v(+r,+n);case"[object Error]":return r.name==n.name&&r.message==n.message;case"[object RegExp]":case"[object String]":return r==n+"";case"[object Map]":var f=fr;case"[object Set]":var a=1&u;if(f||(f=ar),r.size!=n.size&&!a)return!1;var c=i.get(r);if(c)return c==n;u|=2,i.set(r,n);var l=ir(f(r),f(n),u,e,o,i);return i.delete(r),l;case"[object Symbol]":if(vr)return vr.call(r)==vr.call(n)}return!1}(r,n,c,u,e,o,i);if(!(1&u)){var m=y&&dr.call(r,"__wrapped__"),O=w&&dr.call(n,"__wrapped__");if(m||O){var h=m?r.value():r,g=O?n.value():n;return i||(i=new j),o(h,g,u,e,i)}}return!!_&&(i||(i=new j),function(r,n,t,u,e,o){var i=1&t,f=tr(r),a=f.length;if(a!=tr(n).length&&!i)return!1;for(var c=a;c--;){var v=f[c];if(!(i?v in n:sr.call(n,v)))return!1}var s=o.get(r),l=o.get(n);if(s&&l)return s==n&&l==r;var b=!0;o.set(r,n),o.set(n,r);for(var j=i;++c<a;){var d=r[v=f[c]],p=n[v];if(u)var y=i?u(p,d,v,n,r,o):u(d,p,v,r,n,o);if(!(void 0===y?d===p||e(d,p,t,u,o):y)){b=!1;break}j||(j="constructor"==v)}if(b&&!j){var w=r.constructor,_=n.constructor;w==_||!("constructor"in r)||!("constructor"in n)||"function"==typeof w&&w instanceof w&&"function"==typeof _&&_ instanceof _||(b=!1)}return o.delete(r),o.delete(n),b}(r,n,u,e,o,i))}function yr(n,t,u,e,o){return n===t||(null==n||null==t||!r(n)&&!r(t)?n!=n&&t!=t:pr(n,t,u,e,yr,o))}function wr(r){return r==r&&!p(r)}function _r(r,n){return function(t){return null!=t&&(t[r]===n&&(void 0!==n||r in Object(t)))}}function mr(r){var n=function(r){for(var n=q(r),t=n.length;t--;){var u=n[t],e=r[u];n[t]=[u,e,wr(e)]}return n}(r);return 1==n.length&&n[0][2]?_r(n[0][0],n[0][1]):function(t){return t===r||function(r,n,t,u){var e=t.length,o=e;if(null==r)return!o;for(r=Object(r);e--;){var i=t[e];if(i[2]?i[1]!==r[i[0]]:!(i[0]in r))return!1}for(;++e<o;){var f=(i=t[e])[0],a=r[f],c=i[1];if(i[2]){if(void 0===a&&!(f in r))return!1}else if(!yr(c,a,3,u,new j))return!1}return!0}(t,0,n)}}function Or(r,n){return null!=r&&n in Object(r)}function hr(r,n,u){for(var e=-1,o=(n=G(n,r)).length,i=!1;++e<o;){var f=H(n[e]);if(!(i=null!=r&&u(r,f)))break;r=r[f]}return i||++e!=o?i:!!(o=null==r?0:r.length)&&y(o)&&w(f,o)&&(t(r)||a(r))}function gr(r,n){return null!=r&&hr(r,n,Or)}function Ar(r,n){return z(r)&&wr(n)?_r(H(r),n):function(t){var u=function(r,n,t){var u=null==r?void 0:I(r,n);return void 0===u?t:u}(t,r);return void 0===u&&u===n?gr(t,r):yr(n,u,3)}}function kr(r){return z(r)?(n=H(r),function(r){return null==r?void 0:r[n]}):function(r){return function(n){return I(n,r)}}(r);var n}function Sr(r){return"function"==typeof r?r:null==r?_:"object"==typeof r?t(r)?Ar(r[0],r[1]):mr(r):kr(r)}function xr(r,n){return r&&m(r,n,q)}var Dr,Er=(Dr=xr,function(r,n){if(null==r)return r;if(!e(r))return Dr(r,n);for(var t=r.length,u=-1,o=Object(r);++u<t&&!1!==n(o[u],u,o););return r});function $r(r){return"function"==typeof r?r:_}function qr(r,n){return(t(r)?x:Er)(r,$r(n))}function Br(r,n){var t=[];return Er(r,function(r,u,e){n(r,u,e)&&t.push(r)}),t}function Vr(r,n){return(t(r)?T:Br)(r,Sr(n))}function zr(r,n,t,u,e){return e(r,function(r,e,o){t=u?(u=!1,r):n(t,r,e,o)}),t}function Fr(r,n,u){var e=t(r)?Q:zr,o=arguments.length<3;return e(r,Sr(n),u,o,Er)}var Mr=O&&1/ar(new O([,-0]))[1]==1/0?function(r){return new O(r)}:function(){};function Nr(r,n,t){var u=-1,e=$,o=r.length,i=!0,f=[],a=f;if(o>=200){var c=n?null:Mr(r);if(c)return ar(c);i=!1,e=or,a=new ur}else a=n?[]:f;r:for(;++u<o;){var v=r[u],s=n?n(v):v;if(v=0!==v?v:0,i&&s==s){for(var l=a.length;l--;)if(a[l]===s)continue r;n&&a.push(s),f.push(v)}else e(a,s,t)||(a!==f&&a.push(s),f.push(v))}return f}export{Er as a,P as b,Sr as c,g as d,J as e,nr as f,rr as g,x as h,h as i,tr as j,q as k,Nr as l,Vr as m,qr as n,D as o,$r as p,xr as q,Fr as r,W as s,hr as t,G as u,H as v,I as w,gr as x,C as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a0 as n,a1 as t,a2 as u,a3 as r,a4 as i,a5 as a,a6 as f,a7 as o,a8 as e,a9 as s,aa as c,ab as l,ac as h,ad as p,ae as v}from"./App-
|
|
1
|
+
import{a0 as n,a1 as t,a2 as u,a3 as r,a4 as i,a5 as a,a6 as f,a7 as o,a8 as e,a9 as s,aa as c,ab as l,ac as h,ad as p,ae as v}from"./App-DjDfFse6.js";function y(n){return n.innerRadius}function x(n){return n.outerRadius}function d(n){return n.startAngle}function m(n){return n.endAngle}function b(n){return n&&n.padAngle}function j(n,t,u,r,i,a,f){var o=n-u,s=t-r,c=(f?a:-a)/e(o*o+s*s),l=c*s,p=-c*o,v=n+l,y=t+p,x=u+l,d=r+p,m=(v+x)/2,b=(y+d)/2,j=x-v,A=d-y,g=j*j+A*A,k=i-a,q=v*d-x*y,w=(A<0?-1:1)*e(h(0,k*k*g-q*q)),z=(q*A-j*w)/g,B=(-q*j-A*w)/g,C=(q*A+j*w)/g,D=(-q*j+A*w)/g,E=z-m,F=B-b,G=C-m,H=D-b;return E*E+F*F>G*G+H*H&&(z=C,B=D),{cx:z,cy:B,x01:-l,y01:-p,x11:z*(i/k-1),y11:B*(i/k-1)}}function A(){var h=y,A=x,g=i(0),k=null,q=d,w=m,z=b,B=null,C=n(D);function D(){var n,i,y=+h.apply(this,arguments),x=+A.apply(this,arguments),d=q.apply(this,arguments)-a,m=w.apply(this,arguments)-a,b=c(m-d),D=m>d;if(B||(B=n=C()),x<y&&(i=x,x=y,y=i),x>f)if(b>o-f)B.moveTo(x*u(d),x*r(d)),B.arc(0,0,x,d,m,!D),y>f&&(B.moveTo(y*u(m),y*r(m)),B.arc(0,0,y,m,d,D));else{var E,F,G=d,H=m,I=d,J=m,K=b,L=b,M=z.apply(this,arguments)/2,N=M>f&&(k?+k.apply(this,arguments):e(y*y+x*x)),O=s(c(x-y)/2,+g.apply(this,arguments)),P=O,Q=O;if(N>f){var R=p(N/y*r(M)),S=p(N/x*r(M));(K-=2*R)>f?(I+=R*=D?1:-1,J-=R):(K=0,I=J=(d+m)/2),(L-=2*S)>f?(G+=S*=D?1:-1,H-=S):(L=0,G=H=(d+m)/2)}var T=x*u(G),U=x*r(G),V=y*u(J),W=y*r(J);if(O>f){var X,Y=x*u(H),Z=x*r(H),$=y*u(I),_=y*r(I);if(b<t)if(X=function(n,t,u,r,i,a,o,e){var s=u-n,c=r-t,l=o-i,h=e-a,p=h*s-l*c;if(!(p*p<f))return[n+(p=(l*(t-a)-h*(n-i))/p)*s,t+p*c]}(T,U,$,_,Y,Z,V,W)){var nn=T-X[0],tn=U-X[1],un=Y-X[0],rn=Z-X[1],an=1/r(v((nn*un+tn*rn)/(e(nn*nn+tn*tn)*e(un*un+rn*rn)))/2),fn=e(X[0]*X[0]+X[1]*X[1]);P=s(O,(y-fn)/(an-1)),Q=s(O,(x-fn)/(an+1))}else P=Q=0}L>f?Q>f?(E=j($,_,T,U,x,Q,D),F=j(Y,Z,V,W,x,Q,D),B.moveTo(E.cx+E.x01,E.cy+E.y01),Q<O?B.arc(E.cx,E.cy,Q,l(E.y01,E.x01),l(F.y01,F.x01),!D):(B.arc(E.cx,E.cy,Q,l(E.y01,E.x01),l(E.y11,E.x11),!D),B.arc(0,0,x,l(E.cy+E.y11,E.cx+E.x11),l(F.cy+F.y11,F.cx+F.x11),!D),B.arc(F.cx,F.cy,Q,l(F.y11,F.x11),l(F.y01,F.x01),!D))):(B.moveTo(T,U),B.arc(0,0,x,G,H,!D)):B.moveTo(T,U),y>f&&K>f?P>f?(E=j(V,W,Y,Z,y,-P,D),F=j(T,U,$,_,y,-P,D),B.lineTo(E.cx+E.x01,E.cy+E.y01),P<O?B.arc(E.cx,E.cy,P,l(E.y01,E.x01),l(F.y01,F.x01),!D):(B.arc(E.cx,E.cy,P,l(E.y01,E.x01),l(E.y11,E.x11),!D),B.arc(0,0,y,l(E.cy+E.y11,E.cx+E.x11),l(F.cy+F.y11,F.cx+F.x11),D),B.arc(F.cx,F.cy,P,l(F.y11,F.x11),l(F.y01,F.x01),!D))):B.arc(0,0,y,J,I,D):B.lineTo(V,W)}else B.moveTo(0,0);if(B.closePath(),n)return B=null,n+""||null}return D.centroid=function(){var n=(+h.apply(this,arguments)+ +A.apply(this,arguments))/2,i=(+q.apply(this,arguments)+ +w.apply(this,arguments))/2-t/2;return[u(i)*n,r(i)*n]},D.innerRadius=function(n){return arguments.length?(h="function"==typeof n?n:i(+n),D):h},D.outerRadius=function(n){return arguments.length?(A="function"==typeof n?n:i(+n),D):A},D.cornerRadius=function(n){return arguments.length?(g="function"==typeof n?n:i(+n),D):g},D.padRadius=function(n){return arguments.length?(k=null==n?null:"function"==typeof n?n:i(+n),D):k},D.startAngle=function(n){return arguments.length?(q="function"==typeof n?n:i(+n),D):q},D.endAngle=function(n){return arguments.length?(w="function"==typeof n?n:i(+n),D):w},D.padAngle=function(n){return arguments.length?(z="function"==typeof n?n:i(+n),D):z},D.context=function(n){return arguments.length?(B=null==n?null:n,D):B},D}export{A as d};
|