@popmelt.com/core 0.27.0 → 0.28.0

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 (55) hide show
  1. package/claude-plugin/.claude-plugin/plugin.json +1 -1
  2. package/codex-plugin/.codex-plugin/plugin.json +1 -1
  3. package/dist/ParticipantRuntime-4NMUTZL3.mjs +139 -0
  4. package/dist/PopmeltTasteConnectedPane-ZMJXKDPJ.mjs +221 -0
  5. package/dist/PreviewRuntime-AZAHK27Q.mjs +2 -0
  6. package/dist/bridge-entry.mjs +2 -229
  7. package/dist/browser-runtime-57XUOV3C.mjs +2 -0
  8. package/dist/browser.mjs +1 -1
  9. package/dist/chunk-3LBOX7HQ.mjs +3 -0
  10. package/dist/chunk-BISCKKOX.mjs +2 -0
  11. package/dist/chunk-DPSBNNGU.mjs +2 -0
  12. package/dist/chunk-GL4I4MI6.mjs +3 -0
  13. package/dist/chunk-HGW2U6PD.mjs +2 -0
  14. package/dist/chunk-HPQJKWK5.mjs +1 -0
  15. package/dist/chunk-JNR6PO2Z.mjs +369 -0
  16. package/dist/chunk-LVEMYZOA.mjs +2 -0
  17. package/dist/chunk-M3MBL5NR.mjs +2 -0
  18. package/dist/chunk-O4HZP3RP.mjs +2 -0
  19. package/dist/chunk-PKTQWFUA.mjs +2 -0
  20. package/dist/chunk-Q5PC5FWC.mjs +347 -0
  21. package/dist/chunk-QXVMGZFP.mjs +1 -0
  22. package/dist/chunk-R5RMIYS5.mjs +77 -0
  23. package/dist/chunk-WNZFCDVR.mjs +289 -0
  24. package/dist/chunk-XTOCFTVW.mjs +2 -0
  25. package/dist/{chunk-C5Q6LDAS.mjs → chunk-YBULEE33.mjs} +1 -1
  26. package/dist/chunk-YIAZGECE.mjs +2 -0
  27. package/dist/cli.mjs +169 -106
  28. package/dist/focus-inspection-ZKWDPDRI.mjs +2 -0
  29. package/dist/index-CHp2bgs1.d.mts +565 -0
  30. package/dist/index.mjs +1 -1
  31. package/dist/memory-legacy.d.mts +1 -489
  32. package/dist/memory-legacy.mjs +1 -1
  33. package/dist/memory-store.d.mts +2 -660
  34. package/dist/memory-store.mjs +1 -3
  35. package/dist/plugin-astro.mjs +1 -1
  36. package/dist/plugin-nuxt.mjs +1 -1
  37. package/dist/plugin-vite.mjs +1 -1
  38. package/dist/server.d.mts +3 -291
  39. package/dist/server.mjs +7 -234
  40. package/dist/taste-proposal-session-XU4N7RUV.mjs +2 -0
  41. package/dist/types-Bur49CLH.d.mts +349 -0
  42. package/dist/workspace-snapshot-EJQHHDQ4.mjs +2 -0
  43. package/package.json +23 -25
  44. package/dist/ParticipantRuntime-AD3YD4FW.mjs +0 -139
  45. package/dist/PopmeltTasteConnectedPane-HLCTVPJP.mjs +0 -81
  46. package/dist/PreviewRuntime-KGLZJGUN.mjs +0 -2
  47. package/dist/browser-runtime-3JZGB3P2.mjs +0 -2
  48. package/dist/chunk-7YCLSSQA.mjs +0 -2
  49. package/dist/chunk-7YIQQYRU.mjs +0 -77
  50. package/dist/chunk-D7HY2EDH.mjs +0 -2
  51. package/dist/chunk-MDJYUX5S.mjs +0 -370
  52. package/dist/chunk-MTRUVFH7.mjs +0 -1
  53. package/dist/chunk-TFPKDKDO.mjs +0 -345
  54. package/dist/chunk-TSY2K45H.mjs +0 -2
  55. package/dist/server-MJF4KF26.mjs +0 -241
