@feimacode/open-design-agent-kit 0.1.8 → 0.3.0-beta.3

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.
Files changed (32) hide show
  1. package/README.md +3 -2
  2. package/assets/claude-skills/open-design/SKILL.md +79 -4
  3. package/assets/claude-skills/open-design/references/remixable-examples.md +30 -1
  4. package/assets/claude-skills/open-design-campaign/SKILL.md +68 -0
  5. package/assets/claude-skills/open-design-deck-from-source/SKILL.md +43 -0
  6. package/assets/claude-skills/open-design-docs/SKILL.md +52 -0
  7. package/assets/claude-skills/open-design-explore/SKILL.md +50 -0
  8. package/assets/claude-skills/open-design-integrations/SKILL.md +40 -0
  9. package/assets/claude-skills/open-design-new/SKILL.md +39 -0
  10. package/assets/claude-skills/open-design-poster/SKILL.md +81 -0
  11. package/assets/claude-skills/open-design-preview/SKILL.md +15 -0
  12. package/assets/claude-skills/open-design-publish/SKILL.md +48 -0
  13. package/assets/claude-skills/open-design-recurring/SKILL.md +86 -0
  14. package/assets/claude-skills/open-design-social-post/SKILL.md +16 -10
  15. package/assets/codex-skills/open-design/SKILL.md +61 -4
  16. package/assets/codex-skills/open-design/references/remixable-examples.md +30 -1
  17. package/assets/codex-skills/open-design-campaign/SKILL.md +60 -0
  18. package/assets/codex-skills/open-design-deck-from-source/SKILL.md +38 -0
  19. package/assets/codex-skills/open-design-docs/SKILL.md +51 -0
  20. package/assets/codex-skills/open-design-explore/SKILL.md +45 -0
  21. package/assets/codex-skills/open-design-integrations/SKILL.md +39 -0
  22. package/assets/codex-skills/open-design-new/SKILL.md +30 -0
  23. package/assets/codex-skills/open-design-poster/SKILL.md +76 -0
  24. package/assets/codex-skills/open-design-preview/SKILL.md +14 -0
  25. package/assets/codex-skills/open-design-publish/SKILL.md +36 -0
  26. package/assets/codex-skills/open-design-recurring/SKILL.md +81 -0
  27. package/assets/codex-skills/open-design-social-post/SKILL.md +11 -9
  28. package/out/index.js +171251 -110987
  29. package/out/preview/bridge.js +3 -0
  30. package/out/preview/mcp-app.js +209 -0
  31. package/out/preview/shell.js +70 -0
  32. package/package.json +2 -2
