graview 0.1.42 → 0.1.43

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 (201) hide show
  1. package/dist/preview/chunk.22E4GKYU.js +1 -0
  2. package/dist/preview/chunk.25VAWLKJ.js +1 -0
  3. package/dist/preview/chunk.26SI4K3P.js +35 -0
  4. package/dist/preview/chunk.27QYTMXP.js +1 -0
  5. package/dist/preview/chunk.2AZTW66C.js +1 -0
  6. package/dist/preview/chunk.2JMJTREH.js +1 -0
  7. package/dist/preview/chunk.3B47UX2J.js +2 -0
  8. package/dist/preview/{chunk.37NF3YXZ.js → chunk.3GQL4K3Q.js} +1 -1
  9. package/dist/preview/chunk.3HLNRVFY.js +1 -0
  10. package/dist/preview/chunk.4C65DXZB.js +1 -0
  11. package/dist/preview/{chunk.HQMGTPDC.js → chunk.4HAGPMY6.js} +3 -3
  12. package/dist/preview/{chunk.LQGXUMUX.js → chunk.4IDXQVSW.js} +1 -1
  13. package/dist/preview/{chunk.SUQU4AXG.js → chunk.4P3LS2OE.js} +1 -1
  14. package/dist/preview/{chunk.6HUS5UHZ.js → chunk.4YLBGGWT.js} +1 -1
  15. package/dist/preview/chunk.4ZHUGSJL.js +1 -0
  16. package/dist/preview/{chunk.2ZGICECC.js → chunk.4ZSHTUNK.js} +1 -1
  17. package/dist/preview/chunk.5BJW4IPW.js +1 -0
  18. package/dist/preview/{chunk.L6HKDIZB.js → chunk.5J2HETUO.js} +1 -1
  19. package/dist/preview/{chunk.U3MQUIJL.js → chunk.5TBK44MK.js} +1 -1
  20. package/dist/preview/chunk.63DI7XNE.js +21 -0
  21. package/dist/preview/{chunk.X2M7IOQA.js → chunk.64MP7636.js} +1 -1
  22. package/dist/preview/chunk.6AYTF53S.js +1 -0
  23. package/dist/preview/chunk.6BU3GCHK.js +1 -0
  24. package/dist/preview/{chunk.P6J6VFF5.js → chunk.6IEDQHKI.js} +1 -1
  25. package/dist/preview/chunk.6K4JBLOP.js +1 -0
  26. package/dist/preview/{chunk.KSXB4LDF.js → chunk.6PF5LWRK.js} +1 -1
  27. package/dist/preview/{chunk.27P37343.js → chunk.6ROYIMQ2.js} +1 -1
  28. package/dist/preview/{chunk.QHP7AJUV.js → chunk.6XEATXZC.js} +1 -1
  29. package/dist/preview/chunk.7IXLH7PR.js +1 -0
  30. package/dist/preview/chunk.7L6LYXCV.js +25 -0
  31. package/dist/preview/chunk.7MQ7UWVW.js +5 -0
  32. package/dist/preview/{chunk.7EB6SDUQ.js → chunk.7MXQRSNR.js} +1 -1
  33. package/dist/preview/{chunk.5NDYYTT4.js → chunk.7ROWZZN5.js} +1 -1
  34. package/dist/preview/chunk.7TU2PDYW.js +1 -0
  35. package/dist/preview/{chunk.57R4ZUMM.js → chunk.7XCBIID7.js} +1 -1
  36. package/dist/preview/{chunk.5FHH5NR6.js → chunk.A3WOUDOG.js} +1 -1
  37. package/dist/preview/{chunk.VO6DBVZR.js → chunk.AXJJUCWT.js} +1 -1
  38. package/dist/preview/chunk.B2KDYES6.js +1 -0
  39. package/dist/preview/{chunk.V3K32XD7.js → chunk.BT6FUNQI.js} +1 -1
  40. package/dist/preview/chunk.BYVE2NQY.js +1 -0
  41. package/dist/preview/chunk.BYVLGDVJ.js +1 -0
  42. package/dist/preview/{chunk.ROHM3ETN.js → chunk.C3DX4LWD.js} +1 -1
  43. package/dist/preview/chunk.C3X3R7LP.js +9 -0
  44. package/dist/preview/{chunk.I7QCXRP7.js → chunk.C5NOO4CC.js} +1 -1
  45. package/dist/preview/{chunk.EC2T2UVH.js → chunk.CO2ZPX3D.js} +2 -2
  46. package/dist/preview/{chunk.ARTJL3X2.js → chunk.CTSPNTDX.js} +1 -1
  47. package/dist/preview/{chunk.K63BUJBF.js → chunk.CW6IPHRR.js} +2 -2
  48. package/dist/preview/chunk.CXJXVBGF.js +1 -0
  49. package/dist/preview/{chunk.B6DKKNVR.js → chunk.DJ3BD7AZ.js} +1 -1
  50. package/dist/preview/{chunk.PACJFDDU.js → chunk.DQR45N7V.js} +1 -1
  51. package/dist/preview/{chunk.PCTVLNOS.js → chunk.DYW4D74X.js} +1 -1
  52. package/dist/preview/chunk.DZN26GKS.js +1 -0
  53. package/dist/preview/chunk.E2AJ7U5Z.js +1 -0
  54. package/dist/preview/chunk.E5PHLNXR.js +1 -0
  55. package/dist/preview/{chunk.HG2IO5NS.js → chunk.EBTYR5CZ.js} +1 -1
  56. package/dist/preview/chunk.EPPAFWP7.js +5 -0
  57. package/dist/preview/{chunk.NS3Z7QNP.js → chunk.F6CPM7SL.js} +1 -1
  58. package/dist/preview/chunk.FCPH4YZN.js +1 -0
  59. package/dist/preview/{chunk.PH5ITX3N.js → chunk.FKLEIR4Y.js} +1 -1
  60. package/dist/preview/chunk.FLMNHV6A.js +19 -0
  61. package/dist/preview/chunk.FTF67QE2.js +1 -0
  62. package/dist/preview/chunk.GNPYSMHA.js +1 -0
  63. package/dist/preview/chunk.GSZYT6GF.js +1 -0
  64. package/dist/preview/{chunk.X5WIS4BC.js → chunk.GZA5ZNLJ.js} +1 -1
  65. package/dist/preview/chunk.HMABYAZR.js +1 -0
  66. package/dist/preview/chunk.I4HUBO22.js +1 -0
  67. package/dist/preview/chunk.IJ2AF3AW.js +1 -0
  68. package/dist/preview/{chunk.HOTOH7ZB.js → chunk.IJU322EP.js} +1 -1
  69. package/dist/preview/chunk.IWUSCCZN.js +1 -0
  70. package/dist/preview/{chunk.B7DCQJXV.js → chunk.JNCSGUO3.js} +1 -1
  71. package/dist/preview/{chunk.LZH65VSN.js → chunk.K6SPN4D6.js} +1 -1
  72. package/dist/preview/chunk.KBMVUIWR.js +6 -0
  73. package/dist/preview/{chunk.HAY22FPJ.js → chunk.KG5R4GTK.js} +1 -1
  74. package/dist/preview/chunk.KR3J27IA.js +88 -0
  75. package/dist/preview/chunk.KWQ67UK2.js +1 -0
  76. package/dist/preview/chunk.LBIDNJ6G.js +1 -0
  77. package/dist/preview/{chunk.ILPD5CZG.js → chunk.LDU25CCL.js} +1 -1
  78. package/dist/preview/{chunk.CAZX6OPN.js → chunk.MBOOUJOE.js} +1 -1
  79. package/dist/preview/{chunk.J7ZMNAWB.js → chunk.MI2HL3LQ.js} +1 -1
  80. package/dist/preview/chunk.MXU3VQSQ.js +1 -0
  81. package/dist/preview/{chunk.KZDLDXLB.js → chunk.N3FONYEP.js} +2 -2
  82. package/dist/preview/chunk.NH6D6TWY.js +1 -0
  83. package/dist/preview/chunk.NQTCOBOQ.js +1 -0
  84. package/dist/preview/chunk.O4X5WJIC.js +1 -0
  85. package/dist/preview/chunk.OH2N3SX7.js +1 -0
  86. package/dist/preview/chunk.OIJP6PQV.js +1 -0
  87. package/dist/preview/{chunk.CSWX7YGI.js → chunk.ONSG3OIL.js} +1 -1
  88. package/dist/preview/chunk.ORKXXLWD.js +1 -0
  89. package/dist/preview/chunk.OUN2H3TR.js +1 -0
  90. package/dist/preview/{chunk.AQTCN7KQ.js → chunk.OWL5GZ6U.js} +1 -1
  91. package/dist/preview/chunk.PEXPTDX7.js +1 -0
  92. package/dist/preview/chunk.PWYMZWAN.js +1 -0
  93. package/dist/preview/{chunk.V5VQCANB.js → chunk.Q5XICUDZ.js} +1 -1
  94. package/dist/preview/chunk.QJUFVEAU.js +1 -0
  95. package/dist/preview/{chunk.WVN62OMH.js → chunk.QWY54AVN.js} +1 -1
  96. package/dist/preview/{chunk.Y2QDZLSY.js → chunk.QXTLZSBL.js} +1 -1
  97. package/dist/preview/{chunk.XDPIS7RS.js → chunk.R2B2ZAWI.js} +1 -1
  98. package/dist/preview/{chunk.VTUMPH4Z.js → chunk.R7F6UJVG.js} +1 -1
  99. package/dist/preview/chunk.RDXDEFOC.js +1 -0
  100. package/dist/preview/{chunk.WUQOSVQU.js → chunk.RPDTWQKA.js} +3 -3
  101. package/dist/preview/{chunk.4YBP552Z.js → chunk.RQBX7M7Q.js} +2 -2
  102. package/dist/preview/{chunk.LFJH6X6O.js → chunk.RSYFIL2Z.js} +1 -1
  103. package/dist/preview/{chunk.WZEA2UK6.js → chunk.RY4E4JRI.js} +1 -1
  104. package/dist/preview/{chunk.VEP4EJ2N.js → chunk.S2MP53RO.js} +1 -1
  105. package/dist/preview/{chunk.IWLVZGW5.js → chunk.S6BZXNMV.js} +1 -1
  106. package/dist/preview/{chunk.WERBD5ZR.js → chunk.SGRKCQ2X.js} +1 -1
  107. package/dist/preview/chunk.SKB4XSDG.js +1 -0
  108. package/dist/preview/chunk.T4M4MLOS.js +1 -0
  109. package/dist/preview/{chunk.BZ4VZ6WQ.js → chunk.T4Q6OLZU.js} +1 -1
  110. package/dist/preview/{chunk.QHLD4TZW.js → chunk.T4QT5SZY.js} +1 -1
  111. package/dist/preview/{chunk.VKJAGZNU.js → chunk.TMBFLZNH.js} +1 -1
  112. package/dist/preview/chunk.TX65ZO27.js +1 -0
  113. package/dist/preview/chunk.U3ETEQDO.js +1 -0
  114. package/dist/preview/chunk.VCOIFBUE.js +1 -0
  115. package/dist/preview/{chunk.4QEDYRES.js → chunk.VP35BUUZ.js} +5 -5
  116. package/dist/preview/{chunk.VMBIFUYX.js → chunk.WH2RYGXR.js} +1 -1
  117. package/dist/preview/{chunk.P7ISPJAQ.js → chunk.WWR7Y2KE.js} +1 -1
  118. package/dist/preview/chunk.X5WB4GJ4.js +1 -0
  119. package/dist/preview/chunk.XAXZCOZK.js +1 -0
  120. package/dist/preview/chunk.XBV4WO7D.js +1 -0
  121. package/dist/preview/chunk.XFQUVMRI.js +1 -0
  122. package/dist/preview/{chunk.QXMTGLHR.js → chunk.XGRMQUFB.js} +1 -1
  123. package/dist/preview/{chunk.O7VHAKSA.js → chunk.XVWJD2DG.js} +1 -1
  124. package/dist/preview/{chunk.LWAZ6ZO6.js → chunk.YKN2VWWQ.js} +2 -2
  125. package/dist/preview/{chunk.ZRIDKFTV.js → chunk.YPEZZLOY.js} +1 -1
  126. package/dist/preview/chunk.YQDIVHCH.js +1 -0
  127. package/dist/preview/{chunk.ZQCGDTQ3.js → chunk.Z56L6V6Z.js} +1 -1
  128. package/dist/preview/{chunk.KMGGP6XT.js → chunk.ZE4U4JBF.js} +2 -2
  129. package/dist/preview/chunk.ZE6LJVVN.js +1 -0
  130. package/dist/preview/{chunk.U6YOAS4X.js → chunk.ZEC64CK6.js} +1 -1
  131. package/dist/preview/chunk.ZHRW2UF4.js +1 -0
  132. package/dist/preview/{chunk.XNW7PUAF.js → chunk.ZRICIE6T.js} +1 -1
  133. package/dist/preview/chunk.ZUJZVK2X.js +1 -0
  134. package/dist/preview/index.html +46 -45
  135. package/dist/preview/page.js +6 -6
  136. package/package.json +6 -6
  137. package/dist/preview/chunk.22QEYFWI.js +0 -1
  138. package/dist/preview/chunk.35FR36BQ.js +0 -1
  139. package/dist/preview/chunk.36LP3I7Z.js +0 -21
  140. package/dist/preview/chunk.3K2KBIRG.js +0 -1
  141. package/dist/preview/chunk.3SKUJWFC.js +0 -1
  142. package/dist/preview/chunk.3WABA2WQ.js +0 -1
  143. package/dist/preview/chunk.4NBB44YU.js +0 -1
  144. package/dist/preview/chunk.4YRCKOX2.js +0 -1
  145. package/dist/preview/chunk.6MLAJKYM.js +0 -1
  146. package/dist/preview/chunk.6NF32PAT.js +0 -1
  147. package/dist/preview/chunk.6WB24MS3.js +0 -1
  148. package/dist/preview/chunk.7HZVCW3Q.js +0 -1
  149. package/dist/preview/chunk.7MJM3OVC.js +0 -1
  150. package/dist/preview/chunk.7OSL64QH.js +0 -1
  151. package/dist/preview/chunk.7XDNCCLG.js +0 -6
  152. package/dist/preview/chunk.7Z2GTKA4.js +0 -1
  153. package/dist/preview/chunk.AOC2KUFE.js +0 -1
  154. package/dist/preview/chunk.AWSUMY3D.js +0 -1
  155. package/dist/preview/chunk.B65HPL4I.js +0 -1
  156. package/dist/preview/chunk.BJET6KOG.js +0 -1
  157. package/dist/preview/chunk.D3ELYLME.js +0 -1
  158. package/dist/preview/chunk.DNMBZONP.js +0 -1
  159. package/dist/preview/chunk.DXAUXGNN.js +0 -1
  160. package/dist/preview/chunk.EHMCRUYR.js +0 -1
  161. package/dist/preview/chunk.EQIQPY4O.js +0 -1
  162. package/dist/preview/chunk.ETWOZQWL.js +0 -1
  163. package/dist/preview/chunk.EVHXF7LZ.js +0 -19
  164. package/dist/preview/chunk.FFRWSODT.js +0 -1
  165. package/dist/preview/chunk.G4AY6NGN.js +0 -1
  166. package/dist/preview/chunk.GN2SZEFH.js +0 -1
  167. package/dist/preview/chunk.GXWOEOUY.js +0 -1
  168. package/dist/preview/chunk.IGA7OD3L.js +0 -1
  169. package/dist/preview/chunk.IXS5XBG6.js +0 -1
  170. package/dist/preview/chunk.JCTT2LAK.js +0 -1
  171. package/dist/preview/chunk.JE4QQEJE.js +0 -25
  172. package/dist/preview/chunk.JEBB3WM7.js +0 -1
  173. package/dist/preview/chunk.JPD2I4Z7.js +0 -1
  174. package/dist/preview/chunk.LKGDN25E.js +0 -1
  175. package/dist/preview/chunk.LMUFLZYT.js +0 -1
  176. package/dist/preview/chunk.MUBZIU6F.js +0 -1
  177. package/dist/preview/chunk.MZ6I2Q4E.js +0 -1
  178. package/dist/preview/chunk.NTJNBKWC.js +0 -1
  179. package/dist/preview/chunk.OMCXJGDI.js +0 -1
  180. package/dist/preview/chunk.OTHGZPUC.js +0 -1
  181. package/dist/preview/chunk.P6FGIYWP.js +0 -35
  182. package/dist/preview/chunk.PYFQGBU3.js +0 -1
  183. package/dist/preview/chunk.RFCTUGMU.js +0 -1
  184. package/dist/preview/chunk.RR4RZH4S.js +0 -1
  185. package/dist/preview/chunk.S5K4FLLG.js +0 -1
  186. package/dist/preview/chunk.SZKVNPEF.js +0 -1
  187. package/dist/preview/chunk.T3F6BKIO.js +0 -1
  188. package/dist/preview/chunk.UG727PEE.js +0 -5
  189. package/dist/preview/chunk.VXZFW52D.js +0 -1
  190. package/dist/preview/chunk.VYPR2MZO.js +0 -1
  191. package/dist/preview/chunk.W77OH637.js +0 -1
  192. package/dist/preview/chunk.WODEO2JF.js +0 -9
  193. package/dist/preview/chunk.XPML6T3P.js +0 -1
  194. package/dist/preview/chunk.YJM23BJL.js +0 -88
  195. package/dist/preview/chunk.YLGSXLXF.js +0 -1
  196. package/dist/preview/chunk.YLI6I6XP.js +0 -1
  197. package/dist/preview/chunk.YRYEWVNP.js +0 -1
  198. package/dist/preview/chunk.Z2TYCMBT.js +0 -5
  199. package/dist/preview/chunk.ZAFIZXGX.js +0 -1
  200. package/dist/preview/chunk.ZBYLAC3B.js +0 -2
  201. package/dist/preview/chunk.ZOS5APMD.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graview",
3
- "version": "0.1.42",
3
+ "version": "0.1.43",
4
4
  "type": "module",
5
5
  "description": "The Graview command line: start a product, check its declaration, write its agent docs, serve its store, preview a document with no product and photograph its places, say whether a product is on one release, host it for an agent over MCP, apply an act to it, sync its seed, install the authoring skills. The tool; @graview/* is the framework.",
6
6
  "keywords": [
@@ -29,11 +29,11 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@graview/ship": "0.1.42",
33
- "@graview/skills": "0.1.42",
34
- "@graview/guest": "0.1.42",
35
- "@graview/core": "0.1.42",
36
- "@graview/tools": "0.1.42"
32
+ "@graview/core": "0.1.43",
33
+ "@graview/guest": "0.1.43",
34
+ "@graview/skills": "0.1.43",
35
+ "@graview/ship": "0.1.43",
36
+ "@graview/tools": "0.1.43"
37
37
  },