@@ -1,2 +0,0 @@
1
- "use client";
2
- import{t as S,B as g}from"./chunk-D7HY2EDH.mjs";function h(e){return Array.from(e,t=>{if(t==='"'||t==="\\")return`\\${t}`;let r=t.codePointAt(0);return r<32||r===127?`\\${r.toString(16)} `:t}).join("")}function f(e){return`[data-popmelt-subject-adapter="${h(e.adapter)}"][data-popmelt-subject-key="${h(e.key)}"]`}function y(e){let t=e?.getAttribute("data-popmelt-subject-adapter"),r=e?.getAttribute("data-popmelt-subject-key");return t&&r?{adapter:t,key:r}:void 0}function p(e,t){let r=!1;e.dataset.popmeltSubjectLabel!==t.label&&(e.dataset.popmeltSubjectLabel=t.label,r=!0);let{left:a,top:i,width:n,height:s}=t.bounds,u=o=>`${Math.round(o*2)/2}px`,b={left:u(a),top:u(i),width:u(Math.max(0,n)),height:u(Math.max(0,s))};for(let[o,c]of Object.entries(b)){let m=o;e.style[m]!==c&&(e.style[m]=c,r=!0)}let l=t.surfaceBounds,j={popmeltSubjectSurfaceLeft:l?String(l.left):void 0,popmeltSubjectSurfaceTop:l?String(l.top):void 0,popmeltSubjectSurfaceWidth:l?String(l.width):void 0,popmeltSubjectSurfaceHeight:l?String(l.height):void 0};for(let[o,c]of Object.entries(j))c===void 0?o in e.dataset&&(delete e.dataset[o],r=!0):e.dataset[o]!==c&&(e.dataset[o]=c,r=!0);let d=t.outline?.map(o=>`${o.x},${o.y}`).join(" ");return d?e.dataset.popmeltSubjectOutline!==d&&(e.dataset.popmeltSubjectOutline=d,r=!0):e.dataset.popmeltSubjectOutline!==void 0&&(delete e.dataset.popmeltSubjectOutline,r=!0),r}var k=class{constructor(e){this.adapters=e,this.projections=new Map,this.frameListeners=new Set,this.frame=null,this.lastProjectionFrameTime=0,this.adapterUnsubscribes=e.flatMap(t=>{let r=t.subscribe?.(()=>{for(let a of this.frameListeners)a()});return r?[r]:[]})}async whenReady(){await Promise.all(this.adapters.map(e=>e.whenReady?.()))}hitTest(e){return this.hitTestAll(e)[0]??null}hitTestAll(e){for(let t=this.adapters.length-1;t>=0;t-=1){let r=this.adapters[t];if(!r)continue;let a=(r.hitTestAll?.(e)??[r.hitTest(e)]).filter(i=>!!i).map(i=>this.project(r,i));if(a.length>0)return a}return[]}resolve(e){let t=this.adapters.find(a=>a.id===e.adapter);if(!t)return null;let r=t.resolve(e.key);return r?this.project(t,r):null}restore(e,t){let r=this.adapters.find(i=>i.id===e.adapter),a=r?.restoreSubject?.(e.key,t);return r&&a?this.project(r,a):null}async captureFeedback(e){let t=this.resolve(e);if(!t)return null;let{adapter:r,subject:a}=t,i={...t.elementInfo};if(a.sourceElement&&(i.sourceElement={...g(a.sourceElement),selector:S(a.sourceElement)}),!r.captureSubject)return{elementInfo:i};try{let n=await r.captureSubject(e.key);return n?{elementInfo:i,crop:n}:{elementInfo:i,warning:"Object crop unavailable; use the page screenshot and image coordinates."}}catch{return{elementInfo:i,warning:"Object crop unavailable (the image may block canvas access via CORS); use the page screenshot and image coordinates."}}}beginCreate(e){for(let t=this.adapters.length-1;t>=0;t-=1){let r=this.adapters[t],a=r?.beginCreate?.(e);if(r&&a)return{adapter:r,session:a}}return null}rename(e,t){let r=this.adapters.find(i=>i.id===e.adapter),a=r?.renameSubject?.(e.key,t);return r&&a?this.project(r,a):null}updateBounds(e,t){let r=this.adapters.find(i=>i.id===e.adapter),a=r?.updateSubjectBounds?.(e.key,t);return r&&a?this.project(r,a):null}updateTrackingAnchors(e,t){let r=this.adapters.find(i=>i.id===e.adapter),a=r?.updateSubjectTrackingAnchors?.(e.key,t);return r&&a?this.project(r,a):null}promote(e){let t=this.adapters.find(a=>a.id===e.adapter),r=t?.promoteSubject?.(e.key);return t&&r?this.project(t,r):null}remove(e){this.adapters.find(t=>t.id===e.adapter)?.removeSubject?.(e.key)}async captureSurfaces(){return(await Promise.all(this.adapters.map(async e=>e.captureSurfaces?.()??[]))).flat()}subscribeFrame(e){return this.frameListeners.add(e),()=>this.frameListeners.delete(e)}destroy(){this.frame!==null&&cancelAnimationFrame(this.frame),this.frame=null;for(let e of this.projections.values())e.element.remove();this.projections.clear();for(let e of this.adapterUnsubscribes)e();this.frameListeners.clear()}project(e,t){let r={adapter:e.id,key:t.key},a=`${e.id}\0${t.key}`,i=this.projections.get(a);if(i)return i.subject=t,i.elementInfo=this.elementInfo(e,t,i.selector),p(i.element,t),i;let n=f(r),s=document.createElement("div");s.dataset.popmeltSubjectAdapter=e.id,s.dataset.popmeltSubjectKey=t.key,s.dataset.popmeltSubjectLabel=t.label,s.dataset.popmeltSubjectProjection="true",s.setAttribute("aria-hidden","true"),Object.assign(s.style,{position:"fixed",pointerEvents:"none",opacity:"0",zIndex:"-1"}),p(s,t),document.body.appendChild(s);let u={adapter:e,subject:t,target:r,element:s,selector:n,elementInfo:this.elementInfo(e,t,n)};return this.projections.set(a,u),this.ensureFrame(),u}elementInfo(e,t,r){return{selector:r,tagName:e.id,subjectLabel:t.label,textContent:t.label,context:t.context,...t.imageObject?{imageObject:t.imageObject}:{},...t.videoObject?{videoObject:t.videoObject}:{},dataAttributes:{adapter:e.id,key:t.key,...t.data??{}}}}ensureFrame(){if(this.frame!==null||this.projections.size===0)return;let e=t=>{if(this.frame=null,this.lastProjectionFrameTime>0&&t-this.lastProjectionFrameTime<32){this.ensureFrame();return}this.lastProjectionFrameTime=t;let r=!1;for(let[a,i]of this.projections){let n=i.adapter.resolve(i.target.key);if(!n){i.element.remove(),this.projections.delete(a),r=!0;continue}i.subject=n,r=p(i.element,n)||r}if(r)for(let a of this.frameListeners)a();this.projections.size>0&&this.ensureFrame()};this.frame=requestAnimationFrame(e)}},v={isAnnotating:!1,activeTool:"inspector",activeColor:"oklch(0.628 0.258 29)",strokeWidth:3,annotations:[],undoStack:[],redoStack:[],selectedAnnotationIds:[],lastSelectedId:null,styleModifications:[],textModifications:[],domModifications:[],spacingTokenChanges:[],spacingTokenMods:[]};export{f as a,y as b,k as c,v as d};