@@ -0,0 +1,3 @@
1
+ "use strict";(()=>{function j(t,e){function c(n){return/^data:/i.test(n)}function m(n){let o=parseFloat(n);return Number.isFinite(o)?o:0}function y(n){if(!n)return null;let o=/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:[,/\s]+([\d.]+))?\s*\)/i.exec(n);if(!o)return null;let l=o[4]===void 0?1:Number(o[4]);return{r:Math.min(1,Number(o[1])/255),g:Math.min(1,Number(o[2])/255),b:Math.min(1,Number(o[3])/255),a:Number.isFinite(l)?l:1}}function f(n){return!n||n.a===0?null:{type:"SOLID",color:{r:n.r,g:n.g,b:n.b},opacity:n.a}}function I(n){let o=n.replace("#","");if(![3,4,6,8].includes(o.length))return null;let l=o.length<=4?o.split("").map(x=>x+x).join(""):o,d=parseInt(l.slice(0,2),16)/255,u=parseInt(l.slice(2,4),16)/255,E=parseInt(l.slice(4,6),16)/255,T=l.length===8?parseInt(l.slice(6,8),16)/255:1;return{r:d,g:u,b:E,a:T}}function b(n){if(!n||!/gradient\(/i.test(n))return null;let o=/rgba?\([^)]+\)|#[0-9a-fA-F]{3,8}/.exec(n);return o?o[0].startsWith("#")?I(o[0]):y(o[0]):null}function M(n){let o=m(n.borderTopLeftRadius),l=m(n.borderTopRightRadius),d=m(n.borderBottomRightRadius),u=m(n.borderBottomLeftRadius);return o===l&&l===d&&d===u?o:{topLeft:o,topRight:l,bottomRight:d,bottomLeft:u}}function $(n){let o=m(n.borderTopWidth);if(!o||n.borderTopStyle==="none"||n.borderTopStyle==="hidden")return null;let l=f(y(n.borderTopColor));return!l||!(n.borderTopWidth===n.borderRightWidth&&n.borderRightWidth===n.borderBottomWidth&&n.borderBottomWidth===n.borderLeftWidth)?null:{stroke:l,weight:o}}function W(n){if(!n||n==="none")return null;let o=n.split(/,(?![^(]*\))/)[0].trim();if(/\binset\b/.test(o))return null;let l=/rgba?\([^)]+\)|#[0-9a-f]{3,8}/i.exec(o),d=y(l?l[0]:""),u=(o.replace(/rgba?\([^)]+\)|#[0-9a-f]{3,8}/i,"").match(/-?[\d.]+px/g)||[]).map(m);return!d||u.length<2?null:{type:"DROP_SHADOW",color:{r:d.r,g:d.g,b:d.b,a:d.a},offset:{x:u[0]||0,y:u[1]||0},radius:u[2]||0,spread:u[3]||0}}function D(n,o){let l=Number(n)||400,d=l<=100?"Thin":l<=200?"ExtraLight":l<=300?"Light":l<=400?"Regular":l<=500?"Medium":l<=600?"SemiBold":l<=700?"Bold":l<=800?"ExtraBold":"Black";return o?d==="Regular"?"Italic":`${d} Italic`:d}function P(n){return(n||"Inter").split(",")[0].replace(/["']/g,"").trim()||"Inter"}function G(n){return!(n.display==="none"||n.visibility==="hidden"||n.visibility==="collapse"||Number(n.opacity)===0)}function i(n,o){try{let l=o.createRange();return l.selectNodeContents(n),l.getBoundingClientRect()}catch{return null}}let s=t.defaultView,p=s?.scrollX||0,w=s?.scrollY||0,v=new Map,g=0,C=!1;function ut(n,o){v.has(n)||v.set(n,new Set),v.get(n).add(o)}function mt(n){return c(n)?{dataUri:n}:{url:n}}function X(n){if(g>=6e3)return C=!0,null;let o=getComputedStyle(n);if(!G(o))return null;let l=n.getBoundingClientRect();if(l.width<=0||l.height<=0)return null;g+=1;let d={type:"FRAME",name:n.tagName.toLowerCase()+(n.id?`#${n.id}`:""),x:l.left+p,y:l.top+w,width:l.width,height:l.height},u=[],E=null,T=o.backgroundImage;if(T&&T!=="none"){let h=/url\(\s*['"]?([^'")]+)['"]?\s*\)/i.exec(T);h&&(E=h[1])}if(n.tagName==="IMG"){let h=n.currentSrc||n.src;h&&(E=h)}if(E)u.push({type:"IMAGE",scaleMode:"FILL",...mt(E)});else{let h=f(y(o.backgroundColor))??f(b(T));h&&u.push(h)}u.length&&(d.fills=u);let x=$(o);x&&(d.strokes=[x.stroke],d.strokeWeight=x.weight);let A=M(o);typeof A=="number"?A>0&&(d.cornerRadius=A):d.rectangleCornerRadii=A;let F=W(o.boxShadow);F&&(d.effects=[F]);let N=Number(o.opacity);Number.isFinite(N)&&N<1&&(d.opacity=N),(o.overflow==="hidden"||o.overflowX==="hidden"||o.overflowY==="hidden")&&(d.clipsContent=!0);let B=[];for(let h of Array.from(n.childNodes))if(h.nodeType===1){let R=h;if(["SCRIPT","STYLE","NOSCRIPT","LINK","META","HEAD","TITLE","BR","SVG"].includes(R.tagName))continue;let S=X(R);S&&B.push(S)}else if(h.nodeType===3){let R=h.nodeValue;if(!R||!R.trim())continue;let S=gt(h,R,o);S&&B.push(S)}return B.length&&(d.children=B),d}function gt(n,o,l){if(g>=6e3)return C=!0,null;let d=i(n,t);if(!d||d.width<=0||d.height<=0)return null;g+=1;let u=l,E=P(u.fontFamily),T=u.fontStyle==="italic"||u.fontStyle==="oblique",x=D(u.fontWeight,T);ut(E,x);let A=u.lineHeight==="normal"?void 0:m(u.lineHeight),F=m(u.letterSpacing),N=u.textAlign==="center"?"CENTER":u.textAlign==="right"||u.textAlign==="end"?"RIGHT":u.textAlign==="justify"?"JUSTIFIED":"LEFT",B=u.getPropertyValue("-webkit-background-clip")||u.backgroundClip,h=u.getPropertyValue("-webkit-text-fill-color"),S=B==="text"&&(h==="transparent"||y(h)?.a===0)?b(u.backgroundImage):null,O=S??y(u.color)??{r:0,g:0,b:0,a:1},H=u.textTransform,Y=H==="uppercase"?o.toUpperCase():H==="lowercase"?o.toLowerCase():H==="capitalize"?o.replace(/\b\w/g,ft=>ft.toUpperCase()):o,z={type:"TEXT",name:Y.trim().slice(0,40),x:d.left+p,y:d.top+w,width:Math.ceil(d.width)+1,height:Math.ceil(d.height),characters:Y.replace(/\s+/g," ").trim(),fontFamily:E,fontStyle:x,fontSize:m(u.fontSize)||16,textAlign:N,color:{r:O.r,g:O.g,b:O.b},opacity:S?1:O.a};return A&&(z.lineHeight=A),F&&(z.letterSpacing=F),z}let pt=X(t.body)??{type:"FRAME",name:"body",x:0,y:0,width:t.documentElement.scrollWidth,height:t.documentElement.scrollHeight};return{capture:{version:1,source:{url:t.URL,title:e.title,capturedAt:Date.now(),viewport:{width:s?.innerWidth??0,height:s?.innerHeight??0},dpr:s?.devicePixelRatio||1},fonts:Array.from(v.entries()).map(([n,o])=>({family:n,styles:Array.from(o)})),root:pt},nodeCount:g,truncated:C}}function J(t,e){return t.querySelector(`[data-od-id="${q(e)}"]`)}var L="auto-";function Q(t){let e=t.getAttribute("data-od-id");return e&&!e.startsWith(L)?e:void 0}function Z(t){let e=t.getAttribute("data-od-id");return e||(e=`${L}${Math.random().toString(36).slice(2,10)}`,t.setAttribute("data-od-id",e)),e}function ht(t){let e=[],r=t;for(;r&&r.nodeName.toLowerCase()!=="html";){let a=r.nodeName.toLowerCase();if(r.id){e.unshift(`${a}#${r.id}`);break}let c=r.parentElement;if(c){let y=Array.from(c.children).filter(f=>f.nodeName===r.nodeName).indexOf(r)+1;a+=`:nth-of-type(${y})`}e.unshift(a),r=c}return e.join(" > ")}var yt=["data-od-id","data-testid","data-od-node","data-od-slide","name","aria-label"],bt=/^-?(p[xytrbl]?|m[xytrbl]?|w|h|size|min-w|min-h|max-w|max-h|gap|space-[xy]|text|bg|from|to|via|flex|grid|col|row|items|justify|self|place|content|rounded|font|leading|tracking|border|divide|outline|ring|shadow|opacity|z|top|left|right|bottom|inset|order|basis|grow|shrink|overflow|cursor|transition|duration|ease|delay|animate|translate|scale|rotate|skew|origin|fill|stroke|object|aspect|line-clamp|decoration|underline-offset|blur|backdrop|drop-shadow)(-|$)/,wt=new Set(["flex","grid","block","inline","inline-block","inline-flex","hidden","contents","relative","absolute","fixed","sticky","static","container","italic","uppercase","lowercase","capitalize","underline","truncate","grow","shrink","sr-only","antialiased","active","selected","open","show","visible","hover","focus","disabled","is-active","is-open"]);function Ct(t){return/[:[\]/!.%#@]/.test(t)||bt.test(t)||wt.has(t)||/^\d/.test(t)}function Et(t){return/^[a-z][\w-]{0,63}$/i.test(t)&&!/\d{4,}/.test(t)&&!t.startsWith(L)&&!/^(radix|headlessui|react|ember|mui|chakra)[-:]/i.test(t)}function _(t,e,r){try{let a=t.querySelectorAll(e);return a.length===1&&a[0]===r}catch{return!1}}function xt(t,e){return`[${t}="${e.replace(/["\\]/g,"\\$&")}"]`}function K(t,e){let r=e.nodeName.toLowerCase();if(e.id&&Et(e.id)){let a=`${r}#${q(e.id)}`;if(_(t,a,e))return a}for(let a of yt){let c=e.getAttribute(a);if(!c||c.length>80||a==="data-od-id"&&c.startsWith(L))continue;let m=`${r}${xt(a,c)}`;if(_(t,m,e))return m}}function Tt(t){let e=Array.from(t.classList).filter(r=>!Ct(r)).slice(0,3);return e.length?`${t.nodeName.toLowerCase()}${e.map(r=>`.${q(r)}`).join("")}`:void 0}function St(t){let e=t.nodeName.toLowerCase(),r=t.parentElement;if(!r)return e;let a=Array.from(r.children).filter(c=>c.nodeName===t.nodeName);return a.length>1?`${e}:nth-of-type(${a.indexOf(t)+1})`:e}function tt(t){let e=t.ownerDocument,r=K(e,t);if(r)return r;let a=t.parentElement,c;for(;a&&a.nodeName.toLowerCase()!=="html"&&(c=K(e,a),!c);)a=a.parentElement;c||(a=null);let m=Tt(t);if(m){if(_(e,m,t))return m;if(c&&_(e,`${c} ${m}`,t))return`${c} ${m}`}let y=[],f=t;for(;f&&f!==a&&f.nodeName.toLowerCase()!=="html";)y.unshift(St(f)),f=f.parentElement;let I=(c?`${c} > `:"")+y.join(" > ");return _(e,I,t)?I:ht(t)}function et(t,e){try{return t.querySelector(e)}catch{return null}}function q(t){return typeof CSS<"u"&&CSS.escape?CSS.escape(t):t.replace(/["\\]/g,"\\$&")}function nt(t){let r=t.cloneNode(!1).outerHTML.split(">")[0]+">";return r.length>200?`${r.slice(0,200)}\u2026`:r}function At(t){return/^<([a-z][a-z0-9-]*)/i.exec(t??"")?.[1]?.toLowerCase()}function rt(t){return(t??"").replace(/\s+/g," ").trim()}function ot(t,e){if(e.elementId){let c=J(t,e.elementId);if(c)return c}if(e.selector){let c=et(t,e.selector);if(c)return c}let r=At(e.htmlHint),a=rt(e.text).replace(/…$/,"");if(r&&a.length>=3){let c=Array.from(t.getElementsByTagName(r)).filter(m=>rt(m.textContent).startsWith(a));if(c.length===1)return c[0]}return null}function it(t){let e=(t??"").replace(/\s+/g," ").trim();return e.length>120?`${e.slice(0,119)}\u2026`:e}function at(t,e){let r=t.querySelector(`[data-od-id="${e.elementId}"]`);if(!r)return!1;switch(e.kind){case"set-text":return r.textContent=e.value,!0;case"set-link":return r.textContent=e.text,r.setAttribute("href",e.href),!0;case"set-image":return r.removeAttribute(k),r.setAttribute("src",e.src),r.setAttribute("alt",e.alt),!0;case"set-outer-html":return r.outerHTML=e.html,!0;case"set-style":for(let[a,c]of Object.entries(e.styles))c!==void 0&&(r.style[a]=c);return!0;case"remove-element":return r.remove(),!0;default:return!1}}var U="data-od-preview-only",st="data-od-preview-srcdoc",k="data-od-preview-src";function lt(t){let e=t.doctype?`<!DOCTYPE ${t.doctype.name}>
2
+ `:`<!doctype html>
3
+ `,r=t.documentElement.cloneNode(!0);return r.querySelectorAll(`[${U}]`).forEach(a=>a.remove()),r.querySelectorAll(`[data-od-id^="${L}"]`).forEach(a=>a.removeAttribute("data-od-id")),r.querySelectorAll(`[${st}]`).forEach(a=>{a.removeAttribute("srcdoc"),a.removeAttribute(st)}),r.querySelectorAll(`[${k}]`).forEach(a=>{a.setAttribute("src",a.getAttribute(k)),a.removeAttribute(k)}),e+r.outerHTML}var V="bridge";function ct(t){return typeof t=="object"&&t!==null&&t.od===V&&typeof t.type=="string"}var dt="od-bridge-pick";function Rt(){if(window.__odPreviewBridge||window.parent===window)return;window.__odPreviewBridge=!0;let t="view",e=null,r=null,a=[],c=0,m=i=>{window.parent.postMessage({od:V,...i},"*")},y=i=>{let s=i.getBoundingClientRect();return{left:s.left,top:s.top,width:s.width,height:s.height}},f=i=>{if(!i||!i.isConnected)return!1;let s=i.tagName.toLowerCase();if(s==="html"||s==="body")return!1;let p=i.getBoundingClientRect();return p.width>0&&p.height>0},I=()=>{c=0,t!=="view"&&m({type:"rects",hover:f(e)&&e!==r?y(e):null,selection:f(r)?y(r):null,pins:t==="comment"?a.filter(i=>i.status!=="resolved").map(i=>{let s=ot(document,i);return{commentId:i.id,rect:s?y(s):null}}):[]})},b=()=>{c||(c=requestAnimationFrame(I))},M=()=>{let i=document.getElementById(dt);if(t==="view"){i?.remove();return}if(i||!document.head)return;let s=document.createElement("style");s.id=dt,s.setAttribute(U,""),s.textContent="* { pointer-events: auto !important; } body { cursor: pointer !important; }",document.head.appendChild(s)},$=i=>{let s=Q(i),p=tt(i),w=nt(i),v=Z(i),g=getComputedStyle(i),C=y(i);return{elementId:v,sourceElementId:s,selector:p,textExcerpt:it(i.textContent),docRect:{left:C.left+window.scrollX,top:C.top+window.scrollY,width:C.width,height:C.height},viewport:{width:window.innerWidth,height:window.innerHeight},htmlHint:w,tag:i.tagName,childCount:i.children.length,text:i.textContent??"",outerHTML:i.outerHTML,attrs:{src:i.getAttribute(k)??i.getAttribute("src"),alt:i.getAttribute("alt"),href:i.getAttribute("href")},rect:C,styles:{color:g.color,backgroundColor:g.backgroundColor,fontSize:g.fontSize,fontWeight:g.fontWeight,lineHeight:g.lineHeight,letterSpacing:g.letterSpacing,textAlign:g.textAlign,borderTopLeftRadius:g.borderTopLeftRadius,opacity:g.opacity,borderColor:g.borderColor,borderTopWidth:g.borderTopWidth,borderTopStyle:g.borderTopStyle,paddingTop:g.paddingTop,paddingRight:g.paddingRight,paddingBottom:g.paddingBottom,paddingLeft:g.paddingLeft,marginTop:g.marginTop,marginRight:g.marginRight,marginBottom:g.marginBottom,marginLeft:g.marginLeft}}},W=i=>{let s=i.target?.closest?.("a[href]");if(!s)return;let p=(s.getAttribute("href")??"").trim();if(p.startsWith("#")){if(location.href!=="about:srcdoc")return;i.preventDefault();let w=decodeURIComponent(p.slice(1));w?(document.getElementById(w)??document.getElementsByName(w)[0])?.scrollIntoView():window.scrollTo({top:0});return}!p||p.startsWith("/")||/^[a-z][a-z0-9+.-]*:/i.test(p)||(i.preventDefault(),m({type:"open-local-link",href:p}))};window.addEventListener("click",i=>{if(t==="view"){W(i);return}i.preventDefault(),i.stopPropagation(),i.stopImmediatePropagation();let s=i.target;f(s)&&(r=s,e=null,m({type:"select",element:$(s)}),b())},!0),window.addEventListener("mouseover",i=>{if(t==="view")return;let s=i.target;e=f(s)?s:null,b()},!0),document.addEventListener("mouseleave",()=>{e=null,b()}),window.addEventListener("scroll",b,!0);let D=0;window.addEventListener("scroll",()=>{D||(D=window.setTimeout(()=>{D=0,m({type:"scroll",x:window.scrollX,y:window.scrollY})},100))}),window.addEventListener("resize",b);let P=()=>{new MutationObserver(b).observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),new ResizeObserver(b).observe(document.documentElement)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",P):P(),window.addEventListener("message",i=>{if(i.source!==window.parent||!ct(i.data))return;let s=i.data;switch(s.type){case"hello":m({type:"ready",title:document.title});break;case"set-mode":t=s.mode,t==="view"&&(e=null,r=null),M(),b();break;case"clear-selection":r=null,b();break;case"set-comments":a=Array.isArray(s.comments)?s.comments:[],b();break;case"apply-patches":{let p=!1;try{for(let w of s.patches)p=at(document,w)||p}catch{}r&&!r.isConnected&&(r=null),m({type:"patched",requestId:s.requestId,ok:p,newSource:p?lt(document):void 0}),b();break}case"scroll-to":Number.isFinite(s.x)&&Number.isFinite(s.y)&&window.scrollTo(s.x,s.y);break;case"capture-figma":{let{capture:p,truncated:w}=j(document,{title:document.title||"Artifact"});m({type:"figma-capture",requestId:s.requestId,capture:p,truncated:w});break}}});let G=()=>{M(),m({type:"ready",title:document.title})};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",G):G()}Rt();})();