graview 0.1.25 → 0.1.26

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 (109) hide show
  1. package/dist/preview/chunk.24X6LFD3.js +6 -0
  2. package/dist/preview/{chunk.JIXW4WIO.js → chunk.2GFB5FOK.js} +1 -1
  3. package/dist/preview/chunk.3RT463XY.js +1 -0
  4. package/dist/preview/{chunk.UOYH2DFX.js → chunk.4INXWGIT.js} +2 -2
  5. package/dist/preview/{chunk.B57EIGTS.js → chunk.4MAYBFPU.js} +1 -1
  6. package/dist/preview/chunk.4YY54TMR.js +1 -0
  7. package/dist/preview/chunk.564EIRAT.js +1 -0
  8. package/dist/preview/chunk.5CXMUC6R.js +16 -0
  9. package/dist/preview/{chunk.ORJ3T4IW.js → chunk.6GJF3F7L.js} +1 -1
  10. package/dist/preview/chunk.6LJ66MB7.js +1 -0
  11. package/dist/preview/chunk.6MZBFEXW.js +1 -0
  12. package/dist/preview/chunk.6R4EI47C.js +1 -0
  13. package/dist/preview/chunk.7OOKA2DK.js +1 -0
  14. package/dist/preview/chunk.7ZJPJARU.js +1 -0
  15. package/dist/preview/{chunk.S24R4MRK.js → chunk.AAVCTGAE.js} +3 -3
  16. package/dist/preview/chunk.AKWBAWQF.js +1 -0
  17. package/dist/preview/chunk.BK2MJOUN.js +1 -0
  18. package/dist/preview/chunk.CL7GGNEK.js +1 -0
  19. package/dist/preview/{chunk.PY42PBMB.js → chunk.D3XF643V.js} +1 -1
  20. package/dist/preview/{chunk.DEZEXD24.js → chunk.DRIWJRQW.js} +1 -1
  21. package/dist/preview/chunk.ECG7RM6L.js +1 -0
  22. package/dist/preview/chunk.ECRZZ3U4.js +1 -0
  23. package/dist/preview/chunk.HFFEOCYY.js +107 -0
  24. package/dist/preview/chunk.I5U42VDK.js +3 -0
  25. package/dist/preview/chunk.IQLDOIWD.js +1 -0
  26. package/dist/preview/{chunk.DSZ3I557.js → chunk.JIWB6VGT.js} +1 -1
  27. package/dist/preview/{chunk.YZZGD5OY.js → chunk.KSEKVHJJ.js} +1 -1
  28. package/dist/preview/chunk.KXWRS6LY.js +1 -0
  29. package/dist/preview/chunk.LCFCU3I3.js +1 -0
  30. package/dist/preview/chunk.LEVR7WLB.js +1 -0
  31. package/dist/preview/{chunk.HQX5FGYT.js → chunk.LHIYFAN5.js} +2 -2
  32. package/dist/preview/chunk.LLUZMOBZ.js +1 -0
  33. package/dist/preview/{chunk.6OBXKKB5.js → chunk.LUUT2ZWF.js} +3 -3
  34. package/dist/preview/chunk.MLQQR57X.js +1 -0
  35. package/dist/preview/chunk.NIEQZOHX.js +1 -0
  36. package/dist/preview/{chunk.JCZH55RX.js → chunk.NLFLFIDS.js} +1 -1
  37. package/dist/preview/{chunk.6DU4XN2F.js → chunk.NQP3DWME.js} +1 -1
  38. package/dist/preview/{chunk.6UL2JUEH.js → chunk.OBGG4SYF.js} +1 -1
  39. package/dist/preview/chunk.OBQ4DIFO.js +1 -0
  40. package/dist/preview/chunk.P7YN4Z3K.js +8 -0
  41. package/dist/preview/{chunk.SSOTDXRS.js → chunk.PKFL2AR4.js} +1 -1
  42. package/dist/preview/chunk.PQ2IIC27.js +1 -0
  43. package/dist/preview/chunk.QFJRXAU3.js +8 -0
  44. package/dist/preview/chunk.REODVRPZ.js +1 -0
  45. package/dist/preview/chunk.RH6VRP76.js +1 -0
  46. package/dist/preview/chunk.SVL6I37U.js +1 -0
  47. package/dist/preview/chunk.TAW67PZU.js +1 -0
  48. package/dist/preview/chunk.TUYKH4FG.js +1 -0
  49. package/dist/preview/chunk.UEEXBS2U.js +1 -0
  50. package/dist/preview/chunk.UUMXYMOX.js +19 -0
  51. package/dist/preview/chunk.VW7U4CT5.js +1 -0
  52. package/dist/preview/chunk.WWWZZAHE.js +1 -0
  53. package/dist/preview/chunk.XD4Q4FI2.js +1 -0
  54. package/dist/preview/chunk.XNYBOKLW.js +1 -0
  55. package/dist/preview/chunk.XOC5BRPU.js +1 -0
  56. package/dist/preview/chunk.XXNC2AFL.js +1 -0
  57. package/dist/preview/chunk.YIZ3DJO3.js +1 -0
  58. package/dist/preview/chunk.YOMW4MKD.js +1 -0
  59. package/dist/preview/chunk.YXQCEXZX.js +1 -0
  60. package/dist/preview/chunk.ZLPA5BAW.js +1 -0
  61. package/dist/preview/chunk.ZOWWWRYA.js +1 -0
  62. package/dist/preview/page.js +6 -6
  63. package/package.json +6 -6
  64. package/dist/preview/chunk.2AJMM7JG.js +0 -1
  65. package/dist/preview/chunk.2WFEFZAW.js +0 -1
  66. package/dist/preview/chunk.2YVXTTC2.js +0 -1
  67. package/dist/preview/chunk.6KJSFIO7.js +0 -1
  68. package/dist/preview/chunk.6WFN4C46.js +0 -107
  69. package/dist/preview/chunk.7BAUPTMY.js +0 -1
  70. package/dist/preview/chunk.A4SJ7EEY.js +0 -1
  71. package/dist/preview/chunk.ACKTGTOT.js +0 -1
  72. package/dist/preview/chunk.BJ2Y5F66.js +0 -1
  73. package/dist/preview/chunk.BYUQOV3O.js +0 -1
  74. package/dist/preview/chunk.C5N4RTPF.js +0 -1
  75. package/dist/preview/chunk.CFL2B2Z5.js +0 -1
  76. package/dist/preview/chunk.DJ72CUS7.js +0 -1
  77. package/dist/preview/chunk.EA4BZKPG.js +0 -1
  78. package/dist/preview/chunk.EKZWX6NG.js +0 -1
  79. package/dist/preview/chunk.F26676IW.js +0 -1
  80. package/dist/preview/chunk.F2KDFGHR.js +0 -1
  81. package/dist/preview/chunk.FWV4XAZA.js +0 -1
  82. package/dist/preview/chunk.G3BOZHKR.js +0 -1
  83. package/dist/preview/chunk.H4LHHT56.js +0 -8
  84. package/dist/preview/chunk.I5ELK6JF.js +0 -1
  85. package/dist/preview/chunk.I6T3FDQS.js +0 -1
  86. package/dist/preview/chunk.IB6PGEU7.js +0 -1
  87. package/dist/preview/chunk.JEMQBV6K.js +0 -1
  88. package/dist/preview/chunk.JW3E4SAC.js +0 -1
  89. package/dist/preview/chunk.KUTTVYOB.js +0 -16
  90. package/dist/preview/chunk.LHFEOEYY.js +0 -1
  91. package/dist/preview/chunk.MJ67MK4R.js +0 -1
  92. package/dist/preview/chunk.Q5WEOX3Q.js +0 -1
  93. package/dist/preview/chunk.QOYC424P.js +0 -3
  94. package/dist/preview/chunk.R6F3YMRK.js +0 -6
  95. package/dist/preview/chunk.RAE4M3KQ.js +0 -8
  96. package/dist/preview/chunk.RUFAVEXB.js +0 -1
  97. package/dist/preview/chunk.RVEMN5WU.js +0 -1
  98. package/dist/preview/chunk.S56LSUHV.js +0 -1
  99. package/dist/preview/chunk.T6KID3WO.js +0 -1
  100. package/dist/preview/chunk.TAOT74FR.js +0 -1
  101. package/dist/preview/chunk.TTODVIXW.js +0 -1
  102. package/dist/preview/chunk.U6BWYBPM.js +0 -19
  103. package/dist/preview/chunk.US4KIJSW.js +0 -1
  104. package/dist/preview/chunk.WX5CJ7PI.js +0 -1
  105. package/dist/preview/chunk.WXO3XUNW.js +0 -1
  106. package/dist/preview/chunk.ZJVIH6IF.js +0 -1
  107. package/dist/preview/chunk.ZRVDIVYY.js +0 -1
  108. package/dist/preview/chunk.ZV7ZFH2S.js +0 -1
  109. /package/dist/preview/{chunk.WWRWXFYR.js → chunk.WVUJXDXZ.js} +0 -0
