pk-annotator 0.6.1 → 0.6.2

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/dist/overlay.mjs CHANGED
@@ -173,4 +173,4 @@ import{captureOwnerStack as e}from"react";const t=/((?:[a-z][a-z\d+.-]*:\/\/|\/)
173
173
  0 12px 28px -10px rgb(0 0 0 / 0.4);
174
174
  }
175
175
  }
176
- `;function wt(e,t){let n=/* @__PURE__ */ new Set,r=matchMedia(`(prefers-color-scheme: dark)`),i=t,a=()=>i===`system`?r.matches?`dark`:`light`:i,o=a();e.setAttribute(`data-theme`,o);let s=()=>{let t=a();if(t!==o){o=t,e.setAttribute(`data-theme`,t);for(let e of n)e()}};return r.addEventListener(`change`,s),{get:()=>o,subscribe(e){return n.add(e),()=>n.delete(e)},set(e){if(e!==`light`&&e!==`dark`&&e!==`system`)throw Error(`setTheme expects "light", "dark", or "system", got ${String(e)}`);i=e,s()},stop:()=>r.removeEventListener(`change`,s)}}function Tt(e,t,n){if(document.querySelector(`pk-annotator`)!==null)throw Error(`<${ht}> is already mounted; call unmount() before mounting again`);let r=document.createElement(ht),i=r.attachShadow({mode:`open`}),a=new CSSStyleSheet;a.replaceSync(Ct),i.adoptedStyleSheets=[a];let o=wt(r,t),s=document.createElement(`button`);s.type=`button`,s.className=`pka-launcher`,s.dataset.corner=Q(),s.title=`Annotator (${gt} picks) · drag to move`,s.setAttribute(`aria-haspopup`,`menu`),s.setAttribute(`aria-expanded`,`false`);let c=document.createElement(`span`);c.className=`pka-count`,c.setAttribute(`aria-hidden`,`true`);let l=document.createElement(`span`);l.className=`pka-badge`,l.setAttribute(`aria-hidden`,`true`),s.append(St(),c,l),i.append(s),document.documentElement.append(r);let u=0,d=null,f=()=>{let e=ut(),t=[`Annotator`];d!==null&&t.push(`${d} connected`),u>0&&t.push(`${u} unsent ${u===1?`mark`:`marks`}`),e>0&&t.push(`${e} open errors`),s.setAttribute(`aria-label`,t.join(`, `))},p=()=>{let e=ut();l.hidden=e===0,l.textContent=e>99?`99+`:String(e),f()};p();let m=dt(p),h=e=>{if(!Number.isInteger(e)||e<0)throw Error(`setMarkCount expects a non-negative integer, got ${e}`);u=e,e===0?delete s.dataset.count:s.dataset.count=``,e>0&&(c.textContent=e>99?`99+`:String(e)),f()},g=()=>{Qe()?s.dataset.working=``:delete s.dataset.working};g();let _=et(e=>{if(e===`working`){g();return}delete s.dataset.react,s.offsetWidth,s.dataset.react=``});s.addEventListener(`animationend`,e=>{e.target===s&&e.animationName===`pka-hub-react`&&delete s.dataset.react});let v,y=e=>{v??=import(`./pka-overlay-agent-theme-CfCyg5Gv.mjs`),v.then(({AgentMessage:t,showAgent:n})=>{let a=t.safeParse(e);if(!a.success){console.error(`[pk-annotator] dropped an invalid ${yt} message`,a.error);return}d=n({host:r,shadow:i,hub:s},a.data),f()})};e.on(yt,y),Ye(e,`pka:presence`,{});let b,x=()=>b??=import(`./pka-overlay-thread-store-DOxLXsAv.mjs`).then(({connectThread:t})=>t(e),e=>{throw b=void 0,e}),S,C=async t=>{S??=Promise.all([import(`./pka-overlay-app-DARf2EHO.mjs`).then(e=>e.t),x()]).then(([{open:t},a])=>t({host:r,shadow:i,hot:e,theme:o,hub:s,thread:a,exit:n,setMarkCount:h}),e=>{throw S=void 0,e});try{t(await S)}catch(e){console.error(`[pk-annotator] the overlay UI failed to open`,e)}},w=e=>{let t=s.getBoundingClientRect();if(s.style.left=``,s.style.top=``,delete s.dataset.dragging,localStorage.setItem(_t,e),s.dataset.corner=e,S?.then(t=>t.setCorner(e)),matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let n=s.getBoundingClientRect();s.animate([{translate:`${t.left-n.left}px ${t.top-n.top}px`},{translate:`0 0`}],{duration:260,easing:$})},T,E=!1;s.addEventListener(`pointerdown`,e=>{e.button===0&&(E=!1,T={id:e.pointerId,x:e.clientX,y:e.clientY,dragging:!1},s.setPointerCapture(e.pointerId))}),s.addEventListener(`pointermove`,e=>{if(T?.id===e.pointerId){if(!T.dragging){if(Math.hypot(e.clientX-T.x,e.clientY-T.y)<6)return;T.dragging=!0,s.dataset.dragging=``,S?.then(e=>e.closeMenu())}s.style.left=`${e.clientX-22}px`,s.style.top=`${e.clientY-22}px`}}),s.addEventListener(`pointerup`,e=>{T?.id===e.pointerId&&(E=T.dragging,T=void 0,E&&w(bt(e.clientX,e.clientY)))}),s.addEventListener(`pointercancel`,()=>{T?.dragging&&w(Q()),T=void 0}),s.addEventListener(`click`,e=>{if(E){E=!1;return}C(t=>t.toggleMenu(e.detail===0))}),s.addEventListener(`keydown`,e=>{let t=xt.get(e.key)?.(Q());t!==void 0&&(e.preventDefault(),t!==Q()&&w(t))});let D=e=>{e.code===`KeyA`&&e.altKey&&e.shiftKey&&(e.ctrlKey||e.metaKey||(e.preventDefault(),e.stopPropagation(),C(e=>e.togglePick())))};window.addEventListener(`keydown`,D,{capture:!0});let O=sessionStorage.getItem(vt);return O!==null&&O!==`[]`&&x().catch(e=>{console.error(`[pk-annotator] following this tab's sent annotations failed`,e)}),{setTheme:o.set,unmount(){window.removeEventListener(`keydown`,D,{capture:!0}),e.off(yt,y),m(),_(),o.stop(),mt.set(null),S?.then(e=>e.unmount()),b?.then(e=>e.disconnect()),r.remove()}}}const Et=`pka:errors-ack`,Dt=`pka:agent`,Ot=`pka:exited`;function kt(e){return e.code===`KeyA`&&e.altKey&&e.shiftKey&&!e.ctrlKey&&!e.metaKey}function At(t){if(navigator.webdriver)return{reactRootOptions:{},setTheme(){},unmount(){}};let n=Ge();if(n!==void 0)return n.mounted;let r=t.theme??`system`,i,a=()=>{let n=Be({send:(e,n)=>Ye(t.hot,e,n),bodies:globalThis.__PKA_BODIES__??[],captureOwnerStack:e}),a=e=>{import(`./pka-overlay-channel-D5Ghnvgb.mjs`).then(e=>e.f).then(({ErrorsAckMessage:t})=>{let r=t.safeParse(e);r.success?n.applySymbolicated(r.data):console.error(`[pk-annotator] dropped an invalid ${Et} message`,r.error)})};t.hot.on(Et,a);let o=e=>{import(`./pka-overlay-channel-D5Ghnvgb.mjs`).then(e=>e.f).then(({AgentMessage:t})=>{let n=t.safeParse(e);n.success?He(n.data.agent!==null):console.error(`[pk-annotator] dropped an invalid ${Dt} message`,n.error)})};t.hot.on(Dt,o);let s=0,u=n.subscribe(()=>{let e=n.snapshot().groups.filter(e=>e.status===`open`).length;e!==s&&(s=e,lt(e))}),d=Tt(t.hot,r,c);i={capture:n,launcher:d,stop(){u(),t.hot.off(Et,a),t.hot.off(Dt,o),He(!1),n.stop(),d.unmount(),lt(0)}},Ke({mounted:l,capture:n})},o=e=>{kt(e)&&(e.preventDefault(),e.stopPropagation(),window.removeEventListener(`keydown`,o,{capture:!0}),sessionStorage.removeItem(Ot),a())},s=()=>{window.addEventListener(`keydown`,o,{capture:!0}),Ke({mounted:l,capture:void 0})};function c(){i?.stop(),i=void 0,sessionStorage.setItem(Ot,`1`),s()}let l={reactRootOptions:{onCaughtError(e,t){let n=i?.capture.reactRootOptions.onCaughtError;n===void 0?console.error(`React caught an error:`,e,t.componentStack??``):n(e,t)},onUncaughtError(e,t){let n=i?.capture.reactRootOptions.onUncaughtError;n===void 0?console.error(`Uncaught error in React:`,e,t.componentStack??``):n(e,t)},onRecoverableError(e,t){let n=i?.capture.reactRootOptions.onRecoverableError;n===void 0?console.error(`React recovered from an error:`,e,t.componentStack??``):n(e,t)}},setTheme(e){if(e!==`light`&&e!==`dark`&&e!==`system`)throw Error(`setTheme expects "light", "dark", or "system", got ${String(e)}`);r=e,i?.launcher.setTheme(e)},unmount(){i?.stop(),i=void 0,window.removeEventListener(`keydown`,o,{capture:!0}),Ke(void 0)}};return sessionStorage.getItem(Ot)===`1`?s():a(),l}export{S as C,T as E,te as S,w as T,Ue as _,Z as a,K as b,mt as c,at as d,$e as f,qe as g,Ye as h,Q as i,it as l,Je as m,At as mount,vt as n,tt as o,Ze as p,gt as r,ot as s,ht as t,rt as u,We as v,C as w,q as x,oe as y};
176
+ `;function wt(e,t){let n=/* @__PURE__ */ new Set,r=matchMedia(`(prefers-color-scheme: dark)`),i=t,a=()=>i===`system`?r.matches?`dark`:`light`:i,o=a();e.setAttribute(`data-theme`,o);let s=()=>{let t=a();if(t!==o){o=t,e.setAttribute(`data-theme`,t);for(let e of n)e()}};return r.addEventListener(`change`,s),{get:()=>o,subscribe(e){return n.add(e),()=>n.delete(e)},set(e){if(e!==`light`&&e!==`dark`&&e!==`system`)throw Error(`setTheme expects "light", "dark", or "system", got ${String(e)}`);i=e,s()},stop:()=>r.removeEventListener(`change`,s)}}function Tt(e,t,n){if(document.querySelector(`pk-annotator`)!==null)throw Error(`<${ht}> is already mounted; call unmount() before mounting again`);let r=document.createElement(ht),i=r.attachShadow({mode:`open`}),a=new CSSStyleSheet;a.replaceSync(Ct),i.adoptedStyleSheets=[a];let o=wt(r,t),s=document.createElement(`button`);s.type=`button`,s.className=`pka-launcher`,s.dataset.corner=Q(),s.title=`Annotator (${gt} picks) · drag to move`,s.setAttribute(`aria-haspopup`,`menu`),s.setAttribute(`aria-expanded`,`false`);let c=document.createElement(`span`);c.className=`pka-count`,c.setAttribute(`aria-hidden`,`true`);let l=document.createElement(`span`);l.className=`pka-badge`,l.setAttribute(`aria-hidden`,`true`),s.append(St(),c,l),i.append(s),document.documentElement.append(r);let u=0,d=null,f=()=>{let e=ut(),t=[`Annotator`];d!==null&&t.push(`${d} connected`),u>0&&t.push(`${u} unsent ${u===1?`mark`:`marks`}`),e>0&&t.push(`${e} open errors`),s.setAttribute(`aria-label`,t.join(`, `))},p=()=>{let e=ut();l.hidden=e===0,l.textContent=e>99?`99+`:String(e),f()};p();let m=dt(p),h=e=>{if(!Number.isInteger(e)||e<0)throw Error(`setMarkCount expects a non-negative integer, got ${e}`);u=e,e===0?delete s.dataset.count:s.dataset.count=``,e>0&&(c.textContent=e>99?`99+`:String(e)),f()},g=()=>{Qe()?s.dataset.working=``:delete s.dataset.working};g();let _=et(e=>{if(e===`working`){g();return}delete s.dataset.react,s.offsetWidth,s.dataset.react=``});s.addEventListener(`animationend`,e=>{e.target===s&&e.animationName===`pka-hub-react`&&delete s.dataset.react});let v,y=e=>{v??=import(`./pka-overlay-agent-theme-CfCyg5Gv.mjs`),v.then(({AgentMessage:t,showAgent:n})=>{let a=t.safeParse(e);if(!a.success){console.error(`[pk-annotator] dropped an invalid ${yt} message`,a.error);return}d=n({host:r,shadow:i,hub:s},a.data),f()})};e.on(yt,y),Ye(e,`pka:presence`,{});let b,x=()=>b??=import(`./pka-overlay-thread-store-DOxLXsAv.mjs`).then(({connectThread:t})=>t(e),e=>{throw b=void 0,e}),S,C=async t=>{S??=Promise.all([import(`./pka-overlay-app-CsIxnRqJ.mjs`).then(e=>e.t),x()]).then(([{open:t},a])=>t({host:r,shadow:i,hot:e,theme:o,hub:s,thread:a,exit:n,setMarkCount:h}),e=>{throw S=void 0,e});try{t(await S)}catch(e){console.error(`[pk-annotator] the overlay UI failed to open`,e)}},w=e=>{let t=s.getBoundingClientRect();if(s.style.left=``,s.style.top=``,delete s.dataset.dragging,localStorage.setItem(_t,e),s.dataset.corner=e,S?.then(t=>t.setCorner(e)),matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let n=s.getBoundingClientRect();s.animate([{translate:`${t.left-n.left}px ${t.top-n.top}px`},{translate:`0 0`}],{duration:260,easing:$})},T,E=!1;s.addEventListener(`pointerdown`,e=>{e.button===0&&(E=!1,T={id:e.pointerId,x:e.clientX,y:e.clientY,dragging:!1},s.setPointerCapture(e.pointerId))}),s.addEventListener(`pointermove`,e=>{if(T?.id===e.pointerId){if(!T.dragging){if(Math.hypot(e.clientX-T.x,e.clientY-T.y)<6)return;T.dragging=!0,s.dataset.dragging=``,S?.then(e=>e.closeMenu())}s.style.left=`${e.clientX-22}px`,s.style.top=`${e.clientY-22}px`}}),s.addEventListener(`pointerup`,e=>{T?.id===e.pointerId&&(E=T.dragging,T=void 0,E&&w(bt(e.clientX,e.clientY)))}),s.addEventListener(`pointercancel`,()=>{T?.dragging&&w(Q()),T=void 0}),s.addEventListener(`click`,e=>{if(E){E=!1;return}C(t=>t.toggleMenu(e.detail===0))}),s.addEventListener(`keydown`,e=>{let t=xt.get(e.key)?.(Q());t!==void 0&&(e.preventDefault(),t!==Q()&&w(t))});let D=e=>{e.code===`KeyA`&&e.altKey&&e.shiftKey&&(e.ctrlKey||e.metaKey||(e.preventDefault(),e.stopPropagation(),C(e=>e.togglePick())))};window.addEventListener(`keydown`,D,{capture:!0});let O=sessionStorage.getItem(vt);return O!==null&&O!==`[]`&&x().catch(e=>{console.error(`[pk-annotator] following this tab's sent annotations failed`,e)}),{setTheme:o.set,unmount(){window.removeEventListener(`keydown`,D,{capture:!0}),e.off(yt,y),m(),_(),o.stop(),mt.set(null),S?.then(e=>e.unmount()),b?.then(e=>e.disconnect()),r.remove()}}}const Et=`pka:errors-ack`,Dt=`pka:agent`,Ot=`pka:exited`;function kt(e){return e.code===`KeyA`&&e.altKey&&e.shiftKey&&!e.ctrlKey&&!e.metaKey}function At(t){if(navigator.webdriver)return{reactRootOptions:{},setTheme(){},unmount(){}};let n=Ge();if(n!==void 0)return n.mounted;let r=t.theme??`system`,i,a=()=>{let n=Be({send:(e,n)=>Ye(t.hot,e,n),bodies:globalThis.__PKA_BODIES__??[],captureOwnerStack:e}),a=e=>{import(`./pka-overlay-channel-D5Ghnvgb.mjs`).then(e=>e.f).then(({ErrorsAckMessage:t})=>{let r=t.safeParse(e);r.success?n.applySymbolicated(r.data):console.error(`[pk-annotator] dropped an invalid ${Et} message`,r.error)})};t.hot.on(Et,a);let o=e=>{import(`./pka-overlay-channel-D5Ghnvgb.mjs`).then(e=>e.f).then(({AgentMessage:t})=>{let n=t.safeParse(e);n.success?He(n.data.agent!==null):console.error(`[pk-annotator] dropped an invalid ${Dt} message`,n.error)})};t.hot.on(Dt,o);let s=0,u=n.subscribe(()=>{let e=n.snapshot().groups.filter(e=>e.status===`open`).length;e!==s&&(s=e,lt(e))}),d=Tt(t.hot,r,c);i={capture:n,launcher:d,stop(){u(),t.hot.off(Et,a),t.hot.off(Dt,o),He(!1),n.stop(),d.unmount(),lt(0)}},Ke({mounted:l,capture:n})},o=e=>{kt(e)&&(e.preventDefault(),e.stopPropagation(),window.removeEventListener(`keydown`,o,{capture:!0}),sessionStorage.removeItem(Ot),a())},s=()=>{window.addEventListener(`keydown`,o,{capture:!0}),Ke({mounted:l,capture:void 0})};function c(){i?.stop(),i=void 0,sessionStorage.setItem(Ot,`1`),s()}let l={reactRootOptions:{onCaughtError(e,t){let n=i?.capture.reactRootOptions.onCaughtError;n===void 0?console.error(`React caught an error:`,e,t.componentStack??``):n(e,t)},onUncaughtError(e,t){let n=i?.capture.reactRootOptions.onUncaughtError;n===void 0?console.error(`Uncaught error in React:`,e,t.componentStack??``):n(e,t)},onRecoverableError(e,t){let n=i?.capture.reactRootOptions.onRecoverableError;n===void 0?console.error(`React recovered from an error:`,e,t.componentStack??``):n(e,t)}},setTheme(e){if(e!==`light`&&e!==`dark`&&e!==`system`)throw Error(`setTheme expects "light", "dark", or "system", got ${String(e)}`);r=e,i?.launcher.setTheme(e)},unmount(){i?.stop(),i=void 0,window.removeEventListener(`keydown`,o,{capture:!0}),Ke(void 0)}};return sessionStorage.getItem(Ot)===`1`?s():a(),l}export{S as C,T as E,te as S,w as T,Ue as _,Z as a,K as b,mt as c,at as d,$e as f,qe as g,Ye as h,Q as i,it as l,Je as m,At as mount,vt as n,tt as o,Ze as p,gt as r,ot as s,ht as t,rt as u,We as v,C as w,q as x,oe as y};
@@ -23278,7 +23278,7 @@ function toError(value) {
23278
23278
  }
23279
23279
  //#endregion
23280
23280
  //#region package.json
23281
- var version = "0.6.1";
23281
+ var version = "0.6.2";
23282
23282
  //#endregion
23283
23283
  //#region src/shared/schema.ts
23284
23284
  const ID_PATTERN = /^[a-z0-9-]{8,40}$/;
package/dist/pka-mcp.mjs CHANGED
@@ -2,6 +2,6 @@
2
2
  import { enableCompileCache } from "node:module";
3
3
  //#region src/mcp/bin.ts
4
4
  enableCompileCache();
5
- await import("./pka-mcp-server-DFwBXimY.mjs");
5
+ await import("./pka-mcp-server-DJ7A2u68.mjs");
6
6
  //#endregion
7
7
  export {};