38
38
  "engines": {
39
39
  "node": ">=22"
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{L as M,N as H,tb as N}from"./chunk.UG727PEE.js";var z=()=>(__graviewPreload(import.meta.url,["./chunk.2ZGICECC.js","./chunk.PXQVXBNG.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.SZKVNPEF.js"));function F(n,l,y){let d=new Map;for(let u of y?.kinds??[])for(let a of n.nodesOfKind(u))l.has(a.id)||d.set(a.id,a);let o=new Set([...l,...d.keys()]),p=new Set(y?.edges??[]),k=new Set;if(p.size>0&&l.size>0){for(let u of l)for(let a of n.outEdges(u))p.has(a.kind)&&d.has(a.to)&&k.add(a.to);for(let u of d.keys())n.outEdges(u).some(a=>p.has(a.kind)&&l.has(a.to))&&k.add(u)}let b=new Map([...[...d].filter(([u])=>k.has(u)),...[...d].filter(([u])=>!k.has(u))]),h=[];if(p.size>0)for(let u of o)for(let a of n.outEdges(u))p.has(a.kind)&&o.has(a.to)&&h.push({kind:a.kind,from:a.from,to:a.to});return{nodes:[...b.values()],edges:h}}function L(n,l,y){let d=[];return()=>{let o=y();for(;d.length>0&&d[0]<=o-l;)d.shift();return d.length>=n?!1:(d.push(o),!0)}}function D(n={},l=Date.now){return{act:L(n.acts??30,n.actWindowMs??6e4,l),message:L(n.messages??120,n.messageWindowMs??1e3,l)}}var A=n=>typeof n=="object"&&n!==null&&!Array.isArray(n);function K(n,l){let y=structuredClone(l),d=n.schema.tryDefinition(y.kind),o=y.label;return{...y,label:d?.label?d.label(y):typeof o=="string"&&o.length>0?o:y.id}}function J(n){let l=n.limiter??D(n.limits,n.now),y=n.limits?.maxHeight??4e3,d=`view:${n.view}`,o={applied:0,refused:0,dropped:0},p=()=>n.store.seenBy(n.principal),k=e=>K(n.store,e),b=()=>{if(n.props)return n.props();let e=p(),t=e.graph,r=n.input?.()??{},f=r.node?t.getNode(r.node.id):void 0,i=r.nodes?.flatMap(s=>{let m=t.getNode(s.id);return m?[m]:[]}),g=new Set([...f?[f.id]:[],...(i??[]).map(s=>s.id)]),c=[];for(let s of g)for(let m of t.outEdges(s))g.has(m.to)&&c.push({kind:m.kind,from:m.from,to:m.to});let w=F(t,g,n.reads),S=new Set(c.map(s=>`${s.kind} ${s.from} ${s.to}`));for(let s of w.edges)S.has(`${s.kind} ${s.from} ${s.to}`)||c.push(s);let P=w.nodes.length>0?[...i??[],...w.nodes]:i,x=s=>s?.filter(m=>t.has(m)),T=e.permittedMutations(n.principal).map(s=>({name:s.name,title:s.title??s.name,...s.description!==void 0?{description:s.description}:{},...s.subject?{subject:{kinds:s.subject.kinds,arg:s.subject.arg}}:{}}));return{view:n.view,...f?{node:k(f)}:{},...P?{nodes:P.map(k)}:{},edges:c,...r.label!==void 0?{label:r.label}:{},...r.fidelity!==void 0?{fidelity:r.fidelity}:{},...r.cardinality!==void 0?{cardinality:r.cardinality}:{},...r.mode!==void 0?{mode:r.mode}:{},...r.selected!==void 0?{selected:r.selected}:{},...r.implicated?{implicated:x(r.implicated)}:{},...r.flagged?{flagged:x(r.flagged)}:{},acts:T,...n.theme?{theme:n.theme()}:{},locale:M(),timeZone:H(),...n.placesShown?{places:n.placesShown().map(({as:s,title:m,kind:$})=>({as:s,title:m,kind:$}))}:{}}},h=!1,u=0,a=()=>{if(h)return;u+=1;let e=b();n.send({type:"props",props:n.hand?n.hand(e):e,push:u})},v=!1,E=n.store.subscribe(()=>{v||(v=!0,queueMicrotask(()=>{v=!1,a()}))}),G=(e,t)=>(o.refused+=1,{ok:!1,reason:e,message:t}),j=(e,t,r)=>R([{name:e,args:t}],r),R=(e,t,r)=>{if(!l.act())return G("rate-limited","Too many acts asked for at once; this one was not applied.");let f=[];for(let{name:i,args:g}of e){if(t){let c=t(i,g);if(!c.ok)return G(c.reason,c.message);i=c.name,g=c.args}if(!n.store.allMutations().some(c=>c.name===i))return G("unknown-act","There is no act by that name here.");f.push({name:i,args:g})}try{let i=n.store.applyAll(f,{author:n.principal,via:d,...r?{intent:r}:{}});return o.applied+=1,{ok:!0,intent:i.intent}}catch(i){return i instanceof N?G("refused",i.refusal.message):G("failed","The act could not be applied.")}},O=(e,t,r)=>{let f=Array.isArray(r);if(typeof t!="string"||(f?r.length===0||r.length>100||!r.every(A):!A(r)))return o.refused+=1,n.send({type:"answer",id:e,ok:!1,reason:"malformed",message:"An act is asked for by name, with its arguments as an object, or a list of 1 to 100 of them for several as one change."});let i=R((f?r:[r]).map(g=>({name:t,args:g})),n.judgeAct);n.send(i.ok?{type:"answer",id:e,ok:!0,intent:i.intent}:{type:"answer",id:e,ok:!1,reason:i.reason,message:i.message})};return{receive(e){if(!h){if(!l.message()){o.dropped+=1,n.onFlood?.();return}if(!A(e)||e.nonce!==n.nonce){o.dropped+=1;return}if(e.type==="act"&&(typeof e.id=="string"||typeof e.id=="number"))return O(e.id,e.name,e.args);if(e.type==="navigate"&&n.onArrive&&(typeof e.place=="string"||typeof e.to=="string")){let t={...e.where!==void 0?{where:e.where}:{},...e.section!==void 0?{section:e.section}:{}},r=typeof e.place=="string"?{place:e.place,...t}:{record:e.to,...t},f=n.onArrive;z().then(({judgeDestination:i,listsOf:g})=>{if(h)return;let c=new Set([...n.store.kindsKeptFrom(n.principal),...n.store.modules.disabledKinds]),w=i(r,{sees:S=>p().graph.has(S),places:n.placesShown?.()??[],lists:g(n.store.schema,c),schema:n.store.schema});w.ok?f(w.arrival):(o.dropped+=1,n.onLost?.(w.says))});return}if(e.type==="navigate"&&typeof e.place=="string"){n.places?.().includes(e.place)?n.onNavigatePlace?.(e.place):o.dropped+=1;return}if(e.type==="navigate"&&typeof e.to=="string"){p().graph.has(e.to)?n.onNavigate?.(e.to):o.dropped+=1;return}if(e.type==="render"&&Array.isArray(e.records)&&n.onRender){n.onRender(e.records);return}if(e.type==="style"&&typeof e.css=="string"&&n.onStyle){n.onStyle(e.css);return}if(e.type==="hears"&&Array.isArray(e.events)&&n.onHears){n.onHears(e.events.filter(t=>typeof t=="string").slice(0,20));return}if(e.type==="gestures"&&Array.isArray(e.bound)&&n.onGestures){n.onGestures(e.bound.slice(0,32));return}if(e.type==="pushed"&&typeof e.push=="number"&&typeof e.ms=="number"&&n.onPushed){n.onPushed(e.push,e.ms);return}if(e.type==="size"&&typeof e.height=="number"&&Number.isFinite(e.height)){n.onSize?.(Math.max(0,Math.min(y,Math.round(e.height))));return}o.dropped+=1}},push:a,pressed(e){return h?{ok:!1,reason:"refused",message:"The view has gone."}:e.ok?j(e.name,e.args):(o.refused+=1,e)},change(e,t){return h?{ok:!1,reason:"refused",message:"The view has gone."}:R(e,void 0,t)},get stats(){return o},dispose(){h=!0,E()}}}export{F as a,D as b,K as c,J as d};
@@ -1 +0,0 @@
1
- import{a as C,e as L,n as H,o as R,p as k}from"./chunk.LWAZ6ZO6.js";import"./chunk.V5VQCANB.js";import"./chunk.UT6642FC.js";import"./chunk.WERBD5ZR.js";import"./chunk.HAY22FPJ.js";import{a as S}from"./chunk.U6YOAS4X.js";import"./chunk.TI4OSTQV.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{Ea as E,G as T,R as b}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{wc as x}from"./chunk.UG727PEE.js";import{b as g}from"./chunk.AJZBJBMO.js";var t=g(T(),1);var c=g(b(),1);function N(n){if(!n||n.interaction.outcome==="failed")return null;let s=n.offers[0],o=s?n.interaction.offered.find(i=>i.id===s.id)?.confidence:void 0;return s&&o!==void 0&&o>=.6?{offer:s,confidence:o}:null}function j({rest:n,hold:s,leave:o}){let i=S(),u=(0,t.useMemo)(()=>C(n.target,e=>i.store.graph.has(e)),[n.target,i.store]),l=u.on==="record"&&L(i.ai)!==void 0,m=l?H(i,u):void 0,p=JSON.stringify(u),[y,I]=(0,t.useState)(null);(0,t.useEffect)(()=>{if(!l||m!==void 0)return;let e=!0;return R(i,u).then(r=>{e&&I({key:p,result:r})}),()=>{e=!1}},[p,l]);let w=m??(y?.key===p?y.result:void 0),f=l?N(w):null,v=f?.offer.id??null,h=(0,t.useRef)(null);if((0,t.useEffect)(()=>{if(v===null)return;let e=r=>{r.target instanceof Node&&h.current?.contains(r.target)||o(!0)};return document.addEventListener("pointerdown",e,{capture:!0,passive:!0}),document.addEventListener("contextmenu",e,{capture:!0,passive:!0}),addEventListener("scroll",e,{capture:!0,passive:!0}),addEventListener("resize",e,{passive:!0}),()=>{document.removeEventListener("pointerdown",e,{capture:!0}),document.removeEventListener("contextmenu",e,{capture:!0}),removeEventListener("scroll",e,{capture:!0}),removeEventListener("resize",e)}},[v,o]),(0,t.useLayoutEffect)(()=>{let e=h.current;if(!e)return;if(typeof e.showPopover=="function"&&!E(e))try{e.showPopover()}catch{}let r=n.element.getBoundingClientRect(),d=e.getBoundingClientRect(),O=r.top-d.height-4>=4?r.top-d.height-4:Math.min(innerHeight-d.height-4,r.top+4),A=Math.max(4,Math.min(innerWidth-d.width-4,r.right-d.width));e.style.top=`${Math.round(O)}px`,e.style.left=`${Math.round(A)}px`},[v,n.element]),!f)return null;let{offer:a,confidence:P}=f,M=a.type==="panel"?"a panel":a.type==="place"?"go there":a.type==="record"?"open it":"suggested";return(0,c.jsxs)("button",{ref:h,type:"button",popover:"manual","data-testid":"hover-chip","data-ai-offer":a.id,"data-ai-offer-type":a.type,"data-graview-overlay":"","data-graview-popover":"","aria-label":`Suggested by AI: ${a.label}`,title:`Suggested by AI, ${Math.round(P*100)}% sure`,onPointerEnter:s,onPointerLeave:()=>o(),onClick:()=>{n.element.closest("[tabindex], a[href], button")?.focus({preventScroll:!0}),o(!0),k(i,w,a)},style:$,children:[(0,c.jsxs)("span",{"aria-hidden":"true",style:{color:"var(--graview-accent)"},children:["\u2726"," "]}),a.label,(0,c.jsxs)("span",{style:{color:"var(--graview-ink-faint)"},children:[" \xB7 ",M]})]})}var $={position:"fixed",inset:"auto",top:0,left:0,margin:0,zIndex:x("toast"),boxSizing:"border-box",width:"max-content",maxWidth:"min(320px, calc(100vw - 8px))",height:"auto",minHeight:24,padding:"2px 10px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",borderRadius:999,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",color:"var(--graview-ink)",boxShadow:"var(--graview-lift-high)",font:"inherit",fontSize:"0.75rem",cursor:"pointer"};export{j as HoverChip};
@@ -1,21 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as Je,b as nt,c as st,d as ot,e as it,f as at}from"./chunk.LQGXUMUX.js";import{a as rt,b as ke,c as lt}from"./chunk.IQ3LUSD6.js";import{g as Qe}from"./chunk.GAFYE37S.js";import{e as tt}from"./chunk.SUQU4AXG.js";import{c as Ze,f as et,g as ve}from"./chunk.ZRIDKFTV.js";import{b as se,d as oe}from"./chunk.22QEYFWI.js";import{a as we,e as Ye}from"./chunk.BBLIT7S7.js";import{a as ne,f as Xe,h as qe}from"./chunk.2ZGICECC.js";import"./chunk.PXQVXBNG.js";import{a as H}from"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var dt=["good","warn","bad","neutral","accent"],ut=["value","max","aria-label","placeholder","disabled"],ct=["click","change"],be=["_blank","_self"],pt=["section","div","span","strong","p","hr","a","button","input","progress"],ie={type:{oneOf:dt}},xe={"gv-card":{host:"section",properties:{tone:ie},events:{},children:"any"},"gv-group":{host:"div",properties:{direction:{type:{oneOf:["row","column"]}}},events:{},children:"any"},"gv-title":{host:"strong",properties:{},events:{},children:"text"},"gv-text":{host:"p",properties:{tone:ie},events:{},children:"text"},"gv-badge":{host:"span",properties:{tone:ie},events:{},children:"text"},"gv-field":{host:"div",properties:{label:{type:"string"}},events:{},children:"text"},"gv-progress":{host:"progress",properties:{value:{type:"number",as:"value"},max:{type:"number",as:"max"},label:{type:"string",as:"aria-label"}},events:{},children:"none"},"gv-divider":{host:"hr",properties:{},events:{},children:"none"},"gv-link":{host:"a",properties:{href:{type:"url"}},events:{},children:"text"},"gv-button":{host:"button",properties:{tone:ie,disabled:{type:"boolean",as:"disabled"}},events:{press:{from:"click"}},children:"text"},"gv-input":{host:"input",properties:{label:{type:"string",as:"aria-label"},value:{type:"string",as:"value"},placeholder:{type:"string",as:"placeholder"}},events:{change:{from:"change",detail:"value"}},children:"none"}},Se=1e4;var Kt=0,Rt=1,Gt=2,Wt=3,ft=1,Lt=2,_t=3,Ot=1,At=3,It=8,Te="~",Me=(s,e)=>Object.prototype.hasOwnProperty.call(s,e),Y=s=>typeof s=="object"&&s!==null&&!Array.isArray(s);function mt(s,e){return e.type==="url"?"href":e.as??`data-gv-${s.toLowerCase()}`}var Nt=2e3;function gt(s,e){if(e==null)return{ok:!0,value:null};let i=s.type;if(i==="boolean")return typeof e=="boolean"?{ok:!0,value:e}:{ok:!1,reason:"value"};if(i==="number")return typeof e=="number"&&Number.isFinite(e)?{ok:!0,value:String(e)}:{ok:!1,reason:"value"};if(typeof e!="string"||e.length>Nt)return{ok:!1,reason:i==="url"?"url":"value"};if(typeof i=="object")return i.oneOf.includes(e)?{ok:!0,value:e}:{ok:!1,reason:"value"};if(i==="url"){let f;try{f=new URL(e)}catch{return{ok:!1,reason:"url"}}return f.protocol!=="https:"||f.hostname===""||!/^https:\/\//i.test(e)?{ok:!1,reason:"url"}:{ok:!0,value:f.href}}return{ok:!0,value:e}}function Pt(s){let e=s.host==="a";return pt.includes(s.host)&&(s.target===void 0||e&&be.includes(s.target))&&Object.values(s.properties).every(i=>i.type!=="url"||e)&&Object.values(s.properties).every(i=>i.as===void 0||i.type!=="url"&&ut.includes(i.as))&&Object.values(s.events).every(i=>ct.includes(i.from))}function Ee(s,e){let i=e.kit??xe,f=e.maxNodes??2e3,o=s.ownerDocument,g=[],w=new Map,W={dom:s,name:Te,component:{host:"div",properties:{},events:{},children:"any"},children:[],listeners:new Map,id:Te};w.set(Te,W);let R=e.links?new Set(e.links.origins.flatMap(r=>{try{let d=new URL(r);return d.protocol==="https:"&&d.hostname!==""?[d.origin]:[]}catch{return[]}})):void 0,A=0,M=0,N=!1,c=r=>{g.push(r),g.length>200&&g.shift()},E=()=>({dom:o.createComment(""),children:[],refused:!0,listeners:new Map}),T=(r,d,y)=>{let a=r.component;if(!Me(a.properties,d))return c({reason:"property",element:r.name,name:d});let n=a.properties[d],m=gt(n,y),b=m.ok&&n.type==="url"&&R&&typeof m.value=="string"&&!R.has(new URL(m.value).origin)?{ok:!1,reason:"url"}:m,S=r.dom,h=mt(d,n);if(!b.ok)return S.removeAttribute(h),c({reason:b.reason,element:r.name,name:d});let L=b.value;L===null||L===!1?S.removeAttribute(h):S.setAttribute(h,L===!0?"":L),h==="value"&&"value"in S&&(S.value=typeof L=="string"?L:""),h==="disabled"&&"disabled"in S&&(S.disabled=L!==null&&L!==!1)},v=(r,d,y)=>{let a=r.component;if(!Me(a.events,d))return c({reason:"event",element:r.name,name:d});let n=r.listeners.get(d);if(n&&(n(),r.listeners.delete(d),M-=1),y==null)return;if(!Y(y)||typeof y.listener!="number")return c({reason:"value",element:r.name,name:d});let m=y.listener,b=a.events[d],S=r.dom,h=()=>e.onEvent(m,b.detail==="value"?String(S.value??""):void 0);S.addEventListener(b.from,h),r.listeners.set(d,()=>S.removeEventListener(b.from,h)),M+=1},k=r=>{if(!r.refused){A-=1,r.id!==void 0&&w.delete(r.id);for(let d of r.listeners.values())d();M-=r.listeners.size,r.listeners.clear();for(let d of r.children)k(d)}},_=(r,d)=>{if(!Y(r)||typeof r.id!="string"||w.has(r.id))return c({reason:"record"}),E();if(A>=f)return c({reason:"budget"}),N||(N=!0,e.onOverBudget?.()),E();let y=r.id,a=d.component.children;if(r.type===It)return E();if(r.type===At){if(a==="none")return c({reason:"child",element:d.name}),E();let h={dom:o.createTextNode(String(r.data??"").slice(0,Se)),children:[],text:!0,listeners:new Map,id:y};return w.set(y,h),A+=1,h}if(r.type!==Ot)return c({reason:"record"}),E();let n=String(r.element);if(!Me(i,n)||!Pt(i[n]))return c({reason:"element",element:n}),E();if(a!=="any")return c({reason:"child",element:n}),E();let m=i[n],b=o.createElement(m.host);b.setAttribute("data-gv",n.replace(/^gv-/,"")),b.className=`graview-guest-${n.replace(/^gv-/,"")}`,m.host==="a"&&(b.setAttribute("rel","noopener noreferrer"),b.setAttribute("target",m.target??"_blank"),b.setAttribute("referrerpolicy","no-referrer")),m.host==="button"&&b.setAttribute("type","button");let S={dom:b,name:n,component:m,children:[],listeners:new Map,id:y};if(w.set(y,S),A+=1,Y(r.properties))for(let[h,L]of Object.entries(r.properties))T(S,h,L);if(Y(r.attributes))for(let h of Object.keys(r.attributes))c({reason:"attribute",element:n,name:h});if(Y(r.eventListeners))for(let[h,L]of Object.entries(r.eventListeners))v(S,h,L);if(Array.isArray(r.children))for(let h of r.children){let L=_(h,S);S.children.push(L),b.appendChild(L.dom)}return S},P=r=>{if(!Array.isArray(r))return c({reason:"record"});let[d,y]=r,a=typeof y=="string"?w.get(y):void 0;if(!a)return c({reason:"record"});switch(d){case Kt:{if(a.text)return c({reason:"record"});let n=Number(r[3]),m=Number.isInteger(n)&&n>=0&&n<=a.children.length?n:a.children.length,b=_(r[2],a);a.dom.insertBefore(b.dom,a.children[m]?.dom??null),a.children.splice(m,0,b);return}case Rt:{let n=Number(r[2]),m=a.children[n];if(!m)return c({reason:"record"});a.children.splice(n,1),m.dom.parentNode?.removeChild(m.dom),k(m);return}case Gt:if(!a.text)return c({reason:"record"});a.dom.data=String(r[2]??"").slice(0,Se);return;case Wt:{if(a===W||a.text)return c({reason:"record"});let n=String(r[2]),m=r[4]??ft;return m===ft?T(a,n,r[3]):m===_t?v(a,n,r[3]):c(m===Lt?{reason:"attribute",element:a.name,name:n}:{reason:"record"})}default:return c({reason:"record"})}};return{apply(r,d){if(!Array.isArray(r))return c({reason:"record"}),!0;for(let y=0;y<r.length;y+=1){if(d&&y%32===0&&d())return!1;P(r[y])}return!0},get refused(){return g},get size(){return A},get listening(){return M},dispose(){for(let r of W.children)k(r);W.children.length=0,s.replaceChildren()}}}var Ke=`
2
- .graview-guest { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--graview-ink, inherit); font: inherit; }
3
- .graview-guest-card { display: flex; flex-direction: column; gap: 6px; padding: 12px; border: 1px solid var(--graview-edge, #d0d0d0); border-radius: 10px; background: var(--graview-panel, transparent); }
4
- .graview-guest-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
5
- .graview-guest-group[data-gv-direction="row"] { flex-direction: row; flex-wrap: wrap; align-items: center; }
6
- .graview-guest-title { font-weight: 600; font-size: 1rem; overflow-wrap: anywhere; }
7
- .graview-guest-text { margin: 0; font-size: 0.875rem; line-height: 1.45; overflow-wrap: anywhere; }
8
- .graview-guest-badge { align-self: flex-start; padding: 1px 8px; border: 1px solid currentColor; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; }
9
- .graview-guest-field { font-size: 0.875rem; overflow-wrap: anywhere; }
10
- .graview-guest-field[data-gv-label]::before { content: attr(data-gv-label) " "; color: var(--graview-ink-muted, inherit); }
11
- .graview-guest-progress { width: 100%; }
12
- .graview-guest-divider { width: 100%; margin: 2px 0; border: 0; border-top: 1px solid var(--graview-edge, #d0d0d0); }
13
- .graview-guest-link { color: var(--graview-accent, inherit); text-decoration: underline; }
14
- .graview-guest-button { align-self: flex-start; font: inherit; padding: 4px 12px; border-radius: 8px; border: 1px solid var(--graview-edge, #d0d0d0); background: var(--graview-panel, transparent); color: inherit; cursor: pointer; }
15
- .graview-guest-input { font: inherit; padding: 4px 8px; border-radius: 6px; border: 1px solid var(--graview-edge, #d0d0d0); }
16
- .graview-guest [data-gv-tone="good"] { color: var(--graview-good, inherit); }
17
- .graview-guest [data-gv-tone="bad"] { color: var(--graview-bad, inherit); }
18
- .graview-guest [data-gv-tone="warn"] { color: var(--graview-warn, inherit); }
19
- .graview-guest [data-gv-tone="accent"] { color: var(--graview-accent, inherit); }
20
- .graview-guest [data-gv-tone="neutral"] { color: var(--graview-ink-muted, inherit); }
21
- `;var yt=new WeakSet;function Vt(s,e){if(s.startsWith("blob:"))return"blob:";try{return new URL(s,e.location.href).origin}catch{return s}}function ht(s,e,i){let f=Vt(e,s),o=`this page's Content-Security-Policy${i?` (${i})`:""} does not allow a worker from ${f}: it needs worker-src ${f}`;return yt.has(s)||(yt.add(s),s.console?.warn?.(`Graview: worker views cannot start on this page, because ${o}. A host that will not allow ${f} serves each view's whole script from its own origin and passes worker: { url } (the @graview/guest README, "What the host page allows").`)),o}function Dt(s,e){return s===""?!0:e.startsWith("blob:")?s.startsWith("blob"):e.startsWith(s)||s.startsWith(e)}function ae(s,e){let i="script"in e.source?s.URL.createObjectURL(new s.Blob([e.source.script],{type:"text/javascript"})):void 0,f="script"in e.source?i:e.source.url,o,g,w=!1,W=!1,R=0,A=0,M="",N=0,c=0,E=s.performance,T=E.now(),v,k=a=>{let n=a,m=String(n.effectiveDirective||n.violatedDirective||"").split(" ")[0];/^(worker-src|script-src|script-src-elem|child-src|default-src)$/.test(m)&&Dt(String(n.blockedURI??""),f)&&(v=m)},_=s.document;_?.addEventListener("securitypolicyviolation",k);let P=()=>_?.removeEventListener("securitypolicyviolation",k),r=()=>{W||(W=!0,g?.close(),o?.terminate(),o=void 0,s.clearTimeout(R),s.clearInterval(A),P(),i&&s.URL.revokeObjectURL(i))},d=(a,n)=>{W||(r(),e.onStop(a,n))},y=()=>{s.clearTimeout(R),P(),M=Je();let a=new s.MessageChannel;g=a.port1;let n=Math.max(1,e.silentMs),m=Math.max(10,Math.min(1e3,Math.floor(n/4)));T=E.now();let b=T;A=s.setInterval(()=>{let h=E.now();if(h-b>m*2&&(T+=h-b-m),b=h,h-T>=n)return d("silent");N+=1,a.port1.postMessage({type:"heartbeat",beat:N})},m);let S={graview:"host-hello",protocol:1,nonce:M,view:e.name};o.postMessage(S,[a.port2]),e.onReady(M,a.port1)};try{o=new s.Worker(f,{name:e.name})}catch(a){o=void 0;let n=a,m=n?.name==="SecurityError"?ht(s,f,v):`the worker could not be made: ${String(n?.message??a)}`;queueMicrotask(()=>d("start",m))}return o&&(R=s.setTimeout(()=>d("start",`it never said it was ready in ${e.readyMs.toLocaleString("en-US")} ms`),e.readyMs),o.onerror=a=>{let n=typeof a.message=="string"&&a.message!==""?a.message:void 0;if(w)return void e.onError?.(n??"an error");s.clearTimeout(R),s.setTimeout(()=>!w&&d("start",v?ht(s,f,v):n?`it failed before it said ready: ${n}`:"it failed before it said ready, and the engine gave no reason (a page policy that refuses it, or a script that does not load)"),0)},o.onmessage=a=>{if(!e.limiter.message()||w||!Ye(a.data)||a.data.protocol!==1){e.onDropped();return}w=!0,y()}),{get worker(){return o},answer(a){let n=a;return typeof n!="object"||n===null||n.type!=="heartbeat"||n.nonce!==M?!1:(typeof n.beat=="number"&&n.beat>c&&n.beat<=N&&(c=n.beat,T=E.now()),!0)},stop:r}}function le(s,e){let i=e(),f=0;return{draw(o){let g=e();g-i>=1e3&&(i=g,f=0);let w=o(()=>f+(e()-g)>=s);return f+=e()-g,w&&f<s}}}var Ct=H(()=>(__graviewPreload(import.meta.url,["./chunk.GAFYE37S.js","./chunk.AJZBJBMO.js"]),import("./chunk.YWVOACSX.js"))),Ht=H(()=>(__graviewPreload(import.meta.url,["./chunk.SUQU4AXG.js","./chunk.ZRIDKFTV.js","./chunk.22QEYFWI.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.MUBZIU6F.js"))),jt=H(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.SHNYYBNW.js"))),Ut=H(()=>(__graviewPreload(import.meta.url,["./chunk.WVUJXDXZ.js","./chunk.WVN62OMH.js","./chunk.BZ4VZ6WQ.js","./chunk.XDPIS7RS.js","./chunk.57R4ZUMM.js","./chunk.J7ZMNAWB.js","./chunk.VKJAGZNU.js","./chunk.PCTVLNOS.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.VXZFW52D.js"))),Bt=H(()=>(__graviewPreload(import.meta.url,["./chunk.ZRIDKFTV.js","./chunk.22QEYFWI.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.XNW7PUAF.js"))),$t=H(()=>(__graviewPreload(import.meta.url,["./chunk.BBLIT7S7.js","./chunk.AJZBJBMO.js"]),import("./chunk.RRCPEHM4.js")));function Ft(s,e,i){switch(s){case"manifest":return i??"Its manifest names something this app does not have.";case"source":return i??`Its code is longer than the ${e.maxSourceBytes.toLocaleString("en-US")} bytes a view may be.`;case"start":return`It could not start${i?`: ${i}.`:"."}`;case"error":return`It failed before it drew anything${i?`: ${i}`:"."}`;case"silent":return`It stopped answering for ${e.silentMs.toLocaleString("en-US")} ms.`;case"nodes":return`It drew more than the ${e.maxNodes.toLocaleString("en-US")} things a view may draw.`;case"flood":return`It sent more than ${e.messages} messages in ${e.messageWindowMs.toLocaleString("en-US")} ms.`;case"slow":return`It took longer than ${e.pushMs.toLocaleString("en-US")} ms to draw what it was shown.`}}function zt(s,e){let i=s.ownerDocument,f=i.defaultView,{manifest:o}=e,g=i.createElement("div");g.className="graview-worker-view",g.setAttribute("role","region"),g.setAttribute("aria-label",o.title??o.name),g.setAttribute("data-worker-view",o.name),g.style.cssText="display:block;position:relative;contain:layout paint style;isolation:isolate;overflow:clip;min-width:0",s.appendChild(g);let w=g.attachShadow({mode:"open"}),W=e.author?i.createElement("p"):void 0;W&&(W.className="graview-worker-view-author",W.setAttribute("data-worker-view-author",o.name),W.style.cssText="margin:4px 0 0;font-size:0.75rem;color:var(--graview-ink-muted, inherit)",W.textContent=e.author,s.appendChild(W));let R={applied:0,refused:0,dropped:0},A=se(e.limits),M={maxSourceBytes:e.limits?.maxSourceBytes??256e3,maxNodes:e.limits?.maxNodes??5e3,messages:e.limits?.messages??120,messageWindowMs:e.limits?.messageWindowMs??1e3,pushMs:e.limits?.pushMs??1e3,silentMs:e.limits?.silentMs??5e3,drawMs:e.limits?.drawMs??100},N,c,E,T,v=!1,k={applied:0,refused:0,dropped:0},_=[],P=()=>{if(!c)return;let t=c.stats;R.applied+=t.applied-k.applied,R.refused+=t.refused-k.refused,R.dropped+=t.dropped-k.dropped,k={...t}},r=()=>{},d=0,y=()=>{},a=()=>{y(),y=()=>{},P(),c?.dispose(),c=void 0,E?.stop(),r(),f.clearInterval(d)},n=(t,p)=>{if(v)return;v=!0,a(),T?.dispose();let x=Ft(t,M,p);g.removeAttribute("data-worker-view-drawn"),g.setAttribute("data-worker-view-failed",t),e.fallback!==!1&&(e.fallback??m)(g,t,x),e.onFailure?.(t,x)},m=(t,p,x)=>{let K=N??(()=>{try{return ve(e.store,e.principal,{manifest:o,...e.input?{input:e.input()}:{}})}catch{return}})(),l=i.createElement("div");l.setAttribute("data-graview-fallback",p),l.style.cssText="padding:12px;display:grid;gap:6px;color:var(--graview-ink, inherit);font-family:var(--graview-font-body, inherit)";let I=i.createElement("strong");I.textContent=o.title??o.name;let O=i.createElement("ul");O.style.cssText="margin:0;padding-left:1.2em";for(let $ of[...K?.node?[K.node]:[],...K?.nodes??[]]){let q=i.createElement("li");q.textContent=$.label??$.id,O.appendChild(q)}let B=i.createElement("p");B.style.cssText="margin:0;font-size:0.8125rem;color:var(--graview-ink-muted, inherit)",B.textContent=`This view was stopped. ${x}`,l.append(I,O,B),w.replaceChildren(l)},b=et(o,e.store);if(b.length>0)return queueMicrotask(()=>n("manifest",b.join(" "))),ge();let S=t=>{if(("source"in t?new TextEncoder().encode(t.source).length:"script"in t?new TextEncoder().encode(t.script).length:0)>M.maxSourceBytes)return["source"];let x="source"in t?rt(t.source):[];return x.length>0?["source",x.join(" ")]:void 0},h=e.worker,L=typeof h=="function"?void 0:S(h);if(L)return queueMicrotask(()=>n(...L)),ge();let Re=at(f,()=>We(),"blob"),de=()=>it(()=>e.theme?.()??st(g),e.brand,Re),Ge="",ue=()=>{Ge=JSON.stringify(de()),c?.push()},We=()=>{c&&JSON.stringify(de())!==Ge&&ue()},vt=ot(i,We),j,U,Le=o.pictures?jt().then(({createGuestPictures:t})=>{v||(j=t(f,{as:"blob",view:`"${o.title??o.name}"`,pictures:o.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>c?.push(),onLeft:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)}}))}):Promise.resolve();r=()=>{vt(),Re.dispose(),j?.dispose(),X?.dispose(),U?.dispose(),te?.dispose()};let D,J=t=>D?.postMessage(t),_e=!1,Oe=!1,Q=()=>g.toggleAttribute("data-worker-view-drawn",!v&&Oe&&T!==void 0&&_.length===0&&z.size===0&&!j?.waiting()&&!(U?.waiting??0)),F=f.performance,z=new Map,Z=F.now(),ce=Math.max(10,Math.min(250,Math.floor(M.pushMs/4))),kt=()=>{d||(Z=F.now(),d=f.setInterval(()=>{let t=F.now(),p=t-Z>ce*2?t-Z-ce:0;Z=t;for(let[x,K]of z){let l=K+p;if(z.set(x,l),t-l>=M.pushMs)return n("slow")}},ce))},bt=le(M.drawMs,()=>F.now()),Ae=()=>{},pe=t=>{if(v)return;if(!T)return void _.push(t);let p=T;if(!bt.draw(K=>t[0]==="render"?p.apply(t[1],K):(p.style(t[1]),!0)))return n("slow");t[0]==="render"&&Ae()},Ie=()=>Xe(e.store.schema,new Set([...e.store.kindsKeptFrom(e.principal),...e.store.modules.disabledKinds])),ee=qe({sees:t=>e.store.seenBy(e.principal).graph.has(t),places:()=>ne(e.places?.()??[]),lists:Ie,schema:e.store.schema,...e.onNavigate?{onNavigate:e.onNavigate}:e.goTo?{onNavigate:t=>nt(e.goTo(),t)}:{},onLost:t=>{D?.postMessage({type:"notice",text:t}),e.onProblem?.(t)}}),C=new Set,Ne=new Set,X,Pe=!1,Ve=()=>{Pe||(Pe=!0,Ut().then(({createGuestMedia:t})=>{v||(X=t(f,{view:`"${o.title??o.name}"`,pictures:o.pictures!==void 0,shown:()=>N,...e.file?{file:e.file}:{},onProblem:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)}}),X.refresh(w))},()=>e.onProblem?.(`The view "${o.title??o.name}" places a video or a full-screen viewer, and the host's player could not be loaded.`)))},De=!1,Ce=!1,fe=new Map,He=()=>{De||!o.accepts?.length||(De=!0,Bt().then(({createGuestDrops:t})=>{v||(U=t(f,{shadow:w,manifest:o,store:e.store,principal:e.principal,files:()=>e.files?.(),shown:()=>C,hears:()=>Ce,idOf:p=>T?.renderer.idOf(p),send:J,change:(p,x)=>{if(!c)return{ok:!1,reason:"refused",message:"The view has gone."};let K=c.change(p,x);return P(),K},handed:p=>fe.set(p.href,p),onProblem:p=>{D?.postMessage({type:"notice",text:p}),e.onProblem?.(p)},onBusy:()=>Q()}),U.refresh())},()=>e.onProblem?.(`The view "${o.title??o.name}" takes files, and the host's drop could not be loaded.`)))},te,je=[],Ue=!1,xt=t=>{je=t,te?.bind(t),!(Ue||t.length===0)&&(Ue=!0,$t().then(({createGuestGestures:p,unheardWords:x})=>{if(!v){if(o.gestures!==!0){let K=x(o.title??o.name);return D?.postMessage({type:"notice",text:K}),e.onProblem?.(K)}te=p(w,{root:()=>w.querySelector("[data-graview-view-root]")??void 0,idOf:K=>T?.renderer.idOf(K),send:J}),te.bind(je)}},()=>{}))},St=t=>{let p=e.store.seenBy(e.principal).graph;for(let x of C){let K=p.getNode(x);for(let l of Object.values(K??{}))for(let I of Ze(l))if(I.href===t)return I}},Be=t=>{if(t.localName==="graview-video")return Ve();t.hasAttribute("data-lightbox")&&(t.setAttribute("aria-haspopup","dialog"),Ve())};Promise.all([Ct(),Ht()]).then(([{createOpenDrawing:t},{createPressReader:p,createSaver:x,fillPrefills:K,judgePress:l,prefillOf:I}])=>{if(v)return;let O=p(),B=(u,G)=>{let V=T?.renderer.idOf(u);V!==void 0&&J({type:"dom-event",target:V,event:"acted",pressed:G})},$=x({reader:O,save:(u,G)=>{if(!c)return;let V=c.pressed(l(e.store,o,C,u));P(),B(G,{as:u.as,...V})}}),q=()=>$.flush();f.addEventListener("pagehide",q),y=()=>{f.removeEventListener("pagehide",q),$.flush()};let Tt=new WeakSet;Ae=()=>{K(w,O,Tt,u=>I(e.store,e.principal,o,C,u)),X?.refresh(w),U?.refresh()},T=t(w,{origin:e.origin??f.location.origin,...e.asset?{asset:e.asset}:{},...e.images?{imageOrigins:e.images.origins}:{},...o.pictures?{picture:u=>j?.drawn(u)}:{},onRefused:u=>{if(u.reason!=="url"||u.element!=="img"||u.address===void 0||Ne.has(u.address))return;Ne.add(u.address);let G=Qe(u.address,{...e.images?{origins:e.images.origins}:{},assets:e.asset!==void 0},u.length);D?.postMessage({type:"notice",text:G}),e.onProblem?.(G)},...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>n("nodes"),send:J,onFieldSet:u=>O.filled(u),onAttribute:(u,G)=>{u.localName==="a"&&(G==="data-record"||G==="data-place")&&ee.link(u),G==="data-lightbox"&&Be(u),G==="data-drop"&&He()},decorate:u=>{u.localName==="a"&&ee.link(u),Be(u),u.hasAttribute("data-drop")&&He()},before:(u,G,V)=>{O.heard(u,G),$.heard(u,G,V);let ye=G.closest("a[data-graview-link]");ye&&V.contains(ye)&&(u.type==="click"||u.type==="keydown"&&u.key==="Enter")&&(u.preventDefault(),u.stopPropagation(),ee.follow(ye));let re=G.closest("[data-lightbox]"),Fe=u.type==="keydown"?u.key:void 0;if(re&&V.contains(re)&&u.isTrusted&&(u.type==="click"||(Fe==="Enter"||Fe===" ")&&re.localName!=="button")&&(u.preventDefault(),u.stopPropagation(),X?.open(re)),U?.before(u,G,V))return!1;let he=O.press(u,G,V);if(!he||!c)return;u.stopPropagation();let Mt=c.pressed(l(e.store,o,C,he));P();let ze={as:he.as,...Mt},Et=G.closest("[data-act]");return queueMicrotask(()=>B(Et,ze)),{pressed:ze}}});for(let u of _.splice(0))pe(u);Q()},()=>n("start","the view's drawing could not be loaded"));let me=t=>E=ae(f,{source:t,name:o.name,limiter:A,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>R.dropped+=1,onStop:(p,x)=>n(p,x),onError:p=>{_e||n("error",p)},onReady:(p,x)=>{D=x,kt();let K=oe({store:e.store,principal:e.principal,view:o.name,nonce:p,send:l=>{l.type==="props"&&typeof l.push=="number"&&(z.set(l.push,F.now()),Q()),x.postMessage(l)},props:()=>{let l=ve(e.store,e.principal,{manifest:o,...e.input?{input:e.input()}:{},theme:de(),...e.places?{places:ne(e.places())}:{}});return C=new Set([...l.node?[l.node.id]:[],...(l.nodes??[]).map(I=>I.id)]),N=l,l},...j?{hand:j.hand}:{},judgeAct:(l,I)=>tt(e.store,o,l,I,{shown:C,file:O=>fe.get(O)??St(O),dropped:O=>fe.has(O)}),onHears:l=>{l.includes("drop")&&(Ce=!0)},onGestures:xt,onRender:l=>{_e=!0,pe(["render",l])},onPushed:(l,I)=>{if(z.delete(l),I>=M.pushMs)return n("slow");Oe=!0,Q()},onFlood:()=>n("flood"),onStyle:l=>pe(["style",l]),places:()=>[...new Set([...ne(e.places?.()??[]).map(l=>l.as),...Ie().map(l=>l.slug)])],...e.limits?{limits:e.limits}:{},limiter:A});c=K,x.onmessage=({data:l})=>{if(!E?.answer(l)&&(K.receive(l),P(),!v&&l?.nonce===p&&l.type==="navigate")){let I={...l.where!==void 0?{where:l.where}:{},...l.section!==void 0?{section:l.section}:{}},O=typeof l.place=="string"?{place:l.place,...I}:typeof l.to=="string"&&{record:l.to,...I};O&&ee.go(O)}},ue()}}),$e=t=>{"source"in t?(o.pictures?Promise.all([ke(t.source),Le]).then(([p])=>p):ke(t.source)).then(p=>{v||me({script:p})},()=>n("start","the view's runtime could not be loaded")):o.pictures?Le.then(()=>{v||me(t)},()=>n("start","the view's pictures could not be loaded")):me(t)};return typeof h=="function"?lt(h).then(t=>{if(v)return;let p=S(t);p?n(...p):$e(t)},t=>n("source",`Its code did not arrive${t instanceof Error&&t.message?`: ${t.message}`:""}.`)):$e(h),ge();function ge(){return{element:g,shadow:w,get worker(){return E?.worker},update:()=>{c&&ue()},get stats(){return P(),R},get refused(){return T?.refused??[]},dispose(){v=!0,a(),T?.dispose(),g.remove(),W?.remove()}}}}var wt="graview-guest-kit";function br(s,e){let i=s.ownerDocument,f=i.defaultView;if(!i.getElementById(wt)){let k=i.createElement("style");k.id=wt,k.textContent=Ke,i.head.appendChild(k)}let o=i.createElement("div");o.className="graview-guest",o.setAttribute("role","group"),o.setAttribute("aria-label",e.title??e.view),o.setAttribute("data-guest-view",e.view),s.appendChild(o);let g={applied:0,refused:0,dropped:0},w=se(e.limits),W=le(e.limits?.drawMs??100,()=>f.performance.now()),R,A,M,N=!1,c={applied:0,refused:0,dropped:0},E=()=>{if(!R)return;let k=R.stats;g.applied+=k.applied-c.applied,g.refused+=k.refused-c.refused,g.dropped+=k.dropped-c.dropped,c={...k}},T=()=>{E(),R?.dispose(),R=void 0,M?.stop()},v=(k,_)=>{N||(N=!0,T(),A?.dispose(),e.onFailure?.(k,_))};return M=ae(f,{source:e.worker,name:e.view,limiter:w,readyMs:e.limits?.readyMs??5e3,silentMs:e.limits?.silentMs??5e3,onDropped:()=>g.dropped+=1,onStop:(k,_)=>v(k,_),onReady:(k,_)=>{let P=Ee(o,{...e.kit?{kit:e.kit}:{},...e.links?{links:e.links}:{},onEvent:(d,y)=>_.postMessage({type:"event",listener:d,...y!==void 0?{detail:y}:{}}),...e.limits?.maxNodes!==void 0?{maxNodes:e.limits.maxNodes}:{},onOverBudget:()=>v("budget")});A=P;let r=oe({store:e.store,principal:e.principal,view:e.view,nonce:k,send:d=>_.postMessage(d),onRender:d=>{W.draw(y=>P.apply(d,y))||v("slow")},...e.input?{input:e.input}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},onSize:e.onSize??(d=>o.style.minHeight=`${d}px`),...e.limits?{limits:e.limits}:{},limiter:w});R=r,_.onmessage=d=>{M?.answer(d.data)||(r.receive(d.data),E())},r.push()}}),{element:o,get worker(){return M?.worker},update:()=>R?.push(),get stats(){return E(),g},get refused(){return A?.refused??[]},dispose(){N=!0,T(),A?.dispose(),o.remove()}}}export{xe as GUEST_KIT,Ke as GUEST_KIT_CSS,be as KIT_LINK_TARGETS,dt as KIT_TONES,Ee as createKitRenderer,mt as hostAttribute,gt as kitValue,br as mountGuestWorker,zt as mountWorkerView};
@@ -1 +0,0 @@
1
- import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import{b as m}from"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{R as p}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{U as l}from"./chunk.UG727PEE.js";import{b as f}from"./chunk.AJZBJBMO.js";var a=f(p(),1);function N({states:e,definition:v}){let s=e.values.reduce((t,n)=>t+n.count,0),u=t=>t===null?"with none":m(v,e.field,t).toLowerCase(),c=e.values.filter(t=>t.count>0).map(t=>`${l(t.count)} ${u(t.value)}`).join(", ");return s===0?null:(0,a.jsx)("div",{className:"graview-district-states",role:"img","aria-label":c,title:c,children:e.values.map((t,n)=>{if(t.count===0)return null;let y=e.values.filter(r=>r.count>0).length,w=t.count/s*(168-(y-1)),o=l(t.count),i=`${o} ${u(t.value)}`,d=r=>r.length*6.2+8<=w;return(0,a.jsx)("span",{"data-graview-tier":t.tier,style:{flexGrow:t.count},title:i,children:d(i)?i:d(o)?o:""},n)})})}export{N as StatesBar};
@@ -1 +0,0 @@
1
- import{a,b}from"./chunk.B7DCQJXV.js";import"./chunk.U6YOAS4X.js";import"./chunk.4QEDYRES.js";import"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";export{a as ActivityFilter,b as InteractionRow};
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as y}from"./chunk.QHP7AJUV.js";import{m as g}from"./chunk.4QEDYRES.js";import{G as R,R as c,ua as m}from"./chunk.JE4QQEJE.js";import{a as f}from"./chunk.SDO3U72B.js";import{la as p}from"./chunk.UG727PEE.js";import{b as u}from"./chunk.AJZBJBMO.js";var o=u(R(),1);var r=u(c(),1),S,h=()=>S??=m(f(()=>(__graviewPreload(import.meta.url,["./chunk.PH5ITX3N.js","./chunk.57R4ZUMM.js","./chunk.J7ZMNAWB.js","./chunk.VKJAGZNU.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.JPD2I4Z7.js"))));function L(e){let[n,t]=(0,o.useState)(()=>h().current);return(0,o.useEffect)(()=>{if(!e||n)return;let i=!0;return h().load().then(a=>i&&t(a),()=>{}),()=>{i=!1}},[e,n]),n}function D(e,n){let t=L(n.length>0);return(0,o.useMemo)(()=>t?t.withLines(e,n):n,[t,e,n])}function I(e,n){let t=L(n.some(i=>i.shape));return(0,o.useMemo)(()=>{let i=new Map;if(!t)return i;for(let a of n){let l=t.ruleLine(a,e);l&&i.set(a.name,l)}return i},[t,e,n])}function M(e){let n=e.line;if(!(!n||e.message.endsWith(` \u2014 ${n.text}`)||e.message===b(e)))return e.message}function b(e){let n=e.line;return n?n.record!==void 0?`${n.record} \u2014 ${n.text}`:n.text:e.message}var P={name:{},op:{color:"var(--graview-ink-muted)",fontWeight:500},value:{fontWeight:600,fontVariantNumeric:"tabular-nums"},word:{color:"var(--graview-ink-muted)"},open:{color:"var(--graview-ink-faint)"},close:{color:"var(--graview-ink-faint)"}};function w({parts:e}){return(0,r.jsx)(r.Fragment,{children:e.map((n,t)=>(0,r.jsxs)("span",{children:[n.space?" ":"",(0,r.jsx)("span",{"data-graview-rule-part":n.as,style:P[n.as],children:n.text})]},t))})}function x(e,n){let t=p(e?.tryDefinition(n),n);return t.charAt(0).toUpperCase()+t.slice(1)}function C({line:e,schema:n,brand:t,lead:i=e.record===void 0?"kind":"record",stacked:a=!1,style:l}){let d=e.kind,s=i==="kind"?d?x(n,d):void 0:i==="record"?e.record:void 0,k=i==="kind"&&s?`${s}: ${e.said}`:i==="record"&&s?`${s} \u2014 ${e.said}`:e.said;return(0,r.jsxs)("span",{"data-graview-rule-line":"",style:{overflowWrap:"anywhere",...l},children:[(0,r.jsx)("span",{style:g,children:k}),(0,r.jsxs)("span",{"aria-hidden":"true",children:[i!=="none"&&d?(0,r.jsx)("span",{style:{display:"inline-flex",verticalAlign:"-0.1em",marginRight:"0.4em"},children:(0,r.jsx)(y,{kind:d,...n?{schema:n}:{},...t?{brand:t}:{},size:13})}):null,s?(0,r.jsxs)("span",{"data-graview-rule-head":"",style:{fontWeight:600,marginRight:i==="record"||a?0:"0.6em"},children:[s,i==="record"&&!a?(0,r.jsx)("span",{style:{color:"var(--graview-ink-faint)",fontWeight:400},children:" \u2014 "}):null]}):null,a&&s?(0,r.jsx)("br",{}):null,(0,r.jsx)(w,{parts:e.parts}),e.when&&e.when.length>0?(0,r.jsxs)("span",{"data-graview-rule-when":"",style:{color:"var(--graview-ink-faint)"},children:[", when ",(0,r.jsx)(w,{parts:e.when})]}):null]})]})}function z(e){return e.line?e.label&&e.label.trim().length>0?e.label:void 0:e.label&&e.label!==e.message&&!e.message.startsWith(e.label)?e.label:void 0}export{D as a,I as b,M as c,C as d,z as e};
@@ -1 +0,0 @@
1
- import{ca as y,da as V}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{Tc as u,Wc as m}from"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var c=t=>[t,...u.filter(r=>r!==t)];function w(t,r){if(r.hidden.length===0&&r.removed.length===0)return t;let f=new Set(r.removed.filter(e=>!e.lens).map(e=>e.name)),o=new Set(r.hidden),s=e=>e?.name!==void 0&&(f.has(e.name)||o.has(e.name)),a=(e,i,d)=>[...t.registrations()].reverse().find(n=>n.kind===e&&n.cardinality===i&&n.fidelity===d&&!n.beside&&!n.hidden&&!s(n)),h=(e,i)=>{for(let d of c(i.fidelity)){let n=a(e,i.cardinality,d);if(n)return n}if(i.cardinality==="one")for(let d of c(i.fidelity)){let n=a(e,"many",d);if(n)return n}},l={...t,register(e,i,d,n){return t.register(e,i,d,n),l},lookup(e,i){return t.lookup(e,i)===void 0?void 0:a(e,i.cardinality,i.fidelity)?.view},places:()=>t.places().filter(e=>!(e.name!==void 0&&f.has(e.name))).map(e=>e.name!==void 0&&o.has(e.name)&&!e.hidden?{...e,hidden:!0}:e),resolve(e,i,d){let n=t.resolve(e,i,d);return!n||!s(n)||d!==void 0&&n.name!==void 0&&!f.has(n.name)&&n.title!==void 0&&m(n.title)===d?n:h(e,i)},all:()=>t.all().filter(e=>!(e.name!==void 0&&f.has(e.name)))};return y(t)&&V(l),l}function v(t,r,f){let o,s=()=>{let a=r.current();o&&a.hidden===o.hidden&&a.removed===o.removed||(o=a,f(w(t,a)))};return s(),r.onChange?.(s)??(()=>{})}export{w as tidyViews,v as watchTidied};
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{s as P}from"./chunk.HG2IO5NS.js";import{$ as I,G as M,O as w,R as y,_ as m,s as b,ua as S,w as T,x as A}from"./chunk.JE4QQEJE.js";import{a as p}from"./chunk.SDO3U72B.js";import{b as f}from"./chunk.AJZBJBMO.js";var C=f(M(),1),h=f(y(),1),x=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.4QEDYRES.js","./chunk.JE4QQEJE.js","./chunk.SDO3U72B.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.EHMCRUYR.js")))),O=x.part((e,n)=>(0,h.jsx)(e.Timeline,{...n}),{what:"The timeline"}),q=()=>x.prefetch();function K({face:e}){return w()?.open?(0,h.jsx)(C.Suspense,{fallback:null,children:(0,h.jsx)(O,{face:e})}):null}var i=f(M(),1),u=f(y(),1),v=new WeakMap,D=e=>{let n=v.get(e);return n||v.set(e,n={ask:null,doors:[],listeners:new Set}),n},k=e=>{for(let n of e.listeners)n()};function g(e,n){let t=D(e);t.ask=n,k(t)}var N=S(p(()=>(__graviewPreload(import.meta.url,["./chunk.PACJFDDU.js","./chunk.57R4ZUMM.js","./chunk.J7ZMNAWB.js","./chunk.VKJAGZNU.js","./chunk.4QEDYRES.js","./chunk.JE4QQEJE.js","./chunk.SDO3U72B.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.S5K4FLLG.js")))),B=N.part((e,n)=>{let t=e.NotifySheet;return(0,u.jsx)(t,{...n})},{what:"Notify me"}),W=N.part((e,n)=>{let t=e.NotifiedList;return(0,u.jsx)(t,{...n})},{quiet:!0}),E=(e,n)=>n===void 0&&(e.onBehalfOf??e).id!==void 0;function F(e,n,t){let c=d=>t.tryDefinition(d)?.noun??d.replace(/[-_]+/g," "),o=e.on!==void 0?e.on:e.about.length===1?e.about[0]:void 0;if(e.act!==void 0){let d=o!==void 0&&n(o)!==void 0?o:void 0;return{label:"Notify me when someone does this\u2026",choices:[{on:"act",act:e.act,...d!==void 0?{record:d}:{}},...d!==void 0?[{on:"act",act:e.act}]:[]]}}if(o===void 0)return null;let s=n(o);if(s!==void 0)return{label:"Notify me when this changes\u2026",choices:[{on:"changed",record:o},{on:"act",record:o},{on:"reaches",kind:s,condition:"",record:o}]};let r=b(o)!==null?[b(o)]:T(o)?A(o):[];if(r.length!==1||!t.kinds.includes(r[0]))return null;let l=r[0],a=c(l);return{label:`Notify me when ${/^[aeiou]/i.test(a)?"an":"a"} ${a} is added\u2026`,choices:[{on:"created",kind:l},{on:"changed",kind:l},{on:"reaches",kind:l,condition:""}]}}function L(){let{store:e,principal:n,subscriptions:t,signIn:c}=m(),o=E(n,c);return(0,i.useMemo)(()=>o?s=>{let r=F(s,a=>e.graph.getNode(a)?.kind,e.schema);return r?{id:"notify",items:[{id:"notify-me",label:r.label,run:()=>g(t,{choices:r.choices,returnTo:s.element??null})}],prepare:()=>N.prefetch()}:null}:null,[o,e,t])}var z=[];function U({children:e}){let n=L(),t=(0,i.useMemo)(()=>n?[n]:z,[n]);return(0,u.jsx)(P,{sections:t,children:e})}function V(){let{subscriptions:e}=m(),n=(0,i.useId)(),t=D(e);(0,i.useEffect)(()=>(t.doors.push(n),k(t),()=>{t.doors.splice(t.doors.indexOf(n),1),k(t)}),[t,n]);let c=(0,i.useMemo)(()=>r=>(t.listeners.add(r),()=>void t.listeners.delete(r)),[t]),o=(0,i.useSyncExternalStore)(c,()=>t.ask,()=>null),s=(0,i.useSyncExternalStore)(c,()=>t.doors[0]===n,()=>!1);return!o||!s?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(B,{ask:o,close:()=>g(e,null)})})}function X({choices:e,label:n="Notify me",style:t,className:c,testId:o="notify-me"}){let{principal:s,subscriptions:r,signIn:l}=m();return E(s,l)?(0,u.jsx)("button",{type:"button","data-testid":o,className:c,onClick:a=>g(r,{choices:e,returnTo:a.currentTarget}),style:t,children:n}):null}function G(){let e=I(),n=e?.subscriptions,t=e?(e.principal.onBehalfOf??e.principal).id:void 0,[c,o]=(0,i.useState)(0);return(0,i.useEffect)(()=>{if(t===void 0||!n)return;let s=!0,r=()=>void Promise.resolve(n.list(t)).then(a=>s&&o(a.length),()=>s&&o(0));r();let l=n.onChange?.(r);return()=>{s=!1,l?.()}},[n,t]),c}function Y({style:e}){return G()===0?null:(0,u.jsx)(i.Suspense,{fallback:null,children:(0,u.jsx)(W,{...e?{style:e}:{}})})}export{q as a,K as b,L as c,U as d,V as e,X as f,G as g,Y as h};
@@ -1 +0,0 @@
1
- import{Da as H,Fa as A,G as C,R as F}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import{b as x}from"./chunk.AJZBJBMO.js";var t=x(C(),1),f=x(F(),1),q={faces:'[data-testid="app-faces"]',problems:'[data-testid="standing"], [data-testid="standing-link"]',activity:'[data-testid="activity-button"]',ask:'[data-testid="app-find"], [data-testid="app-find-open"]',find:'[data-testid="app-find"], [data-testid="app-find-open"]',profile:'[data-testid="profile-button"]',home:'[data-testid="app-home"]'};function D(e){if(!e.isConnected||e.closest("[hidden], [inert], [aria-hidden='true']"))return!1;if(typeof e.checkVisibility!="function")return!0;if(!e.checkVisibility({visibilityProperty:!0}))return!1;let a=e.getBoundingClientRect();return a.width>1&&a.height>1}function E(e,a){if(!e||a==="ask"&&!e.querySelector("[data-graview-quick-ask]"))return null;for(let d of e.querySelectorAll(q[a]))if(D(d))return d;return null}function W(e){let a=(u,h,c)=>e.querySelector(u)?.getAttribute(h)?.trim()||c,d=a('[data-testid="app-face-scene"]',"title","Scene"),n=a('[data-testid="app-face-pages"]',"title","Pages");return[{anchor:"faces",title:`${d} or ${n}`,words:`One app, two ways to see it: ${d} draws every record as one picture, ${n} as lists and pages to read and change.`},{anchor:"problems",title:"Whether all is in order",words:"The dot is green while every rule holds. When one is broken it counts what is wrong, and pressing it shows each one and where."},{anchor:"activity",title:"Activity",words:"What has happened here and who did it, each change with its way back."},{anchor:"ask",title:"Ask",words:"Press \u2318K (Ctrl+K) to ask about what you have selected, or right-click it and choose Ask about this\u2026. The answer stands beside it, and a change it proposes waits for you to accept it."}]}var R=300,O=1200,$=15e3;function _({root:e,steps:a,onEnd:d}){let[n,u]=(0,t.useState)(null),h=(0,t.useRef)(null),c=(0,t.useRef)(!1),p=(0,t.useRef)(d);p.current=d,(0,t.useEffect)(()=>{let r=Date.now(),o=Date.now(),s=null,i,v=new MutationObserver(()=>o=Date.now());v.observe(document.body,{childList:!0,subtree:!0});let k=()=>{let L=e(),S=Date.now();if(L?.querySelector('[data-testid="app-bar"]')){if(s??=S,S-o>=R||S-s>=O){let T=[...W(L),...a].filter(P=>E(L,P.anchor)!==null);if(T.length===0){c.current=!0,p.current(null);return}h.current=document.activeElement,u({list:T,at:0});return}}else if(S-r>=$){c.current=!0,p.current(null);return}i=setTimeout(k,100)};return i=setTimeout(k,100),()=>{clearTimeout(i),v.disconnect()}},[]);let y=(0,t.useCallback)(()=>{let r=h.current;(r instanceof HTMLElement&&r!==document.body&&r.isConnected?r:e()?.querySelector('[data-testid="app-home"]'))?.focus({preventScroll:!0})},[e]),m=(0,t.useCallback)((r,o)=>{if(c.current)return;c.current=!0;let s=document.querySelector("[data-testid='first-look']"),i=document.activeElement,v=i===null||i===document.body||s!==null&&s.contains(i);u(null),p.current(r),!(!o&&!v)&&(y(),requestAnimationFrame(()=>{let k=document.activeElement;(k===null||k===document.body)&&y()}))},[y]),b=(0,t.useCallback)((r,o)=>{let s=e();for(let i=o;i<r.length;i++)if(E(s,r[i].anchor))return i;return-1},[e]),g=(0,t.useCallback)(()=>{if(!n)return;let r=b(n.list,n.at+1);r<0?m("finished",!0):u({list:n.list,at:r})},[n,b,m]);if((0,t.useEffect)(()=>{if(!n)return;let r=e();if(!r)return;let o=0,s=()=>{cancelAnimationFrame(o),o=requestAnimationFrame(()=>{E(e(),n.list[n.at].anchor)||g()})},i=new MutationObserver(s);return i.observe(r,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["hidden","class","data-switch-drawn"]}),()=>{cancelAnimationFrame(o),i.disconnect()}},[n,e,g]),!n)return null;let w=n.list[n.at],l=b(n.list,n.at+1)<0;return(0,f.jsx)(I,{root:e,step:w,position:n.at+1,total:n.list.length,last:l,onNext:g,onEnd:m},n.at)}var N={...H,width:"min(320px, calc(100vw - 24px))",maxHeight:"min(70vh, 420px)",overflow:"auto",padding:"12px 14px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",color:"var(--graview-ink)",fontFamily:"var(--graview-font-body, system-ui)",fontSize:"0.875rem",lineHeight:1.45,overflowWrap:"anywhere"},M={minHeight:32,padding:"0 12px",borderRadius:8,font:"inherit",fontWeight:600,cursor:"pointer"};function I({root:e,step:a,position:d,total:n,last:u,onNext:h,onEnd:c}){let p=(0,t.useRef)(null),y=(0,t.useRef)(null),m=(0,t.useId)().replace(/:/g,""),b=(0,t.useMemo)(()=>({get current(){return E(e(),a.anchor)}}),[e,a.anchor]),[g]=(0,t.useState)(()=>{let l=b.current?.getBoundingClientRect(),r=typeof document>"u"?0:document.documentElement.clientWidth||innerWidth;return l&&l.left+l.width/2<r/2?"start":"end"});A(p,!0,b,{align:g}),(0,t.useLayoutEffect)(()=>{y.current?.focus({preventScroll:!0})},[]);let w=(0,t.useRef)(c);return w.current=c,(0,t.useEffect)(()=>{let l=o=>{o.target instanceof Node&&p.current?.contains(o.target)||w.current("dismissed",!1)},r=o=>{if(o.key!=="Escape"||o.defaultPrevented)return;let s=o.target;s instanceof Node&&p.current?.contains(s)||s instanceof HTMLInputElement||s instanceof HTMLTextAreaElement||[...document.querySelectorAll("[data-graview-overlay]:not([hidden])")].some(i=>i!==p.current)||w.current("dismissed",!0)};return document.addEventListener("pointerdown",l,!0),document.addEventListener("keydown",r),()=>{document.removeEventListener("pointerdown",l,!0),document.removeEventListener("keydown",r)}},[]),(0,f.jsxs)("div",{ref:p,popover:"manual",role:"dialog","aria-modal":"false","aria-labelledby":`${m}-title`,"aria-describedby":`${m}-words`,tabIndex:-1,"data-testid":"first-look","data-first-look-anchor":a.anchor,"data-graview-overlay":"",onKeyDown:l=>{l.key==="Escape"&&(l.preventDefault(),l.stopPropagation(),c("dismissed",!0))},style:N,children:[(0,f.jsxs)("p",{style:{margin:0,fontSize:"0.75rem",color:"var(--graview-ink-muted)"},"data-testid":"first-look-count",children:[d," of ",n]}),(0,f.jsx)("p",{id:`${m}-title`,style:{margin:"2px 0 4px",fontWeight:600,fontSize:"0.9375rem"},"data-testid":"first-look-title",children:a.title}),(0,f.jsx)("p",{id:`${m}-words`,style:{margin:0},"data-testid":"first-look-words",children:a.words}),(0,f.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"flex-end",gap:8,marginTop:12},children:[u?null:(0,f.jsx)("button",{type:"button","data-testid":"first-look-skip",onClick:()=>c("dismissed",!0),style:{...M,fontWeight:500,border:"1px solid transparent",background:"none",color:"var(--graview-ink-muted)"},children:"Skip"}),(0,f.jsx)("button",{ref:y,type:"button","data-testid":u?"first-look-done":"first-look-next",onClick:()=>u?c("finished",!0):h(),style:{...M,border:"1px solid var(--graview-accent)",background:"var(--graview-accent)",color:"var(--graview-accent-ink)"},children:u?"Done":"Next"})]})]})}export{_ as FirstLookHints,E as firstLookAnchor};
@@ -1 +0,0 @@
1
- import"./chunk.5A4AOFOA.js";import"./chunk.KSXB4LDF.js";import"./chunk.RR4RZH4S.js";import{a as L,b as R,c as E}from"./chunk.ILPD5CZG.js";import{b as T}from"./chunk.KZDLDXLB.js";import"./chunk.EC2T2UVH.js";import"./chunk.Y2QDZLSY.js";import"./chunk.WUQOSVQU.js";import"./chunk.ETWOZQWL.js";import"./chunk.B6DKKNVR.js";import"./chunk.VEP4EJ2N.js";import"./chunk.7EB6SDUQ.js";import"./chunk.HJCQ6I3S.js";import"./chunk.5FHH5NR6.js";import"./chunk.VMBIFUYX.js";import"./chunk.I7QCXRP7.js";import"./chunk.O7VHAKSA.js";import"./chunk.QXMTGLHR.js";import"./chunk.P6J6VFF5.js";import"./chunk.L6HKDIZB.js";import"./chunk.QHP7AJUV.js";import"./chunk.U3MQUIJL.js";import"./chunk.DNMBZONP.js";import"./chunk.OTHGZPUC.js";import"./chunk.4YBP552Z.js";import"./chunk.EVHXF7LZ.js";import"./chunk.ARTJL3X2.js";import"./chunk.V3K32XD7.js";import"./chunk.CAZX6OPN.js";import"./chunk.X2M7IOQA.js";import"./chunk.WZEA2UK6.js";import"./chunk.V5VQCANB.js";import"./chunk.UT6642FC.js";import"./chunk.WERBD5ZR.js";import"./chunk.HAY22FPJ.js";import"./chunk.TI4OSTQV.js";import"./chunk.PH5ITX3N.js";import"./chunk.WVUJXDXZ.js";import"./chunk.WVN62OMH.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.XDPIS7RS.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import"./chunk.GZHZLJBF.js";import{r as A}from"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{G as S,I as $,R as p,_ as x,aa as C}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{ba as h,wc as k}from"./chunk.UG727PEE.js";import{b as i}from"./chunk.AJZBJBMO.js";var r=i(S(),1);var l=i(S(),1);var g=i(p(),1);var m={font:"inherit",fontSize:"0.875rem",minHeight:24,padding:0,border:0,borderRadius:2,background:"transparent",boxShadow:"none",color:"var(--graview-accent)",textDecoration:"underline",textUnderlineOffset:3,textAlign:"start",cursor:"pointer"};var e=i(p(),1);function Y({page:n=!1,go:D,onPick:y,onDiscard:M}){let{store:d,seatTalk:c}=x(),u=$(c),N=E(),b=D??N,{keep:P}=L(b),[H,f]=(0,r.useState)(!1);C();let t=u.draft;(0,r.useEffect)(()=>f(!1),[t]),(0,r.useEffect)(()=>{n||R(!1)},[n]);let v=(0,r.useRef)(null),w=t!==null&&!n;if((0,r.useLayoutEffect)(()=>{let s=v.current;if(!w||!s?.parentElement)return;let o=[];for(let a=s.previousElementSibling;a;a=a.previousElementSibling)a instanceof HTMLElement&&!a.inert&&a.tagName!=="STYLE"&&(a.inert=!0,o.push(a));return()=>{for(let a of o)a.inert=!1}},[w]),!t)return null;let G=T(t.drawn),F=d.schema.tryDefinition(t.kind),q=d.graph.nodesOfKind(t.kind).filter(s=>h(F,s)),z=()=>{c.setDraft(null),M?.()};return(0,e.jsxs)("section",{ref:v,"data-testid":"draft-frame","data-graview-draft-frame":n?"page":"scene","aria-label":`Draft: ${t.title}`,style:n?{display:"grid",gap:12,minWidth:0}:{position:"absolute",inset:12,zIndex:k("rail"),display:"grid",gridTemplateRows:"auto auto minmax(0, 1fr)",background:"var(--graview-panel)",border:"1px solid var(--graview-edge)",borderRadius:12,boxShadow:"var(--graview-lift-high)",overflow:"hidden",minHeight:0},children:[(0,e.jsxs)("p",{"data-testid":"draft-line",style:{...K,...n?{}:{padding:"10px 16px"}},children:[n?(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:H,title:`Keep \u201C${t.title}\u201D as a lens: a place of its own`,onClick:()=>{f(!0),P(t).finally(()=>f(!1))},style:m,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:z,style:m,children:"Discard"})]}),u.draftNote?(0,e.jsx)("p",{"data-testid":"draft-note",role:"status",style:{margin:0,padding:n?0:"0 16px 8px",fontSize:"0.8125rem",color:"var(--graview-warn)"},children:u.draftNote}):(0,e.jsx)("span",{}),(0,e.jsx)("div",{"data-testid":"draft-lens","data-graview-draft":t.lens.name,style:n?{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:s=>{let o=s.target?.closest("[data-graview-pick]")?.getAttribute("data-graview-pick");if(!o||!d.graph.getNode(o))return;s.preventDefault();let a=d.graph.getNode(o);y?(c.setDraft(null),y(o)):b({to:"record",id:o,kind:a.kind,label:o,address:"",said:""})},children:(0,e.jsx)(A,{kind:t.kind,view:t.title,children:(0,e.jsx)(G,{nodes:q,label:t.title,fidelity:"full",cardinality:"many",mode:"fullscreen",selected:!1})})})]})}var K={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{Y as DraftFrame};
@@ -1 +0,0 @@
1
- import{a,b}from"./chunk.KZDLDXLB.js";import"./chunk.EC2T2UVH.js";import"./chunk.Y2QDZLSY.js";import"./chunk.WUQOSVQU.js";import"./chunk.ETWOZQWL.js";import"./chunk.B6DKKNVR.js";import"./chunk.VEP4EJ2N.js";import"./chunk.7EB6SDUQ.js";import"./chunk.HJCQ6I3S.js";import"./chunk.5FHH5NR6.js";import"./chunk.VMBIFUYX.js";import"./chunk.O7VHAKSA.js";import"./chunk.QHP7AJUV.js";import"./chunk.U3MQUIJL.js";import"./chunk.DNMBZONP.js";import"./chunk.OTHGZPUC.js";import"./chunk.4YBP552Z.js";import"./chunk.EVHXF7LZ.js";import"./chunk.ARTJL3X2.js";import"./chunk.V3K32XD7.js";import"./chunk.CAZX6OPN.js";import"./chunk.X2M7IOQA.js";import"./chunk.WZEA2UK6.js";import"./chunk.V5VQCANB.js";import"./chunk.UT6642FC.js";import"./chunk.PH5ITX3N.js";import"./chunk.WVUJXDXZ.js";import"./chunk.WVN62OMH.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.XDPIS7RS.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import"./chunk.GZHZLJBF.js";import"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";export{b as declaredLensView,a as formatFor};
@@ -1 +0,0 @@
1
- import{a as j,b as H}from"./chunk.PYFQGBU3.js";import{a as z,b as J,c as D}from"./chunk.IQ3LUSD6.js";import{a as K,e as q}from"./chunk.SUQU4AXG.js";import{e as E,f as N,g as $}from"./chunk.ZRIDKFTV.js";import"./chunk.22QEYFWI.js";import{$ as b,G as B,M as F,O as P,R as A,ga as v,ja as V,ka as T,wa as G}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import{b as W}from"./chunk.AJZBJBMO.js";var s=W(B(),1);var i=W(A(),1),_=e=>({...e.node?{node:{id:e.node.id}}:{},...e.nodes?{nodes:e.nodes.map(t=>({id:t.id}))}:{},...e.label!==void 0?{label:e.label}:{},fidelity:e.fidelity,cardinality:e.cardinality,mode:e.mode,selected:e.selected,...e.implicated?{implicated:e.implicated}:{},...e.flagged?{flagged:e.flagged}:{}});function I(e){let t=P(),r=t?.past?.seq,a=t?.host?.viewAt,n=(0,s.useMemo)(()=>r===void 0||!a||e.draft?void 0:a(e.manifest.name,r),[a,r,e]);return(0,s.useMemo)(()=>n===null?null:n===void 0?e:{...e,worker:n},[n,e])}function M({definition:e,store:t,principal:r,input:a,goTo:n,places:o,scheme:l,brand:u,onFailure:d,drawsItsOwn:m,tick:f}){let p=(0,s.useRef)(null),w=(0,s.useRef)(null),y=F(),c=(0,s.useRef)({input:a,goTo:n,places:o,onFailure:d,brand:u,hostFiles:y});c.current={input:a,goTo:n,places:o,onFailure:d,brand:u,hostFiles:y},(0,s.useEffect)(()=>{let S=p.current;if(!S)return;let C=e.file??(c.current.hostFiles?.src?g=>c.current.hostFiles?.src?.(g)??g:void 0);typeof e.worker=="function"&&D(e.worker).catch(()=>{});let L=H(j,({mountWorkerView:g})=>{w.current=g(S,{manifest:e.manifest,worker:e.worker,store:t,principal:r,input:()=>c.current.input?.()??{},goTo:()=>c.current.goTo,places:()=>c.current.places?.()??[],brand:()=>c.current.brand,onFailure:(O,R)=>c.current.onFailure(O,R),...m?{fallback:!1}:{},...e.limits?{limits:e.limits}:{},...e.author?{author:e.author}:{},...e.onProblem?{onProblem:e.onProblem}:{},...e.asset?{asset:e.asset}:{},...C?{file:C}:{},...e.images?{images:e.images}:{},files:()=>c.current.hostFiles})});return()=>{L(),w.current?.dispose(),w.current=null}},[e,t,r]),(0,s.useEffect)(()=>w.current?.update(),[l,u,f]);let k=(0,i.jsx)("div",{ref:p,"data-worker-view-place":e.manifest.name});if(!e.draft)return k;let h=e.manifest.title??e.manifest.name;return(0,i.jsxs)("div",{role:"group","aria-label":`Draft: ${h}`,"data-graview-draft-view":e.manifest.name,style:{display:"grid",gap:8,alignContent:"start",minWidth:0},children:[(0,i.jsxs)("p",{"data-testid":"draft-view-line",style:Q,children:[(0,i.jsxs)("span",{children:["Draft \u2014 ",(0,i.jsx)("span",{style:{color:"var(--graview-ink)",fontWeight:600},children:h})]}),(0,i.jsx)("span",{"aria-hidden":"true",children:"\xB7"}),(0,i.jsx)("span",{children:"Not kept"})]}),k]})}var Q={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};function x(e,t={}){let r=t.fallback,a=e.manifest.replaces==="page";function n(o){let l=b(),u=v(),d=(0,s.useContext)(G),[m,f]=(0,s.useState)(null),p=(0,s.useRef)(o);p.current=o;let w=I(e);if(!l)return null;if(w===null)return r&&!(d&&V(r)&&!a)?(0,i.jsx)(r,{...o}):null;if(m&&r)return d&&V(r)&&!a?null:(0,i.jsx)(r,{...o});let y=t.beside&&!(d&&V(t.beside))?t.beside:void 0,c=(0,i.jsx)(M,{definition:w,store:l.store,principal:l.principal,input:()=>_(p.current),goTo:u,places:()=>l.views.places(),scheme:l.scheme,brand:l.brand,tick:o,drawsItsOwn:r!==void 0,onFailure:(k,h)=>{f(k),e.onFailure?.(k,h)}});return y?(0,i.jsxs)("div",{"data-worker-view-beside":e.manifest.name,style:{display:"grid",gap:12,minWidth:0},children:[c,(0,i.jsx)(y,{...o})]}):c}return n.displayName=`WorkerView(${e.manifest.name})`,n}function U(e,t){let{manifest:r}=t;if(r.attach==="home"){if(!e.home)throw new Error(`The worker view "${r.name}" is the home's body: draw it with workerHome, on the home.`);let d=t.draft?void 0:e.homeView?.();return e.home(x(t,d?{fallback:d}:{})),e}let a={cardinality:r.cardinality,fidelity:"full"},n=e.lookup(r.attach,a)??e.resolve(r.attach,a)?.view,o=r.cardinality==="one",l=t.draft===!0,u=x(t,{...n&&!l?{fallback:n}:{},...o&&r.replaces!=="page"&&n?{beside:n}:{}});return e.register(r.attach,a,o&&r.replaces==="page"?T(u):u,r.title?{title:r.title,...l?{}:{name:r.name},lens:"view",...r.reads?.kinds?.length?{reads:r.reads.kinds}:{}}:void 0),e}function X(e,t={}){let r=t.fallback;function a({context:n}){let o=b(),l=v(),[u,d]=(0,s.useState)(null),m=I(e);return(u||m===null)&&r?(0,i.jsx)(r,{context:n}):m===null?null:(0,i.jsx)(M,{definition:m,store:n.store,principal:n.principal??o?.principal??{kind:"human"},goTo:l,...o?{places:()=>o.views.places(),scheme:o.scheme,brand:o.brand}:{},drawsItsOwn:r!==void 0,onFailure:(f,p)=>{d(f),e.onFailure?.(f,p)}})}return a.displayName=`WorkerHome(${e.manifest.name})`,a}export{N as checkManifest,z as checkViewSource,q as judgeCodeAct,E as manifestActs,U as registerWorkerView,K as sightIsTotal,J as viewScript,X as workerHome,x as workerView,$ as workerViewProps};
@@ -1 +0,0 @@
1
- import{a as I,c as x}from"./chunk.QHLD4TZW.js";import"./chunk.4QEDYRES.js";import{b,c as A,j as v,q as w,s as O,v as G}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{Xc as k,ld as E,rd as S,sd as W}from"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var F=(e,i)=>k(e,i).slice(1);function j(e,i){let l=e.split("/").filter(Boolean);return l.length===i.length&&l.every((s,h)=>s.startsWith(":")||s==="*"||s===i[h])}var $=["problems","search","map","places"];function R(e,i,l,s,h=[]){let{schema:r}=i,o=r.kinds,f=t=>{if(t.startsWith(w))return(t.slice(w.length).split("|")[0]??"").split("+").every(V=>o.includes(V));let y=O(t);return y!==null?o.includes(y):t.startsWith("edge:")||l.graph.getNode(t)!==void 0},[p="/",u]=e.path.split("?"),n=p.split("/").filter(Boolean),m=u?`?${u}`:"",d=n.length>0&&!$.includes(n[0])?o.find(t=>F(r,t)===n[0]):void 0,c=e.path;if(n[0]==="places"&&n.length===2)`/places/${n[1]}`!==E&&!s.some(t=>t.as===decodeURIComponent(n[1]))&&(c="/");else if(d){let t=n[1]===void 0?void 0:decodeURIComponent(n[1]);c=`/${F(r,d)}${t!==void 0&&l.graph.getNode(t)?.kind===d?`/${n[1]}`:""}${m}`}else n.length>0&&n.length<=2&&!$.includes(n[0])&&!h.some(t=>j(t.path,n))&&(c="/");let g=A(e.stop),P=g.within?.view,U=P!==void 0&&!s.some(t=>t.as===P),a=g;if(U){let{view:t,...y}=g.within??{};a={...a,within:y}}if(g.focusId&&!f(g.focusId)){let t=e.kind&&o.includes(e.kind)?G(e.kind):null;a={...v(a,t),zoom:!1}}return a={...a,relation:a.relation&&(o.includes(a.relation)||r.edgeKinds.includes(a.relation))?a.relation:null,expanded:a.expanded.filter(f),pins:Object.fromEntries(Object.entries(a.pins).filter(([t])=>f(t))),...a.selection?{selection:a.selection.filter(f)}:{}},{face:e.face,path:c,stop:b(a),...e.kind?{kind:e.kind}:{}}}function B(e,i,l){let s=e.at,h=e.pages?.routes()??[];if(e.routing!=="address"||typeof window>"u")return R(s,e.app,i,l,h);let{pathname:r,search:o,hash:f}=window.location,p=W(r,e.basePath),u=I({routing:"address",...e.basePath===void 0?{}:{basePath:e.basePath},face:s.face}),n=u==="pages",m={...s,face:u,...p===null?{}:n?{path:p+o}:{stop:x(e.basePath)??s.stop}},d=R(m,e.app,i,l,h),c=n?d.path===m.path?null:S(d.path,e.basePath===void 0?{}:{basePath:e.basePath}):d.stop===b(A(m.stop))?null:r+o+d.stop;return p!==null&&c!==null&&c!==r+o+f&&window.history.replaceState(window.history.state,"",c),d}export{R as settle,B as settleAt};
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{b as z}from"./chunk.PYFQGBU3.js";import{a as U,b as V,c as b,d as B,e as C,f as W}from"./chunk.LQGXUMUX.js";import{a as J,b as h,d as A}from"./chunk.22QEYFWI.js";import{a as p,b as T,c as S,e as _}from"./chunk.BBLIT7S7.js";import{a as R}from"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var Q=R(()=>(__graviewPreload(import.meta.url,["./chunk.AJZBJBMO.js"]),import("./chunk.SHNYYBNW.js")));function te(d,e){let f=d.ownerDocument,u=f.defaultView,t=f.createElement("iframe");t.setAttribute("sandbox",T),t.setAttribute("referrerpolicy","no-referrer"),t.setAttribute("allow",""),t.setAttribute("title",e.title??e.view),t.setAttribute("data-guest-view",e.view),t.setAttribute("aria-busy","true"),t.style.border="0",t.style.width="100%",t.style.display="block",t.src=e.url;let a={applied:0,refused:0,dropped:0},P=h(e.limits),i,y,o={applied:0,refused:0,dropped:0},v=()=>{if(!i)return;let r=i.stats;a.applied+=r.applied-o.applied,a.refused+=r.refused-o.refused,a.dropped+=r.dropped-o.dropped,o={...r}},O=W(u,()=>l(),"data"),g=()=>C(()=>e.theme?.()??b(d),e.brand,O),L="",l=()=>{i&&(L=JSON.stringify(g()),i.push())},k=B(f,()=>{i&&JSON.stringify(g())!==L&&l()}),n,w=!1,D=e.pictures?z(Q,({createGuestPictures:r})=>{n=r(u,{as:"data",view:`"${e.title??e.view}"`,pictures:e.pictures,...e.limits?{limits:e.limits}:{},...e.file?{file:e.file}:{},moved:()=>{i?.push(),G&&E()}}),w&&x()}):()=>{},G=!1,c,N=()=>{!G||n?.waiting()||(clearTimeout(c),t.removeAttribute("data-guest-view-failed"),t.removeAttribute("aria-busy"),t.setAttribute("data-guest-view-drawn",""))},E=()=>{clearTimeout(c),c=setTimeout(N,250)},F=setTimeout(()=>{i||(t.removeAttribute("aria-busy"),t.setAttribute("data-guest-view-failed","silent"))},e.limits?.readyMs??8e3),H=()=>{v(),i?.dispose(),y?.close(),i=void 0,y=void 0,o={applied:0,refused:0,dropped:0}},M=r=>{if(!(r.source===null||r.source!==t.contentWindow)){if(r.origin!==S||!P.message()){a.dropped+=1;return}if(!_(r.data)||r.data.protocol!==1){a.dropped+=1;return}if(e.pictures&&!n){w=!0;return}x()}},x=()=>{w=!1,H();let r=U(),m=new MessageChannel;y=m.port1;let I=A({store:e.store,principal:e.principal,view:e.view,nonce:r,send:s=>m.port1.postMessage(s),...e.input?{input:e.input}:{},...e.reads?{reads:e.reads}:{},...n?{hand:n.hand}:{},theme:g,...e.places?{places:()=>[...new Set(e.places().map(s=>s.as))],placesShown:e.places}:{},...e.onNavigatePlace?{onNavigatePlace:e.onNavigatePlace}:{},...e.onNavigate?{onNavigate:e.onNavigate}:{},...e.onArrive?{onArrive:e.onArrive}:e.goTo?{onArrive:s=>V(e.goTo(),s)}:{},...e.onLost?{onLost:e.onLost}:{},onSize:s=>{e.onSize?e.onSize(s):t.style.height=`${s}px`,N()},...e.limits?{limits:e.limits}:{},limiter:P});i=I,m.port1.onmessage=s=>{I.receive(s.data),v()};let j={graview:"host-hello",protocol:1,nonce:r,view:e.view};t.contentWindow.postMessage(j,"*",[m.port2]),l(),G=!0,E()};return u.addEventListener("message",M),d.appendChild(t),d.removeAttribute("aria-busy"),{iframe:t,update:l,get stats(){return v(),a},dispose(){H(),clearTimeout(F),clearTimeout(c),k(),O.dispose(),D(),n?.dispose(),u.removeEventListener("message",M),t.remove()}}}export{p as GUEST_PROTOCOL,T as GUEST_SANDBOX,S as OPAQUE_ORIGIN,A as createGuestHost,h as createGuestLimiter,te as mountGuestView,J as readAcross,b as readTheme};
@@ -1,6 +0,0 @@
1
- import{g as z,h as D,i as H}from"./chunk.Z2TYCMBT.js";import{a as P,b as A,c as p,d as W}from"./chunk.UGFDSE37.js";import"./chunk.VYPR2MZO.js";import"./chunk.EC2T2UVH.js";import"./chunk.Y2QDZLSY.js";import"./chunk.ETWOZQWL.js";import"./chunk.B6DKKNVR.js";import"./chunk.VEP4EJ2N.js";import"./chunk.7EB6SDUQ.js";import"./chunk.3WABA2WQ.js";import"./chunk.4YRCKOX2.js";import"./chunk.L6HKDIZB.js";import"./chunk.QHP7AJUV.js";import"./chunk.U3MQUIJL.js";import"./chunk.DNMBZONP.js";import"./chunk.OTHGZPUC.js";import"./chunk.4YBP552Z.js";import"./chunk.EVHXF7LZ.js";import"./chunk.ARTJL3X2.js";import"./chunk.V3K32XD7.js";import"./chunk.CAZX6OPN.js";import{a as C,b as O}from"./chunk.MB7LKKUD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.WVN62OMH.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.XDPIS7RS.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import"./chunk.GZHZLJBF.js";import"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{Ea as k,G as B,R as L}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{wc as R}from"./chunk.UG727PEE.js";import{b as E}from"./chunk.AJZBJBMO.js";var r=E(B(),1);var s=E(L(),1);function M(c){let e=document.activeElement;if(e!==null&&e!==document.body&&e!==document.documentElement&&e.isConnected)return;let n=c??document,o=n.querySelector("main")??n.querySelector("[data-graview-page]")??null,t=n.querySelector("[data-graview-page-title]")??o?.querySelector("h1, h2")??o;t instanceof HTMLElement&&(t.hasAttribute("tabindex")||t.setAttribute("tabindex","-1"),t.focus({preventScroll:!0}))}var I=1500;function N(c,e,n){let{store:o,principal:t}=c,l=z(o),g=(0,r.useMemo)(()=>P(o,t),[o,t,l]),w=(0,r.useRef)(n),[b,d]=(0,r.useState)(),[y,u]=(0,r.useState)("");(0,r.useEffect)(()=>{let a=A(o,t,w.current);w.current=o.batches().length,a&&(d({batch:a.batch,at:e,when:Date.now()}),u(""))},[o,t,l]),(0,r.useEffect)(()=>{d(a=>!a||a.at===e?a:Date.now()-a.when<I?{...a,at:e}:void 0)},[e]);let[x,i]=(0,r.useState)(null),v=(0,r.useCallback)(()=>{d(void 0),i(null)},[]),f=(0,r.useCallback)(()=>{i(null);try{let a=W(o,t);a&&u(`Took back \u201C${a.intent}\u201D`)}catch(a){i(a instanceof Error?a.message:String(a))}},[o,t]),S=g&&b?.batch===g.batch&&b.at===e?g:void 0;return{change:g,offered:S,close:v,takeBack:f,refused:x,said:y}}function ee({context:c,docked:e,at:n,since:o,compact:t=!1,className:l,size:g}){let{change:w,offered:b,close:d,takeBack:y,refused:u,said:x}=N(c,n,o),i=e?b:w,v=(0,r.useRef)(null),f=e&&(i!==void 0||u!==null);j(v,f),(0,r.useEffect)(()=>{if(!f)return;let m,h=()=>m=setTimeout(()=>v.current?.matches(":hover, :focus-within")?h():d(),1e4);return h(),()=>clearTimeout(m)},[f,i?.batch,u,d]);let S=x||(e&&i?p(i):""),a=e?{position:"fixed",inset:"auto",margin:0,padding:0,border:"none",background:"none",overflow:"visible",zIndex:R("toast"),width:"max-content",height:"auto",bottom:"calc(16px + env(safe-area-inset-bottom, 0px))",left:16,justifyItems:"start",color:"var(--graview-ink)",...f?{}:{display:"none"}}:{},T=i?(0,s.jsxs)("button",{type:"button","data-testid":"page-undo",title:`${p(i)} \u2014 \u2318Z or Ctrl+Z`,"aria-keyshortcuts":"Meta+Z Control+Z",onClick:m=>{let h=m.currentTarget.closest("[data-graview-face]");y(),requestAnimationFrame(()=>M(h))},...e?{style:U}:{className:H("graview-undo",l),...D(g),...t?{"data-compact":"","aria-label":p(i)}:{}},children:[(0,s.jsx)("span",{"aria-hidden":"true",children:"\u21B6"}),e?(0,s.jsx)("span",{style:K,children:p(i)}):(0,s.jsx)("span",{className:"graview-undo-words",children:t?"Undo":p(i)})]}):null;return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{role:"status","aria-live":"polite",style:V,children:S}),(0,s.jsxs)("div",{ref:v,...e?{popover:"manual","data-graview-foot":"","data-graview-offstage":""}:{},"data-testid":e?"face-undo-dock":"page-undo-place",...e?{style:{...F,...a}}:{className:"graview-undo-place"},children:[e?null:(0,s.jsx)("style",{children:q}),e&&i?(0,s.jsxs)("div",{"data-testid":"page-undo-notice",style:Z,children:[T,(0,s.jsx)("button",{type:"button","data-testid":"page-undo-dismiss","aria-label":`Dismiss: ${p(i)}`,title:"Dismiss",onClick:m=>{let h=m.currentTarget.closest("[data-graview-face]");d(),requestAnimationFrame(()=>M(h))},style:$,children:"\xD7"})]}):T,u?(0,s.jsx)("span",{"data-testid":"page-undo-refused",role:"alert",className:"graview-undo-refused",...e?{style:{fontSize:"0.8125rem",lineHeight:1.4,color:"var(--graview-warn)",borderRadius:6,background:"var(--graview-float)",padding:"4px 8px"}}:{},children:u}):null]})]})}function j(c,e){(0,r.useLayoutEffect)(()=>{let n=c.current;if(!n||!e)return;if(typeof n.showPopover=="function"&&!k(n))try{n.showPopover()}catch{}let o=()=>n.parentElement?.closest("[data-embed-content]")??null,t=()=>{O(n,o()),dispatchEvent(new Event(C))};t(),addEventListener("resize",t),addEventListener("scroll",t,!0);let l=typeof ResizeObserver=="function"?new ResizeObserver(t):null;return l?.observe(n),()=>{if(l?.disconnect(),removeEventListener("resize",t),removeEventListener("scroll",t,!0),n.isConnected&&k(n))try{n.hidePopover()}catch{}dispatchEvent(new Event(C))}},[c,e])}var q=`:where(.graview-undo-place){display:grid;justify-items:end;gap:4px;max-width:100%;min-width:0}
2
- :where(.graview-undo){box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;min-height:var(--graview-control-height,36px);max-width:min(100%,var(--graview-undo-widest,18rem));min-width:0;padding:0 14px;border-radius:999px;border:1px solid var(--graview-edge);background:var(--graview-float);color:var(--graview-ink);font:inherit;font-size:.875rem;cursor:pointer}
3
- :where(.graview-undo[data-size=sm]){--graview-control-height:30px}
4
- :where(.graview-undo[data-compact]){padding:0 10px}
5
- :where(.graview-undo-words){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
6
- :where(.graview-undo-refused){font-size:.8125rem;line-height:1.4;color:var(--graview-warn);border-radius:6px}`,F={display:"grid",justifyItems:"end",gap:4,maxWidth:"100%",minWidth:0},U={display:"inline-flex",alignItems:"center",gap:6,minHeight:36,maxWidth:"100%",minWidth:0,borderRadius:999,font:"inherit",fontSize:"0.875rem",cursor:"pointer",textAlign:"start",lineHeight:1.4,padding:"8px 4px 8px 14px",border:"none",background:"none",color:"inherit"},Z={display:"flex",alignItems:"center",gap:2,maxWidth:"100%",minWidth:0,paddingRight:6,borderRadius:"var(--graview-radius, 12px)",border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},$={flex:"0 0 auto",minWidth:28,minHeight:28,padding:0,border:"none",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",font:"inherit",fontSize:"1rem",cursor:"pointer"},K={minWidth:0,overflow:"hidden",overflowWrap:"anywhere",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:4},V={position:"absolute",width:1,height:1,margin:-1,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",whiteSpace:"nowrap",border:0};export{ee as TakeBack};
@@ -1 +0,0 @@
1
- import{c as k,d as x,e as H}from"./chunk.QXMTGLHR.js";import{b as A}from"./chunk.P6J6VFF5.js";import"./chunk.L6HKDIZB.js";import{d as E}from"./chunk.U3MQUIJL.js";import"./chunk.OTHGZPUC.js";import{a as b}from"./chunk.UT6642FC.js";import"./chunk.TI4OSTQV.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import{m as S}from"./chunk.4QEDYRES.js";import{Da as v,G as L,Ha as w,R as h,_ as p,aa as f}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{Wa as m}from"./chunk.UG727PEE.js";import{b as g}from"./chunk.AJZBJBMO.js";var l=g(L(),1);var e=g(h(),1);function I(){let{store:t,principal:r}=p(),a=f(),i=(0,l.useMemo)(()=>k(t,r),[t,r,a]),n=w("suggested");return i.length===0?null:(0,e.jsxs)("div",{style:{position:"relative"},children:[(0,e.jsxs)("button",{type:"button","data-testid":"suggested-button",...n.trigger,onClick:n.toggle,title:"What tidying suggests, waiting for you",style:{display:"inline-flex",alignItems:"center",gap:6,minHeight:30,padding:"0 8px",borderRadius:8,border:"1px solid transparent",background:"transparent",boxShadow:"none",fontSize:"0.875rem",whiteSpace:"nowrap",color:"var(--graview-ink-muted)"},children:[i.length,(0,e.jsxs)("svg",{className:"graview-activity-mark",width:"15",height:"15",viewBox:"0 0 16 16","aria-hidden":"true",focusable:"false",style:{display:"var(--graview-activity-mark, none)"},children:[(0,e.jsx)("path",{d:"M3 4.5 H13 M3 8 H10 M3 11.5 H8",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),(0,e.jsx)("circle",{cx:"12.25",cy:"11.5",r:"1.6",fill:"none",stroke:"currentColor",strokeWidth:"1.3"})]}),(0,e.jsx)("span",{className:"graview-activity-word",children:" Suggested"})]}),n.open?(0,e.jsxs)("section",{...n.pane,"aria-label":"Suggested","data-testid":"suggested","data-graview-offstage":"",style:{...v,width:320,maxHeight:"min(52cqh, 460px)",overflow:"auto",display:"flex",flexDirection:"column",gap:9,padding:12,borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)"},children:[(0,e.jsx)("h2",{style:{...S,margin:0},children:"Suggested"}),(0,e.jsx)("p",{style:{margin:0,fontSize:"0.75rem",lineHeight:1.45,color:"var(--graview-ink-faint)"},children:"Not made yet: each waits for you."}),(0,e.jsx)("ol",{"data-testid":"suggestions",style:{margin:0,padding:0,listStyle:"none",display:"grid",gap:10,fontSize:"0.8125rem"},children:i.map(s=>(0,e.jsx)(O,{suggestion:s,...i.length===1?{settled:()=>{n.setOpen(!1),document.querySelector('[data-testid="activity-button"]')?.focus()}}:{}},s.id))})]}):null]})}function O({suggestion:t,settled:r}){let{store:a,principal:i,seats:n,people:s}=p(),[c,u]=(0,l.useState)(null),T=m(t.author,{graph:a.graph,schema:a.schema,seats:n,people:s}),y=o=>{u(null);try{o==="accept"?x(a,t.id,{author:i}):H(a,t.id,{author:i}),r?.()}catch(d){u(d instanceof Error?d.message:String(d))}};return(0,e.jsxs)("li",{"data-testid":"suggestion","data-suggestion":t.id,style:{display:"grid",gap:5,lineHeight:1.45},children:[(0,e.jsxs)("span",{children:[(0,e.jsx)("strong",{style:{fontWeight:600},children:T})," ",(0,e.jsx)("span",{style:{color:"var(--graview-ink-muted)"},children:"suggests"})," ",t.intent]}),t.lineage?(0,e.jsx)("span",{"data-graview-lineage":"",style:{color:"var(--graview-ink-faint)"},children:b(t.lineage)}):null,t.about.length>0?(0,e.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:4},children:t.about.slice(0,4).map(o=>(0,e.jsx)(E,{label:A(a,o),pickId:o},o))}):null,(0,e.jsxs)("div",{style:{display:"flex",gap:6},children:[(0,e.jsx)("button",{type:"button","data-testid":"suggestion-accept",onClick:()=>y("accept"),style:{minHeight:24,padding:"1px 10px",fontSize:"0.75rem"},children:"Accept"}),(0,e.jsx)("button",{type:"button","data-testid":"suggestion-decline",onClick:()=>y("decline"),style:{minHeight:24,padding:"1px 10px",fontSize:"0.75rem"},children:"Decline"})]}),c?(0,e.jsx)("span",{"data-testid":"suggestion-refused",role:"alert",style:{fontSize:"0.75rem",color:"var(--graview-warn)"},children:c}):null]})}export{I as SuggestedTray};
@@ -1 +0,0 @@
1
- import{a as y,b as h}from"./chunk.PACJFDDU.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import{Gc as b}from"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var k=(d,i)=>({id:i.id,said:h(d,i),when:i.when,...i.alsoMine?{alsoMine:!0}:{}});async function A(d,i,t){let a=b(t.principal);if(a.id===void 0)return{ok:!1,error:"This seat acts for nobody the app knows by id, so there is nobody to tell. Nothing was kept."};let r=t.store.seenBy(a),p=async()=>(await t.subscriptions.list(a.id)).filter(n=>n.app===t.app);if(d==="list_subscriptions")return{ok:!0,data:{subscriptions:(await p()).map(n=>k(r,n))}};if(d==="unsubscribe"){let n=String(i.id??"");return(await p()).some(g=>g.id===n)?(await t.subscriptions.remove(n),{ok:!0,data:{removed:n}}):{ok:!1,error:`No subscription "${n}" of yours. list_subscriptions says which there are.`}}let o=String(i.on??""),c=n=>typeof i[n]=="string"&&i[n].trim()!==""?i[n].trim():void 0,e=c("record");if(e!==void 0&&!r.graph.getNode(e)){let n=t.store.resolveRef({name:"record",kinds:["*"]},e,a);if(!n.ok)return{ok:!1,error:`${n.message} Nothing was kept.`};e=n.id}let s=c("kind")??(e!==void 0&&o!=="act"?r.graph.getNode(e)?.kind:void 0),f=c("act"),m=c("condition"),u=o==="act"?{on:o,...f!==void 0?{act:f}:{},...e!==void 0?{record:e}:{}}:o==="created"&&s!==void 0?{on:o,kind:s}:o==="changed"?{on:o,...s!==void 0&&e===void 0?{kind:s}:{},...e!==void 0?{record:e}:{}}:o==="reaches"&&s!==void 0?{on:o,kind:s,condition:m??"",...e!==void 0?{record:e}:{}}:void 0;if(!u)return{ok:!1,error:'Say what to be told of: on is "act", "created", "changed" or "reaches", with a kind (or a record) for all but act. Nothing was kept.'};let l=y({schema:r.schema,allMutations:()=>t.store.allMutations(),graph:r.graph},u);if(l)return{ok:!1,error:`${l} Nothing was kept.`};let S=await t.subscriptions.add({who:a,app:t.app,when:u,...i.alsoMine===!0?{alsoMine:!0}:{}});return{ok:!0,data:{subscription:k(r,S)}}}export{A as runSubscriptionTool};
@@ -1 +0,0 @@
1
- import{a as ot}from"./chunk.KSXB4LDF.js";import"./chunk.V3K32XD7.js";import{e as V,l as ue,m as G,q as st}from"./chunk.CAZX6OPN.js";import{a as ee}from"./chunk.G4JJXA63.js";import"./chunk.X2M7IOQA.js";import{b as nt}from"./chunk.WZEA2UK6.js";import{d as tt}from"./chunk.WERBD5ZR.js";import"./chunk.HAY22FPJ.js";import"./chunk.PH5ITX3N.js";import"./chunk.LFJH6X6O.js";import{d as et}from"./chunk.VTUMPH4Z.js";import{c as Ze}from"./chunk.PCTVLNOS.js";import{I as ze,V as Je,Xc as Ne,Yc as Xe,ca as Ye,ga as qe,hb as Ve,ib as Qe,ka as Ae,la as F}from"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";var At="Nothing by that name here.",$=o=>o.normalize("NFD").replace(/\p{M}+/gu,"").toLowerCase().replace(/[’']/g,"'").replace(/[^\p{L}\p{N}' ]+/gu," ").replace(/\s+/g," ").trim(),Nt=/^(?:(?:can you |could you |please )?(?:go|take me|bring me|head|jump|navigate|switch|get me)(?: back)? to|(?:please )?(?:open|show(?: me)?|bring up|let me see|view)) (.+)$/,St=/^(?:(?:can you |could you |please )?tell me (?:about|of)|what(?: is|'s| are) (?:in |on )?|describe|explain|who(?: is|'s)) (.+)$/,Ot=/^(?:what(?: is|'s| am i looking at| do i see)(?: (?:here|this|on (?:this|the) (?:page|screen)|in view|this place|this page))?|where am i|describe (?:this|here|this place|this page)|tell me about (?:this|here|this place|this page))$/,rt=new Set(["here","this","this place","this page","on this page","on the page","on this screen","in view"]),Ct=/^(?:date|day|when|on|at|the date|the day)$/,jt=/^(?:what(?: is|'s) (?:wrong|broken|the (?:problem|matter|trouble))|what needs (?:fixing|attention|doing)|any (?:problems|issues|trouble)|(?:show(?: me)? |go to |open )?(?:the )?(?:problems|issues|trouble|standing|what's wrong)|is (?:anything|something) (?:wrong|broken)|are there (?:any )?(?:problems|issues))(?: (?:with|about|on|in) (.+))?$/,z=o=>o.replace(/^(?:the|a|an|my|our) /,""),te=new Set(["the","a","an","my","our","all","any","of","that","which","who","are","is","be","what","whats","what's","with","me","show","list","every","there","do","i","have","we","due","for","please","were","was","by","from","in","on"]),ft=864e5,he=o=>Date.UTC(Number(o.slice(0,4)),Number(o.slice(5,7))-1,Number(o.slice(8,10))),xe=o=>new Date(o).toISOString().slice(0,10),C=(o,i)=>xe(he(o)+i*ft),xt=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],Mt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Wt="(monday|tuesday|tues|wednesday|thursday|thurs|friday|saturday|sunday)",it="(january|february|march|april|may|june|july|august|september|october|november|december|jan|feb|mar|apr|jun|jul|aug|sept|sep|oct|nov|dec)",at="(\\d{1,2})(?:st|nd|rd|th)?",Dt=o=>xt.findIndex(i=>i.startsWith(o.slice(0,3))),dt=o=>Mt.findIndex(i=>o.startsWith(i.toLowerCase()));function Rt(o,i){return Je(o,{year:o.slice(0,4)!==i.slice(0,4)})}function Se(o,i,y){if(o<0||i<1||i>31)return;let f=Number(y.slice(0,4)),c=k=>{let j=Date.UTC(k,o,i);return new Date(j).getUTCMonth()===o?xe(j):void 0},p=c(f);if(p)return he(p)<he(y)-183*ft?c(f+1):p}function Oe(o,i,y){let f=new Date(he(i)).getUTCDay(),c=u=>{let S=(f-y+7)%7,w=C(i,-S+u*7);return{from:w,to:C(w,6)}},p=()=>{let u=`${i.slice(0,8)}01`,S=new Date(Date.UTC(Number(i.slice(0,4)),Number(i.slice(5,7)),1));return{from:u,to:C(xe(S.getTime()),-1)}},k=u=>u?{from:u,to:u,day:Rt(u,i)}:void 0,j=(u,S)=>{let w=Dt(S);return k(u==="this"||u==="next"?C(c(u==="next"?1:0).from,(w-y+7)%7):u==="last"?C(i,-((f-w+6)%7+1)):C(i,(w-f+7)%7))},J=u=>{let S=C(i,f===0?-1:6-f);return{from:C(S,u*7),to:C(S,u*7+1)}},B="\\b(?:(?:due |for |on |by )(?:the )?)?",P=[[/\b(?:overdue|past due|late)\b/,()=>({overdue:!0,to:C(i,-1)})],[/\b(?:due |for |on )?today\b/,()=>({from:i,to:i})],[/\b(?:due |for |on )?tomorrow\b/,()=>k(C(i,1))],[/\b(?:due |for |on )?yesterday\b/,()=>k(C(i,-1))],[/\b(?:due |for |on )?this week\b/,()=>c(0)],[/\b(?:due |for |on )?next week\b/,()=>c(1)],[/\b(?:due |for |on )?(?:last|previous) week\b/,()=>c(-1)],[/\b(?:due |for |on )?next weekend\b/,()=>J(1)],[/\b(?:due |for |on )?(?:this |the )?weekend\b/,()=>J(0)],[/\b(?:due |for |on )?this month\b/,()=>p()],[new RegExp(`${B}(\\d{4}) (\\d{2}) (\\d{2})\\b`),u=>k(Se(Number(u[2])-1,Number(u[3]),`${u[1]}-01-01`))],[new RegExp(`${B}${at} (?:of )?${it}\\b`),u=>k(Se(dt(u[2]),Number(u[1]),i))],[new RegExp(`${B}${it} (?:the )?${at}\\b`),u=>k(Se(dt(u[1]),Number(u[2]),i))],[new RegExp(`${B}(?:(this|next|last|coming) )?${Wt}\\b`),u=>j(u[1],u[2])]];for(let[u,S]of P){let w=o.match(u);if(!w)continue;let N=S(w);if(N)return{ask:{words:w[0],...N},rest:o.replace(w[0]," ").replace(/\s+/g," ").trim()}}}function ht(o,i,y={}){let f=y.principal??{kind:"human"},c=o.seenBy(f),p=c.schema,k=y.today??o.today?.()??ze(),j=y.weekStartsOn??1,J=o.kindsKeptFrom(f),B=o.modules.disabledKinds,P=p.kinds.filter(e=>!J.has(e)&&!B.has(e)),u=new Set(P),S=(y.places??[]).filter(e=>e.kind===null||u.has(e.kind)),w=c.graph,N=$(i).replace(/[?.!]+$/,"").trim();if(N.length===0)return{unresolved:!0};let M=e=>p.tryDefinition(e),H=e=>Ye(M(e.kind),e),I=e=>qe(p,e),se=e=>S.find(t=>t.kind===e&&t.address===Ne(p,e))?.address??Ne(p,e),ge=e=>Xe(p,e.kind,e.id),Me=e=>({to:"record",id:e.id,kind:e.kind,label:H(e),address:ge(e),said:`Went to ${H(e)}.`}),We=e=>{let t=`Went to ${e.title}.`;return e.kind===null?{to:"place",slug:e.slug,title:e.title,address:e.address,...e.slug==="overview"?{face:"scene"}:{},said:t}:e.lens||e.address.startsWith("/places/")?{to:"picture",kind:e.kind,as:e.slug,title:e.title,address:e.address,said:t}:{to:"kind",kind:e.kind,title:e.title,address:e.address,said:t}},De=()=>({unresolved:!0,say:At}),oe=e=>{let t=M(e.kind),s=et(e,t,{limit:3,excerpt:!0}).map(r=>r.alone.startsWith(r.label)?r.alone:`${r.label.toLowerCase()} ${r.alone}`).join(", "),n=c.violations().filter(r=>r.nodeIds.includes(e.id));return[`${H(e)} \u2014 ${Ae(F(t,e.kind))}${s?` (${s})`:""}.`,n.length>0?`Trouble: ${n.map(r=>r.message).join("; ")}.`:""].filter(Boolean).join(" ")},re=e=>{let t=new Set([G(e),G(z(e))]);for(let n of[" page"," view"," lens"," place"," picture"," list"])e.endsWith(n)&&(t.add(G(e.slice(0,-n.length))),t.add(G(z(e.slice(0,-n.length)))));t.delete("");let s=n=>t.has(G(n.title))||t.has(G(z($(n.title))))||t.has(G(n.slug));return S.find(n=>n.kind!==null&&n.address.startsWith("/places/")&&s(n))??S.find(s)},pe=e=>{let t=st(o,e,{principal:f,today:k,limit:6,near:!1,...y.selection?{from:y.selection}:{}}),s=t.hits.filter(r=>r.about==="node"&&u.has(r.kind)&&w.getNode(r.id)!==void 0),n=s.filter(r=>r.why.field==="label"&&r.why.strength==="exact");return n.length===1?{one:w.getNode(n[0].id),picks:s}:n.length>1?{picks:n}:s.length===1&&t.total===1?{one:w.getNode(s[0].id),picks:s}:{picks:s}},Re=e=>{let t=e.map(s=>`${s.label} (${F(M(s.kind),s.kind)})`);return`${e.length===1?"One thing matches":`${e.length} things match`}: ${t.join("; ")}.`},Ee=(e,t)=>{if(rt.has(e))return Le();let s=t?pe(z(e)||e):void 0,n=s?.one&&$(H(s.one))===$(z(e)||e)?void 0:re(e);if(n){let l=We(n);return{about:"place",say:t?`${l.said} ${me(n)}`:l.said,moves:[l],subject:n.slug}}let r=pe(z(e)||e);if(r.one){let l=Me(r.one);return{about:t?"describe":"record",say:t?`${l.said} ${oe(r.one)}`:l.said,moves:[l],subject:r.one.id}}if(r.picks.length>0)return{about:"picks",say:Re(r.picks),moves:[],picks:r.picks};let h=ae(e);if(h)return h;let d=Pe(e);if(d){if(d.rest.split(" ").every(l=>l===""||te.has(l))){let l=I(d.kind),v={to:"kind",kind:d.kind,title:l,address:se(d.kind),said:`Went to the ${l.toLowerCase()}.`};return{about:"kind",say:v.said,moves:[v]}}return{unresolved:!0}}return De()},me=e=>{if(e.kind===null){let h=P.map(l=>({kind:l,count:w.nodesOfKind(l).length})).filter(l=>l.count>0).map(l=>`${l.count} ${(l.count===1?F(M(l.kind),l.kind):I(l.kind)).toLowerCase()}`),d=c.violations().length;return[h.length>0?`It holds ${fe(h)}.`:"It holds nothing yet.",d>0?`${d===1?"One problem":`${d} problems`} to see to.`:""].filter(Boolean).join(" ")}let t=w.nodesOfKind(e.kind).length,s=I(e.kind).toLowerCase(),n=new Set(c.violations().flatMap(h=>h.nodeIds)),r=w.nodesOfKind(e.kind).filter(h=>n.has(h.id)).length;return[e.lens?`It draws the ${s} as ${Ae(e.lens)}${t>0?` \u2014 ${t} of them`:""}.`:`${t===0?"No":t} ${t===1?F(M(e.kind),e.kind):s} ${t===1?"is":"are"} here.`,r>0?`${r} ${r===1?"has":"have"} a problem.`:""].filter(Boolean).join(" ")},Le=()=>{let e=(y.selection??[]).map(s=>w.getNode(s)).find(s=>s!==void 0);if(e)return{about:"here",say:oe(e),moves:[],subject:e.id};let t=S.find(s=>s.slug===y.place)??S.find(s=>s.slug==="home");return t?{about:"here",say:`${t.title}. ${me(t)}`,moves:[],subject:t.slug}:{about:"here",say:me({slug:"home",title:"Home",kind:null,cardinality:"many",address:"/",stop:"#"}),moves:[]}},Pe=e=>{let t=P.flatMap(s=>[I(s),F(M(s),s),s].map(n=>({kind:s,name:$(n)}))).filter(s=>s.name.length>0).sort((s,n)=>n.name.length-s.name.length);for(let{kind:s,name:n}of t)if(!(` ${e} `.indexOf(` ${n} `)<0))return{kind:s,rest:` ${e} `.replace(` ${n} `," ").replace(/\s+/g," ").trim()}},ie=(e,t)=>{let s=V(p,e).filters.filter(d=>d.about==="field"&&d.type==="date");if(s.length===0)return;let n=s.find(d=>t.some(l=>$(d.key)===l||$(d.label)===l));if(n)return n;let r=M(e)?.fieldRoles??{};for(let d of["due","deadline","date","when","start","end"]){let l=r[d],v=l?s.find(x=>x.key===l):void 0;if(v)return v}return s.find(d=>["due","deadline","date","when","on","at"].includes(d.key.toLowerCase()))??(s.length===1?s[0]:void 0)},He=e=>{let t=M(e),s=V(p,e).filters;if(t?.lifecycle)return{conditions:[{key:"is",value:"current"}],holds:d=>ue(be,d,{key:"is",value:"current"})};let r=s.find(d=>d.about==="field"&&d.type==="boolean"&&ne.has($(d.key)));if(r)return{conditions:[{key:r.key,value:"false"}],holds:d=>d[r.key]!==!0};let h=s.find(d=>d.about==="field"&&d.type==="choice"&&(d.options??[]).some(l=>ne.has($(l))));if(h){let d=new Set((h.options??[]).filter(v=>ne.has($(v)))),l=(h.options??[]).filter(v=>!d.has(v));return l.length===1?{conditions:[{key:h.key,value:l[0]}],holds:v=>v[h.key]===l[0]}:"unsayable"}return{conditions:[],holds:()=>!0}},Ie=(e,t)=>{let s=e.words.startsWith("due")||$(t.key)==="due",n=Ct.test($(t.label));if(e.day)return s?`due ${e.day}`:n?`on ${e.day}`:`${t.label.toLowerCase()} on ${e.day}`;let r=e.words.replace(/^(?:due|for|on|by) (?:the )?/,"");return s?`due ${r}`:n?r:`${t.label.toLowerCase()} ${r}`},ye=new Set(c.violations().flatMap(e=>e.nodeIds)),be={schema:p,graph:c.graph,flagged:ye,today:k},ae=e=>{let t=Oe(e,k,j),s=Pe(t?.rest??e),n=s?.kind,r=(s?.rest??t?.rest??e).split(" ").filter(Boolean);if(!n&&t){let g=e.split(" "),m=P.filter(L=>ie(L,g)!==void 0),E=m.filter(L=>{let b=ie(L,g);return g.some(O=>$(b.key)===O||$(b.label)===O)}),U=m.length===1?m:E;if(U.length!==1)return;n=U[0]}if(!n)return;let h=V(p,n).filters,d=[],l=[],v=[],x=[],q=!1,de=[];for(let g=0;g<r.length;g++){let m=r[g],E=g>0&&(r[g-1]==="not"||r[g-1]==="un"),U=h.find(b=>b.about==="field"&&b.type==="choice"&&(b.options??[]).some(O=>$(O)===m));if(U&&!E){let b=(U.options??[]).find(O=>$(O)===m);d.push({key:U.key,value:b}),l.push(b);continue}let L=h.find(b=>b.about==="field"&&b.type==="boolean"&&[$(b.key),$(b.label)].some(O=>O===m||O===m.replace(/^un/,"")));if(L){let b=!E&&!(m.startsWith("un")&&!$(L.key).startsWith("un"));d.push({key:L.key,value:String(b)}),l.push(b?m:`not ${m.replace(/^un/,"")}`);continue}if(Pt.has(m)&&!E){let b=He(n);b==="unsayable"?(q=!0,x.push(O=>!ut(p,O))):(d.push(...b.conditions),x.push(b.holds)),l.push(m);continue}m==="not"||m==="un"||t&&h.some(b=>b.type==="date"&&($(b.key)===m||$(b.label)===m))||de.push(m)}if(r=de,r.some(g=>!te.has(g))||!t&&d.length===0&&x.length===0)return;let T=I(n).toLowerCase(),Q=I(n);if(t){let g=ie(n,e.split(" "));if(!g){let m={to:"kind",kind:n,title:Q,address:se(n),said:`Went to the ${T}.`};return{about:"kind",say:`${ee(Q)} carry no date, so I can't tell which are ${/^(?:due|for|on|overdue|past due|late)\b/.test(t.ask.words)?t.ask.words:`due ${t.ask.words}`}. ${m.said}`,moves:[m]}}if(t.ask.from&&d.push({key:g.key,value:`after:${C(t.ask.from,-1)}`}),t.ask.to&&d.push({key:g.key,value:`before:${C(t.ask.to,1)}`}),t.ask.overdue){let m=He(n);m==="unsayable"?(q=!0,x.push(E=>!ut(p,E))):(d.push(...m.conditions),x.push(m.holds))}t.ask.overdue?l.push("overdue"):v.push(Ie(t.ask,g))}let R=w.nodesOfKind(n).filter(g=>d.every(m=>ue(be,g,m))&&x.every(m=>m(g))),K=[...l,...v].join(" and "),Y=[...l,T,...v].join(" "),W=R.slice(0,6).map(g=>({about:"node",id:g.id,kind:n,label:H(g),why:{field:d[0]?.key??"label",reading:d[0]?.key??"Name",fragment:K,strength:"field"},current:!0,flagged:ye.has(g.id),address:ge(g)})),X=R.length===0?`No ${T} are ${K}.`:`${R.length===1?`One ${F(M(n),n)} is`:`${R.length} ${T} are`} ${K}: ${fe(R.slice(0,6).map(H))}${R.length>6?`, and ${R.length-6} more`:""}.`;if(q)return{about:"kind",say:X,moves:[],picks:W,offer:{draft:Y,label:"Show as a view"}};let Z=d.map(g=>`${g.key}:${g.value}`).join(","),we=`${se(n)}?${new URLSearchParams({filter:Z}).toString()}`,_={to:"kind",kind:n,title:ee(Y),filter:Z,address:we,said:`Went to the ${Y}.`};return{about:"kind",say:`${_.said} ${X}`,moves:[_],picks:W}},Te=e=>M(e)?.figure==="person"?!0:[e,F(M(e),e),I(e)].some(s=>$(s).split(" ").some(n=>Et.has(n))),pt=e=>{let t=[],s=n=>M(n)?.edges??{};for(let[n,r]of Object.entries(s(e)))for(let h of r.to??[])u.has(h)&&t.push({key:n,direction:"out",far:h,words:ct(`${r.description??""} ${n}`)});for(let n of P)for(let[r,h]of Object.entries(s(n)))(h.to??[]).includes(e)&&t.push({key:r,direction:"in",far:n,words:ct(`${h.inverse??""} ${r}`)});return t},mt=e=>{let t=e.match(/^(who|which|what)\b/)?.[1];if(!t)return;let s=Oe(e,k,j);if(!s||s.ask.overdue)return;let n=s.rest.split(" ").filter(Boolean),r=P.flatMap(a=>[I(a),F(M(a),a),a].map(A=>({kind:a,name:$(A)}))).filter(a=>a.name.length>0).sort((a,A)=>A.name.length-a.name.length),h=` ${n.join(" ")} `,d=[];for(let{kind:a,name:A}of r)h.includes(` ${A} `)&&(h=h.replace(` ${A} `," "),d.includes(a)||d.push(a));let l=h.match(/\b(?:is|are|was|were)\b|'s\b/)?.[0],v=h.replace(/'s\b/g," ").split(" ").filter(a=>a.length>0&&!te.has(a)&&!Ce.has(a)),x=t==="who"?d.find(Te):d[0];if(!x&&t!=="who")return;let q=d.find(a=>a!==x),de=v.flatMap(a=>[je(a),...lt.has(je(a))?[...lt]:[]]),T=P.filter(a=>q?a===q:a!==x).flatMap(a=>{let A=ie(a,e.split(" "))??V(p,a).filters.find(D=>D.about==="field"&&D.type==="date");return A?pt(a).filter(D=>(x?D.far===x:Te(D.far))&&D.far!==a).map(D=>({kind:a,field:A,relation:D,said:v.length===0||de.some(ve=>D.words.some(vt=>Lt(vt,ve)))})):[]}).filter(a=>a.said);if(T.length===0)return;let Q=T.filter(a=>n.some(A=>$(a.field.key)===A||$(a.field.label)===A)),R=T.length===1?T[0]:Q.length===1?Q[0]:void 0;if(!R)return;let{kind:K,field:Y,relation:W}=R,X=[...s.ask.from?[{key:Y.key,value:`after:${C(s.ask.from,-1)}`}]:[],...s.ask.to?[{key:Y.key,value:`before:${C(s.ask.to,1)}`}]:[]],Z=w.nodesOfKind(K).filter(a=>X.every(A=>ue(be,a,A))),we=a=>(W.direction==="out"?c.graph.out(a.id,W.key):c.graph.in(a.id,W.key)).filter(A=>A.kind===W.far&&u.has(W.far)),_=[],g=[];for(let a of Z){let A=we(a);A.length===0&&g.push(a);for(let D of A)_.some(ve=>ve.id===D.id)||_.push(D)}let m=Ie(s.ask,Y),E=s.ask.day?`On ${s.ask.day}`:ee(s.ask.words.replace(/^(?:due|for|on|by) (?:the )?/,"")),U=I(K).toLowerCase(),L=X.map(a=>`${a.key}:${a.value}`).join(","),b=`${U} ${m}`,O={to:"kind",kind:K,title:ee(b),filter:L,address:`${se(K)}?${new URLSearchParams({filter:L}).toString()}`,said:`Went to the ${b}.`};if(Z.length===0)return{about:"related",say:`No ${b}. ${O.said}`,moves:[O]};let le=v.join(" "),yt=l==="was"||l==="were",Ge=a=>yt?a===1?"was":"were":a===1?"is":"are",ce=_.map(H),bt=ce.length>8?[...ce.slice(0,8),`${ce.length-8} more`]:ce,kt=_.length===0?`${E}: nobody ${Ge(1)}${le?` ${le}`:""}.`:`${E}: ${fe(bt)}${le?` ${Ge(_.length)} ${le}`:""}.`,$t=t==="who"&&g.length>0?`${fe(g.slice(0,4).map(H))}${g.length>4?` and ${g.length-4} more`:""} ${g.length===1?"has":"have"} nobody.`:"",wt=_.slice(0,8).map(a=>({about:"node",id:a.id,kind:a.kind,label:H(a),why:{field:W.key,reading:Ze(p,W.direction==="out"?K:W.far,W.key,W.direction==="out"?"out":"in"),fragment:m,strength:"field"},current:!0,flagged:ye.has(a.id),address:ge(a)}));return{about:"related",say:[kt,$t,O.said].filter(Boolean).join(" "),moves:[O],picks:wt}},Ke=N.match(jt);if(Ke){let e=Ke[1];if(e&&!rt.has(e)&&!/^(?:it|this|that)$/.test(e)){let n=re(e),r=n?void 0:pe(z(e)||e);if(r?.one){let h=Me(r.one);return{about:"describe",say:`${h.said} ${oe(r.one)}`,moves:[h],subject:r.one.id}}if(!n)return r&&r.picks.length>0?{about:"picks",say:Re(r.picks),moves:[],picks:r.picks}:De()}if(e&&/^(?:it|this|that)$|^(?:here|this place|this page)$/.test(e)){let n=(y.selection??[]).map(r=>w.getNode(r)).find(r=>r!==void 0);if(n)return{about:"describe",say:oe(n),moves:[],subject:n.id}}let t=c.violations();if(t.length===0)return{about:"problems",say:"Nothing is wrong \u2014 every rule holds.",moves:[]};let s={to:"problems",address:"/problems",said:"Went to the problems."};return{about:"problems",say:`${s.said} ${Qe(t)}: ${t.slice(0,4).map(n=>n.message).join("; ")}${t.length>4?"\u2026":"."}`,moves:[s]}}if(Ot.test(N))return Le();let _e=mt(N);if(_e)return _e;let ke=Oe(N,k,j);if(ke&&!re(z(ke.ask.words))&&ke.rest.replace(/'s\b/g,"").split(" ").every(e=>e===""||te.has(e)||Ce.has(e))){let e=ae(N);if(e)return e}if(/^open /.test(N)){let e=ae(N);if(e)return e}let Fe=N.match(Nt)??N.match(/^(?:go|take me|head|get me)(?: back)? (home)$/);if(Fe)return Ee(Fe[1].trim(),!1);let Be=N.match(St);if(Be){let e=Ee(Be[1].trim(),!0);return"unresolved"in e&&e.unresolved&&!/^tell me|^describe/.test(N)?{unresolved:!0}:e}let $e=re(N);if($e){let e=We($e);return{about:"place",say:e.said,moves:[e],subject:$e.slug}}let Ue=ae(N);return Ue||{unresolved:!0}}var Ce=new Set(["who","whom","whose","which","what","whats","what's","who's"]),Et=new Set(["person","people","user","users","member","members","volunteer","volunteers","gardener","gardeners","player","players","staff","worker","workers","employee","employees","owner","owners","assignee","assignees","helper","helpers","student","students","teacher","teachers","customer","customers","client","clients","contact","contacts","author","authors"]),lt=new Set(["work","cover","staff","assign","do","run","schedul","roster","book","duty","serv","help"]);function je(o){let i=o.toLowerCase().replace(/'s$/,"");for(let y of["ing","ed","es","s"])if(i.length>y.length+2&&i.endsWith(y)){let f=i.slice(0,-y.length);return f.length>3&&f[f.length-1]===f[f.length-2]?f.slice(0,-1):f}return i}function ct(o){return o.toLowerCase().split(/[^a-z']+/).filter(i=>i.length>1&&!te.has(i)&&!Ce.has(i)&&!["it","they","them","their","its","this","here","to","at"].includes(i)).map(je)}var Lt=(o,i)=>o===i||o.length>=4&&i.length>=4&&(o.startsWith(i)||i.startsWith(o)),ne=new Set(["done","finished","complete","completed","closed","resolved","agreed","canceled","archived","shipped","delivered"]),Pt=new Set(["open","unfinished","outstanding","pending","remaining","undone","incomplete"]);function ut(o,i){return V(o,i.kind).filters.some(f=>f.about==="field"&&(f.type==="boolean"&&ne.has(f.key.toLowerCase())&&i[f.key]===!0||f.type==="choice"&&typeof i[f.key]=="string"&&ne.has(String(i[f.key]).toLowerCase())))}function fe(o){return o.length<=1?o[0]??"":`${o.slice(0,-1).join(", ")} and ${o[o.length-1]}`}function zt(o,i,y={}){let f=y.scene!==void 0?{...y.pages,scene:y.scene}:y.pages;return[...nt(o,i,f?{pages:f}:{})].map(({first:c,hidden:p,lens:k,...j})=>j)}function gt(o,i){return{...o.principal?{principal:o.principal}:{},...o.places?{places:o.places}:{},...o.selection?{selection:o.selection}:{},...o.place?{place:o.place}:{},...i??o.today?{today:i??o.today}:{},...o.weekStartsOn!==void 0?{weekStartsOn:o.weekStartsOn}:{}}}function Jt(o,i,y,f){let c=ht(o,i,gt(y,f));if(c.unresolved)return c.say?{reply:{say:c.say,proposals:[],grounded:!0}}:{};if(c.about==="picks")return{};let p=c.moves.length>0?{moves:c.moves}:{},k=c.subject?o.graph.getNode(c.subject):void 0;if(c.about==="problems")return{...p,problems:!0};if(k&&(c.about==="describe"||c.about==="here"))return{...p,told:k.id};let j=k?tt(o,ot(Ve(o.violations(),[k.id])).slice(0,3)):[];return{reply:{say:c.say,proposals:j,grounded:!0,...p,...c.picks&&c.picks.length>0?{picks:c.picks}:{},...c.offer?{offer:c.offer}:{}}}}function Yt(o,i,y={}){let f=gt(y),c=[];for(let p of i){let k=typeof p=="string"?p:typeof p=="object"&&p!==null&&typeof p.to=="string"?p.to:void 0;if(!k||k.trim().length===0)continue;let j=ht(o,/^(?:go|take me|open|show)\b/i.test(k.trim())?k:`go to ${k}`,f);if("moves"in j)for(let J of j.moves)c.some(B=>B.address===J.address)||c.push(J)}return c}export{At as NOTHING_BY_THAT_NAME,gt as askContextOf,Jt as goingFrom,Yt as movesFromNames,zt as placesFromViews,ht as resolveAsk};
@@ -1 +0,0 @@
1
- import"./chunk.GZHZLJBF.js";import{n as D}from"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import{a as $}from"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{G as P,R as C}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{Ma as w,Oa as R,Sa as c,Y as S}from"./chunk.UG727PEE.js";import{b as k}from"./chunk.AJZBJBMO.js";var m=k(P(),1);var e=k(C(),1),W=[["","Does not repeat"],["day","Daily"],["week","Weekly"],["month","Monthly"],["year","Yearly"]],E=r=>`${r}${r%100>=11&&r%100<=13?"th":["th","st","nd","rd"][r%10]??"th"}`,v={display:"flex",flexWrap:"wrap",gap:"6px 12px",alignItems:"center"};function N({value:r,onChange:d,start:p,label:s,name:l="repeat"}){let f=(0,m.useId)(),a=c(r)?r:void 0,i=typeof p=="string"&&/^\d{4}-\d{2}-\d{2}/.test(p)?p:void 0,u=i?w[new Date(`${i.slice(0,10)}T00:00:00Z`).getUTCDay()]:void 0,o=t=>{let n={...a??{every:"week"},...t};for(let b of Object.keys(n))n[b]===void 0&&delete n[b];d(n)},y=a?.every??"week",g=a?.on??(u?[u]:[]);return(0,e.jsxs)("fieldset",{"data-graview-part":"field","data-graview-field":"repeat","data-graview-repeat":l,style:{display:"grid",gap:8,border:"1px solid var(--graview-edge)",borderRadius:8,padding:"8px 12px",margin:0,minWidth:0},children:[(0,e.jsx)("legend",{"data-graview-part":"label",style:{padding:"0 4px"},children:s}),(0,e.jsxs)("div",{style:v,children:[(0,e.jsx)("label",{htmlFor:`${f}-every`,children:"Repeats"}),(0,e.jsx)("select",{id:`${f}-every`,name:`${l}.every`,value:a?.every??"",onChange:t=>{let n=t.target.value;d(n===""?void 0:{...a?.interval?{interval:a.interval}:{},...a?.until?{until:a.until}:{},every:n})},"data-graview-part":"control",children:W.map(([t,n])=>(0,e.jsx)("option",{value:t,children:n},t))}),a?(0,e.jsxs)("label",{style:v,children:["every",(0,e.jsx)("input",{type:"number",min:1,max:99,name:`${l}.interval`,"aria-label":`Every how many ${y}s`,value:a.interval??1,onChange:t=>o({interval:Number(t.target.value)>1?Math.min(99,Math.round(Number(t.target.value))):void 0}),style:{width:"4.5em"},"data-graview-part":"control"}),y,(a.interval??1)>1?"s":""]}):null]}),a?.every==="week"?(0,e.jsxs)("div",{role:"group","aria-label":"On",style:v,children:[(0,e.jsx)("span",{"aria-hidden":"true",children:"On"}),w.map((t,n)=>(0,e.jsxs)("label",{style:{display:"inline-flex",gap:4,alignItems:"center",minHeight:24},children:[(0,e.jsx)("input",{type:"checkbox",name:`${l}.on`,value:t,checked:g.includes(t),onChange:b=>{let h=w.filter(x=>x===t?b.target.checked:g.includes(x));o({on:h.length===0||h.length===1&&h[0]===u?void 0:h})}}),S(n,"short")]},t))]}):null,a?.every==="month"?(0,e.jsxs)("label",{style:v,children:["On",(0,e.jsxs)("select",{name:`${l}.on`,value:a.on?.[0]===-1?"last":"",onChange:t=>o({on:t.target.value==="last"?[-1]:void 0}),"data-graview-part":"control",children:[(0,e.jsx)("option",{value:"",children:i?`the ${E(Number(i.slice(8,10)))}`:"the same day"}),(0,e.jsx)("option",{value:"last",children:"the last day"})]})]}):null,a?(0,e.jsxs)("label",{style:v,children:["Until",(0,e.jsx)("input",{type:"date",name:`${l}.until`,value:a.until??"",onChange:t=>o({until:t.target.value||void 0}),"data-graview-part":"control"})]}):null,(0,e.jsx)("p",{"aria-live":"polite","data-graview-repeat-said":"",style:{margin:0,color:"var(--graview-ink-dim)",fontSize:"0.8125rem"},children:a?$(i??"",a):"Does not repeat"})]})}function M({nodeId:r,field:d,start:p,value:s,label:l}){let{fields:f,commit:a}=D(r),i=f.find(t=>t.field===R(d)&&t.takesValue&&t.open.length===0),[u,o]=(0,m.useState)(!1),[y,g]=(0,m.useState)(c(s)?s:void 0);return i?u?(0,e.jsxs)("form",{onSubmit:t=>{t.preventDefault(),o(!1),a(i,y??null)},style:{display:"grid",gap:6,marginTop:6},children:[(0,e.jsx)(N,{value:y,onChange:g,start:p,label:l,name:R(d)}),(0,e.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,e.jsx)("button",{type:"submit","data-graview-repeat-keep":d,children:"Keep"}),(0,e.jsx)("button",{type:"button",onClick:()=>o(!1),children:"Cancel"})]})]}):(0,e.jsx)("button",{type:"button","data-graview-repeat-open":d,onClick:()=>(g(c(s)?s:void 0),o(!0)),style:{marginInlineStart:8,fontSize:"0.75rem",padding:"1px 8px",borderRadius:999,minHeight:24},children:c(s)?"Change how it repeats":"Repeat\u2026"}):null}export{M as RepeatEditor,N as RepeatPicker};
@@ -1 +0,0 @@
1
- import{k as a,l as b,m as c,n as d,o as e,p as f,q as g,r as h,s as i}from"./chunk.LWAZ6ZO6.js";import"./chunk.V5VQCANB.js";import"./chunk.UT6642FC.js";import"./chunk.WERBD5ZR.js";import"./chunk.HAY22FPJ.js";import"./chunk.U6YOAS4X.js";import"./chunk.TI4OSTQV.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import"./chunk.AJZBJBMO.js";export{i as GhostTray,h as InlineAiMenu,g as askAgain,c as askInline,a as askOf,b as drawPanel,d as heldSuggestion,e as suggestOnce,f as takeOffer};
@@ -1 +0,0 @@
1
- import{D as l,K as p,R as k,S as y,c}from"./chunk.ROHM3ETN.js";import"./chunk.Z2TYCMBT.js";import"./chunk.UGFDSE37.js";import{b as m}from"./chunk.VYPR2MZO.js";import"./chunk.EC2T2UVH.js";import"./chunk.Y2QDZLSY.js";import"./chunk.ETWOZQWL.js";import"./chunk.B6DKKNVR.js";import"./chunk.VEP4EJ2N.js";import"./chunk.7EB6SDUQ.js";import"./chunk.3WABA2WQ.js";import"./chunk.4YRCKOX2.js";import"./chunk.L6HKDIZB.js";import"./chunk.QHP7AJUV.js";import"./chunk.U3MQUIJL.js";import"./chunk.DNMBZONP.js";import"./chunk.OTHGZPUC.js";import"./chunk.4YBP552Z.js";import"./chunk.EVHXF7LZ.js";import"./chunk.ARTJL3X2.js";import"./chunk.V3K32XD7.js";import"./chunk.CAZX6OPN.js";import"./chunk.MB7LKKUD.js";import"./chunk.WVUJXDXZ.js";import"./chunk.WVN62OMH.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.XDPIS7RS.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import"./chunk.GZHZLJBF.js";import"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{$ as g,G as S,H as s,I as d,R as f}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import"./chunk.UG727PEE.js";import{b as n}from"./chunk.AJZBJBMO.js";var u=n(S(),1);var t=n(f(),1);function D({context:a}){let r=l(),h=g(),[w]=(0,u.useState)(()=>s(null)),o=d(h?.seatTalk??w),P=()=>{(window.history.state?.idx??0)>0?r(-1):r("/")};return(0,t.jsxs)(k,{context:a,"data-testid":"draft-page",children:[(0,t.jsx)(y,{context:a,...o.draft?{"data-testid":"draft-title"}:{},children:o.draft?o.draft.title:"Nothing drawn"}),o.draft?(0,t.jsx)(m,{page:!0,go:e=>r(e.address),onPick:e=>{let i=a.store.graph.getNode(e);i&&r(c(a.store.schema,i.kind,e))},onDiscard:P}):(0,t.jsxs)("p",{style:{margin:0,color:"var(--graview-ink-muted)"},children:["Ask for a way of seeing \u2014 \u201Ca board of tasks by status\u201D \u2014 and it is drawn here."," ",(0,t.jsx)(p,{to:"/",style:{color:"var(--graview-accent)"},children:"Home \u2192"})]})]})}export{D as DraftPage};
@@ -1 +0,0 @@
1
- var __graviewPreload=(base,files)=>{if(typeof document>"u")return;const asked=globalThis.__graviewPreloaded??=new Set;for(const file of files){const href=new URL(file,base).href;if(asked.has(href))continue;asked.add(href);const link=document.createElement("link");link.rel="modulepreload";link.href=href;document.head.append(link)}};import{a as _,b as pe,e as ue,f as me,g as ce}from"./chunk.OTHGZPUC.js";import{b as G}from"./chunk.4YBP552Z.js";import{c as de}from"./chunk.WVN62OMH.js";import{n as P}from"./chunk.HG2IO5NS.js";import{i as x,j as ie,k as oe,q as se,r as le}from"./chunk.LFJH6X6O.js";import{d as ae,e as re}from"./chunk.VTUMPH4Z.js";import{b as te,f as ne}from"./chunk.PCTVLNOS.js";import{$ as Y,G as he,R as X,_ as O,ba as U,ta as Z,ua as ee}from"./chunk.JE4QQEJE.js";import{a as Q}from"./chunk.SDO3U72B.js";import{ea as W,ja as J}from"./chunk.UG727PEE.js";import{b as D}from"./chunk.AJZBJBMO.js";var p=D(he(),1);var ve=ee(Q(()=>(__graviewPreload(import.meta.url,["./chunk.DNMBZONP.js","./chunk.OTHGZPUC.js","./chunk.4YBP552Z.js","./chunk.WVUJXDXZ.js","./chunk.WVN62OMH.js","./chunk.BZ4VZ6WQ.js","./chunk.XDPIS7RS.js","./chunk.57R4ZUMM.js","./chunk.J7ZMNAWB.js","./chunk.VKJAGZNU.js","./chunk.GZHZLJBF.js","./chunk.HG2IO5NS.js","./chunk.OJGHDWI6.js","./chunk.AQTCN7KQ.js","./chunk.LFJH6X6O.js","./chunk.VTUMPH4Z.js","./chunk.PCTVLNOS.js","./chunk.4QEDYRES.js","./chunk.JE4QQEJE.js","./chunk.SDO3U72B.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.DXAUXGNN.js")))),ye=ve.part((i,a)=>i.drawAppLink(a),{quiet:!0});var e=D(X(),1);function K({nodeId:i,field:a,value:l,stored:s=l,said:c}){let{fields:m,commit:o}=P(i),t=m.find(r=>r.field===a),{store:y,principal:I}=O(),u=y.graph.getNode(i)?.kind,g=y.schema.definitions.find(r=>r.kind===u),v=J(g,a),k=v.toLowerCase(),n=c??`${v.charAt(0).toUpperCase()}${v.slice(1)}: ${l}`,[w,E]=(0,p.useState)(!1),d=t?.shape.type==="number"?t.shape.amount:void 0,f=d&&s!==""&&Number.isFinite(Number(s))?ie(Number(s),d):s,[b,M]=(0,p.useState)(f),C=(0,p.useRef)(null),j=(0,p.useRef)(null),z=(0,p.useRef)(!1),S=r=>{z.current=r,E(!1)};(0,p.useEffect)(()=>M(f),[f,w]);let q=t?.shape.type==="date";if((0,p.useEffect)(()=>{if(q)return Z(()=>void ce())},[q]),(0,p.useEffect)(()=>{w?C.current?.focus():z.current&&(z.current=!1,j.current?.focus())},[w]),!t)return(0,e.jsx)("span",{"data-graview-field":a,"data-graview-readonly":"",title:`Read-only \u2014 nothing this app declares changes the ${k}`,style:{color:"var(--graview-ink)",cursor:"default",overflowWrap:"anywhere"},children:l});if(!w)return(0,e.jsx)("button",{ref:j,type:"button","data-graview-field":a,"data-graview-editable":t.mutation,...n===l?{}:{"aria-label":n},title:`${t.title} \u2014 changes the ${k}, and can be undone`,onClick:()=>E(!0),style:{all:"unset",cursor:"text",display:"inline-flex",alignItems:"flex-end",minHeight:24,minWidth:24,maxWidth:"100%",overflowWrap:"anywhere",paddingBottom:1,borderBottom:"1px dashed var(--graview-edge-bright)",color:"var(--graview-ink)"},children:l});let R=(r,{left:h=!1}={})=>{S(!h),!(r===s||r===""||r===void 0)&&(t.shape.type==="date"&&typeof r=="string"&&fe(r)||o(t,r))},fe=r=>{if(t.shape.type!=="date")return!1;let h=m.filter(L=>L.shape.type==="date"&&L.takesValue),T=le(h.map(L=>L.field),g?.fieldRoles??{}),A=T?.start===a?h.find(L=>L.field===T.end):void 0,F=y.graph.getNode(i)?.[T?.end??""];if(!A||typeof F!="string")return!1;let N=se(s===""?void 0:s,r,F,{time:t.shape.time===!0,instant:t.shape.instant===!0});if(N===void 0||N===F)return!1;let $=t.call(r),V=A.call(N);return y.applyAll($.name===V.name?[{name:$.name,args:{...$.args,...V.args}}]:[$,V],{author:I}),!0};if(!t.takesValue){let r=[t,...t.alternatives];return(0,e.jsx)("span",{role:"group","aria-label":`Change ${W(a).toLowerCase()}`,"data-graview-field":a,style:{display:"inline-flex",gap:6,alignItems:"center",flexWrap:"wrap"},onKeyDown:h=>{h.key==="Escape"&&S(!0)},children:r.map((h,T)=>(0,e.jsx)("button",{type:"button",ref:T===0?C:void 0,"data-graview-act":h.mutation,onClick:()=>{S(!0),o(h,void 0)},onBlur:A=>{let H=A.relatedTarget;(!H||!A.currentTarget.parentElement?.contains(H))&&S(!1)},style:{padding:"2px 9px",fontSize:"0.8125rem",borderRadius:999},children:h.title},h.mutation))})}return(0,e.jsxs)("form",{style:{display:"inline-flex",flexWrap:"wrap",gap:4,maxWidth:"100%"},onSubmit:r=>{r.preventDefault(),R(ge(t,b))},children:[t.shape.type==="choice"?(0,e.jsx)("select",{ref:C,"aria-label":W(a),"data-graview-field":a,value:b,onChange:r=>R(r.target.value),onBlur:()=>S(!1),style:{font:"inherit",fontSize:"inherit"},children:t.shape.options.map(r=>(0,e.jsx)("option",{value:r,children:te(g,a,r)},r))}):t.shape.type==="date"?(0,e.jsx)(me,{inputRef:C,label:W(a),value:b===""?void 0:b,time:t.shape.time===!0,instant:t.shape.instant===!0,onChange:r=>M(r??""),onLeave:r=>R(r,{left:!0}),onCancel:()=>S(!0),autoSelect:!0,boxStyle:{fontSize:"inherit",minHeight:24,padding:"0 3px"}}):(0,e.jsxs)(e.Fragment,{children:[d&&x(d).prefix?(0,e.jsx)("span",{"aria-hidden":"true",children:x(d).prefix}):null,(0,e.jsx)("input",{ref:C,"aria-label":d?`${W(a)}, ${x(d).hint}`:W(a),"data-graview-field":a,...d?{inputMode:"decimal",placeholder:x(d).placeholder,"data-graview-amount":d.format??"unit"}:{},type:d?"text":t.shape.type==="number"&&!t.shape.duration?"number":"text",...t.shape.type==="number"&&t.shape.duration?{placeholder:"1h 30m"}:{},...t.shape.type==="text"&&t.shape.holds==="phone"?{inputMode:"tel",autoComplete:"tel"}:{},...t.shape.type==="number"&&t.shape.min!==void 0&&!d?{min:t.shape.min}:{},...t.shape.type==="number"&&t.shape.max!==void 0&&!d?{max:t.shape.max}:{},...t.shape.type==="number"&&t.shape.step!==void 0&&!d?{step:t.shape.step}:{},value:b,onChange:r=>M(r.target.value),onBlur:()=>R(ge(t,b),{left:!0}),onKeyDown:r=>{r.key==="Escape"&&S(!0)},style:{font:"inherit",fontSize:"inherit",width:`min(${Math.max(6,b.length+1)}ch, 100%)`,maxWidth:"100%",minWidth:0,boxSizing:"border-box",minHeight:24,display:"inline-flex",alignItems:"center",padding:"0 3px"}}),d&&x(d).suffix?(0,e.jsx)("span",{"aria-hidden":"true",children:x(d).suffix}):null]}),t.open.length>0?(0,e.jsxs)("span",{style:{fontSize:"0.75rem",color:"var(--graview-ink-faint)"},children:["also needs ",t.open.map(r=>r.name).join(", ")]}):null]})}function ge(i,a){return i.shape.type==="number"&&i.shape.amount?oe(a,i.shape.amount):i.shape.type==="number"?i.shape.duration?ne(a)??a:Number(a):i.shape.type==="text"&&i.shape.holds?a.trim():a}function be({href:i,field:a,value:l,stored:s,nodeId:c}){let m=i.startsWith("tel:"),o=(t,y)=>(0,e.jsx)("a",{href:i,"data-graview-link":a,...y?{"aria-label":y}:{},...m?{}:{target:"_blank",rel:"noopener noreferrer"},style:{display:"inline-flex",alignItems:"center",minHeight:24,minWidth:24,maxWidth:"100%",overflowWrap:"anywhere",color:"var(--graview-accent)"},children:t});return c===void 0?o(l):(0,e.jsxs)("span",{style:{display:"inline-flex",flexWrap:"wrap",alignItems:"center",gap:"0 10px",maxWidth:"100%"},children:[(0,e.jsx)(K,{nodeId:c,field:a,value:l,...s===void 0?{}:{stored:s}}),o(m?"Call":"Map",m?`Call ${l}`:`Open ${l} in maps`)]})}function De({id:i,hide:a=[],limit:l=10,labels:s={},shown:c=[]}){let{store:m}=O(),o=U(i);if(!o)return null;let t=m.schema.tryDefinition(o.kind),y=ae(o,t,{limit:l,said:c}).filter(u=>!a.includes(u.key)),I=de(t).length>0;return y.length===0&&!I?null:(0,e.jsxs)("div",{"data-graview-fields":o.id,style:{display:"grid",gap:14,alignContent:"start",minWidth:0,fontSize:"0.875rem"},children:[re(t,y).map((u,g)=>{let v=(0,e.jsx)("dl",{style:{margin:0,display:"grid",gridTemplateColumns:"auto 1fr",gap:"5px 16px",alignContent:"start",minWidth:0},children:u.fields.map(n=>n.files?(0,e.jsx)(_,{as:"field",nodeId:o.id,field:n.key,label:s[n.key]??n.label,files:n.files,labelStyle:B,style:{marginTop:6}},n.key):n.long?(0,e.jsx)(we,{nodeId:o.id,field:n.key,label:s[n.key]??n.label,value:n.value,markdown:n.markdown,labelStyle:B,style:{gridColumn:"1 / -1",marginTop:6}},n.key):(0,e.jsxs)("div",{style:{display:"contents"},children:[(0,e.jsx)("dt",{style:{...B,whiteSpace:"nowrap"},children:s[n.key]??n.label}),(0,e.jsxs)("dd",{style:{margin:0,minWidth:0},children:[n.linked?(0,e.jsx)(pe,{relation:n.linked.relation,refs:n.linked.refs,nodeId:o.id,field:n.key}):n.app?(0,e.jsx)(ye,{address:n.app,as:"record",nodeId:o.id,field:n.key}):n.href?(0,e.jsx)(be,{href:n.href,field:n.key,value:n.value,stored:n.stored,nodeId:o.id}):(0,e.jsx)(K,{nodeId:o.id,field:n.key,value:n.value,stored:n.stored}),n.repeats?(0,e.jsx)(ue,{nodeId:o.id,field:n.key,start:o[n.key],value:o[`${n.key}Repeat`],label:`${s[n.key]??n.label} repeats`}):null]})]},n.key))});if(!u.title)return(0,e.jsx)("div",{children:v},g);let k=`graview-field-group-${o.id}-${g}`;return(0,e.jsxs)("div",{role:"group","aria-labelledby":k,style:{display:"grid",gap:6,minWidth:0},children:[(0,e.jsx)("p",{id:k,"data-graview-field-group":u.title,style:ke,children:u.title}),v]},g)}),I?(0,e.jsx)(_,{as:"unfilled",nodeId:o.id,skip:a,labels:s,labelStyle:B}):null]})}var B={color:"var(--graview-ink-faint)",fontSize:"0.8125rem"},ke={margin:0,fontSize:"0.75rem",letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--graview-ink-muted)",fontWeight:560};function we(i){return Y()?(0,e.jsx)(xe,{...i}):(0,e.jsx)(Se,{...i})}function Se({field:i,label:a,value:l,labelStyle:s,valueStyle:c,style:m,markdown:o}){return(0,e.jsxs)("div",{"data-graview-long":i,style:{display:"grid",gap:6,minWidth:0,...m},children:[(0,e.jsx)("dt",{style:s,children:a}),(0,e.jsx)("dd",{style:{margin:0,minWidth:0,...c},children:(0,e.jsx)("div",{"data-graview-field":i,children:(0,e.jsx)(G,{text:l,markdown:o})})})]})}function xe({nodeId:i,field:a,label:l,value:s,labelStyle:c,valueStyle:m,style:o,markdown:t}){let{fields:y,commit:I}=P(i),u=y.find(f=>f.field===a&&f.takesValue),[g,v]=(0,p.useState)(!1),k=(0,p.useRef)(null),n=(0,p.useRef)(!1);(0,p.useEffect)(()=>{!g&&n.current&&(n.current=!1,k.current?.focus())},[g]);let w=f=>{n.current=f,v(!1)},E=l.toLowerCase(),d=(0,e.jsx)(G,{text:s,markdown:t});return(0,e.jsxs)("div",{"data-graview-long":a,style:{display:"grid",gap:6,minWidth:0,...o},children:[(0,e.jsxs)("dt",{style:{display:"flex",alignItems:"baseline",gap:10,...c},children:[(0,e.jsx)("span",{children:l}),u&&!g?(0,e.jsx)("button",{ref:k,type:"button","data-graview-editable":u.mutation,"aria-label":`Edit the ${E}`,title:`${u.title} \u2014 changes the ${E}, and can be undone`,onClick:()=>v(!0),style:Ee,children:"Edit"}):null]}),(0,e.jsx)("dd",{style:{margin:0,minWidth:0,...m},children:g&&u?(0,e.jsx)(p.Suspense,{fallback:d,children:(0,e.jsx)(Ie,{field:a,label:l,value:s,...t?{markdown:!0}:{},onCancel:()=>w(!0),onSave:(f,b)=>{w(!b),f!==s&&I(u,f)}})}):(0,e.jsx)("div",{"data-graview-field":a,...u?{}:{"data-graview-readonly":"",title:`Read-only \u2014 nothing this app declares changes the ${E}`},...u?{onClick:()=>v(!0)}:{},style:{cursor:u?"text":"default",minWidth:0},children:d})})]})}var Ie=(0,p.lazy)(()=>(__graviewPreload(import.meta.url,["./chunk.4YBP552Z.js","./chunk.4QEDYRES.js","./chunk.JE4QQEJE.js","./chunk.SDO3U72B.js","./chunk.UG727PEE.js","./chunk.AJZBJBMO.js"]),import("./chunk.RFCTUGMU.js"))),Ee={all:"unset",cursor:"pointer",fontSize:"0.75rem",letterSpacing:"normal",textTransform:"none",color:"var(--graview-accent)",borderBottom:"1px dashed currentColor",minHeight:24,minWidth:24,display:"inline-flex",alignItems:"flex-end"};function Oe({nodeId:i,children:a}){let{fields:l}=P(i),s=U(i);if(!s)return(0,e.jsx)(e.Fragment,{children:a});let c=l.find(m=>{let o=s[m.field];return typeof o=="string"&&o===a});return c?(0,e.jsx)(K,{nodeId:i,field:c.field,value:a,said:a}):(0,e.jsx)(e.Fragment,{children:a})}export{ye as a,K as b,be as c,De as d,we as e,Oe as f};
@@ -1 +0,0 @@
1
- import{b as x}from"./chunk.DNMBZONP.js";import"./chunk.OTHGZPUC.js";import"./chunk.4YBP552Z.js";import"./chunk.WVUJXDXZ.js";import"./chunk.WVN62OMH.js";import"./chunk.BZ4VZ6WQ.js";import"./chunk.XDPIS7RS.js";import"./chunk.57R4ZUMM.js";import"./chunk.J7ZMNAWB.js";import"./chunk.VKJAGZNU.js";import"./chunk.GZHZLJBF.js";import{n as R}from"./chunk.HG2IO5NS.js";import"./chunk.OJGHDWI6.js";import"./chunk.AQTCN7KQ.js";import"./chunk.LFJH6X6O.js";import"./chunk.VTUMPH4Z.js";import"./chunk.PCTVLNOS.js";import"./chunk.4QEDYRES.js";import{$ as g,G as A,R as v}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{ja as y,na as c,vc as k}from"./chunk.UG727PEE.js";import{b as u}from"./chunk.AJZBJBMO.js";var f=u(A(),1);var L=u(A(),1),S=(0,L.createContext)(void 0);var i=u(v(),1),W=new WeakMap,m=new WeakMap,P=(e,n)=>`${n.kind}\0${n.id??""}\0${e}`;function b(e,n,a){let p=P(n,a),o=W.get(e);o||W.set(e,o=new Map);let t=o.get(p);return t||(t=Promise.resolve().then(()=>e(n,a)).then(r=>C(r)?r:null,()=>null).then(r=>{let s=m.get(e);return s||m.set(e,s=new Map),s.set(p,r),r}),o.set(p,t)),t}function C(e){if(e===null)return!0;if(typeof e!="object"||e===void 0)return!1;if(e.denied===!0)return!0;let n=e;return typeof n.name=="string"&&n.name.trim()!==""&&typeof n.href=="string"}function h(e){if(/^https?:\/\//i.test(e))try{return new URL(e).href}catch{return}}var N=e=>h(e)??(c(e)?e:void 0),E=e=>h(e)??(e.startsWith("/")&&c(e)?e:void 0),I={kind:"human"},w={color:"var(--graview-ink-muted)"};function M({icon:e}){if(!e)return null;let n=E(e);if(n)return(0,i.jsx)("img",{src:n,alt:"",width:20,height:20,"data-graview-app-icon":"",style:{width:20,height:20,borderRadius:5,objectFit:"cover",flex:"0 0 auto"}});let a=[...e.trim()].slice(0,2).join("");return a?(0,i.jsx)("span",{"aria-hidden":"true","data-graview-app-icon":"",style:{flex:"0 0 auto",lineHeight:"20px"},children:a}):null}function V(e){let n=g(),a=(0,f.useContext)(S)??n?.resolveApp,p=n?.principal??I,o=()=>a?m.get(a)?.get(P(e,p))??"asking":null,[t,r]=(0,f.useState)(o);return(0,f.useEffect)(()=>{let s=o();if(r(s),s!=="asking"||!a)return;let l=!0;return b(a,e,p).then(d=>l&&r(d)),()=>{l=!1}},[a,e,p.kind,p.id]),t}function D({address:e,as:n="chip",nodeId:a,field:p,style:o}){let t=V(e),r={position:"relative",zIndex:k.raised,overflowWrap:"anywhere",minWidth:0,maxWidth:"100%",...o},s;if(t==="asking")s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"asking","aria-busy":"true",style:{...w,...r},children:"Linked app"});else if(t&&"denied"in t)s=(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"denied",style:{...w,fontStyle:"italic",...r},children:"linked app (no access)"});else if(t){let l=N(t.href),d=n==="record"?t.headline?.trim():void 0;s=(0,i.jsxs)(l?"a":"span",{"data-graview-app-link":"","data-graview-app-state":"found",...l?{href:l}:{},...!d&&t.headline?{title:t.headline}:{},style:{display:"inline-flex",alignItems:d?"flex-start":"center",minHeight:24,gap:8,color:"inherit",textUnderlineOffset:3,...r},children:[(0,i.jsx)(M,{icon:t.icon}),(0,i.jsxs)("span",{style:{display:"grid",minWidth:0},children:[(0,i.jsx)("span",{"data-graview-app-name":"",style:{fontWeight:600},children:t.name}),d?(0,i.jsx)("span",{"data-graview-app-headline":"",style:{...w,fontSize:"0.8125em",fontWeight:400},children:d}):null]})]})}else{let l=h(e);s=l?(0,i.jsx)("a",{"data-graview-app-link":"","data-graview-app-state":"plain",href:l,rel:"noopener noreferrer",target:"_blank",style:{color:"var(--graview-accent)",display:"inline-flex",alignItems:"center",minHeight:24,...r},children:e}):(0,i.jsx)("span",{"data-graview-app-link":"","data-graview-app-state":"plain",style:r,children:e})}return a&&p?(0,i.jsx)(H,{nodeId:a,field:p,address:e,drawn:s}):s}function H({nodeId:e,field:n,address:a,drawn:p}){let o=R(e).fields.some(s=>s.field===n),t=g()?.store;if(!o)return p;let r=y(t?t.schema.tryDefinition(String(t.graph.getNode(e)?.kind)):void 0,n).toLowerCase();return(0,i.jsxs)("span",{style:{display:"inline-flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px",maxWidth:"100%",minWidth:0},children:[p,(0,i.jsx)("span",{style:{fontSize:"0.8125rem"},children:(0,i.jsx)(x,{nodeId:e,field:n,value:"Change",stored:a,said:`Change the ${r}`})})]})}var _=e=>(0,i.jsx)(D,{...e});export{D as AppLink,_ as drawAppLink};
@@ -1 +0,0 @@
1
- import"./chunk.4QEDYRES.js";import{$ as H,G as U,O as N,P as I,R as B}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{R as W,Wa as z,wc as $}from"./chunk.UG727PEE.js";import{b as O}from"./chunk.AJZBJBMO.js";function x(n,t){return n.kind==="agent"?"agent":n.kind!=="human"?"app":n.onBehalfOf!==void 0?"person":n.id===void 0||t?.id===void 0||n.id===t.id?"you":"person"}var X=n=>n.ops.filter(t=>t.withheld!==!0);function L(n,t={}){let r=n.batches().map(e=>{let o=e.ops[0],l=e.ops.at(-1),c=X(e).length===0;return{seq:l.seq+1,from:o.seq,at:l.at,batch:e.id,maker:c?"person":x(e.author,t.me),author:c?void 0:e.author,said:e.intent,declaration:!1,withheld:c}}),s=[...n.log.epochs().filter(e=>e.change!==void 0).map(e=>({seq:e.seq,sentence:e.change,...e.at?{at:e.at}:{}})),...t.declarations??[]];for(let e of s){if(e.seq<n.log.horizon||e.seq>n.log.length)continue;let o=r.findIndex(l=>l.seq===e.seq);if(o>=0&&!r[o].withheld){r[o]={...r[o],declaration:!0,said:e.sentence};continue}r.push({seq:e.seq,from:e.seq,at:e.at,batch:void 0,maker:e.author?x(e.author,t.me):"app",author:e.author,said:e.sentence,declaration:!0,withheld:!1})}return r.sort((e,o)=>e.seq-o.seq||+(e.batch!==void 0)-+(o.batch!==void 0))}function V(n,t){let r=n.log.all(),s=new Map(r.map(e=>[e.id,e.seq]));return n.batches().filter(e=>!e.undone&&e.ops[0].seq>=t).filter(e=>!e.ops.every(o=>o.undoes!==void 0&&(s.get(o.undoes)??-1)>=t)).map(e=>e.id)}function _(n,t){return n.withheld?"Someone":n.maker==="you"?"you":n.author?z(n.author,t):"the app"}var d=O(U(),1);var i=O(B(),1),J={kind:"human"},Q=[1,2,4,8],Z=900,T={you:"You",person:"A person",agent:"An agent",app:"The app"},F={you:"var(--graview-accent)",person:"var(--graview-ink-muted)",agent:"var(--graview-activity, var(--graview-good))",app:"var(--graview-edge-bright)"};function ee(n,t,r){let s=r?Array.from({length:t},(e,o)=>o):[];return[...new Set([...s,t,...n.map(e=>e.seq)])].sort((e,o)=>e-o)}function te(n,t){let r=n.withheld===!0;return{seq:n.seq+1,from:n.seq,at:n.at,batch:n.batch,maker:r?"person":x(n.author,t),author:r?void 0:n.author,said:n.batchIntent??n.intent,declaration:!1,withheld:r}}function ne(n,t){let r=0;for(let s=0;s<n.length;s++)n[s]<=t&&(r=s);return r}function ae(n,t,r){let s=V(n,t);if(s.length===0)return null;let e=n.canUndo(s);if(!e.ok)return null;let o=new Set(n.permittedMutations(r).map(l=>l.name));return e.ops.every(l=>l.mutation!==null&&o.has(l.mutation.name))?s:null}function ce({face:n}){let t=N(),r=H(),s=r?.principal??J,e=I(t.live,s),o=e.log.length,l=(0,d.useMemo)(()=>L(e,{me:s,...t.host?.declarations?{declarations:t.host.declarations}:{}}),[e,s,t.host,o]),c=e.log.horizon,b=c>0&&t.host?.archived!==void 0,h=(0,d.useMemo)(()=>ee(l,c,b),[l,c,b]),f=t.archive,p=f?.seq??t.past?.seq??o,v=ne(h,p),m=h.length-1,D=p<c&&t.past?.seq===p?t.past.store.log.all().at(-1):void 0,w=D?te(D,s):p<c?void 0:[...l].reverse().find(a=>a.seq<=p&&a.seq>(h[v-1]??-1))??[...l].reverse().find(a=>a.seq<=p),[k,P]=(0,d.useState)(!1),[q,K]=(0,d.useState)(1),[R,M]=(0,d.useState)(null);(0,d.useEffect)(()=>{if(!k)return;if(v>=m){P(!1);return}let a=setTimeout(()=>t.show(h[v+1]),Z/q);return()=>clearTimeout(a)},[k,v,m,q,h,t]);let E=(0,d.useMemo)(()=>t.past&&!f&&p>=c?ae(e,p,s):null,[t.past,f,e,p,c,s,o]),j=a=>_(a,{graph:e.graph,schema:e.schema,...r?.seats?{seats:r.seats}:{},...r?.people?{people:r.people}:{}}),y=t.past?t.past.at?W(t.past.at,r?.locale):"the start":null,A=f?f.refused?"The archive could not be read":"Reading the older changes from the archive\u2026":w?`${j(w)==="you"?"You":j(w)}: ${w.said}`:"Nothing had happened yet",C=(0,d.useRef)(null);(0,d.useLayoutEffect)(()=>{let a=C.current,g=a?.parentElement;if(n!=="scene"||!a||!g)return;let u=()=>g.style.setProperty("--graview-sheet",`${Math.ceil(a.getBoundingClientRect().height)+24}px`);u();let S=typeof ResizeObserver>"u"?null:new ResizeObserver(u);return S?.observe(a),()=>{S?.disconnect(),g.style.removeProperty("--graview-sheet")}},[n]);let Y=n==="scene"?{position:"absolute",left:"50%",bottom:12,transform:"translateX(-50%)",width:"min(720px, calc(100% - 32px))",zIndex:$("rail")}:{position:"sticky",top:0,zIndex:$("rail"),margin:"0 auto 12px",maxWidth:960,width:"100%"};return(0,i.jsxs)("section",{ref:C,"aria-label":"Timeline","data-testid":"timeline","data-graview-past":t.past?String(t.past.seq):"now","data-graview-offstage":"",style:{...Y,boxSizing:"border-box",display:"grid",gap:8,padding:"10px 12px",borderRadius:10,border:"1px solid var(--graview-edge)",background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",color:"var(--graview-ink)",fontSize:"0.8125rem"},children:[(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"baseline",gap:"4px 12px"},children:[(0,i.jsx)("strong",{"data-testid":"as-of",role:"status",style:{fontWeight:600},children:f?"Archived changes":y?`As of ${y}`:"Now"}),(0,i.jsx)("span",{"data-testid":"timeline-caption",style:{color:"var(--graview-ink-muted)",minWidth:0,overflowWrap:"anywhere"},children:A}),y?(0,i.jsx)("span",{style:{color:"var(--graview-ink-faint)"},"data-testid":"past-read-only",children:"Nothing changes while you look back."}):null]}),(0,i.jsxs)("div",{style:{position:"relative",height:22},"aria-hidden":"true",children:[b?(0,i.jsx)("span",{"data-testid":"timeline-archived",title:"Changes read from the archive as you scrub back",style:{position:"absolute",left:0,bottom:0,height:6,width:`${m===0?0:h.indexOf(c)/m*100}%`,borderRadius:2,background:"var(--graview-edge)"}}):null,h.slice(1).map((a,g)=>{let u=[...l].reverse().find(G=>G.seq===a);if(!u)return null;let S=m===0?0:(g+1)/m*100;return(0,i.jsx)("span",{"data-graview-tick":a,"data-maker":u.maker,...u.declaration?{"data-declaration":""}:{},title:`${T[u.maker]}: ${u.said}`,style:{position:"absolute",left:`calc(${S}% - 1px)`,bottom:0,width:u.declaration?4:2,height:u.declaration?22:12,borderRadius:2,background:u.declaration?"var(--graview-ink)":F[u.maker],opacity:a<=p?1:.45}},`${a}:${u.batch??"declaration"}`)})]}),(0,i.jsx)("input",{type:"range","data-testid":"scrubber","aria-label":"Moment",min:0,max:m,step:1,value:v,"aria-valuetext":y?`As of ${y}. ${A}`:`Now. ${A}`,onChange:a=>{P(!1),t.show(h[Number(a.currentTarget.value)]??o)},style:{width:"100%",margin:0,accentColor:"var(--graview-accent)"}}),(0,i.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",alignItems:"center",gap:8},children:[(0,i.jsx)("button",{type:"button","data-testid":"play","aria-pressed":k,onClick:()=>{!k&&v>=m&&t.show(h[0]),P(!k)},style:{minHeight:28,minWidth:64},children:k?"Pause":"Play"}),(0,i.jsxs)("label",{style:{display:"inline-flex",alignItems:"center",gap:6,color:"var(--graview-ink-muted)"},children:["Speed",(0,i.jsx)("select",{"data-testid":"speed",value:q,onChange:a=>K(Number(a.currentTarget.value)),style:{minHeight:28},children:Q.map(a=>(0,i.jsxs)("option",{value:a,children:[a,"\xD7"]},a))})]}),(0,i.jsx)("span",{"aria-hidden":"true",style:{display:"inline-flex",gap:10,color:"var(--graview-ink-faint)",flexWrap:"wrap"},children:Object.keys(T).filter(a=>l.some(g=>g.maker===a)).map(a=>(0,i.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[(0,i.jsx)("span",{style:{width:8,height:8,borderRadius:2,background:F[a]}}),T[a]]},a))}),(0,i.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",gap:8},children:[E?(0,i.jsx)("button",{type:"button","data-testid":"restore-here",title:"Take back every change since, as one change you can undo",onClick:()=>{M(null);try{e.undo([...E],{author:s,intent:y?`Restore to ${y}`:"Restore"}),t.show(null)}catch(a){M(a instanceof Error?a.message:String(a))}},style:{minHeight:28},children:"Restore to here"}):null,(0,i.jsx)("button",{type:"button","data-testid":"back-to-now",onClick:()=>t.show(null),style:{minHeight:28},children:"Back to now"})]})]}),R?(0,i.jsx)("span",{role:"alert","data-testid":"restore-refused",style:{color:"var(--graview-warn)"},children:R}):null,f?.refused?(0,i.jsx)("span",{role:"alert","data-testid":"archive-refused",style:{color:"var(--graview-warn)"},children:f.refused}):null,c>0&&!b?(0,i.jsx)("span",{"data-testid":"timeline-horizon",style:{color:"var(--graview-ink-faint)"},children:"The changes before the timeline's start were archived."}):null]})}export{ce as Timeline};
@@ -1 +0,0 @@
1
- import{a as v,b as m,c as h}from"./chunk.MB7LKKUD.js";import"./chunk.4QEDYRES.js";import{Ea as p,G as N,Ga as b,R as u}from"./chunk.JE4QQEJE.js";import"./chunk.SDO3U72B.js";import{wc as f}from"./chunk.UG727PEE.js";import{b as c}from"./chunk.AJZBJBMO.js";var l=c(N(),1);var o=c(u(),1);function z({notices:r,anchor:n,board:a}){return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{notices:r.filter(i=>i.kind==="banner"),at:"top",anchor:n,board:a}),(0,o.jsx)(w,{notices:r.filter(i=>i.kind==="toast"),at:"foot",anchor:n,board:a})]})}var y={info:"var(--graview-accent)",good:"var(--graview-good)",warn:"var(--graview-warn)",bad:"var(--graview-bad)"};function w({notices:r,at:n,anchor:a,board:i}){let s=(0,l.useRef)(null),t=r.length>0;return(0,l.useLayoutEffect)(()=>{let e=s.current;if(!t||!e)return;if(typeof e.showPopover=="function"&&!p(e))try{e.showPopover()}catch{}let d=()=>(n==="top"?h:m)(e,a());d(),n==="foot"&&i.hold?.(()=>e.matches(":hover, :focus-within"));let S=b(e);addEventListener("resize",d),addEventListener("scroll",d,!0),n==="foot"&&addEventListener(v,d);let g=typeof ResizeObserver=="function"?new ResizeObserver(d):null;return g?.observe(e),()=>{if(S(),g?.disconnect(),removeEventListener("resize",d),removeEventListener("scroll",d,!0),removeEventListener(v,d),e.isConnected&&p(e))try{e.hidePopover()}catch{}}},[t,n,a,i]),t?(0,o.jsx)("div",{ref:s,popover:"manual",role:"region","aria-label":n==="top"?"Notices":"Messages","data-testid":n==="top"?"notices-banners":"notices-toasts","data-graview-offstage":"",style:{position:"fixed",inset:"auto",margin:0,padding:0,border:"none",background:"none",overflow:"visible",zIndex:f("toast"),width:"max-content",height:"auto",maxWidth:"min(560px, calc(100vw - 32px))",display:"grid",gap:8,color:"var(--graview-ink)"},children:r.map(e=>(0,o.jsx)(T,{notice:e,board:i},e.id))}):null}function T({notice:r,board:n}){let a=r.tone??"info",i=[...r.action?[r.action]:[],...r.actions??[]],s=()=>n.dismiss(r.id);return(0,o.jsxs)("div",{"data-testid":"notice","data-kind":r.kind,"data-tone":a,style:{boxSizing:"border-box",display:"flex",flexWrap:"wrap",alignItems:"center",gap:"8px 12px",padding:r.kind==="banner"?"8px 10px 8px 14px":"10px 12px 10px 14px",borderRadius:"var(--graview-radius, 12px)",borderTop:"1px solid var(--graview-edge)",borderRight:"1px solid var(--graview-edge)",borderBottom:"1px solid var(--graview-edge)",borderLeft:`3px solid ${y[a]}`,background:"var(--graview-float)",boxShadow:"var(--graview-lift-high)",fontSize:"0.875rem",lineHeight:1.45},children:[(0,o.jsx)("span",{"aria-hidden":"true",style:{width:7,height:7,borderRadius:999,flex:"0 0 auto",background:y[a]}}),(0,o.jsx)("span",{style:{flex:"1 1 16rem",minWidth:0},children:r.sentence}),i.length>0?(0,o.jsx)("span",{style:{display:"flex",flexWrap:"wrap",gap:6},children:i.map((t,e)=>t.href!==void 0?(0,o.jsx)("a",{href:t.href,...t.target?{target:t.target,rel:"noopener"}:{},"data-testid":"notice-action",onClick:()=>{t.onSelect?.(),s()},style:{...x,...e===0?k:{}},children:t.label},t.label):(0,o.jsx)("button",{type:"button","data-testid":"notice-action",onClick:()=>{s(),t.onSelect?.()},style:{...x,...e===0?k:{}},children:t.label},t.label))}):null,(0,o.jsx)("button",{type:"button","data-testid":"notice-dismiss","aria-label":`Dismiss: ${r.sentence}`,title:"Dismiss",onClick:s,style:E,children:"\xD7"})]})}var x={display:"inline-flex",alignItems:"center",minHeight:28,padding:"2px 12px",borderRadius:9,border:"1px solid var(--graview-edge)",background:"var(--graview-panel)",color:"var(--graview-ink)",font:"inherit",fontWeight:500,textDecoration:"none",cursor:"pointer"},k={background:"var(--graview-accent)",borderColor:"var(--graview-accent)",color:"var(--graview-accent-ink)"},E={minWidth:28,minHeight:28,padding:0,border:"none",background:"none",boxShadow:"none",color:"var(--graview-ink-muted)",fontSize:"1rem",cursor:"pointer"};export{z as NoticeStacks};