@@ -1 +0,0 @@
1
- import{a as Q}from"./chunk.G4JJXA63.js";import{d as te,e as ne,f as ie,g as oe}from"./chunk.CFL2B2Z5.js";import{j as J,k as ee}from"./chunk.H4LHHT56.js";import{a as X}from"./chunk.EKZWX6NG.js";import"./chunk.7BAUPTMY.js";import"./chunk.TTODVIXW.js";import"./chunk.WX5CJ7PI.js";import"./chunk.MJ67MK4R.js";import"./chunk.US4KIJSW.js";import{a as q,d as B}from"./chunk.LHFEOEYY.js";import{a as G}from"./chunk.F2KDFGHR.js";import"./chunk.2YVXTTC2.js";import"./chunk.WWRWXFYR.js";import"./chunk.BJ2Y5F66.js";import"./chunk.A4SJ7EEY.js";import"./chunk.6KJSFIO7.js";import"./chunk.DEZEXD24.js";import"./chunk.YZZGD5OY.js";import"./chunk.DSZ3I557.js";import"./chunk.SSOTDXRS.js";import"./chunk.ZRVDIVYY.js";import"./chunk.AHDOKM4O.js";import"./chunk.JCZH55RX.js";import{Ba as Z,W as U,ca as C,j as F,m as _,qa as V,r as Y}from"./chunk.2WFEFZAW.js";import{J as j,O as P,P as T,T as N,U as W,Xa as z}from"./chunk.RAE4M3KQ.js";import{a as he,b as K}from"./chunk.MRK6QJV5.js";import{b as O}from"./chunk.AJZBJBMO.js";var M=3;function re(e,n){return n.id?e.graph.getNode(n.id):void 0}function ae(e){return e?/^(?:kind|aggregate):([^:]+)$/.exec(e)?.[1]:void 0}function le(e,n){if(n)return e.find(t=>t.nodeIds.includes(n)||t.subjectId===n)}var ye=e=>{let n=e.trim();if(!n)return n;let t=n.charAt(0).toUpperCase()+n.slice(1);return/[.!?…]$/.test(t)?t:`${t}.`};function de({store:e,subject:n,violations:t,place:i}){let r=re(e,n),o=le(t,r?.id??null);if(o)return ye(o.message);if(r){let l=r.kind;return`${j(e.schema.tryDefinition(l),r)}, ${N(W(e.schema.tryDefinition(l),l))}.`}let c=i?.kind??ae(n.id);if(c){let l=e.graph.nodesOfKind(c).length,g=i?.title??n.name,u=T(e.schema,c),f=P(e.schema,c,l);return g.toLowerCase()===u.toLowerCase()?`${l===1?"There is":"There are"} ${f} here.`:`${g}: ${f}.`}let a=e.schema.kinds.map(l=>({kind:l,count:e.graph.nodesOfKind(l).length})).filter(l=>l.count>0).sort((l,g)=>g.count-l.count).slice(0,3);if(a.length===0)return"Nothing here yet.";let s=a.map(l=>P(e.schema,l.kind,l.count));return`The whole thing: ${s.length===1?s[0]:`${s.slice(0,-1).join(", ")} and ${s[s.length-1]}`}.`}function ce(e){let{store:n,subject:t,violations:i}=e,r=re(n,t),o=[];r&&le(i,r.id)?o.push({ask:`What's wrong with ${t.name}?`,why:"problem"}):i.length>0&&o.push({ask:"What needs attention?",why:"problem"});let c=r?r.kind:e.place?.kind??ae(t.id),a=ve(e,c);if(a)o.push(a);else{let l=ke(e,c);l&&o.push(l)}let s=be(e,c);return s&&o.push(s),o.length<M&&(r?o.push({ask:`Tell me about ${t.name}`,why:"about"}):o.push({ask:"What is here?",why:"here"})),o.slice(0,M)}function ue(e,n){return e.schema.tryDefinition(n)?.fields?.shape??{}}function me(e){let n=e;for(let t=0;t<4&&n;t++){let i=n;if(Array.isArray(i.options)&&i.options.every(r=>typeof r=="string"))return i.options;n=typeof i.unwrap=="function"?i.unwrap():i._def?.innerType}}var se=/^\d{4}-\d{2}-\d{2}/,Se=["due","deadline","date","when"];function ve(e,n){let{store:t}=e,i=e.today;if(!i||!se.test(i))return;let r=new Date(`${i.slice(0,10)}T00:00:00Z`);r.setUTCDate(r.getUTCDate()+6);let o=r.toISOString().slice(0,10),c=[...new Set([...n?[n]:[],...t.schema.kinds])];for(let a of c){let s=Se.find(u=>u in ue(t,a));if(!s||!t.graph.nodesOfKind(a).some(u=>{let f=u[s],S=u.done;return typeof f=="string"&&se.test(f)&&f.slice(0,10)>=i.slice(0,10)&&f.slice(0,10)<=o&&S!==!0}))continue;let g=T(t.schema,a);return{ask:`${Q(g)} due this week`,why:"due"}}}function ke(e,n){let t=e.place?.title,i=(e.places??[]).find(r=>r.kind!==null&&r.picture===!0&&r.title!==t&&r.kind!==n);return i?{ask:`Go to ${i.title}`,why:"go"}:void 0}function be(e,n){let{store:t}=e,i=[...t.schema.kinds].sort((o,c)=>t.graph.nodesOfKind(c).length-t.graph.nodesOfKind(o).length),r=[...new Set([...n?[n]:[],...i])];for(let o of r){if(t.graph.nodesOfKind(o).length<2)continue;let c=ue(t,o),a=Object.keys(c).find(g=>(me(c[g])?.length??0)>=2);if(!a)continue;let s=T(t.schema,o).toLowerCase(),l=a.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").toLowerCase();return{ask:`Show ${s} as a board by ${l}`,why:"draw"}}}function pe(e,{store:n,subject:t}){let i=a=>t.id!==null&&(a.nodeIds.includes(t.id)||Object.values(a.args).includes(t.id)),r=e.filter(a=>a.provider==="invariant"&&i(a)),o=e.filter(a=>a.pinned==="user"&&!r.includes(a));return[...r,...o].sort((a,s)=>Number(a.destructive??!1)-Number(s.destructive??!1)).slice(0,M).map(a=>({affordance:a,label:Ae(a,{store:n,subject:t})}))}var we=e=>/^[a-z0-9]+(?:[-_][a-z0-9]+)+$|^[a-z]+[A-Z][A-Za-z0-9]*$/.test(e);function Ae(e,{store:n,subject:t}){let i=e.label,r=we(i)||i===e.mutation;if(r){let s=i.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").toLowerCase();i=s.charAt(0).toUpperCase()+s.slice(1)}let o=t.id?n.graph.getNode(t.id):void 0,c=o!==void 0&&e.nodeIds.length<=1&&(e.nodeIds[0]??o.id)===o.id;if(c&&/\bit\b/.test(i))return i.replace(/\bit\b/,t.name);let a=n.allMutations().find(s=>s.name===e.mutation);if(e.open.length===0&&a?.describe&&(r||c))try{let s=a.describe(e.args,n.graph);if(s.trim())return s.trim()}catch{}return i}var y=O(he(),1);var p=O(K(),1);function ze({phone:e,side:n,name:t,onClose:i,respond:r,onCall:o,onPick:c,onMove:a,place:s,onDraft:l}){let{seatTalk:g}=C(),u=U(g),f=xe(c),S=[...u.turns].reverse().find(h=>h.role==="seat"),m=e&&u.draft!==null,b=(0,y.useRef)(null),w=(0,y.useRef)(!0);return(0,y.useLayoutEffect)(()=>{let h=b.current;if(!h)return;let A=m?[...h.querySelectorAll("ol > li")].pop():void 0;if(A){let v=A.getBoundingClientRect().top-h.getBoundingClientRect().top+h.scrollTop;h.style.maxHeight=`min(${Math.ceil(h.scrollHeight-v)}px, ${ge})`}let k=w.current?fe.get(g):void 0;w.current=!1,h.scrollTop=k&&k.turns===u.turns.length&&!u.busy?k.top:h.scrollHeight},[u.turns.length,u.busy,m]),(0,p.jsxs)("div",{"data-testid":"seat-panel",...m?{"data-graview-seat-yields":""}:{},style:{display:"grid",gridTemplateRows:"auto minmax(0, 1fr)",gap:4,minHeight:0},children:[(0,p.jsxs)("div",{"data-testid":"seat-top",...e?{onPointerDown:h=>Ce(h,i)}:{},style:{display:"flex",alignItems:"center",justifyContent:e?"center":"flex-end",gap:2,position:"relative",minHeight:28,...e?{touchAction:"none"}:{}},children:[e?(0,p.jsx)("button",{type:"button","data-testid":"seat-grab","aria-label":`Close Ask ${t}`,title:"Close",onClick:i,style:{...E,width:64},children:(0,p.jsx)("span",{"aria-hidden":"true",style:{display:"block",width:36,height:4,margin:"0 auto",borderRadius:2,background:"var(--graview-edge-strong, var(--graview-ink-faint))"}})}):(0,p.jsx)("button",{type:"button","data-testid":"seat-side","aria-label":n==="left"?"Move to the right":"Move to the left",title:n==="left"?"Move to the right":"Move to the left",onClick:()=>g.setSide(n==="left"?"right":"left"),style:E,children:(0,p.jsx)("span",{"aria-hidden":"true",children:"\u21C4"})}),(0,p.jsx)("button",{type:"button","data-testid":"seat-close","aria-label":`Close Ask ${t}`,title:"Close",onClick:i,style:e?{...E,position:"absolute",top:0,right:0}:E,children:(0,p.jsx)("span",{"aria-hidden":"true",children:"\u2715"})})]}),(0,p.jsx)("div",{ref:b,"data-testid":"seat-body",onScroll:h=>void fe.set(g,{top:h.currentTarget.scrollTop,turns:u.turns.length}),style:{minHeight:0,maxHeight:m?ge:e?"calc(70cqh - 96px)":"min(520px, calc(100cqh - 112px))",overflowY:"auto",overflowX:"hidden",padding:"0 4px"},children:(0,p.jsx)(ne,{shared:!0,composer:!1,testId:"seat",onPick:f,...a?{onMove:a}:{},...s?{place:s}:{},...l?{onDraft:l}:{},empty:(0,p.jsx)(Te,{...s?{here:s}:{}}),...r?{respond:r}:{},...o?{onCall:o}:{}})}),(0,p.jsx)("p",{"aria-live":"polite","data-testid":"seat-said",style:Z,children:u.busy?"":S?.text??""})]})}function xe(e){let{setView:n}=C();return(0,y.useCallback)(t=>e?e(t):n(i=>Y(F(_(i,!1),t),[t])),[e,n])}function Te({here:e}){let{store:n,views:t,view:i,seatTalk:r}=C(),o=te({hover:!1}),c=q(n,V()),a=(0,y.useMemo)(()=>c.map(d=>d.line?{...d,message:B(d)}:d),[c]),s=o.id?n.graph.getNode(o.id):void 0,l=e??i.within?.view,g=o.because==="place"&&o.id===null?t.places().find(d=>d.title===o.name):l?t.places().find(d=>d.as===l):void 0,u=n.today(),f={store:n,subject:{id:o.id,name:o.name},violations:a,place:g?{title:g.title,kind:g.kind}:null,places:t.places().map(d=>({title:d.title,kind:d.kind,picture:!0})),...u?{today:u}:{}},S=de(f),m=ce(f),b=(0,y.useMemo)(()=>({pins:X(),...s?{focus:s.id,about:[s.id]}:{}}),[s?.id]),{affordances:w}=J(b),h=s?pe(w,{store:n,subject:{id:o.id,name:o.name}}):[],{apply:A,preview:k}=ee(),[v,$]=(0,y.useState)(null),[D,R]=(0,y.useState)(null),H=(d,x)=>{try{return k(d,x),A(d,x),R(null),!0}catch(I){return R(z(n.schema,n.allMutations(),I)),!1}};return(0,p.jsxs)("div",{"data-testid":"seat-here",style:{display:"grid",gap:10,padding:"2px 2px 6px"},children:[(0,p.jsx)("p",{"data-testid":"seat-where",style:{margin:0,fontSize:"0.9375rem",lineHeight:1.45,color:"var(--graview-ink)"},children:S}),h.length>0?(0,p.jsx)("ul",{"aria-label":"What you can do",style:{margin:0,padding:0,listStyle:"none",display:"flex",flexWrap:"wrap",gap:6},children:h.map(({affordance:d,label:x})=>(0,p.jsx)("li",{children:(0,p.jsx)("button",{type:"button","data-testid":"seat-act","data-affordance":d.id,"aria-pressed":v?.id===d.id,title:d.why,onClick:()=>d.open.length>0?$(I=>I?.id===d.id?null:d):void H(d),style:{...ie,minHeight:30,textAlign:"start",...d.destructive?{color:"var(--graview-warn)"}:{}},children:x})},d.id))}):null,v?(0,p.jsx)(G,{affordance:v,onApply:d=>{H(v,d)&&$(null)},onCancel:()=>$(null)}):null,D?(0,p.jsx)("p",{"data-testid":"seat-refused",style:{margin:0,fontSize:"0.8125rem",color:"var(--graview-warn)"},children:D}):null,m.length>0?(0,p.jsx)("ul",{"aria-label":"Things to ask",style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:2,justifyItems:"start"},children:m.map(d=>(0,p.jsx)("li",{children:(0,p.jsx)("button",{type:"button","data-testid":"seat-suggestion","data-graview-why":d.why,onClick:()=>r.ask(d.ask),style:oe,children:d.ask})},d.ask))}):null]})}var ge="min(5.5em, 22cqh)",fe=new WeakMap,L={far:64,flick:.5,least:16,tap:6};function Ce(e,n){if(e.button!==0)return;let t=e.currentTarget,i=t.closest('[data-testid="seat"]');if(!i)return;let r=e.pointerId,o=e.clientY,c={y:o,at:e.timeStamp},a=0,s=0;try{t.setPointerCapture(r)}catch{}let l=u=>{if(u.pointerId!==r)return;s=Math.max(0,u.clientY-o);let f=u.timeStamp-c.at;f>0&&(a=(u.clientY-c.y)/f),c={y:u.clientY,at:u.timeStamp},i.style.transition="none",i.style.transform=s>0?`translateY(${s}px)`:""},g=u=>{if(u.pointerId!==r)return;t.removeEventListener("pointermove",l),t.removeEventListener("pointerup",g),t.removeEventListener("pointercancel",g);let f=u.type==="pointerup"&&(s>=L.far||s>=L.least&&a>=L.flick);if(i.style.transition=f?"":"transform 160ms ease-out",i.style.transform="",s>L.tap){let S=m=>{m.preventDefault(),m.stopPropagation()};t.addEventListener("click",S,{capture:!0,once:!0}),setTimeout(()=>t.removeEventListener("click",S,{capture:!0}),0)}f&&n()};t.addEventListener("pointermove",l),t.addEventListener("pointerup",g),t.addEventListener("pointercancel",g)}var E={display:"inline-grid",placeItems:"center",width:28,height:28,padding:0,font:"inherit",fontSize:"0.875rem",lineHeight:1,color:"var(--graview-ink-muted)",background:"transparent",border:"1px solid transparent",borderRadius:6,boxShadow:"none",cursor:"pointer"};export{ze as SeatPanel,xe as useSeatGo};
@@ -1 +0,0 @@
1
- import{e as ke}from"./chunk.BJ2Y5F66.js";import{Eb as ye,Ga as B,J as I,L as M,M as U,O as ae,P as de,R as J,S as ce,Sa as he,T as W,U as z,X as le,Za as ge,_a as me,g as se,ma as ue,ra as fe,sa as j,ta as pe,ua as P}from"./chunk.RAE4M3KQ.js";function we(e){return se(e,{io:"input",unrepresentable:"any",override:We})}var Je={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string"};function We(e){let t=e.zodSchema._zod?.def;if(!t||t.type!=="string"||typeof t.format!="string"||t.format==="regex")return;let n=e.jsonSchema,l=(t.checks??[]).map(i=>i._zod?.def).filter(i=>i?.format==="regex"&&i.pattern instanceof RegExp).map(i=>i.pattern.source);delete n.pattern;let u=n.allOf;Array.isArray(u)&&u.every(i=>typeof i=="object"&&i!==null&&Object.keys(i).length===1&&"pattern"in i)&&delete n.allOf,n.format=Je[t.format]??t.format,l.length===1?n.pattern=l[0]:l.length>1&&(n.allOf=l.map(i=>({pattern:i})))}function V(e){let t=j(e.input),n=we(e.input),l=n.properties??{};if(ge(e)){let u=e.creates.join(" | ");l.id={type:"string",minLength:1,description:`Optional: the id for the ${u} this makes. Refused if the graph already has it; left out, one is minted from the label.`},n.properties=l}me(e)&&(n.additionalProperties=!1);for(let u of t){let i=l[u.name];if(!i)continue;let v=u.kinds.includes("*")?"any node kind":u.kinds.join(" | ");i.description=[i.description,`Id of a node (${v}).`].filter(Boolean).join(" ")}return{name:e.name,...e.title===void 0?{}:{title:e.title},description:e.description??e.title??e.name,inputSchema:n,nodeRefs:t}}function be(e){let t=new Set;for(let n=e;n;n=n.onBehalfOf)n.id!==void 0&&t.add(`${n.kind}:${n.id}`);return t}function K(e,t){let n=be(t),l=p=>{if(p.kind==="rule")return!1;let c=be(p);if(c.size===0)return!1;for(let g of c)if(n.has(g))return!1;return!0},u,i=()=>{if(u)return u;u=new Map;for(let p of e.log.live()){if(p.undoes!==void 0)continue;let c=l(p.author)?p.author:void 0;for(let g of p.primitives){g.op==="remove-node"&&u.delete(g.node.id);let a=g.op==="add-node"?g.node.id:g.op==="patch-node"?g.id:void 0;if(a===void 0)continue;let d=g.op==="add-node"?Object.keys(g.node):Object.keys(g.after),h=u.get(a);(g.op==="add-node"||!h)&&u.set(a,h=new Map);for(let y of d)y==="id"||y==="kind"||(c?h.set(y,c):h.delete(y))}}return u},v=e.schema,S=new Map,o=(p,c)=>{let g=`${p}\0${c}`,a=S.get(g);if(a===void 0){let d=v.tryDefinition(p)?.fields?.shape;a=d!==void 0&&c in d&&pe(d[c]).type==="text",S.set(g,a)}return a},f=p=>e.graph.getNode(p)?.kind;return{prose:o,say:p=>le(p,{graph:e.graph,schema:v}),fieldBy(p,c){let g=f(p);if(!(g===void 0||!o(g,c)))return i().get(p)?.get(c)},recordBy(p){let c=f(p),g=i().get(p);if(c===void 0||!g)return;let a;for(let[d,h]of g)o(c,d)&&(a=h);return a}}}var E=(e,t,n)=>({untrusted:!0,authoredBy:n.say(t),text:e});function Z(e,t){let n;for(let[l,u]of Object.entries(e)){if(typeof u!="string"||l==="id"||l==="kind")continue;let i=t.fieldBy(e.id,l);i&&(n??={...e},n[l]=E(u,i,t))}return n??e}function Se(e,t,n){let l=u=>{if(Array.isArray(u))return u.map(l);if(u!==null&&typeof u=="object"&&"id"in u&&"label"in u){let i=u,v=n.recordBy(i.id);return v?{...i,label:E(i.label,v,n)}:i}if(typeof u=="string"){let i=n.recordBy(e);return i?E(u,i,n):u}return u};return Object.fromEntries(Object.entries(t).map(([u,i])=>[u,l(i)]))}function ve(e,t){return{...e,nodes:e.nodes.map(n=>Z(n,t))}}function Ae(e,t){return{...e,hits:e.hits.map(n=>{if(n.about!=="node")return n;let l=t.recordBy(n.id);if(!l)return n;let u=t.prose(n.kind,n.why.field)?t.fieldBy(n.id,n.why.field):l;return{...n,label:E(n.label,l,t),...n.apart!==void 0?{apart:E(n.apart,l,t)}:{},why:u?{...n.why,fragment:E(n.why.fragment,u,t)}:n.why}})}}function Oe(){return{name:"insight",derive({store:e,nodes:t,kindSelection:n}){let l=[],u=i=>I(e.schema.tryDefinition(i.kind),i);for(let i of t){if([...e.schema.edgeKinds].reduce((S,o)=>S+e.graph.out(i.id,o).length+e.graph.in(i.id,o).length,0)===0){l.push({id:`insight:island:${i.id}`,text:`${u(i)} is connected to nothing yet`,nodeIds:[i.id]});continue}for(let S of e.schema.edgeKinds){let o=e.graph.in(i.id,S).length;if(o<3)continue;let f=[...e.graph.allEdges()].filter(c=>c.kind===S),p=f.length;p>=4&&o/p>.6&&l.push({id:`insight:load:${i.id}:${S}`,text:`${u(i)} ${ze(e,f,S,o)}`,nodeIds:[i.id]})}}for(let i of n){if(e.graph.nodesOfKind(i).length>0)continue;let v=e.schema.definitions.filter(S=>S.kind!==i).filter(S=>Object.values(S.edges).some(o=>o.to!=="*"&&o.to.includes(i))).map(S=>S.plural??`${S.kind}s`);v.length>0&&l.push({id:`insight:gap:${i}`,text:`Nothing here yet, though ${v.join(" and ")} expect to connect to these`,nodeIds:[]})}return{observations:l}}}}function ze(e,t,n,l){let u=new Set(t.map(f=>e.graph.getNode(f.from)?.kind).filter(f=>f!==void 0)),i=u.size===1?[...u][0]:void 0,v=t.length,S=J(e.schema,i??[...u][0]??"",n,"in"),o=f=>i?ae(e.schema,i,f):String(f);return l===v?`${S}: all ${o(l)}`:`${S}: ${l} of the ${o(v)}`}function Re(e){let t=new Map;if(e.length===0)return t;let n=e.slice(-512),l=new Set;for(let i of n)i.undoes&&l.add(i.undoes);let u=e[e.length-1].seq;for(let i of n){if(!i.mutation||l.has(i.id))continue;let v=Math.pow(.5,(u-i.seq)/64);t.set(i.mutation.name,(t.get(i.mutation.name)??0)+v)}return t}function $e(e){return 8*(e/(e+1))}var Be=100;function xe(){return{name:"invariant",derive({store:e,selection:t,nodes:n,violations:l}){let u=f=>I(e.schema.tryDefinition(f.kind),f),i=new Set(t),v=l.filter(f=>f.nodeIds.some(p=>i.has(p))||f.subjectId!==void 0&&i.has(f.subjectId)),S=[],o=[];v.forEach((f,p)=>{o.push({id:`violation:${f.invariant}:${p}`,text:f.message,nodeIds:f.nodeIds}),f.repairs.forEach((c,g)=>{S.push({id:`invariant:${f.invariant}:${p}:${g}`,label:c.label,provider:"invariant",mutation:c.mutation,args:c.args??{},open:(c.missing??[]).map(a=>{let d=e.allMutations().find(r=>r.name===c.mutation);if(!d)return{name:a};let h=j(d.input).find(r=>r.name===a),y=h?h.kinds.includes("*")?e.graph.allNodes().map(r=>r.id):h.kinds.flatMap(r=>e.graph.nodesOfKind(r).map(s=>s.id)):void 0;return{name:a,shape:P(d.input,a),...h?{kinds:h.kinds}:{},...y?{candidates:y}:{}}}),score:Be-g-(c.missing?.length??0),why:f.message,nodeIds:f.nodeIds,...f.subjectId===void 0?{}:{subjectId:f.subjectId}})})});for(let f of n){let p=e.allInvariants().filter(c=>{if(c.scope==="graph")return!1;let g=c.scope;return g.kind!==f.kind?!1:g.match?g.match(f):!0});p.length!==0&&(v.some(c=>c.subjectId===f.id||c.nodeIds.includes(f.id))||o.push({id:`holds:${f.id}`,text:`${u(f)} holds \u2014 nothing currently breaks ${p.length===1?"it":`any of its ${p.length} rules`}`,nodeIds:[f.id]}))}return{affordances:S,observations:o}}}}var X=40;function je(){return{name:"schema",derive({store:e,selection:t,nodes:n,kindSelection:l,edgeSelection:u}){let i=[];if(n.length===0&&u.length>0){for(let o of u){let f=e.graph.getNode(o.from),p=e.graph.getNode(o.to);if(!(!f||!p))for(let c of e.allMutations()){let g=(c.connects??[]).includes(o.kind),a=(c.severs??[]).includes(o.kind);if(!g&&!a)continue;let d={},h=[],y=j(c.input);for(let s of y){let w=s.kinds.includes("*")||s.kinds.includes(f.kind),b=s.kinds.includes("*")||s.kinds.includes(p.kind),A=w&&!y.some(k=>k!==s&&(k.kinds.includes(f.kind)||k.kinds.includes("*")));w&&!b?d[s.name]=o.from:b&&!w?d[s.name]=o.to:w&&b&&A?d[s.name]=o.from:h.push({name:s.name,kinds:s.kinds,candidates:[o.from,o.to],shape:P(c.input,s.name)})}for(let s of F(c.input,""))s in d||h.some(w=>w.name===s)||h.push({name:s,shape:P(c.input,s)});h.every(s=>s.optional===!0?!0:s.kinds!==void 0?(s.candidates?.length??0)>0:(s.candidates?.length??0)>0||s.shape!==void 0&&s.shape.type!=="unknown")&&(g&&!a&&h.length===0||i.push({id:`schema:edge:${c.name}:${o.kind}:${o.from}:${o.to}`,label:M(c),provider:"schema",mutation:c.name,args:d,open:h,...c.destructive?{destructive:!0}:{},score:(a?62:58)-h.length,why:`this line is "${J(e.schema,e.graph.getNode(o.from)?.kind??"",o.kind,"out")}"`,nodeIds:[o.from,o.to]}))}}return{affordances:i}}if(n.length===0&&l.length>0){let o=new Set(l),f=[];for(let p of e.allMutations()){if(!(p.creates??[]).some(a=>o.has(a)))continue;let c=[];for(let a of j(p.input)){let d=a.kinds.includes("*")?e.graph.allNodes().map(h=>h.id):a.kinds.flatMap(h=>e.graph.nodesOfKind(h).map(y=>y.id));c.push({name:a.name,kinds:a.kinds,candidates:d,shape:P(p.input,a.name),...a.optional?{optional:!0}:{}})}for(let a of F(p.input,""))c.some(d=>d.name===a)||c.push({name:a,shape:P(p.input,a)});if(!c.every(a=>a.optional===!0?!0:a.kinds!==void 0?(a.candidates?.length??0)>0:(a.candidates?.length??0)>0||a.shape!==void 0&&a.shape.type!=="unknown")){let a=c.filter(d=>d.optional!==!0&&d.kinds!==void 0&&!d.kinds.includes("*")&&(d.candidates?.length??0)===0);if(a.length>0){let d=[...new Set(a.flatMap(h=>h.kinds??[]))].map(h=>W(z(e.schema.tryDefinition(h),h)));f.push({id:`schema:waits:${p.name}`,text:`"${p.title??p.name}" cannot begin until there is ${d.length===1?d[0]:`${d.slice(0,-1).join(", ")} and ${d[d.length-1]}`}.`,nodeIds:[]})}continue}i.push({id:`schema:add:${p.name}`,label:M(p),provider:"schema",mutation:p.name,args:{},open:c,score:X-c.length,why:`this makes ${(p.creates??[]).filter(a=>o.has(a)).map(a=>W(z(e.schema.tryDefinition(a),a))).join(", ")}`,nodeIds:[]})}return{affordances:i,observations:f}}if(n.length===0)return{};let v=new Set(n.map(o=>o.kind)),S=(o,f,p)=>{let c=[];for(let g of e.graph.allEdges()){if(!f.includes(g.kind))continue;let a=g.from===o?g.to:g.to===o?g.from:null;if(!a)continue;let d=e.graph.getNode(a);d&&(!p.includes("*")&&!p.includes(d.kind)||c.includes(a)||c.push(a))}return c};for(let o of e.allMutations()){let f=o.subject;if(!f||!(f.kinds==="*"?!0:[...v].every(r=>f.kinds.includes(r))))continue;let c=n.length===1?n[0].id:null,g=o.severs??[],a=o.connects??[];if(c&&g.length>0&&a.length===0&&S(c,g,["*"]).length===0)continue;let d=[];for(let r of j(o.input)){if(r.name===f.arg)continue;let s=r.kinds.includes("*")?e.graph.allNodes().map(w=>w.id):r.kinds.flatMap(w=>e.graph.nodesOfKind(w).map(b=>b.id));if(c&&a.length>0){let w=new Set(S(c,a,r.kinds));s=s.filter(b=>!w.has(b))}else c&&g.length>0&&(s=S(c,g,r.kinds));d.push({name:r.name,kinds:r.kinds,candidates:s.filter(w=>!t.includes(w)),shape:P(o.input,r.name),...r.optional?{optional:!0}:{}})}for(let r of F(o.input,f.arg))d.some(s=>s.name===r)||d.push({name:r,shape:P(o.input,r)});if(d.length===0&&c){let r=Ke(o.input,f.arg);if(r.length>0&&!Fe(e,o.name,{[f.arg]:c}))for(let s of r){let w=j(o.input).find(b=>b.name===s);d.push({name:s,optional:!0,...w?{kinds:w.kinds}:{},shape:P(o.input,s)})}}if(!d.every(r=>r.optional===!0?!0:r.kinds!==void 0?(r.candidates?.length??0)>0:(r.candidates?.length??0)>0||r.shape!==void 0&&r.shape.type!=="unknown"))continue;let y=n.map(r=>({[f.arg]:r.id}));d.length===0&&!y.some(r=>e.wouldChange({name:o.name,args:r}))||i.push({id:`schema:${o.name}`,label:n.length>1?`${M(o)} (${n.length})`:M(o),provider:"schema",mutation:o.name,args:y[0]??{},open:d,...o.destructive?{destructive:!0}:{},...g.length>0||a.length>0?{ties:!0}:{},...n.length>1?{batch:y}:{},score:X-d.length,why:n.length>1?`all ${n.length} selected nodes are ${[...v].map(r=>de(e.schema,r).toLowerCase()).join(" or ")}`:`this is ${W(z(e.schema.tryDefinition(n[0].kind),n[0].kind))}`,nodeIds:n.map(r=>r.id)})}if(n.length===1){let o=n[0];for(let f of e.allMutations()){let p=f.subject,c=f.severs??[],g=f.connects??[];if(!p||c.length===0&&g.length===0)continue;let a=p.kinds==="*"?"*":p.kinds;if(a==="*"||a.includes(o.kind))continue;let d=j(f.input),h=d.find(k=>k.name!==p.arg&&(k.kinds.includes("*")||k.kinds.includes(o.kind)));if(!h)continue;let y=a,r=y.includes("*")?e.graph.allNodes().map(k=>k.id):y.flatMap(k=>e.graph.nodesOfKind(k).map($=>$.id)),s=new Set(S(o.id,g.length>0?g:c,y)),w=g.length>0?r.filter(k=>!s.has(k)):r.filter(k=>s.has(k));if(w.length===0)continue;let b=[{name:p.arg,kinds:y,candidates:w,shape:P(f.input,p.arg)}];for(let k of d){if(k.name===h.name||k.name===p.arg)continue;let $=k.kinds.includes("*")?e.graph.allNodes().map(x=>x.id):k.kinds.flatMap(x=>e.graph.nodesOfKind(x).map(R=>R.id));b.push({name:k.name,kinds:k.kinds,candidates:$,shape:P(f.input,k.name),...k.optional?{optional:!0}:{}})}for(let k of F(f.input,h.name))k===p.arg||b.some($=>$.name===k)||b.push({name:k,shape:P(f.input,k)});b.every(k=>k.optional===!0?!0:k.kinds!==void 0?(k.candidates?.length??0)>0:(k.candidates?.length??0)>0||k.shape!==void 0&&k.shape.type!=="unknown")&&i.push({id:`schema:tie:${f.name}:${o.id}`,label:f.fromTheOtherEnd??M(f),provider:"schema",mutation:f.name,args:{[h.name]:o.id},open:b,ties:!0,...f.destructive?{destructive:!0}:{},score:X-b.length+2,why:`${c.length>0?"this one is on":"this one could join"} ${b[0].candidates.length===1?"it":"one of these"}`,nodeIds:[o.id]})}}return{affordances:i}}}}function Ke(e,t){let n=e.shape;return n?Object.entries(n).filter(([l,u])=>l!==t&&u.safeParse(void 0).success).map(([l])=>l):[]}function Fe(e,t,n){try{return e.preview({name:t,args:n}),!0}catch{return!1}}function F(e,t){let n=e.shape;return n?Object.entries(n).filter(([l,u])=>l!==t&&!u.safeParse(void 0).success).map(([l])=>l):[]}var Ge=70,qe=80,Ue=new Set(["id","kind"]);function Pe(){return{name:"structure",derive({store:e,nodes:t}){let n=o=>I(e.schema.tryDefinition(o.kind),o);if(t.length<2)return{};let l=[],u=[],i=t.map(o=>o.id);for(let o of e.schema.edgeKinds){let f=Ve(t.map(c=>new Set([...e.graph.out(c.id,o).map(g=>g.id),...e.graph.in(c.id,o).map(g=>g.id)])));for(let c of f){let g=e.graph.getNode(c);g&&l.push({id:`shared:${o}:${c}`,text:`all ${t.length} share "${n(g)}" (${U(o).toLowerCase()})`,nodeIds:[...i,c]})}let p=new Map;for(let c of t)for(let g of[...e.graph.out(c.id,o),...e.graph.in(c.id,o)])p.set(g.id,(p.get(g.id)??0)+1);for(let[c,g]of p){if(g!==t.length-1||t.length<3)continue;let a=e.graph.getNode(c);if(!a)continue;let d=t.find(h=>![...e.graph.out(h.id,o),...e.graph.in(h.id,o)].some(y=>y.id===c));if(d){l.push({id:`near-shared:${o}:${c}`,text:`all but "${n(d)}" share "${n(a)}" (${U(o).toLowerCase()})`,nodeIds:[...i,c]});for(let h of e.allMutations()){let y=h.subject;if(!y||y.kinds!=="*"&&!y.kinds.includes(d.kind))continue;let r=Ze(h.input,a.kind);r&&u.push({id:`structure:join:${h.name}:${d.id}:${c}`,label:`${M(h)}: bring "${n(d)}" in line with the others`,provider:"structure",mutation:h.name,args:{[y.arg]:d.id,[r]:c},open:[],score:Ge,why:`every other selected node is connected to "${n(a)}"`,nodeIds:[d.id,c]})}}}}let v=new Set;for(let o of t)for(let f of Object.keys(o))Ue.has(f)||v.add(f);let S=o=>e.schema.definitions.find(f=>f.kind===o);for(let o of[...v].sort()){let f=S(t[0].kind),p=ce(f,o).toLowerCase(),c=f?.display?.format?.[o],g=A=>{if(!c)return A;try{return String(c(JSON.parse(A)))}catch{return A}},a=t.map(A=>A[o]),d=new Map;if(a.forEach((A,k)=>{let $=JSON.stringify(A??null),x=d.get($);x?x.push(t[k]):d.set($,[t[k]])}),d.size===1){let A=[...d.keys()][0];if(A==="null")continue;l.push({id:`agree:${o}`,text:`all ${t.length} share the ${p} ${g(A)}`,nodeIds:i});continue}if(t.length<3||d.size!==2)continue;let h=[...d.entries()].sort((A,k)=>k[1].length-A[1].length),[y,r]=h[0],[,s]=h[1];if(s.length!==1||y==="null")continue;let w=s[0],b=JSON.parse(y);l.push({id:`odd-one-out:${o}`,text:`${r.length} share the ${p} ${g(y)}; "${n(w)}" does not`,nodeIds:i});for(let A of e.allMutations()){let k=A.subject;if(!k||k.kinds!=="*"&&!k.kinds.includes(w.kind))continue;let $=Ne(A.input);if(!$||!(o in $))continue;let x={[k.arg]:w.id,[o]:b},R=!0;for(let[T,G]of Object.entries($)){if(T in x||G.safeParse(void 0).success)continue;let C=w[T];if(C===void 0){R=!1;break}x[T]=C}R&&u.push({id:`structure:align:${A.name}:${o}:${w.id}`,label:`Align the ${p} of "${n(w)}" with the other ${r.length}`,provider:"structure",mutation:A.name,args:x,open:[],score:qe,why:`${r.length} of ${t.length} share the ${p} ${g(y)}`,nodeIds:i})}}return{affordances:u,observations:l}}}}function Ve(e){if(e.length===0)return[];let[t,...n]=e;return[...t].filter(l=>n.every(u=>u.has(l))).sort()}function Ne(e){return e.shape??null}function Ze(e,t){let n=Ne(e);if(!n)return null;for(let[l]of Object.entries(n)){let u=fe(n[l]);if(u&&(u.includes("*")||u.includes(t)))return l}return null}function Xe(){return[xe(),Pe(),je(),Oe()]}function Te(e,t,n={}){let l=Me(),u=n.providers??Xe(),i=t.map(m=>e.graph.getNode(m)).filter(m=>m!==void 0),v={store:e,selection:t,nodes:i,kindSelection:n.kindSelection??[],edgeSelection:n.edgeSelection??[],violations:e.violations(n.context),context:n.context??{}},S=[],o=[];for(let m of u){let O=m.derive(v);S.push(...O.affordances??[]),o.push(...O.observations??[])}let f=new Set(e.allMutations().filter(m=>m.pinned).map(m=>m.name)),p=new Set(n.pins?.pinned??[]),c=new Set(n.pins?.unpinned??[]),g=m=>p.has(m.mutation)?"user":f.has(m.mutation)&&!c.has(m.mutation)?"declared":void 0,a=m=>{let O=g(m);return O?{...m,pinned:O}:m},d=new Map;for(let[m,O]of Re(e.log.all()))d.set(m,$e(O));let h=m=>m.pinned==="user"?0:m.pinned==="declared"?1:2,y=m=>m.score+(d.get(m.mutation)??0),r=new Map(e.allMutations().map(m=>[m.name,m])),s=new Map,w=m=>{let O=r.get(m.mutation);if(!O)return[];let N=s.get(m.mutation);N||(N=j(O.input).map(q=>q.name),s.set(m.mutation,N));let H=[];for(let q of m.batch??[m.args])for(let ie of N){let re=q[ie]??m.args[ie];typeof re=="string"&&H.push(re)}return H},b=n.focus,A=4,k=m=>m.open.length>0?1:0,$=m=>{if(b===void 0)return A;let O=w(m);return O.length>0?O.includes(b)?x(m,0):A:m.nodeIds.includes(b)||m.subjectId===b?x(m,1):A},x=(m,O)=>m.provider==="invariant"?O:2+k(m),R=Ye(S).map(a),T=new Map(R.map((m,O)=>[m,O])),G=R.sort((m,O)=>{let N=Number(m.destructive??!1)-Number(O.destructive??!1);if(N!==0)return N;let H=$(m)-$(O);return H!==0?H:$(m)<2?T.get(m)-T.get(O):+(O.provider==="invariant")-+(m.provider==="invariant")||h(m)-h(O)||y(O)-y(m)||m.id.localeCompare(O.id)}),C=n.principal??{kind:"human"},L=[],te=[];for(let m of G){let O=e.permits({name:m.mutation,args:{...m.args,...m.batch?.[0]??{}}},C);if(O.ok)L.push(m);else{let N=nn(e,m,C);if(N==="done")continue;N?L.push(N):te.push({...m,refusal:O.refusal})}}let oe=L.map((m,O)=>({...m,rank:O})),Le=te.map((m,O)=>({...m,rank:L.length+O}));return{affordances:n.limit===void 0?oe:oe.slice(0,n.limit),withheld:Le,observations:Qe(o),ms:Me()-l}}function Ye(e){let t=new Map;for(let n of e){let l=[n.mutation,JSON.stringify(n.args),JSON.stringify(n.batch??null)].join("|"),u=t.get(l);(!u||n.score>u.score)&&t.set(l,n)}return[...t.values()]}function Qe(e){let t=new Map;for(let n of e)t.set(n.text,n);return[...t.values()]}function Me(){return typeof performance<"u"?performance.now():Date.now()}function en(e,t,n={},l={}){let u=(t.batch??[t.args]).map(v=>({name:t.mutation,args:{...t.args,...v,...n}})),i=e.allMutations().find(v=>v.name===t.mutation);return e.applyAll(u,{...i?.describe?{}:{intent:t.label},...l.author?{author:l.author}:{}})}function Kn(e,t,n={}){return e.preview({name:t.mutation,args:{...t.args,...n}})}function nn(e,t,n){let l=e.allMutations().find(o=>o.name===t.mutation)?.subject;if(!l||t.args[l.arg]!==void 0)return;let u=t.open.find(o=>o.name===l.arg);if(!u?.candidates)return;let i=o=>e.permits({name:t.mutation,args:{...t.args,...t.batch?.[0]??{},[l.arg]:o}},n).ok,v=u.candidates.filter(i),S=n.id===void 0?void 0:e.graph.getNode(n.id);return v.length===0?S!==void 0&&(l.kinds==="*"||l.kinds.includes(S.kind))&&i(S.id)?"done":void 0:v.length===1&&v[0]===n.id?{...t,args:{...t.args,[l.arg]:n.id},open:t.open.filter(o=>o!==u)}:{...t,open:t.open.map(o=>o===u?{...o,candidates:v}:o)}}var De,tn=()=>De??=import("./chunk.JW3E4SAC.js").catch(e=>{throw De=void 0,e}),on=()=>import("./chunk.RVEMN5WU.js").catch(()=>{}),rn=async()=>{(await on())?.judgeWithLines()},_e,sn=()=>_e??=import("./chunk.R6F3YMRK.js").catch(e=>{throw _e=void 0,e}),D=e=>({title:e,readOnlyHint:!0,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}),Y=[{name:"search_graph",title:"Find by name",description:"Find things by name: records whose name or readable fields carry the words, and the kinds, places and rules the words name \u2014 each with why it matched. Reach for this before get_graph when you know what something is called. Words match the start of words, case and accents aside; key:value tokens narrow as a list's filter does (done:false, is:any for past records, kind:<kind>). Pass subject (a node id) to get the acts you may run on it as hits too.",inputSchema:{type:"object",properties:{query:{type:"string",description:"Words, with optional key:value conditions."},limit:{type:"number",description:"Most hits to return; 20 when unsaid."},subject:{type:"string",description:"A node id whose acts to include."}},required:["query"],additionalProperties:!1},mutating:!1,annotations:D("Find by name")},{name:"get_graph",title:"Read the whole graph",description:"Read the whole graph: every node with its fields, and every edge. Start here when you need the shape of the domain rather than one thing in it.",inputSchema:{type:"object",properties:{},additionalProperties:!1},mutating:!1,annotations:D("Read the whole graph")},{name:"get_node",title:"Read one node",description:"Read one node, its edges, and the violations that implicate it, with its computed values: read-only fields worked out from what you can see, which no act sets. Use this to check a thing before you change it.",inputSchema:{type:"object",properties:{id:{type:"string",description:"A node's id, or its name."}},required:["id"],additionalProperties:!1},mutating:!1,annotations:D("Read one node")},{name:"get_violations",title:"List the problems",description:"List every invariant violation the graph currently has, with the repairs that would resolve each one. Read this before proposing work: a rule that is already broken is more urgent than anything you could add.",inputSchema:{type:"object",properties:{context:{type:"object",description:"Evaluation context, e.g. { weekStart }."}},additionalProperties:!1},mutating:!1,annotations:D("List the problems")},{name:"get_affordances",title:"Ask what can be done",description:"Ask what can legally be done with a selection, ranked. Prefer these over composing a mutation by hand: they are derived from the schema, the invariants and the shape of the graph, so they cannot name an action that does not exist.",inputSchema:{type:"object",properties:{selection:{type:"array",items:{type:"string"},description:"Node ids."},context:{type:"object"}},required:["selection"],additionalProperties:!1},mutating:!1,annotations:D("Ask what can be done")},{name:"describe_place",title:"Say what a place shows",description:`Say what one place of the app shows you, as a person in your seat would see it: its headings, its figures as drawn, its lists with each record's title and what its card or row says, the headings a list is grouped under, what an empty list says, and any block that could not be worked out. Pass a place's slug ("home", a lens's address like "the-offers", a kind's like "offers") or a record's id, and width 390 for a phone. Use it after a change to check what somebody now sees, instead of guessing.`,inputSchema:{type:"object",properties:{place:{type:"string",description:`"home", a place's slug, or a record's id.`},width:{type:"number",description:"The screen's width in CSS pixels; 390 is a phone, 1440 when unsaid."}},required:["place"],additionalProperties:!1},mutating:!1,annotations:D("Say what a place shows")},{name:"preview_mutation",title:"Try an act without applying it",description:"Try a mutation without applying it: get back the diff it would produce and any invariant it would break. Do this when you are unsure, rather than applying and undoing.",inputSchema:{type:"object",properties:{mutation:{type:"string"},args:{type:"object"}},required:["mutation","args"],additionalProperties:!1},mutating:!1,annotations:D("Try an act without applying it")},{name:"undo_batch",title:"Undo a batch",description:"Undo one batch of operations. Fails, naming the blocking operation, when a later operation read what it wrote.",inputSchema:{type:"object",properties:{batch:{type:"string"},include:{type:"array",items:{type:"string"}}},required:["batch"],additionalProperties:!1},mutating:!0,annotations:{title:"Undo a batch",readOnlyHint:!1,destructiveHint:!0,idempotentHint:!1,openWorldHint:!1}}],Q={type:"object",description:"A lens, as draft_view returns one.",properties:{title:{type:"string"},lens:{type:"string"},on:{type:"string"},bindings:{type:"object"},options:{type:"object"}},required:["title","lens","on"]},ee={name:"draft_view",title:"Draw a view",description:'Draw a view of the data from words ("a board of tasks by status", "who covers what") as a lens the app could keep; or check a lens you wrote (lens); or change the one on screen (current, with ask: "only this month"). Returns the lens and its add-lens edit, or one sentence saying why not. Writes nothing.',inputSchema:{type:"object",properties:{ask:{type:"string",description:"What to see, in words."},lens:Q,current:Q},additionalProperties:!1},mutating:!1,annotations:D("Draw a view")},Ee={name:"keep_lens",title:"Keep a view as a lens",description:"Keep a lens draft_view drew as one of the app's places: checked again, then written as the add-lens edit. Returns the remove-lens edit that takes it back.",inputSchema:{...Q,additionalProperties:!1},mutating:!0,annotations:{title:"Keep a view as a lens",readOnlyHint:!1,destructiveHint:!1,idempotentHint:!0,openWorldHint:!1}};function an(e,t){return e===void 0?[]:e==="keep"&&!t?[ee,Ee]:[ee]}var dn="An argument that names a record takes its id or its name.",Ce=[...Y.map(e=>e.name),ee.name,Ee.name],He=64;function _(e){let{line:t,...n}=e;return n}function Ie(e){return{...e,...e.introduces?{introduces:e.introduces.map(_)}:{},...e.resolves?{resolves:e.resolves.map(_)}:{},...e.violationsAfter?{violationsAfter:e.violationsAfter.map(_)}:{}}}function cn(e){let t=e.normalize("NFKD").replace(/\p{M}/gu,"").replace(/[^A-Za-z0-9_-]/g,"_");return t.length===0&&(t="act"),/^[A-Za-z_]/.test(t)||(t=`act_${t}`),t.slice(0,He)}function ln(e){let t=new Set(Ce),n=new Map;for(let l of e){let u=cn(l),i=u;for(let v=2;t.has(i);v+=1)i=`${u.slice(0,He-`_${v}`.length)}_${v}`;t.add(i),n.set(l,i)}return n}function un(e,t){let n=V(e),l=M(e),u=n.nodeRefs.length>0?`${n.description}${/[.!?]$/.test(n.description)?"":"."} ${dn}`:n.description;return{name:t,title:l,description:u,inputSchema:n.inputSchema,mutating:!0,annotations:{title:l,readOnlyHint:!1,destructiveHint:e.destructive===!0||(e.severs?.length??0)>0,idempotentHint:e.idempotent===!0,openWorldHint:!1},act:e.name}}function ne(e){if(e===null||typeof e!="object")return JSON.stringify(e)??"null";if(Array.isArray(e))return`[${e.map(ne).join(",")}]`;let t=e;return`{${Object.keys(t).filter(n=>t[n]!==void 0).sort().map(n=>`${JSON.stringify(n)}:${ne(t[n])}`).join(",")}}`}function fn(e){return`sha256:${ye(ne(e))}`}function pn(e,t,n,l){let u=ln(e.map(S=>S.name)),i=an(l,n);return{definitions:n?[...Y.filter(S=>!S.mutating),...i]:[...Y,...i,...e.filter(S=>t.has(S.name)).map(S=>un(S,u.get(S.name)))],names:u}}function tt(e,t={}){let n=t.author??{kind:"agent"},l=e.allMutations(),u=new Set(e.permittedMutations(n).map(a=>a.name)),{definitions:i,names:v}=pn(l,u,t.readOnly===!0,t.drafts?t.drafts.keep?"keep":"draw":void 0),S=fn(i),o=a=>{if(!Ce.includes(a)){for(let[d,h]of v)if(h===a)return d;return v.has(a)?a:void 0}},f=(a,d)=>{let h=l.find(s=>s.name===a);if(!h)return{args:d,resolved:[]};let y={...d},r=[];for(let s of j(h.input)){let w=y[s.name];if(typeof w!="string"||w.trim()==="")continue;let b=e.resolveRef(s,w,n);if(!b.ok){let A=b.reason==="none"?` Nothing was changed. Use search_graph to look it up, then pass its id as ${s.name}.`:" Nothing was changed.";return{ok:!1,error:`${b.message}${A}`,argument:s.name,candidates:b.candidates}}b.by!=="id"&&(y[s.name]=b.id,r.push({argument:s.name,given:w,id:b.id,label:b.label}))}return{args:y,resolved:r}},p=async(a,d)=>{try{await rn();let h=i.find(r=>r.name===a)??i.find(r=>r.act===a);if(!h){let r=o(a);if(r){let s=e.permits({name:r,args:d},n);if(!s.ok)return{ok:!1,error:s.refusal.message,reason:"forbidden"}}return{ok:!1,error:`Unknown tool "${a}". Available: ${i.map(s=>s.name).join(", ")}`}}if(h.mutating&&t.readOnly)return{ok:!1,error:`"${a}" changes the graph, and this seat is read-only.`,reason:"forbidden"};if(h.act!==void 0){let r=f(h.act,d);if("ok"in r)return r;let s=B(e,n,e.apply({name:h.act,args:r.args},{...t.author?{author:t.author}:{},...hn(t.via)}));return{ok:!0,data:{batch:s.batch,intent:s.intent,introduces:s.introduces.map(_),resolves:s.resolves.map(_),...r.resolved.length>0?{resolved:r.resolved}:{}},diff:s.diff}}let y=e.seenBy(n);switch(h.name){case"search_graph":{let r=typeof t.places=="function"?t.places():t.places,s=typeof d.subject=="string"?d.subject:void 0,w=he(y,String(d.query??""),{principal:n,limit:typeof d.limit=="number"?d.limit:20,...r?{places:r}:{},...s?{subject:s,from:[s]}:{}});return{ok:!0,data:Ae(w,K(y,n)),reads:w.hits.flatMap(b=>b.about==="node"?[b.id]:[])}}case"get_graph":{let r=y.graph.snapshot();return{ok:!0,data:ve(r,K(y,n)),reads:r.nodes.map(s=>s.id)}}case"get_node":{let r=String(d.id??""),s=r,w;if(!y.graph.getNode(r)){let R=r.trim()===""?void 0:e.resolveRef({name:"id",kinds:["*"]},r,n);if(R?.ok)s=R.id,w={argument:"id",given:r,id:s,label:R.label};else return R?.reason==="ambiguous"?{ok:!1,error:R.message,argument:"id",candidates:R.candidates}:{ok:!1,error:`No node "${r}".`}}let b=y.graph.getNode(s),A=y.graph.outEdges(s),k=y.graph.inEdges(s),$=K(y,n),x=ke(y.schema,y.graph,b);return{ok:!0,data:{node:Z(b,$),...Object.keys(x.values).length>0?{computed:Se(s,x.values,$)}:{},...Object.keys(x.refused).length>0?{uncomputed:x.refused}:{},out:A,in:k,violations:y.violations().filter(R=>R.nodeIds.includes(s)).map(_),...w?{resolved:[w]}:{}},reads:[s,...A.map(R=>R.to),...k.map(R=>R.from)]}}case"describe_place":{let r=t.app??{name:"",schema:e.schema},s=typeof d.width=="number"&&Number.isFinite(d.width)&&d.width>0?d.width:1440,{describePlace:w}=await tn(),b=w(e,n,String(d.place??""),{app:r,width:s});if(!b.ok)return{ok:!1,error:`${b.error} The places are: ${b.places.join(", ")}.`};let A=new Set,k=$=>{for(let x of $)for(let R of x.groups??[])for(let T of R.items)A.add(T.id),k(T.parts)};return k(b.description.parts),{ok:!0,data:b.description,reads:[...A]}}case"draft_view":case"keep_lens":{let r=t.app??{name:"",schema:e.schema};return(await sn()).runDraftTool(h.name,d,{app:r,principal:n,...t.drafts?{drafts:t.drafts}:{}})}case"get_violations":{let r=y.violations(d.context);return{ok:!0,data:r.map(_),reads:[...new Set(r.flatMap(s=>s.nodeIds))]}}case"get_affordances":{let r=d.selection??[];return{ok:!0,data:Te(y,r,{...typeof t.derive=="function"?t.derive():t.derive,...t.author?{principal:t.author}:{},...d.context?{context:d.context}:{}}),reads:r.filter(w=>y.graph.has(w))}}case"preview_mutation":{let r=String(d.mutation),s=o(r)??r,w=f(s,d.args??{});if("ok"in w)return w;let b=e.missingFor({name:s,args:w.args},n);if(b)return{ok:!1,error:b.message,reason:"missing"};let A=B(e,n,e.preview({name:s,args:w.args},void 0,{author:n})),k=Ie(A);return{ok:!0,data:w.resolved.length>0?{...k,resolved:w.resolved}:k}}case"undo_batch":{let r=String(d.batch),s=d.include??[],w=y.canUndo([r,...s]);if(!w.ok)return{ok:!1,error:w.message};let b=B(e,n,e.undo([r,...s],{...t.author?{author:t.author}:{}}));return{ok:!0,data:Ie(b),diff:b.diff}}default:return{ok:!1,error:`Unknown tool "${a}".`}}}catch(h){let{reason:y,wouldNeed:r}=ue(h);return{ok:!1,error:h instanceof Error?h.message:String(h),reason:y,...r?{wouldNeed:r}:{}}}},c=new Set,g=a=>{for(let d of c)d(a)};return{definitions:i,hash:S,...t.author?{author:t.author}:{},onDiff(a){return e.subscribe(a)},onCall(a){return c.add(a),()=>c.delete(a)},async call(a,d){let h=(i.find(s=>s.name===a)??i.find(s=>s.act===a))?.mutating??!1,y={name:a,args:d,mutating:h,at:new Date().toISOString()};return g({...y,phase:"running"}),(s=>(g(s.ok?{...y,phase:"ok",...!h&&s.reads?{reads:s.reads}:{}}:{...y,phase:"failed",error:s.error}),s))(await p(a,d))}}}function hn(e){let t=typeof e=="function"?e():e;return t?{via:t}:{}}export{Te as a,en as b,Kn as c,tt as d};
@@ -1,19 +0,0 @@
1
- import{a as k,b as K}from"./chunk.JCZH55RX.js";import{Ba as U,a as z,ua as j,xa as W,ya as _}from"./chunk.2WFEFZAW.js";import{E as M,J as G,N as E,za as F}from"./chunk.RAE4M3KQ.js";import{a as X,b as B}from"./chunk.MRK6QJV5.js";import{b as L}from"./chunk.AJZBJBMO.js";var S=L(X(),1);var r=L(B(),1),ee=520;function re(e,n,u,a){let o=u.filters.find(d=>d.key===a.key);if(!o)return`${a.key}: ${a.value}`;if(o.about==="is")return a.value.charAt(0).toUpperCase()+a.value.slice(1);if(o.about==="edge"){if(a.value==="*")return`${o.label}: anything`;if(a.value==="none")return`${o.label}: nothing`;let d=n.getNode(a.value);return`${o.label}: ${d?G(e.tryDefinition(d.kind),d):a.value}`}if(o.type==="date"){let[d,g]=a.value.split(":");return`${o.label} ${d} ${g?M(g):""}`.trim()}if(o.type==="boolean")return`${o.label}: ${a.value==="true"?"yes":"no"}`;if(o.type==="number"){let d=a.value.lastIndexOf(":"),g=a.value.slice(0,Math.max(0,d));if(g==="at-most"||g==="at-least")return`${o.label}: ${g==="at-most"?"at most":"at least"} ${E(e.tryDefinition(u.kind),o.key,Number(a.value.slice(d+1)))}`}return o.type==="text"?`${o.label}: ${a.value}`:`${o.label}: ${E(e.tryDefinition(u.kind),o.key,a.value)}`}var I=e=>/^[A-Z][a-z]/.test(e)?e.charAt(0).toLowerCase()+e.slice(1):e;function ne(e){return e?.type==="date"?{asc:"Earliest first",desc:"Latest first"}:e?.type==="number"?{asc:"Lowest first",desc:"Highest first"}:e?.type==="boolean"?{asc:"No first",desc:"Yes first"}:e?.type==="choice"?{asc:"In their order",desc:"In reverse order"}:{asc:"A to Z",desc:"Z to A"}}var $=_(z(()=>import("./chunk.KUTTVYOB.js"))),x=$.part((e,n)=>(0,r.jsx)(e.ArrangeLists,{...n}),{what:"This list",quiet:!0}),fe=()=>$.load(),O=new Map;function ye(e){let{schema:n,graph:u,kind:a,arrangement:o,onChange:d}=e,g=F(n,a),s=e.testId??"arrange",c=k(e.allow,"sort")&&g.sorts.length>1,f=k(e.allow,"group")&&g.groups.length>0,m=k(e.allow,"filter")&&g.filters.length>0,R=e.query!==!1&&e.allow!==!1,v=te(e.noun,e.kept);if(!c&&!f&&!m&&!R&&!v)return null;let D=t=>JSON.stringify(K(t)),N=`${s}|${a}`,p={current:O.get(N)??{words:new Set,latest:null,at:0}};O.set(N,p.current),p.current.latest&&Date.now()-p.current.at>1500&&!p.current.words.has(D(o))&&(p.current={words:new Set,latest:null,at:0},O.set(N,p.current));let i=p.current.latest??o,h=t=>{let l={...p.current.latest??o,...t};for(let w of Object.keys(l))l[w]===void 0&&delete l[w];p.current.latest=l,p.current.at=Date.now(),p.current.words.add(D(l)),d(l)},y=i.filter??[],P=t=>{let l=y.filter((w,Q)=>Q!==t);h({filter:l.length>0?l:void 0})},T=t=>y.some(l=>l.key===t.key&&l.value===t.value),Y=t=>T(t)?P(y.findIndex(l=>l.key===t.key&&l.value===t.value)):h({filter:[...y,t]}),C=i.sort?g.sorts.find(t=>t.key===i.sort.by):void 0,q=i.group?g.groups.find(t=>t.key===i.group.by):void 0,Z=ne(C),b={schema:n,graph:u,offers:g,arrangement:i,set:h,toggle:Y,has:T,testId:s},V=i.sort?(0,r.jsxs)(r.Fragment,{children:["Sorted by ",I(C?.label??i.sort.by),(0,r.jsx)("span",{"aria-hidden":"true",children:i.sort.direction==="desc"?" \u2193":" \u2191"})]}):"Sort",J=i.group?.bucket&&q?.buckets?`, a ${i.group.bucket} each`:"",H=i.group?`Grouped by ${I(q?.label??i.group.by)}${J}`:"Group";return(0,r.jsxs)("div",{"data-testid":`${s}-bar`,role:"group","aria-label":"Arrange",className:"graview-arrange",style:e.style,onPointerEnter:$.prefetch,onFocus:$.prefetch,children:[(0,r.jsx)("style",{children:ie}),(0,r.jsxs)("div",{className:"graview-arrange-line",children:[v?(0,r.jsxs)("span",{className:"graview-arrange-count","data-testid":`${s}-count`,children:[v.kept?(0,r.jsx)("span",{"data-testid":`${s}-kept`,children:v.kept}):null,v.words]}):null,c?(0,r.jsx)("span",{className:"graview-arrange-part graview-arrange-one",children:(0,r.jsx)(A,{testId:`${s}-sort`,value:i.sort?.by??"",set:i.sort!==void 0,label:"Sort",name:i.sort?`Sorted by ${I(C?.label??i.sort.by)}, ${Z[i.sort.direction].toLowerCase()}`:"Sort",list:t=>(0,r.jsx)(x,{which:"sort",done:t,...b}),children:V})}):null,f?(0,r.jsx)("span",{className:"graview-arrange-part graview-arrange-one",children:(0,r.jsx)(A,{testId:`${s}-group`,value:i.group?.by??"",set:i.group!==void 0,label:"Group",name:H,list:t=>(0,r.jsx)(x,{which:"group",done:t,...b}),children:H})}):null,m?(0,r.jsx)("span",{className:"graview-arrange-part graview-arrange-one",children:(0,r.jsx)(A,{testId:`${s}-add`,value:"",set:!1,label:"Filter",name:y.length>0?`Filter \u2014 ${y.length} on`:"Filter",list:t=>(0,r.jsx)(x,{which:"filter",done:t,...b}),children:"Filter"})}):null,c||f||m?(0,r.jsx)("span",{className:"graview-arrange-part graview-arrange-all",children:(0,r.jsx)(A,{testId:`${s}-all`,value:"",set:!1,label:"Arrange",name:"Arrange: sort, group and filter",list:t=>(0,r.jsx)(x,{which:"all",done:t,parts:{sort:c,group:f,filter:m},...b}),children:"Arrange"})}):null,y.map((t,l)=>{let w=re(n,u,g,t);return(0,r.jsxs)("span",{className:"graview-arrange-token","data-testid":`${s}-condition`,children:[w,(0,r.jsx)("button",{type:"button","aria-label":`Remove: ${w}`,title:"Remove",onClick:()=>P(l),children:"\xD7"})]},`${t.key}:${t.value}`)}),R?(0,r.jsxs)("label",{className:"graview-arrange-words-at",children:[(0,r.jsx)("span",{style:U,children:"Find"}),(0,r.jsx)("input",{type:"search",className:"graview-arrange-words","data-testid":`${s}-query`,value:i.query??"",placeholder:"Find\u2026",onChange:t=>h({query:t.target.value.length>0?t.target.value:void 0})})]}):null]})]})}function te(e,n){if(!n)return null;let u=n.shown!==n.of;if(!e)return u?{words:"",kept:`${n.shown} of ${n.of}`}:null;let a=n.of===1?e.one:e.many;return u?{words:` ${a}`,kept:`${n.shown} of ${n.of}`}:{words:`${n.of} ${a}`}}function A({testId:e,value:n,set:u,label:a,name:o,list:d,children:g}){let s=W("arrange",{align:"start"}),c=(0,S.useRef)(null);return(0,S.useEffect)(()=>{s.open&&c.current?.querySelector('[aria-pressed="true"]')?.focus({preventScroll:!0})},[s.open]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("button",{type:"button",className:"graview-arrange-open","data-testid":e,"data-set":u?"":void 0,value:n,"aria-label":o,...s.trigger,onClick:s.toggle,children:[g,(0,r.jsx)(oe,{})]}),s.open?(0,r.jsx)("div",{...s.pane,ref:f=>{s.pane.ref(f),c.current=f},role:"group","aria-label":a,"data-testid":"arrange-list","data-arrange":e,className:"graview-arrange-list",style:j,onKeyDown:ae,children:d(()=>s.setOpen(!1))}):null]})}function ae(e){if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key))return;let n=[...e.currentTarget.querySelectorAll("button:not([disabled]), input")];if(n.length===0)return;let u=n.indexOf(document.activeElement);if(document.activeElement instanceof HTMLInputElement&&(e.key==="ArrowUp"||e.key==="ArrowDown"))return;e.preventDefault();let a=e.key==="Home"?0:e.key==="End"?n.length-1:e.key==="ArrowDown"?(u+1)%n.length:(u-1+n.length)%n.length;n[a].focus()}function oe(){return(0,r.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10","aria-hidden":"true",focusable:"false",style:{flex:"0 0 auto",opacity:.7},children:(0,r.jsx)("path",{d:"M2 3.5 L5 6.5 L8 3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}var ie=`
2
- .graview-arrange{container-type:inline-size;box-sizing:border-box;width:100%;min-width:0;max-width:100%}
3
- .graview-arrange-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;font-size:.875rem;line-height:1.35;color:var(--graview-ink-muted)}
4
- .graview-arrange-count{margin-right:2px;color:var(--graview-ink-muted)}
5
- .graview-arrange-part{display:inline-flex;align-items:center;min-width:0}
6
- .graview-arrange-count~.graview-arrange-part::before{content:"\xB7";margin-right:6px;color:var(--graview-ink-muted)}
7
- .graview-arrange-open{display:inline-flex;align-items:center;gap:5px;min-height:28px;min-width:0;max-width:100%;margin:0;padding:0 6px;border:1px solid transparent;border-radius:7px;background:none;box-shadow:none;font:inherit;letter-spacing:normal;text-transform:none;text-align:left;color:var(--graview-ink-muted);cursor:pointer}
8
- .graview-arrange-open[data-set]{color:var(--graview-ink)}
9
- .graview-arrange-open:hover,.graview-arrange-open[aria-expanded=true]{border-color:var(--graview-edge);color:var(--graview-ink)}
10
- .graview-arrange :focus-visible,.graview-arrange-list :focus-visible{outline:2px solid var(--graview-accent);outline-offset:1px}
11
- .graview-arrange-all{display:none}
12
- @container (max-width: ${ee-1}px){.graview-arrange-one{display:none}.graview-arrange-all{display:inline-flex}}
13
- .graview-arrange-token{display:inline-flex;align-items:center;gap:0;min-width:0;padding-left:6px;color:var(--graview-ink);overflow-wrap:anywhere}
14
- .graview-arrange-token button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;margin:0;padding:0;border:0;border-radius:6px;background:none;font:inherit;line-height:1;color:var(--graview-ink-muted);cursor:pointer}
15
- .graview-arrange-token button:hover{color:var(--graview-ink);background:color-mix(in srgb,var(--graview-ink) 7%,transparent)}
16
- .graview-arrange-words-at{display:inline-flex;min-width:0;max-width:100%}
17
- .graview-arrange-words{box-sizing:border-box;width:min(100%,12rem);min-height:28px;margin:0;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;font:inherit;color:var(--graview-ink)}
18
- .graview-arrange-words:hover,.graview-arrange-words:focus{border-color:var(--graview-edge)}
19
- `;function we(e){let n=[];return e.query&&n.push(`\u201C${e.query}\u201D`),e.filter?.length&&n.push(`${e.filter.length} condition${e.filter.length===1?"":"s"}`),e.group&&n.push(`by ${e.group.by}`),e.sort&&n.push(`sorted by ${e.sort.by}`),n.length>0?n.join(" \xB7 "):null}export{ee as a,re as b,I as c,ne as d,fe as e,ye as f,we as g};
@@ -1 +0,0 @@
1
- import{a as g,ya as w}from"./chunk.2WFEFZAW.js";import{Lb as L}from"./chunk.RAE4M3KQ.js";import{a as C,b as V}from"./chunk.MRK6QJV5.js";import{b as u}from"./chunk.AJZBJBMO.js";var E="[data-graview-foot]",N="graview:foot-moved";var D=()=>({width:document.documentElement.clientWidth||innerWidth,height:innerHeight});function z(t,e){let o=D(),r=e?.getBoundingClientRect()??{left:0,top:0,right:o.width,bottom:o.height},i=Math.max(0,r.left),c=Math.min(o.width,r.right),s=Math.max(0,r.top),l=Math.min(o.height,r.bottom),m=Math.max(0,c-i),x=m<640;t.style.translate="none",t.style.top="auto",t.style.right="auto",t.style.maxWidth=`${Math.max(0,Math.min(560,m-2*16))}px`;let p=t.getBoundingClientRect();if(p.width===0&&p.height===0&&t.style.left!=="")return;let y=p.width,A=p.height;t.style.visibility=e&&l-s<A+16?"hidden":"";let h=x?i+(m-y)/2:i+16,f=o.height-l+16,v=[...document.querySelectorAll(E)].filter(n=>n!==t&&!t.contains(n)&&!n.contains(t)).map(n=>n.getBoundingClientRect()).filter(n=>n.width>0&&n.height>0&&n.right>i&&n.left<c&&n.bottom>s&&n.top<l),P=n=>n.bottom-n.top>(l-s)*.4;if(!x)for(let n of v)P(n)&&n.left<=h+1&&n.right+16>h&&n.right+16+y<=c&&(h=n.right+16);let R=v.filter(n=>!P(n));for(let n=!0,b=0;n&&b<R.length+1;b++){n=!1;for(let d of R){let M=o.height-f;d.right>h&&d.left<h+y&&d.bottom>M-A&&d.top<M&&(f=o.height-d.top+16/2,n=!0)}}t.style.left=`${Math.round(h)}px`,t.style.bottom=`calc(${Math.round(f)}px + env(safe-area-inset-bottom, 0px))`}function U(t,e){let o=D(),r=e?.getBoundingClientRect()??{left:0,top:0,right:o.width,bottom:o.height},i=Math.max(0,r.left),c=Math.min(o.width,r.right),s=Math.max(0,c-i);t.style.translate="none",t.style.bottom="auto",t.style.right="auto",t.style.maxWidth=`${Math.max(0,Math.min(560,s-2*16))}px`;let l=t.getBoundingClientRect().width;t.style.left=`${Math.round(i+(s-l)/2)}px`,t.style.top=`${Math.round(Math.max(16/2,r.top+16/2))}px`}var O=t=>`graview:lenses:${t}`,q=(t,e)=>t?.name??e.kinds.join(",");function k(t){try{let e=JSON.parse(localStorage.getItem(O(t))??"[]");return Array.isArray(e)?e.filter(o=>typeof o?.title=="string"&&typeof o.lens=="string"):[]}catch{return[]}}var S=u(C(),1);var a=u(V(),1),G=w(g(()=>import("./chunk.WXO3XUNW.js")));function B({lens:t,view:e}){let o=G.current.declaredLensView(t);return(0,a.jsx)(o,{...e})}var K=G.part((t,e)=>(0,a.jsx)(B,{...e}),{what:"This picture"});function $(t){return o=>(0,a.jsx)(S.Suspense,{fallback:null,children:(0,a.jsx)(K,{lens:t,view:o})})}var T=w(g(()=>import("./chunk.EA4BZKPG.js")));function W({blocks:t,view:e}){let o=T.current.homeView(t);return(0,a.jsx)(o,{...e})}var _=T.part((t,e)=>(0,a.jsx)(W,{...e}),{what:"The home"});function F(t){let e=o=>(0,a.jsx)(S.Suspense,{fallback:null,children:(0,a.jsx)(_,{blocks:t,view:o})});return Object.defineProperty(e,Symbol.for("graview.home-blocks"),{value:!0}),e}function tt(t,e){return e.home&&e.home.length>0&&t.home?.(F(e.home)),H(t,e),t.arrange?.(e.pages),t}function H(t,e,o){for(let r of L(e).drawn){if(o&&t.places().some(s=>s.title===r.title))continue;let i=$(r),c={title:r.title,...r.across?{across:r.across}:{},...o?{beside:o}:{}};for(let s of r.kinds)t.register(s,{cardinality:"many",fidelity:"full"},i,c),t.register(s,{cardinality:"many",fidelity:"summary"},i,c)}}function I(t,e,o){o.length>0&&H(t,{schema:e,lenses:o.map(({lens:r,...i})=>({...i,name:r}))},!0)}function et(t,e,o){I(t,e,k(o))}export{N as a,z as b,U as c,O as d,q as e,k as f,tt as g,I as h,et as i};
@@ -1 +0,0 @@
1
- import{B as f,J as d,Xb as y,sa as m,ua as p}from"./chunk.RAE4M3KQ.js";function v(n){let e=n.indexOf("{"),t=n.indexOf("["),a=t!==-1&&(e===-1||t<e)?t:e;if(a===-1)return;let r=n[a],i=r==="["?"]":"}",o=0,l=!1,s=!1;for(let u=a;u<n.length;u++){let c=n[u];if(l){s?s=!1:c==="\\"?s=!0:c==='"'&&(l=!1);continue}if(c==='"')l=!0;else if(c===r)o+=1;else if(c===i&&(o-=1,o===0))try{return JSON.parse(n.slice(a,u+1))}catch{return}}}function g(n,e){let t;try{t=n.mutation(e.mutation)}catch{return e}let a={...e.args},r=!1;for(let i of y(t.input)){if(i.control!=="node")continue;let o=a[i.name];if(typeof o!="string"||o.length===0||n.graph.getNode(o))continue;let l=o.trim().toLowerCase(),s=[...n.graph.allNodes()].filter(u=>(i.kinds.includes("*")||i.kinds.includes(u.kind))&&d(n.schema.tryDefinition(u.kind),u).trim().toLowerCase()===l);s.length===1&&(a[i.name]=s[0].id,r=!0)}return r?{...e,args:a}:e}function P(n,e,t){let a=t===void 0?null:new Set(t),r=[];for(let i of e){if(typeof i.mutation!="string")continue;let o=!0;try{n.mutation(i.mutation)}catch{o=!1}o?a&&!a.has(i.mutation)&&r.push({proposal:i,why:"not-allowed"}):r.push({proposal:i,why:"unknown"})}return r}function x(n,e,t){let a=t===void 0?null:new Set(t);return e.filter(r=>{if(typeof r.mutation!="string"||a&&!a.has(r.mutation))return!1;try{n.mutation(r.mutation)}catch{return!1}return r.args!==null&&typeof r.args=="object"})}function C(n,e){let t=n.allMutations().find(l=>l.name===e.mutation);if(t?.describe){let l=g(n,e),s=t.input.safeParse?.(l.args);if(s?.success)try{return t.describe(s.data,n.graph)}catch{}}let a=t?.subject?.arg,r=a?e.args[a]:void 0,i=typeof r=="string"?n.graph.getNode(r):void 0,o=t?.title??e.mutation;return i?`${o} \u2014 ${d(n.schema.tryDefinition(i.kind),i)}`:o}function b(n,e){let t=n.allMutations().find(o=>o.name===e.mutation);if(!t)return[];e=g(n,e);let a=t.input.shape??{},r=m(t.input),i=[];for(let o of Object.keys(a)){if(k(a[o]))continue;let l=e.args[o],s=r.find(c=>c.name===o);l!=null&&l!==""&&(!s||typeof l!="string"||n.graph.getNode(l)!==void 0)||i.push({name:o,...s?{kinds:s.kinds}:{},...s?{candidates:s.kinds.includes("*")?n.graph.allNodes().map(c=>c.id):s.kinds.flatMap(c=>n.graph.nodesOfKind(c).map(h=>h.id))}:{},shape:p(t.input,o)})}return i}function k(n){let e=f(n)?.type;return e==="optional"||e==="default"||e==="nullable"}export{v as a,g as b,P as c,x as d,C as e,b as f};
@@ -1 +0,0 @@
1
- import{a,b}from"./chunk.UOYH2DFX.js";import"./chunk.ORJ3T4IW.js";import"./chunk.H4LHHT56.js";import"./chunk.EKZWX6NG.js";import"./chunk.7BAUPTMY.js";import"./chunk.TTODVIXW.js";import"./chunk.WX5CJ7PI.js";import"./chunk.U6BWYBPM.js";import"./chunk.QOYC424P.js";import"./chunk.B57EIGTS.js";import"./chunk.2YVXTTC2.js";import"./chunk.WWRWXFYR.js";import"./chunk.BJ2Y5F66.js";import"./chunk.A4SJ7EEY.js";import"./chunk.6KJSFIO7.js";import"./chunk.DEZEXD24.js";import"./chunk.YZZGD5OY.js";import"./chunk.DSZ3I557.js";import"./chunk.SSOTDXRS.js";import"./chunk.ZRVDIVYY.js";import"./chunk.AHDOKM4O.js";import"./chunk.PY42PBMB.js";import"./chunk.JCZH55RX.js";import"./chunk.2WFEFZAW.js";import"./chunk.RAE4M3KQ.js";import"./chunk.MRK6QJV5.js";import"./chunk.AJZBJBMO.js";export{b as declaredLensView,a as formatFor};
@@ -1 +0,0 @@
1
- import{b as h}from"./chunk.UOYH2DFX.js";import"./chunk.ORJ3T4IW.js";import{a as x,b as S,c as D,g as f}from"./chunk.CFL2B2Z5.js";import"./chunk.H4LHHT56.js";import"./chunk.EKZWX6NG.js";import"./chunk.7BAUPTMY.js";import"./chunk.TTODVIXW.js";import"./chunk.WX5CJ7PI.js";import"./chunk.MJ67MK4R.js";import"./chunk.US4KIJSW.js";import"./chunk.F2KDFGHR.js";import"./chunk.U6BWYBPM.js";import"./chunk.QOYC424P.js";import"./chunk.B57EIGTS.js";import{o as k}from"./chunk.2YVXTTC2.js";import"./chunk.WWRWXFYR.js";import"./chunk.BJ2Y5F66.js";import"./chunk.A4SJ7EEY.js";import"./chunk.6KJSFIO7.js";import"./chunk.DEZEXD24.js";import"./chunk.YZZGD5OY.js";import"./chunk.DSZ3I557.js";import"./chunk.SSOTDXRS.js";import"./chunk.ZRVDIVYY.js";import"./chunk.AHDOKM4O.js";import"./chunk.PY42PBMB.js";import"./chunk.JCZH55RX.js";import{W as v,ca as w,ea as b}from"./chunk.2WFEFZAW.js";import{H as g,zb as u}from"./chunk.RAE4M3KQ.js";import{a as V,b as y}from"./chunk.MRK6QJV5.js";import{b as p}from"./chunk.AJZBJBMO.js";var i=p(V(),1);var e=p(y(),1);function O({page:a=!1,go:C,onPick:m,onDiscard:G}){let{store:o,seatTalk:s}=w(),d=v(s),K=D(),c=C??K,{keep:N}=x(c),[T,l]=(0,i.useState)(!1);b();let t=d.draft;if((0,i.useEffect)(()=>l(!1),[t]),(0,i.useEffect)(()=>{a||S(!1)},[a]),!t)return null;let L=h(t.drawn),B=o.schema.tryDefinition(t.kind),I=o.graph.nodesOfKind(t.kind).filter(n=>g(B,n)),P=()=>{s.setDraft(null),G?.()};return(0,e.jsxs)("section",{"data-testid":"draft-frame","aria-label":`Draft: ${t.title}`,style:a?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:0,zIndex:u("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-ground, var(--graview-panel))",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...z,...a?{}:{padding:"10px 16px"}},children:[a?(0,e.jsx)("span",{children:"Draft"}):(0,e.jsxs)("span",{children:["Draft \u2014 ",(0,e.jsx)("span",{"data-testid":"draft-title",style:{color:"var(--graview-ink)",fontWeight:600},children:t.title})]}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-keep",disabled:T,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{l(!0),N(t).finally(()=>l(!1))},style:f,children:"Keep as a lens"}),(0,e.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,e.jsx)("button",{type:"button","data-testid":"draft-discard",onClick:P,style:f,children:"Discard"})]}),d.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:a?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:d.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,style:a?{height:"min(72vh, 760px)",display:"grid",gridTemplateRows:"minmax(0, 1fr)",overflow:"auto",scrollbarGutter:"stable",border:"1px solid var(--graview-edge)",borderRadius:12,background:"var(--graview-panel)"}:{minHeight:0,overflow:"auto",scrollbarGutter:"stable",display:"grid",gridTemplateRows:"minmax(0, 1fr)"},onClick:n=>{let r=n.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!r||!o.graph.getNode(r))return;n.preventDefault();let R=o.graph.getNode(r);m?(s.setDraft(null),m(r)):c({to:"record",id:r,kind:R.kind,label:r,address:"",said:""})},children:(0,e.jsx)(k,{kind:t.kind,view:t.title,children:(0,e.jsx)(L,{nodes:I,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var z={margin:0,display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 8px",fontSize:"0.875rem",color:"var(--graview-ink-muted)",borderBottom:"1px solid var(--graview-edge)",paddingBottom:8};export{O as DraftFrame};
@@ -1 +0,0 @@
1
- import{Ba as y,Z as m}from"./chunk.2WFEFZAW.js";import{a as k,b as g}from"./chunk.MRK6QJV5.js";import{b as c}from"./chunk.AJZBJBMO.js";var p=c(k(),1);var i=c(g(),1);var h={default:{background:"var(--graview-panel, #ffffff)",color:"var(--graview-ink, #1a1a1a)"},muted:{background:"var(--graview-panel-muted, #f7f5f1)",color:"var(--graview-ink, #1a1a1a)"},warning:{background:"var(--graview-panel-warning, #fdf3ec)",color:"var(--graview-ink, #1a1a1a)"}},N={color:"var(--graview-ink-muted, #55514a)"},T={color:"var(--graview-ink-faint, #625d55)"};function E(e){let[r,n]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{let t=e.current;if(!t||typeof ResizeObserver>"u")return;let a=()=>n(t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1);a();let d=new ResizeObserver(a);d.observe(t);for(let l of t.children)d.observe(l);return()=>d.disconnect()}),r}function A({level:e,style:r,children:n}){if(e===void 0)return(0,i.jsx)("strong",{style:r,children:n});let t=`h${e}`;return(0,i.jsx)(t,{style:{margin:0,...r},children:n})}function L({title:e,subtitle:r,meta:n,selected:t,tone:a="default",children:d,style:l,fit:s=!1,variant:M,heading:R}){let u=(0,p.useRef)(null),f=E(u),C=m(),o=(M??(C==="fullscreen"?"page":"card"))==="page";return(0,i.jsxs)("div",{"data-graview-primitive":"panel","data-graview-variant":o?"page":"card","data-selected":t||void 0,style:{display:"flex",flexDirection:"column",gap:o?12:"var(--graview-gap, 7px)",height:o||s?"auto":"100%",maxHeight:o?"none":"100%",padding:o?0:"var(--graview-pad, 15px)",boxSizing:"border-box",borderRadius:o?0:"var(--graview-radius, 12px)",border:o?"none":`1px solid ${t?"var(--graview-accent, #2f6f5e)":"var(--graview-edge, #e4e0d8)"}`,boxShadow:o?"none":t?"0 0 0 1px var(--graview-accent-dim), var(--graview-lift-low)":"var(--graview-lift-low)",overflow:o?"visible":"hidden",...h[a],...o?{background:"transparent"}:{},"--graview-panel-bg":h[a].background,...l},children:[a==="warning"?(0,i.jsx)("span",{"data-graview-broken":"",style:y,children:"Implicated in a problem."}):null,e===void 0?null:(0,i.jsxs)("div",{style:{display:"flex",alignItems:"baseline",flexWrap:"wrap",gap:8,minWidth:0},children:[a==="warning"?(0,i.jsx)("span",{"aria-hidden":"true",title:"Implicated in a problem",style:{color:"var(--graview-warn)",flex:"0 0 auto"},children:"\u26A0"}):null,(0,i.jsx)(A,{level:R,style:{fontFamily:"var(--graview-font-display, inherit)",fontSize:o?"1.5625rem":"0.9375rem",lineHeight:o?1.15:1.25,fontWeight:o?600:560,letterSpacing:o?"-0.012em":"0.005em",minWidth:0,overflowWrap:"anywhere"},children:e}),n===void 0?null:(0,i.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",letterSpacing:"0.08em",textTransform:"uppercase",minWidth:0,overflowWrap:"anywhere",...T},children:n})]}),r===void 0?null:(0,i.jsx)("div",{style:{fontSize:o?"0.90625rem":"0.8125rem",lineHeight:1.5,...N},children:r}),(0,i.jsx)("div",{ref:u,className:o?void 0:"graview-scroll",...f&&!o?{tabIndex:0,role:"region",...typeof e=="string"?{"aria-label":e}:{}}:{},style:{display:"flex",flexDirection:"column",gap:o?22:"var(--graview-gap, 7px)",flex:"1 1 auto",...o?{overflow:"visible"}:{}},"data-graview-overflowing":f&&!o?"":void 0,children:d})]})}function v({label:e,hue:r,selected:n,title:t,pickId:a,emphasis:d}){let l=typeof e=="string"?e:void 0,s=r===void 0?void 0:Math.round(r);return(0,i.jsxs)("span",{"data-graview-primitive":"chip","data-selected":n||void 0,"data-graview-pick":a,"data-graview-emphasis":d,title:t??l,style:{cursor:a?"pointer":void 0,display:"inline-flex",alignItems:"center",alignSelf:"flex-start",minHeight:24,boxSizing:"border-box",padding:"3px 9px",borderRadius:6,fontSize:"0.8125rem",lineHeight:1.5,whiteSpace:"nowrap",maxWidth:"min(28ch, 100%)",overflow:"hidden",letterSpacing:"0.01em",border:`1px solid ${n?"var(--graview-accent)":s===void 0?"var(--graview-edge)":`hsl(${s} 55% var(--graview-tint-lightness) / 0.45)`}`,background:s===void 0?"var(--graview-panel-muted)":`hsl(${s} 55% var(--graview-tint-lightness) / calc(var(--graview-tint-alpha) * 0.65))`,color:"var(--graview-ink, #1a1a1a)",boxShadow:n?"0 0 14px -4px var(--graview-accent)":void 0},children:[s===void 0?null:(0,i.jsx)("span",{"aria-hidden":"true",style:{width:9,height:6,clipPath:"polygon(50% 0, 100% 50%, 50% 100%, 0 50%)",flex:"0 0 auto",marginRight:6,background:`hsl(${s} 55% var(--graview-tint-lightness) / 0.9)`}}),(0,i.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e})]})}function D({items:e,max:r=8,selectedIds:n=[],pick:t=!1}){let a=e.slice(0,r),d=e.length-a.length;return(0,i.jsxs)("div",{"data-graview-primitive":"roster",style:{display:"flex",flexWrap:"wrap",gap:6,alignContent:"flex-start"},children:[a.map(l=>(0,i.jsx)(v,{label:l.label,...l.hue===void 0?{}:{hue:l.hue},...t?{pickId:l.id}:{},...l.emphasis===void 0?{}:{emphasis:l.emphasis},selected:n.includes(l.id)},l.id)),d>0?(0,i.jsx)(v,{label:`+${d} more`}):null]})}function K({label:e,count:r,items:n,onExpand:t,flagged:a}){return(0,i.jsx)(L,{title:e,meta:a?`\u26A0 ${r}`:r,tone:a?"warning":"muted",style:t?{cursor:"zoom-in"}:void 0,children:n&&n.length>0?(0,i.jsx)(D,{items:n,max:6,pick:!0}):null})}var x=["solid","dashed","dotted","double","tapered"],b=["arrow","none","dot","bar"];function I(e){let r=2166136261;for(let n=0;n<e.length;n++)r^=e.charCodeAt(n),r=Math.imul(r,16777619);return r>>>0}function O(e,r={}){let n=I(e);return{...{pattern:x[n%x.length],width:1.5+(n>>>3)%3*.75,cap:b[(n>>>7)%b.length],hue:(n>>>11)%360,opacity:.85},...r[e]}}var W={solid:void 0,dashed:"7 5",dotted:"1 5",double:"12 3",tapered:"10 3 3 3"};function z(e){return e.color??`hsl(${Math.round(e.hue)} 55% 62%)`}function _(e,r){return r?Math.max(1.6,e.width):Math.min(1.4,e.width)}function w(e,r,n){return[e,0,0,0,0,e,0,0,0,0,1,0,r,n,0,1]}var S={0:{scale:1,blur:0,falloff:0,shadow:.16,fidelity:"full"},1:{scale:.95,blur:.3,falloff:.26,shadow:.12,fidelity:"summary"},2:{scale:.9,blur:.3,falloff:.34,shadow:.07,fidelity:"glyph"}},P={0:{scale:1,blur:0,falloff:0,shadow:.34,fidelity:"full"},1:{scale:.95,blur:.45,falloff:.18,shadow:.24,fidelity:"summary"},2:{scale:.9,blur:.45,falloff:.26,shadow:.14,fidelity:"glyph"}};function $(e,r="dark"){let n=Math.max(0,Math.min(2,Math.round(e)));return(r==="light"?S:P)[n]}function F(e,r,n){let t=Math.max(0,Math.min(1,n)),a=(d,l)=>d+(l-d)*t;return{scale:a(e.scale,r.scale),blur:a(e.blur,r.blur),falloff:a(e.falloff,r.falloff),shadow:a(e.shadow,r.shadow),fidelity:t<.5?e.fidelity:r.fidelity}}function Y(e,r,n,t,a){return w(e.scale,r,n)}export{P as a,$ as b,F as c,Y as d,O as e,W as f,z as g,_ as h,L as i,v as j,D as k,K as l};
@@ -1 +0,0 @@
1
- import{a as b,b as c,c as d,d as e,e as f,f as g}from"./chunk.I6T3FDQS.js";import"./chunk.DJ72CUS7.js";import"./chunk.A4SJ7EEY.js";import"./chunk.6KJSFIO7.js";import"./chunk.YZZGD5OY.js";import"./chunk.DSZ3I557.js";import{la as a}from"./chunk.RAE4M3KQ.js";import"./chunk.AJZBJBMO.js";export{a as ActRefusal,e as compileDocumentWithoutCheck,d as effectsOf,f as frameworkPath,g as inDocumentWords,c as kindShapes,b as readDocument};