@graphrefly/graphrefly 0.45.0 → 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (714) hide show
  1. package/README.md +1 -2
  2. package/dist/_internal-B23BagFd.d.cts +33 -0
  3. package/dist/_internal-B23BagFd.d.ts +33 -0
  4. package/dist/adaptive-rate-limiter-Dch_xYIi.d.cts +111 -0
  5. package/dist/adaptive-rate-limiter-Dch_xYIi.d.ts +111 -0
  6. package/dist/agents-C0Ji9ldU.d.cts +629 -0
  7. package/dist/agents-C9zexT7I.d.ts +629 -0
  8. package/dist/audit-BAXb3VOg.d.ts +246 -0
  9. package/dist/audit-C_bPfkqS.d.cts +246 -0
  10. package/dist/backoff-7KIK3WQW.js +24 -0
  11. package/dist/backoff-7KIK3WQW.js.map +1 -0
  12. package/dist/backoff-Bnb9OoPh.d.cts +6 -0
  13. package/dist/backoff-Bnb9OoPh.d.ts +6 -0
  14. package/dist/base/composition/index.cjs +811 -0
  15. package/dist/base/composition/index.cjs.map +1 -0
  16. package/dist/base/composition/index.d.cts +469 -0
  17. package/dist/base/composition/index.d.ts +469 -0
  18. package/dist/base/composition/index.js +40 -0
  19. package/dist/base/composition/index.js.map +1 -0
  20. package/dist/base/index.cjs +6336 -0
  21. package/dist/base/index.cjs.map +1 -0
  22. package/dist/base/index.d.cts +22 -0
  23. package/dist/base/index.d.ts +22 -0
  24. package/dist/base/index.js +259 -0
  25. package/dist/base/index.js.map +1 -0
  26. package/dist/base/io/index.cjs +3270 -0
  27. package/dist/base/io/index.cjs.map +1 -0
  28. package/dist/base/io/index.d.cts +2245 -0
  29. package/dist/base/io/index.d.ts +2245 -0
  30. package/dist/base/io/index.js +117 -0
  31. package/dist/base/io/index.js.map +1 -0
  32. package/dist/base/meta/index.cjs +43 -0
  33. package/dist/base/meta/index.cjs.map +1 -0
  34. package/dist/base/meta/index.d.cts +45 -0
  35. package/dist/base/meta/index.d.ts +45 -0
  36. package/dist/base/meta/index.js +13 -0
  37. package/dist/base/meta/index.js.map +1 -0
  38. package/dist/base/mutation/index.cjs +200 -0
  39. package/dist/base/mutation/index.cjs.map +1 -0
  40. package/dist/base/mutation/index.d.cts +177 -0
  41. package/dist/base/mutation/index.d.ts +177 -0
  42. package/dist/base/mutation/index.js +22 -0
  43. package/dist/base/mutation/index.js.map +1 -0
  44. package/dist/base/render/index.cjs +1120 -0
  45. package/dist/base/render/index.cjs.map +1 -0
  46. package/dist/base/render/index.d.cts +227 -0
  47. package/dist/base/render/index.d.ts +227 -0
  48. package/dist/base/render/index.js +24 -0
  49. package/dist/base/render/index.js.map +1 -0
  50. package/dist/base/sources/browser/index.cjs +172 -0
  51. package/dist/base/sources/browser/index.cjs.map +1 -0
  52. package/dist/base/sources/browser/index.d.cts +84 -0
  53. package/dist/base/sources/browser/index.d.ts +84 -0
  54. package/dist/base/sources/browser/index.js +151 -0
  55. package/dist/base/sources/browser/index.js.map +1 -0
  56. package/dist/base/sources/event/index.cjs +98 -0
  57. package/dist/base/sources/event/index.cjs.map +1 -0
  58. package/dist/base/sources/event/index.d.cts +91 -0
  59. package/dist/base/sources/event/index.d.ts +91 -0
  60. package/dist/base/sources/event/index.js +13 -0
  61. package/dist/base/sources/event/index.js.map +1 -0
  62. package/dist/base/sources/index.cjs +755 -0
  63. package/dist/base/sources/index.cjs.map +1 -0
  64. package/dist/base/sources/index.d.cts +357 -0
  65. package/dist/base/sources/index.d.ts +357 -0
  66. package/dist/base/sources/index.js +42 -0
  67. package/dist/base/sources/index.js.map +1 -0
  68. package/dist/base/sources/node/index.cjs +320 -0
  69. package/dist/base/sources/node/index.cjs.map +1 -0
  70. package/dist/base/sources/node/index.d.cts +185 -0
  71. package/dist/base/sources/node/index.d.ts +185 -0
  72. package/dist/base/sources/node/index.js +306 -0
  73. package/dist/base/sources/node/index.js.map +1 -0
  74. package/dist/base/utils/index.cjs +37 -0
  75. package/dist/base/utils/index.cjs.map +1 -0
  76. package/dist/base/utils/index.d.cts +37 -0
  77. package/dist/base/utils/index.d.ts +37 -0
  78. package/dist/base/utils/index.js +11 -0
  79. package/dist/base/utils/index.js.map +1 -0
  80. package/dist/base/worker/index.cjs +548 -0
  81. package/dist/base/worker/index.cjs.map +1 -0
  82. package/dist/base/worker/index.d.cts +207 -0
  83. package/dist/base/worker/index.d.ts +207 -0
  84. package/dist/base/worker/index.js +20 -0
  85. package/dist/base/worker/index.js.map +1 -0
  86. package/dist/breaker-C9skL3d8.d.ts +175 -0
  87. package/dist/breaker-ugSdq54q.d.cts +175 -0
  88. package/dist/cascading-CSSbKGrJ.d.ts +199 -0
  89. package/dist/cascading-baGkiihI.d.cts +199 -0
  90. package/dist/chunk-255UCBG4.js +58 -0
  91. package/dist/chunk-255UCBG4.js.map +1 -0
  92. package/dist/chunk-2LO3EL4W.js +1 -0
  93. package/dist/chunk-2LO3EL4W.js.map +1 -0
  94. package/dist/chunk-2OB3CEJS.js +1065 -0
  95. package/dist/chunk-2OB3CEJS.js.map +1 -0
  96. package/dist/chunk-36NMM65U.js +144 -0
  97. package/dist/chunk-36NMM65U.js.map +1 -0
  98. package/dist/chunk-3CEXCBN6.js +1 -0
  99. package/dist/chunk-3CEXCBN6.js.map +1 -0
  100. package/dist/chunk-3MUSLI6E.js +105 -0
  101. package/dist/chunk-3MUSLI6E.js.map +1 -0
  102. package/dist/chunk-3PSLNJDU.js +884 -0
  103. package/dist/chunk-3PSLNJDU.js.map +1 -0
  104. package/dist/chunk-3QZY5BI7.js +92 -0
  105. package/dist/chunk-3QZY5BI7.js.map +1 -0
  106. package/dist/chunk-42FQ27MQ.js +594 -0
  107. package/dist/chunk-42FQ27MQ.js.map +1 -0
  108. package/dist/chunk-4GYMCUDZ.js +1085 -0
  109. package/dist/chunk-4GYMCUDZ.js.map +1 -0
  110. package/dist/chunk-4S53H2KR.js +382 -0
  111. package/dist/chunk-4S53H2KR.js.map +1 -0
  112. package/dist/chunk-4XCHZRUJ.js +128 -0
  113. package/dist/chunk-4XCHZRUJ.js.map +1 -0
  114. package/dist/chunk-5THCXDWY.js +725 -0
  115. package/dist/chunk-5THCXDWY.js.map +1 -0
  116. package/dist/chunk-6XZYT4SW.js +256 -0
  117. package/dist/chunk-6XZYT4SW.js.map +1 -0
  118. package/dist/chunk-7EGRP2VX.js +76 -0
  119. package/dist/chunk-7EGRP2VX.js.map +1 -0
  120. package/dist/chunk-A7KV5UK4.js +150 -0
  121. package/dist/chunk-A7KV5UK4.js.map +1 -0
  122. package/dist/chunk-APY2SS5X.js +156 -0
  123. package/dist/chunk-APY2SS5X.js.map +1 -0
  124. package/dist/chunk-AZDQPQ3V.js +66 -0
  125. package/dist/chunk-AZDQPQ3V.js.map +1 -0
  126. package/dist/chunk-BU3SEFA5.js +90 -0
  127. package/dist/chunk-BU3SEFA5.js.map +1 -0
  128. package/dist/chunk-BXGZFGZ4.js +189 -0
  129. package/dist/chunk-BXGZFGZ4.js.map +1 -0
  130. package/dist/chunk-CGHORL6G.js +579 -0
  131. package/dist/chunk-CGHORL6G.js.map +1 -0
  132. package/dist/chunk-CXANAIZU.js +530 -0
  133. package/dist/chunk-CXANAIZU.js.map +1 -0
  134. package/dist/chunk-CZQHCKKG.js +1 -0
  135. package/dist/chunk-CZQHCKKG.js.map +1 -0
  136. package/dist/chunk-DKNHAICT.js +133 -0
  137. package/dist/chunk-DKNHAICT.js.map +1 -0
  138. package/dist/chunk-DM4OMPWK.js +584 -0
  139. package/dist/chunk-DM4OMPWK.js.map +1 -0
  140. package/dist/chunk-DMSNO6ZB.js +452 -0
  141. package/dist/chunk-DMSNO6ZB.js.map +1 -0
  142. package/dist/chunk-E5OZPDIW.js +229 -0
  143. package/dist/chunk-E5OZPDIW.js.map +1 -0
  144. package/dist/chunk-EVYY4X5A.js +509 -0
  145. package/dist/chunk-EVYY4X5A.js.map +1 -0
  146. package/dist/chunk-FDFD67UO.js +1 -0
  147. package/dist/chunk-FDFD67UO.js.map +1 -0
  148. package/dist/chunk-FMPF42Q4.js +13 -0
  149. package/dist/chunk-FMPF42Q4.js.map +1 -0
  150. package/dist/chunk-FR6RGA3B.js +1277 -0
  151. package/dist/chunk-FR6RGA3B.js.map +1 -0
  152. package/dist/chunk-FW23JYNQ.js +454 -0
  153. package/dist/chunk-FW23JYNQ.js.map +1 -0
  154. package/dist/chunk-GBCENOLN.js +1575 -0
  155. package/dist/chunk-GBCENOLN.js.map +1 -0
  156. package/dist/chunk-HL7HUJIX.js +1 -0
  157. package/dist/chunk-HL7HUJIX.js.map +1 -0
  158. package/dist/chunk-HULCUY35.js +2508 -0
  159. package/dist/chunk-HULCUY35.js.map +1 -0
  160. package/dist/chunk-IHTWQEDR.js +169 -0
  161. package/dist/chunk-IHTWQEDR.js.map +1 -0
  162. package/dist/chunk-IJRR6YAI.js +128 -0
  163. package/dist/chunk-IJRR6YAI.js.map +1 -0
  164. package/dist/chunk-JGFRAFDL.js +221 -0
  165. package/dist/chunk-JGFRAFDL.js.map +1 -0
  166. package/dist/chunk-KIIXR252.js +211 -0
  167. package/dist/chunk-KIIXR252.js.map +1 -0
  168. package/dist/chunk-KN3H5CNT.js +11 -0
  169. package/dist/chunk-KN3H5CNT.js.map +1 -0
  170. package/dist/chunk-KPG3DGLA.js +1 -0
  171. package/dist/chunk-KPG3DGLA.js.map +1 -0
  172. package/dist/chunk-KRNQ6RGQ.js +1 -0
  173. package/dist/chunk-KRNQ6RGQ.js.map +1 -0
  174. package/dist/chunk-LBAJK24K.js +1071 -0
  175. package/dist/chunk-LBAJK24K.js.map +1 -0
  176. package/dist/chunk-MLTPJMH6.js +417 -0
  177. package/dist/chunk-MLTPJMH6.js.map +1 -0
  178. package/dist/chunk-N3SZ7BMH.js +95 -0
  179. package/dist/chunk-N3SZ7BMH.js.map +1 -0
  180. package/dist/chunk-NDUD3IMO.js +540 -0
  181. package/dist/chunk-NDUD3IMO.js.map +1 -0
  182. package/dist/chunk-NY2PYHNC.js +873 -0
  183. package/dist/chunk-NY2PYHNC.js.map +1 -0
  184. package/dist/chunk-O3MT7DYI.js +225 -0
  185. package/dist/chunk-O3MT7DYI.js.map +1 -0
  186. package/dist/chunk-OCUDSN63.js +2386 -0
  187. package/dist/chunk-OCUDSN63.js.map +1 -0
  188. package/dist/chunk-OIWU3NYV.js +199 -0
  189. package/dist/chunk-OIWU3NYV.js.map +1 -0
  190. package/dist/chunk-OO5BM6CJ.js +1153 -0
  191. package/dist/chunk-OO5BM6CJ.js.map +1 -0
  192. package/dist/chunk-OQUIJT7A.js +1 -0
  193. package/dist/chunk-OQUIJT7A.js.map +1 -0
  194. package/dist/chunk-P5LBT622.js +105 -0
  195. package/dist/chunk-P5LBT622.js.map +1 -0
  196. package/dist/chunk-PKGQG5QQ.js +519 -0
  197. package/dist/chunk-PKGQG5QQ.js.map +1 -0
  198. package/dist/chunk-PKPO3JTZ.js +561 -0
  199. package/dist/chunk-PKPO3JTZ.js.map +1 -0
  200. package/dist/chunk-PL5UDIQ5.js +118 -0
  201. package/dist/chunk-PL5UDIQ5.js.map +1 -0
  202. package/dist/chunk-PZWISPIQ.js +432 -0
  203. package/dist/chunk-PZWISPIQ.js.map +1 -0
  204. package/dist/chunk-Q3EYOCZB.js +510 -0
  205. package/dist/chunk-Q3EYOCZB.js.map +1 -0
  206. package/dist/chunk-QMBYUVRL.js +15 -0
  207. package/dist/chunk-QMBYUVRL.js.map +1 -0
  208. package/dist/chunk-RAGGHLCV.js +200 -0
  209. package/dist/chunk-RAGGHLCV.js.map +1 -0
  210. package/dist/chunk-RGL53X5G.js +574 -0
  211. package/dist/chunk-RGL53X5G.js.map +1 -0
  212. package/dist/chunk-RJOG4IJU.js +1039 -0
  213. package/dist/chunk-RJOG4IJU.js.map +1 -0
  214. package/dist/chunk-SOOKUYVM.js +403 -0
  215. package/dist/chunk-SOOKUYVM.js.map +1 -0
  216. package/dist/chunk-T5BN5KG7.js +1 -0
  217. package/dist/chunk-T5BN5KG7.js.map +1 -0
  218. package/dist/chunk-TP7244Y6.js +207 -0
  219. package/dist/chunk-TP7244Y6.js.map +1 -0
  220. package/dist/chunk-TSBFTJKM.js +57 -0
  221. package/dist/chunk-TSBFTJKM.js.map +1 -0
  222. package/dist/chunk-URQ2CBBF.js +143 -0
  223. package/dist/chunk-URQ2CBBF.js.map +1 -0
  224. package/dist/chunk-W2BOPXTI.js +1 -0
  225. package/dist/chunk-W2BOPXTI.js.map +1 -0
  226. package/dist/chunk-WKSWLSCX.js +207 -0
  227. package/dist/chunk-WKSWLSCX.js.map +1 -0
  228. package/dist/chunk-Y52CS6YA.js +88 -0
  229. package/dist/chunk-Y52CS6YA.js.map +1 -0
  230. package/dist/chunk-YCBUWK77.js +92 -0
  231. package/dist/chunk-YCBUWK77.js.map +1 -0
  232. package/dist/chunk-YJ4U2D2C.js +314 -0
  233. package/dist/chunk-YJ4U2D2C.js.map +1 -0
  234. package/dist/chunk-Z4YXAUDN.js +239 -0
  235. package/dist/chunk-Z4YXAUDN.js.map +1 -0
  236. package/dist/chunk-Z6EGP5D7.js +92 -0
  237. package/dist/chunk-Z6EGP5D7.js.map +1 -0
  238. package/dist/compat/index.cjs +3083 -2
  239. package/dist/compat/index.cjs.map +1 -1
  240. package/dist/compat/index.d.cts +116 -1
  241. package/dist/compat/index.d.ts +116 -1
  242. package/dist/compat/index.js +175 -2
  243. package/dist/compat/index.js.map +1 -1
  244. package/dist/compat/jotai/index.cjs +130 -2
  245. package/dist/compat/jotai/index.cjs.map +1 -1
  246. package/dist/compat/jotai/index.d.cts +2 -1
  247. package/dist/compat/jotai/index.d.ts +2 -1
  248. package/dist/compat/jotai/index.js +7 -2
  249. package/dist/compat/jotai/index.js.map +1 -1
  250. package/dist/compat/nanostores/index.cjs +186 -2
  251. package/dist/compat/nanostores/index.cjs.map +1 -1
  252. package/dist/compat/nanostores/index.d.cts +2 -1
  253. package/dist/compat/nanostores/index.d.ts +2 -1
  254. package/dist/compat/nanostores/index.js +21 -2
  255. package/dist/compat/nanostores/index.js.map +1 -1
  256. package/dist/compat/nestjs/index.cjs +2224 -2
  257. package/dist/compat/nestjs/index.cjs.map +1 -1
  258. package/dist/compat/nestjs/index.d.cts +10 -1
  259. package/dist/compat/nestjs/index.d.ts +10 -1
  260. package/dist/compat/nestjs/index.js +77 -2
  261. package/dist/compat/nestjs/index.js.map +1 -1
  262. package/dist/compat/react/index.cjs +95 -2
  263. package/dist/compat/react/index.cjs.map +1 -1
  264. package/dist/compat/react/index.d.cts +2 -1
  265. package/dist/compat/react/index.d.ts +2 -1
  266. package/dist/compat/react/index.js +11 -2
  267. package/dist/compat/react/index.js.map +1 -1
  268. package/dist/compat/solid/index.cjs +82 -2
  269. package/dist/compat/solid/index.cjs.map +1 -1
  270. package/dist/compat/solid/index.d.cts +2 -1
  271. package/dist/compat/solid/index.d.ts +2 -1
  272. package/dist/compat/solid/index.js +11 -2
  273. package/dist/compat/solid/index.js.map +1 -1
  274. package/dist/compat/svelte/index.cjs +85 -2
  275. package/dist/compat/svelte/index.cjs.map +1 -1
  276. package/dist/compat/svelte/index.d.cts +2 -1
  277. package/dist/compat/svelte/index.d.ts +2 -1
  278. package/dist/compat/svelte/index.js +11 -2
  279. package/dist/compat/svelte/index.js.map +1 -1
  280. package/dist/compat/vue/index.cjs +100 -2
  281. package/dist/compat/vue/index.cjs.map +1 -1
  282. package/dist/compat/vue/index.d.cts +3 -1
  283. package/dist/compat/vue/index.d.ts +3 -1
  284. package/dist/compat/vue/index.js +11 -2
  285. package/dist/compat/vue/index.js.map +1 -1
  286. package/dist/compat/zustand/index.cjs +50 -2
  287. package/dist/compat/zustand/index.cjs.map +1 -1
  288. package/dist/compat/zustand/index.d.cts +2 -1
  289. package/dist/compat/zustand/index.d.ts +2 -1
  290. package/dist/compat/zustand/index.js +7 -2
  291. package/dist/compat/zustand/index.js.map +1 -1
  292. package/dist/distill-De6Rnn15.d.cts +48 -0
  293. package/dist/distill-De6Rnn15.d.ts +48 -0
  294. package/dist/external-register-CWyroXb_.d.cts +138 -0
  295. package/dist/external-register-CWyroXb_.d.ts +138 -0
  296. package/dist/fallback-Bx46zqky.d.cts +243 -0
  297. package/dist/fallback-pIWW8A2d.d.ts +243 -0
  298. package/dist/guarded-execution-BcdtxeBk.d.ts +207 -0
  299. package/dist/guarded-execution-C-3hnP6A.d.cts +207 -0
  300. package/dist/index-5SU_O78r.d.cts +754 -0
  301. package/dist/index-B6pxYJzO.d.cts +36 -0
  302. package/dist/index-B6pxYJzO.d.ts +36 -0
  303. package/dist/index-BFsng6v1.d.cts +44 -0
  304. package/dist/index-BFsng6v1.d.ts +44 -0
  305. package/dist/index-Bg-LwEt-.d.cts +45 -0
  306. package/dist/index-Bg-LwEt-.d.ts +45 -0
  307. package/dist/index-Brp888t0.d.cts +127 -0
  308. package/dist/index-Brp888t0.d.ts +127 -0
  309. package/dist/index-CDfk6jHN.d.cts +37 -0
  310. package/dist/index-CDfk6jHN.d.ts +37 -0
  311. package/dist/index-CEXCtYYJ.d.ts +754 -0
  312. package/dist/index-DLAxYaN5.d.cts +169 -0
  313. package/dist/index-DLAxYaN5.d.ts +169 -0
  314. package/dist/index-DeWbQzMe.d.cts +34 -0
  315. package/dist/index-DeWbQzMe.d.ts +34 -0
  316. package/dist/index-dX9IzPqj.d.cts +86 -0
  317. package/dist/index-dX9IzPqj.d.ts +86 -0
  318. package/dist/index.cjs +25950 -0
  319. package/dist/index.cjs.map +1 -1
  320. package/dist/index.d.cts +56 -42
  321. package/dist/index.d.ts +56 -42
  322. package/dist/index.js +849 -0
  323. package/dist/index.js.map +1 -1
  324. package/dist/layout-types-B5aiHYgk.d.cts +72 -0
  325. package/dist/layout-types-B5aiHYgk.d.ts +72 -0
  326. package/dist/memory-composers-BryDrRBX.d.cts +529 -0
  327. package/dist/memory-composers-CVQqPYEV.d.ts +529 -0
  328. package/dist/observable-BXQoW1P-.d.cts +36 -0
  329. package/dist/observable-BXQoW1P-.d.ts +36 -0
  330. package/dist/pipeline-graph-Ce47CB6Y.d.cts +145 -0
  331. package/dist/pipeline-graph-DXCwY9vG.d.ts +145 -0
  332. package/dist/presets/ai/index.cjs +4377 -0
  333. package/dist/presets/ai/index.cjs.map +1 -0
  334. package/dist/presets/ai/index.d.cts +98 -0
  335. package/dist/presets/ai/index.d.ts +98 -0
  336. package/dist/presets/ai/index.js +54 -0
  337. package/dist/presets/ai/index.js.map +1 -0
  338. package/dist/presets/harness/index.cjs +5929 -0
  339. package/dist/presets/harness/index.cjs.map +1 -0
  340. package/dist/presets/harness/index.d.cts +566 -0
  341. package/dist/presets/harness/index.d.ts +566 -0
  342. package/dist/presets/harness/index.js +71 -0
  343. package/dist/presets/harness/index.js.map +1 -0
  344. package/dist/presets/index.cjs +9782 -0
  345. package/dist/presets/index.cjs.map +1 -0
  346. package/dist/presets/index.d.cts +28 -0
  347. package/dist/presets/index.d.ts +28 -0
  348. package/dist/presets/index.js +129 -0
  349. package/dist/presets/index.js.map +1 -0
  350. package/dist/presets/inspect/index.cjs +1087 -0
  351. package/dist/presets/inspect/index.cjs.map +1 -0
  352. package/dist/presets/inspect/index.d.cts +172 -0
  353. package/dist/presets/inspect/index.d.ts +172 -0
  354. package/dist/presets/inspect/index.js +21 -0
  355. package/dist/presets/inspect/index.js.map +1 -0
  356. package/dist/presets/resilience/index.cjs +1593 -0
  357. package/dist/presets/resilience/index.cjs.map +1 -0
  358. package/dist/presets/resilience/index.d.cts +205 -0
  359. package/dist/presets/resilience/index.d.ts +205 -0
  360. package/dist/presets/resilience/index.js +18 -0
  361. package/dist/presets/resilience/index.js.map +1 -0
  362. package/dist/rate-limiter-CEALq4N1.d.ts +559 -0
  363. package/dist/rate-limiter-DpVbSYdH.d.cts +559 -0
  364. package/dist/reactive-layout-fswlBUvX.d.cts +195 -0
  365. package/dist/reactive-layout-fswlBUvX.d.ts +195 -0
  366. package/dist/retry-BDbRZ_gx.d.ts +125 -0
  367. package/dist/retry-DWuhjvsA.d.cts +125 -0
  368. package/dist/solutions/index.cjs +8200 -0
  369. package/dist/solutions/index.cjs.map +1 -0
  370. package/dist/solutions/index.d.cts +23 -0
  371. package/dist/solutions/index.d.ts +23 -0
  372. package/dist/solutions/index.js +55 -0
  373. package/dist/solutions/index.js.map +1 -0
  374. package/dist/spawnable-5mDY501F.d.cts +746 -0
  375. package/dist/spawnable-D3lR0oQu.d.ts +746 -0
  376. package/dist/status-U-rUI79b.d.cts +84 -0
  377. package/dist/status-U-rUI79b.d.ts +84 -0
  378. package/dist/timeout-U5O4ESK3.js +12 -0
  379. package/dist/timeout-U5O4ESK3.js.map +1 -0
  380. package/dist/types-BB5Lw-pB.d.cts +442 -0
  381. package/dist/types-BB5Lw-pB.d.ts +442 -0
  382. package/dist/types-CJWIMJiZ.d.ts +548 -0
  383. package/dist/types-vCq7ShIm.d.cts +548 -0
  384. package/dist/utils/ai/browser.cjs +2169 -0
  385. package/dist/utils/ai/browser.cjs.map +1 -0
  386. package/dist/utils/ai/browser.d.cts +129 -0
  387. package/dist/utils/ai/browser.d.ts +129 -0
  388. package/dist/utils/ai/browser.js +255 -0
  389. package/dist/utils/ai/browser.js.map +1 -0
  390. package/dist/utils/ai/index.cjs +8468 -0
  391. package/dist/utils/ai/index.cjs.map +1 -0
  392. package/dist/utils/ai/index.d.cts +1777 -0
  393. package/dist/utils/ai/index.d.ts +1777 -0
  394. package/dist/utils/ai/index.js +173 -0
  395. package/dist/utils/ai/index.js.map +1 -0
  396. package/dist/utils/ai/node.cjs +648 -0
  397. package/dist/utils/ai/node.cjs.map +1 -0
  398. package/dist/utils/ai/node.d.cts +57 -0
  399. package/dist/utils/ai/node.d.ts +57 -0
  400. package/dist/utils/ai/node.js +84 -0
  401. package/dist/utils/ai/node.js.map +1 -0
  402. package/dist/utils/cqrs/index.cjs +1036 -0
  403. package/dist/utils/cqrs/index.cjs.map +1 -0
  404. package/dist/utils/cqrs/index.d.cts +438 -0
  405. package/dist/utils/cqrs/index.d.ts +438 -0
  406. package/dist/utils/cqrs/index.js +18 -0
  407. package/dist/utils/cqrs/index.js.map +1 -0
  408. package/dist/utils/demo-shell/index.cjs +865 -0
  409. package/dist/utils/demo-shell/index.cjs.map +1 -0
  410. package/dist/utils/demo-shell/index.d.cts +90 -0
  411. package/dist/utils/demo-shell/index.d.ts +90 -0
  412. package/dist/utils/demo-shell/index.js +13 -0
  413. package/dist/utils/demo-shell/index.js.map +1 -0
  414. package/dist/utils/domain-templates/index.cjs +732 -0
  415. package/dist/utils/domain-templates/index.cjs.map +1 -0
  416. package/dist/utils/domain-templates/index.d.cts +214 -0
  417. package/dist/utils/domain-templates/index.d.ts +214 -0
  418. package/dist/utils/domain-templates/index.js +17 -0
  419. package/dist/utils/domain-templates/index.js.map +1 -0
  420. package/dist/utils/graphspec/index.cjs +1174 -0
  421. package/dist/utils/graphspec/index.cjs.map +1 -0
  422. package/dist/utils/graphspec/index.d.cts +449 -0
  423. package/dist/utils/graphspec/index.d.ts +449 -0
  424. package/dist/utils/graphspec/index.js +35 -0
  425. package/dist/utils/graphspec/index.js.map +1 -0
  426. package/dist/utils/harness/index.cjs +656 -0
  427. package/dist/utils/harness/index.cjs.map +1 -0
  428. package/dist/utils/harness/index.d.cts +542 -0
  429. package/dist/utils/harness/index.d.ts +542 -0
  430. package/dist/utils/harness/index.js +56 -0
  431. package/dist/utils/harness/index.js.map +1 -0
  432. package/dist/utils/index.cjs +17609 -0
  433. package/dist/utils/index.cjs.map +1 -0
  434. package/dist/utils/index.d.cts +96 -0
  435. package/dist/utils/index.d.ts +96 -0
  436. package/dist/utils/index.js +514 -0
  437. package/dist/utils/index.js.map +1 -0
  438. package/dist/utils/inspect/index.cjs +807 -0
  439. package/dist/utils/inspect/index.cjs.map +1 -0
  440. package/dist/utils/inspect/index.d.cts +123 -0
  441. package/dist/utils/inspect/index.d.ts +123 -0
  442. package/dist/utils/inspect/index.js +30 -0
  443. package/dist/utils/inspect/index.js.map +1 -0
  444. package/dist/utils/job-queue/index.cjs +717 -0
  445. package/dist/utils/job-queue/index.cjs.map +1 -0
  446. package/dist/utils/job-queue/index.d.cts +200 -0
  447. package/dist/utils/job-queue/index.d.ts +200 -0
  448. package/dist/utils/job-queue/index.js +18 -0
  449. package/dist/utils/job-queue/index.js.map +1 -0
  450. package/dist/utils/memory/index.cjs +1451 -0
  451. package/dist/utils/memory/index.cjs.map +1 -0
  452. package/dist/utils/memory/index.d.cts +582 -0
  453. package/dist/utils/memory/index.d.ts +582 -0
  454. package/dist/utils/memory/index.js +19 -0
  455. package/dist/utils/memory/index.js.map +1 -0
  456. package/dist/utils/messaging/index.cjs +666 -0
  457. package/dist/utils/messaging/index.cjs.map +1 -0
  458. package/dist/utils/messaging/index.d.cts +562 -0
  459. package/dist/utils/messaging/index.d.ts +562 -0
  460. package/dist/utils/messaging/index.js +50 -0
  461. package/dist/utils/messaging/index.js.map +1 -0
  462. package/dist/utils/orchestration/index.cjs +876 -0
  463. package/dist/utils/orchestration/index.cjs.map +1 -0
  464. package/dist/utils/orchestration/index.d.cts +233 -0
  465. package/dist/utils/orchestration/index.d.ts +233 -0
  466. package/dist/utils/orchestration/index.js +19 -0
  467. package/dist/utils/orchestration/index.js.map +1 -0
  468. package/dist/utils/process/index.cjs +743 -0
  469. package/dist/utils/process/index.cjs.map +1 -0
  470. package/dist/utils/process/index.d.cts +411 -0
  471. package/dist/utils/process/index.d.ts +411 -0
  472. package/dist/utils/process/index.js +14 -0
  473. package/dist/utils/process/index.js.map +1 -0
  474. package/dist/utils/reactive-layout/index.cjs +1607 -0
  475. package/dist/utils/reactive-layout/index.cjs.map +1 -0
  476. package/dist/utils/reactive-layout/index.d.cts +492 -0
  477. package/dist/utils/reactive-layout/index.d.ts +492 -0
  478. package/dist/utils/reactive-layout/index.js +52 -0
  479. package/dist/utils/reactive-layout/index.js.map +1 -0
  480. package/dist/utils/reduction/index.cjs +203 -0
  481. package/dist/utils/reduction/index.cjs.map +1 -0
  482. package/dist/utils/reduction/index.d.cts +102 -0
  483. package/dist/utils/reduction/index.d.ts +102 -0
  484. package/dist/utils/reduction/index.js +14 -0
  485. package/dist/utils/reduction/index.js.map +1 -0
  486. package/dist/utils/resilience/index.cjs +1617 -0
  487. package/dist/utils/resilience/index.cjs.map +1 -0
  488. package/dist/utils/resilience/index.d.cts +9 -0
  489. package/dist/utils/resilience/index.d.ts +9 -0
  490. package/dist/utils/resilience/index.js +44 -0
  491. package/dist/utils/resilience/index.js.map +1 -0
  492. package/dist/utils/surface/index.cjs +1070 -0
  493. package/dist/utils/surface/index.cjs.map +1 -0
  494. package/dist/utils/surface/index.d.cts +240 -0
  495. package/dist/utils/surface/index.d.ts +240 -0
  496. package/dist/utils/surface/index.js +30 -0
  497. package/dist/utils/surface/index.js.map +1 -0
  498. package/dist/utils/topology-view/index.cjs +620 -0
  499. package/dist/utils/topology-view/index.cjs.map +1 -0
  500. package/dist/utils/topology-view/index.d.cts +68 -0
  501. package/dist/utils/topology-view/index.d.ts +68 -0
  502. package/dist/utils/topology-view/index.js +11 -0
  503. package/dist/utils/topology-view/index.js.map +1 -0
  504. package/package.json +293 -237
  505. package/dist/core/index.cjs +0 -21
  506. package/dist/core/index.cjs.map +0 -1
  507. package/dist/core/index.d.cts +0 -1
  508. package/dist/core/index.d.ts +0 -1
  509. package/dist/core/index.js +0 -3
  510. package/dist/core/index.js.map +0 -1
  511. package/dist/extra/browser.cjs +0 -21
  512. package/dist/extra/browser.cjs.map +0 -1
  513. package/dist/extra/browser.d.cts +0 -1
  514. package/dist/extra/browser.d.ts +0 -1
  515. package/dist/extra/browser.js +0 -3
  516. package/dist/extra/browser.js.map +0 -1
  517. package/dist/extra/index.cjs +0 -21
  518. package/dist/extra/index.cjs.map +0 -1
  519. package/dist/extra/index.d.cts +0 -1
  520. package/dist/extra/index.d.ts +0 -1
  521. package/dist/extra/index.js +0 -3
  522. package/dist/extra/index.js.map +0 -1
  523. package/dist/extra/node.cjs +0 -21
  524. package/dist/extra/node.cjs.map +0 -1
  525. package/dist/extra/node.d.cts +0 -1
  526. package/dist/extra/node.d.ts +0 -1
  527. package/dist/extra/node.js +0 -3
  528. package/dist/extra/node.js.map +0 -1
  529. package/dist/extra/operators.cjs +0 -21
  530. package/dist/extra/operators.cjs.map +0 -1
  531. package/dist/extra/operators.d.cts +0 -1
  532. package/dist/extra/operators.d.ts +0 -1
  533. package/dist/extra/operators.js +0 -3
  534. package/dist/extra/operators.js.map +0 -1
  535. package/dist/extra/reactive.cjs +0 -21
  536. package/dist/extra/reactive.cjs.map +0 -1
  537. package/dist/extra/reactive.d.cts +0 -1
  538. package/dist/extra/reactive.d.ts +0 -1
  539. package/dist/extra/reactive.js +0 -3
  540. package/dist/extra/reactive.js.map +0 -1
  541. package/dist/extra/render/index.cjs +0 -21
  542. package/dist/extra/render/index.cjs.map +0 -1
  543. package/dist/extra/render/index.d.cts +0 -1
  544. package/dist/extra/render/index.d.ts +0 -1
  545. package/dist/extra/render/index.js +0 -3
  546. package/dist/extra/render/index.js.map +0 -1
  547. package/dist/extra/sources.cjs +0 -21
  548. package/dist/extra/sources.cjs.map +0 -1
  549. package/dist/extra/sources.d.cts +0 -1
  550. package/dist/extra/sources.d.ts +0 -1
  551. package/dist/extra/sources.js +0 -3
  552. package/dist/extra/sources.js.map +0 -1
  553. package/dist/extra/storage-browser.cjs +0 -21
  554. package/dist/extra/storage-browser.cjs.map +0 -1
  555. package/dist/extra/storage-browser.d.cts +0 -1
  556. package/dist/extra/storage-browser.d.ts +0 -1
  557. package/dist/extra/storage-browser.js +0 -3
  558. package/dist/extra/storage-browser.js.map +0 -1
  559. package/dist/extra/storage-core.cjs +0 -21
  560. package/dist/extra/storage-core.cjs.map +0 -1
  561. package/dist/extra/storage-core.d.cts +0 -1
  562. package/dist/extra/storage-core.d.ts +0 -1
  563. package/dist/extra/storage-core.js +0 -3
  564. package/dist/extra/storage-core.js.map +0 -1
  565. package/dist/extra/storage-node.cjs +0 -21
  566. package/dist/extra/storage-node.cjs.map +0 -1
  567. package/dist/extra/storage-node.d.cts +0 -1
  568. package/dist/extra/storage-node.d.ts +0 -1
  569. package/dist/extra/storage-node.js +0 -3
  570. package/dist/extra/storage-node.js.map +0 -1
  571. package/dist/extra/storage-tiers-browser.cjs +0 -21
  572. package/dist/extra/storage-tiers-browser.cjs.map +0 -1
  573. package/dist/extra/storage-tiers-browser.d.cts +0 -1
  574. package/dist/extra/storage-tiers-browser.d.ts +0 -1
  575. package/dist/extra/storage-tiers-browser.js +0 -3
  576. package/dist/extra/storage-tiers-browser.js.map +0 -1
  577. package/dist/extra/storage-tiers-node.cjs +0 -21
  578. package/dist/extra/storage-tiers-node.cjs.map +0 -1
  579. package/dist/extra/storage-tiers-node.d.cts +0 -1
  580. package/dist/extra/storage-tiers-node.d.ts +0 -1
  581. package/dist/extra/storage-tiers-node.js +0 -3
  582. package/dist/extra/storage-tiers-node.js.map +0 -1
  583. package/dist/extra/storage-tiers.cjs +0 -21
  584. package/dist/extra/storage-tiers.cjs.map +0 -1
  585. package/dist/extra/storage-tiers.d.cts +0 -1
  586. package/dist/extra/storage-tiers.d.ts +0 -1
  587. package/dist/extra/storage-tiers.js +0 -3
  588. package/dist/extra/storage-tiers.js.map +0 -1
  589. package/dist/extra/storage-wal.cjs +0 -21
  590. package/dist/extra/storage-wal.cjs.map +0 -1
  591. package/dist/extra/storage-wal.d.cts +0 -1
  592. package/dist/extra/storage-wal.d.ts +0 -1
  593. package/dist/extra/storage-wal.js +0 -3
  594. package/dist/extra/storage-wal.js.map +0 -1
  595. package/dist/graph/index.cjs +0 -21
  596. package/dist/graph/index.cjs.map +0 -1
  597. package/dist/graph/index.d.cts +0 -1
  598. package/dist/graph/index.d.ts +0 -1
  599. package/dist/graph/index.js +0 -3
  600. package/dist/graph/index.js.map +0 -1
  601. package/dist/patterns/ai/browser.cjs +0 -21
  602. package/dist/patterns/ai/browser.cjs.map +0 -1
  603. package/dist/patterns/ai/browser.d.cts +0 -1
  604. package/dist/patterns/ai/browser.d.ts +0 -1
  605. package/dist/patterns/ai/browser.js +0 -3
  606. package/dist/patterns/ai/browser.js.map +0 -1
  607. package/dist/patterns/ai/index.cjs +0 -21
  608. package/dist/patterns/ai/index.cjs.map +0 -1
  609. package/dist/patterns/ai/index.d.cts +0 -1
  610. package/dist/patterns/ai/index.d.ts +0 -1
  611. package/dist/patterns/ai/index.js +0 -3
  612. package/dist/patterns/ai/index.js.map +0 -1
  613. package/dist/patterns/ai/node.cjs +0 -21
  614. package/dist/patterns/ai/node.cjs.map +0 -1
  615. package/dist/patterns/ai/node.d.cts +0 -1
  616. package/dist/patterns/ai/node.d.ts +0 -1
  617. package/dist/patterns/ai/node.js +0 -3
  618. package/dist/patterns/ai/node.js.map +0 -1
  619. package/dist/patterns/cqrs/index.cjs +0 -21
  620. package/dist/patterns/cqrs/index.cjs.map +0 -1
  621. package/dist/patterns/cqrs/index.d.cts +0 -1
  622. package/dist/patterns/cqrs/index.d.ts +0 -1
  623. package/dist/patterns/cqrs/index.js +0 -3
  624. package/dist/patterns/cqrs/index.js.map +0 -1
  625. package/dist/patterns/demo-shell/index.cjs +0 -21
  626. package/dist/patterns/demo-shell/index.cjs.map +0 -1
  627. package/dist/patterns/demo-shell/index.d.cts +0 -1
  628. package/dist/patterns/demo-shell/index.d.ts +0 -1
  629. package/dist/patterns/demo-shell/index.js +0 -3
  630. package/dist/patterns/demo-shell/index.js.map +0 -1
  631. package/dist/patterns/domain-templates/index.cjs +0 -21
  632. package/dist/patterns/domain-templates/index.cjs.map +0 -1
  633. package/dist/patterns/domain-templates/index.d.cts +0 -1
  634. package/dist/patterns/domain-templates/index.d.ts +0 -1
  635. package/dist/patterns/domain-templates/index.js +0 -3
  636. package/dist/patterns/domain-templates/index.js.map +0 -1
  637. package/dist/patterns/graphspec/index.cjs +0 -21
  638. package/dist/patterns/graphspec/index.cjs.map +0 -1
  639. package/dist/patterns/graphspec/index.d.cts +0 -1
  640. package/dist/patterns/graphspec/index.d.ts +0 -1
  641. package/dist/patterns/graphspec/index.js +0 -3
  642. package/dist/patterns/graphspec/index.js.map +0 -1
  643. package/dist/patterns/harness/index.cjs +0 -21
  644. package/dist/patterns/harness/index.cjs.map +0 -1
  645. package/dist/patterns/harness/index.d.cts +0 -1
  646. package/dist/patterns/harness/index.d.ts +0 -1
  647. package/dist/patterns/harness/index.js +0 -3
  648. package/dist/patterns/harness/index.js.map +0 -1
  649. package/dist/patterns/inspect/index.cjs +0 -21
  650. package/dist/patterns/inspect/index.cjs.map +0 -1
  651. package/dist/patterns/inspect/index.d.cts +0 -1
  652. package/dist/patterns/inspect/index.d.ts +0 -1
  653. package/dist/patterns/inspect/index.js +0 -3
  654. package/dist/patterns/inspect/index.js.map +0 -1
  655. package/dist/patterns/job-queue/index.cjs +0 -21
  656. package/dist/patterns/job-queue/index.cjs.map +0 -1
  657. package/dist/patterns/job-queue/index.d.cts +0 -1
  658. package/dist/patterns/job-queue/index.d.ts +0 -1
  659. package/dist/patterns/job-queue/index.js +0 -3
  660. package/dist/patterns/job-queue/index.js.map +0 -1
  661. package/dist/patterns/memory/index.cjs +0 -21
  662. package/dist/patterns/memory/index.cjs.map +0 -1
  663. package/dist/patterns/memory/index.d.cts +0 -1
  664. package/dist/patterns/memory/index.d.ts +0 -1
  665. package/dist/patterns/memory/index.js +0 -3
  666. package/dist/patterns/memory/index.js.map +0 -1
  667. package/dist/patterns/messaging/index.cjs +0 -21
  668. package/dist/patterns/messaging/index.cjs.map +0 -1
  669. package/dist/patterns/messaging/index.d.cts +0 -1
  670. package/dist/patterns/messaging/index.d.ts +0 -1
  671. package/dist/patterns/messaging/index.js +0 -3
  672. package/dist/patterns/messaging/index.js.map +0 -1
  673. package/dist/patterns/orchestration/index.cjs +0 -21
  674. package/dist/patterns/orchestration/index.cjs.map +0 -1
  675. package/dist/patterns/orchestration/index.d.cts +0 -1
  676. package/dist/patterns/orchestration/index.d.ts +0 -1
  677. package/dist/patterns/orchestration/index.js +0 -3
  678. package/dist/patterns/orchestration/index.js.map +0 -1
  679. package/dist/patterns/process/index.cjs +0 -21
  680. package/dist/patterns/process/index.cjs.map +0 -1
  681. package/dist/patterns/process/index.d.cts +0 -1
  682. package/dist/patterns/process/index.d.ts +0 -1
  683. package/dist/patterns/process/index.js +0 -3
  684. package/dist/patterns/process/index.js.map +0 -1
  685. package/dist/patterns/reactive-layout/index.cjs +0 -21
  686. package/dist/patterns/reactive-layout/index.cjs.map +0 -1
  687. package/dist/patterns/reactive-layout/index.d.cts +0 -1
  688. package/dist/patterns/reactive-layout/index.d.ts +0 -1
  689. package/dist/patterns/reactive-layout/index.js +0 -3
  690. package/dist/patterns/reactive-layout/index.js.map +0 -1
  691. package/dist/patterns/reduction/index.cjs +0 -21
  692. package/dist/patterns/reduction/index.cjs.map +0 -1
  693. package/dist/patterns/reduction/index.d.cts +0 -1
  694. package/dist/patterns/reduction/index.d.ts +0 -1
  695. package/dist/patterns/reduction/index.js +0 -3
  696. package/dist/patterns/reduction/index.js.map +0 -1
  697. package/dist/patterns/surface/index.cjs +0 -21
  698. package/dist/patterns/surface/index.cjs.map +0 -1
  699. package/dist/patterns/surface/index.d.cts +0 -1
  700. package/dist/patterns/surface/index.d.ts +0 -1
  701. package/dist/patterns/surface/index.js +0 -3
  702. package/dist/patterns/surface/index.js.map +0 -1
  703. package/dist/patterns/topology-view/index.cjs +0 -21
  704. package/dist/patterns/topology-view/index.cjs.map +0 -1
  705. package/dist/patterns/topology-view/index.d.cts +0 -1
  706. package/dist/patterns/topology-view/index.d.ts +0 -1
  707. package/dist/patterns/topology-view/index.js +0 -3
  708. package/dist/patterns/topology-view/index.js.map +0 -1
  709. package/dist/testing/index.cjs +0 -21
  710. package/dist/testing/index.cjs.map +0 -1
  711. package/dist/testing/index.d.cts +0 -1
  712. package/dist/testing/index.d.ts +0 -1
  713. package/dist/testing/index.js +0 -3
  714. package/dist/testing/index.js.map +0 -1
@@ -0,0 +1,865 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils/demo-shell/index.ts
21
+ var demo_shell_exports = {};
22
+ __export(demo_shell_exports, {
23
+ demoShell: () => demoShell
24
+ });
25
+ module.exports = __toCommonJS(demo_shell_exports);
26
+ var import_core2 = require("@graphrefly/pure-ts/core");
27
+ var import_graph2 = require("@graphrefly/pure-ts/graph");
28
+
29
+ // src/base/render/_internal.ts
30
+ function escapeMermaidLabel(value) {
31
+ return value.replaceAll("\\", "\\\\").replaceAll('"', '\\"');
32
+ }
33
+ function collectDiagramArrows(described) {
34
+ const seen = /* @__PURE__ */ new Set();
35
+ const arrows = [];
36
+ function add(from, to) {
37
+ const key = `${from}\0${to}`;
38
+ if (seen.has(key)) return;
39
+ seen.add(key);
40
+ arrows.push([from, to]);
41
+ }
42
+ for (const [path, info] of Object.entries(described.nodes)) {
43
+ const deps = info.deps;
44
+ if (deps) {
45
+ for (const dep of deps) add(dep, path);
46
+ }
47
+ }
48
+ for (const edge of described.edges) add(edge.from, edge.to);
49
+ return arrows;
50
+ }
51
+ function normalizeDiagramDirection(direction) {
52
+ if (direction === void 0) return "LR";
53
+ if (direction === "TD" || direction === "LR" || direction === "BT" || direction === "RL") {
54
+ return direction;
55
+ }
56
+ throw new Error(
57
+ `invalid diagram direction ${String(direction)}; expected one of: TD, LR, BT, RL`
58
+ );
59
+ }
60
+
61
+ // src/base/render/graph-spec-to-mermaid.ts
62
+ function graphSpecToMermaid(g, opts) {
63
+ const direction = normalizeDiagramDirection(opts?.direction);
64
+ const paths = Object.keys(g.nodes).sort();
65
+ const ids = /* @__PURE__ */ new Map();
66
+ for (let i = 0; i < paths.length; i += 1) ids.set(paths[i], `n${i}`);
67
+ const lines = [`flowchart ${direction}`];
68
+ for (const path of paths) {
69
+ const id = ids.get(path);
70
+ lines.push(` ${id}["${escapeMermaidLabel(path)}"]`);
71
+ }
72
+ for (const [from, to] of collectDiagramArrows(g)) {
73
+ const fromId = ids.get(from);
74
+ const toId = ids.get(to);
75
+ if (!fromId || !toId) continue;
76
+ lines.push(` ${fromId} --> ${toId}`);
77
+ }
78
+ return lines.join("\n");
79
+ }
80
+
81
+ // src/utils/reactive-layout/reactive-layout.ts
82
+ var import_core = require("@graphrefly/pure-ts/core");
83
+ var import_graph = require("@graphrefly/pure-ts/graph");
84
+ function isCJK(s) {
85
+ for (const ch of s) {
86
+ const c = ch.codePointAt(0);
87
+ if (c >= 19968 && c <= 40959 || // CJK Unified Ideographs
88
+ c >= 13312 && c <= 19903 || // CJK Extension A
89
+ c >= 12288 && c <= 12351 || // CJK Symbols and Punctuation
90
+ c >= 12352 && c <= 12447 || // Hiragana
91
+ c >= 12448 && c <= 12543 || // Katakana
92
+ c >= 44032 && c <= 55215 || // Hangul
93
+ c >= 65280 && c <= 65519) {
94
+ return true;
95
+ }
96
+ }
97
+ return false;
98
+ }
99
+ var kinsokuStart = /* @__PURE__ */ new Set([
100
+ "\uFF0C",
101
+ "\uFF0E",
102
+ "\uFF01",
103
+ "\uFF1A",
104
+ "\uFF1B",
105
+ "\uFF1F",
106
+ "\u3001",
107
+ "\u3002",
108
+ "\u30FB",
109
+ "\uFF09",
110
+ "\u3015",
111
+ "\u3009",
112
+ "\u300B",
113
+ "\u300D",
114
+ "\u300F",
115
+ "\u3011"
116
+ ]);
117
+ var leftStickyPunctuation = /* @__PURE__ */ new Set([
118
+ ".",
119
+ ",",
120
+ "!",
121
+ "?",
122
+ ":",
123
+ ";",
124
+ ")",
125
+ "]",
126
+ "}",
127
+ "%",
128
+ '"',
129
+ "\u201D",
130
+ "\u2019",
131
+ "\xBB",
132
+ "\u203A",
133
+ "\u2026"
134
+ ]);
135
+ function normalizeWhitespace(text) {
136
+ return text.replace(/[\t\n\r\f ]+/g, " ").replace(/^ | $/g, "");
137
+ }
138
+ function segmentText(normalized) {
139
+ const wordSegmenter = new Intl.Segmenter(void 0, { granularity: "word" });
140
+ const pieces = [];
141
+ for (const s of wordSegmenter.segment(normalized)) {
142
+ const text = s.segment;
143
+ const isWordLike = s.isWordLike ?? false;
144
+ const texts = [];
145
+ const wordLikes = [];
146
+ const kinds = [];
147
+ let currentText = "";
148
+ let currentKind = null;
149
+ for (const ch of text) {
150
+ let kind;
151
+ if (ch === " ") kind = "space";
152
+ else if (ch === "\u200B") kind = "zero-width-break";
153
+ else if (ch === "\xAD") kind = "soft-hyphen";
154
+ else if (ch === "\n") kind = "hard-break";
155
+ else kind = "text";
156
+ if (currentKind !== null && kind === currentKind) {
157
+ currentText += ch;
158
+ } else {
159
+ if (currentKind !== null) {
160
+ texts.push(currentText);
161
+ wordLikes.push(currentKind === "text" && isWordLike);
162
+ kinds.push(currentKind);
163
+ }
164
+ currentText = ch;
165
+ currentKind = kind;
166
+ }
167
+ }
168
+ if (currentKind !== null) {
169
+ texts.push(currentText);
170
+ wordLikes.push(currentKind === "text" && isWordLike);
171
+ kinds.push(currentKind);
172
+ }
173
+ pieces.push({ texts, isWordLike: wordLikes, kinds });
174
+ }
175
+ return pieces;
176
+ }
177
+ function analyzeAndMeasure(text, font, adapter, cache, stats) {
178
+ const normalized = normalizeWhitespace(text);
179
+ if (normalized.length === 0) return [];
180
+ const pieces = segmentText(normalized);
181
+ const graphemeSegmenter = new Intl.Segmenter(void 0, {
182
+ granularity: "grapheme"
183
+ });
184
+ const rawTexts = [];
185
+ const rawKinds = [];
186
+ const rawWordLike = [];
187
+ for (const piece of pieces) {
188
+ for (let i = 0; i < piece.texts.length; i++) {
189
+ rawTexts.push(piece.texts[i]);
190
+ rawKinds.push(piece.kinds[i]);
191
+ rawWordLike.push(piece.isWordLike[i]);
192
+ }
193
+ }
194
+ const mergedTexts = [];
195
+ const mergedKinds = [];
196
+ const mergedWordLike = [];
197
+ for (let i = 0; i < rawTexts.length; i++) {
198
+ const t = rawTexts[i];
199
+ const k = rawKinds[i];
200
+ const wl = rawWordLike[i];
201
+ if (k === "text" && !wl && mergedTexts.length > 0 && mergedKinds[mergedKinds.length - 1] === "text") {
202
+ const isSticky = t.length === 1 && (leftStickyPunctuation.has(t) || kinsokuStart.has(t));
203
+ if (isSticky) {
204
+ mergedTexts[mergedTexts.length - 1] += t;
205
+ continue;
206
+ }
207
+ }
208
+ if (t === "-" && mergedTexts.length > 0 && mergedKinds[mergedKinds.length - 1] === "text" && mergedWordLike[mergedWordLike.length - 1]) {
209
+ mergedTexts[mergedTexts.length - 1] += t;
210
+ continue;
211
+ }
212
+ mergedTexts.push(t);
213
+ mergedKinds.push(k);
214
+ mergedWordLike.push(wl);
215
+ }
216
+ let fontCache = cache.get(font);
217
+ if (!fontCache) {
218
+ fontCache = /* @__PURE__ */ new Map();
219
+ cache.set(font, fontCache);
220
+ }
221
+ function measureCached(seg) {
222
+ let w = fontCache.get(seg);
223
+ if (w === void 0) {
224
+ if (stats) stats.misses += 1;
225
+ const raw = adapter.measureSegment(seg, font).width;
226
+ w = Number.isFinite(raw) && raw >= 0 ? raw : 0;
227
+ fontCache.set(seg, w);
228
+ } else if (stats) {
229
+ stats.hits += 1;
230
+ }
231
+ return w;
232
+ }
233
+ const segments = [];
234
+ for (let i = 0; i < mergedTexts.length; i++) {
235
+ const t = mergedTexts[i];
236
+ const k = mergedKinds[i];
237
+ if (k !== "text") {
238
+ segments.push({
239
+ text: t,
240
+ width: k === "space" ? measureCached(" ") * t.length : 0,
241
+ kind: k,
242
+ graphemeWidths: null
243
+ });
244
+ continue;
245
+ }
246
+ if (isCJK(t)) {
247
+ let unitText = "";
248
+ for (const gs of graphemeSegmenter.segment(t)) {
249
+ const grapheme = gs.segment;
250
+ if (unitText.length > 0 && kinsokuStart.has(grapheme)) {
251
+ unitText += grapheme;
252
+ continue;
253
+ }
254
+ if (unitText.length > 0) {
255
+ const w2 = measureCached(unitText);
256
+ segments.push({
257
+ text: unitText,
258
+ width: w2,
259
+ kind: "text",
260
+ graphemeWidths: null
261
+ });
262
+ }
263
+ unitText = grapheme;
264
+ }
265
+ if (unitText.length > 0) {
266
+ const w2 = measureCached(unitText);
267
+ segments.push({
268
+ text: unitText,
269
+ width: w2,
270
+ kind: "text",
271
+ graphemeWidths: null
272
+ });
273
+ }
274
+ continue;
275
+ }
276
+ const w = measureCached(t);
277
+ let graphemeWidths = null;
278
+ if (mergedWordLike[i] && t.length > 1) {
279
+ const gWidths = [];
280
+ for (const gs of graphemeSegmenter.segment(t)) {
281
+ gWidths.push(measureCached(gs.segment));
282
+ }
283
+ if (gWidths.length > 1) {
284
+ graphemeWidths = gWidths;
285
+ }
286
+ }
287
+ segments.push({ text: t, width: w, kind: "text", graphemeWidths });
288
+ }
289
+ return segments;
290
+ }
291
+ function computeLineBreaks(segments, maxWidth, adapter, font, cache) {
292
+ if (segments.length === 0) {
293
+ return { lines: [], lineCount: 0 };
294
+ }
295
+ const lines = [];
296
+ let lineW = 0;
297
+ let hasContent = false;
298
+ let lineStartSeg = 0;
299
+ let lineStartGrapheme = 0;
300
+ let lineEndSeg = 0;
301
+ let lineEndGrapheme = 0;
302
+ let pendingBreakSeg = -1;
303
+ let pendingBreakWidth = 0;
304
+ let fontCache = cache.get(font);
305
+ if (!fontCache) {
306
+ fontCache = /* @__PURE__ */ new Map();
307
+ cache.set(font, fontCache);
308
+ }
309
+ let hyphenWidth = fontCache.get("-");
310
+ if (hyphenWidth === void 0) {
311
+ hyphenWidth = adapter.measureSegment("-", font).width;
312
+ fontCache.set("-", hyphenWidth);
313
+ }
314
+ function flushLine(endSeg = lineEndSeg, endGrapheme = lineEndGrapheme, width = lineW) {
315
+ let text = "";
316
+ for (let i = lineStartSeg; i < endSeg; i++) {
317
+ const seg = segments[i];
318
+ if (seg.kind === "soft-hyphen" || seg.kind === "hard-break") continue;
319
+ if (i === lineStartSeg && lineStartGrapheme > 0 && seg.graphemeWidths) {
320
+ const graphemeSegmenter = new Intl.Segmenter(void 0, {
321
+ granularity: "grapheme"
322
+ });
323
+ const graphemes = [...graphemeSegmenter.segment(seg.text)].map((g) => g.segment);
324
+ text += graphemes.slice(lineStartGrapheme).join("");
325
+ } else {
326
+ text += seg.text;
327
+ }
328
+ }
329
+ if (endGrapheme > 0 && endSeg < segments.length) {
330
+ const seg = segments[endSeg];
331
+ const graphemeSegmenter = new Intl.Segmenter(void 0, {
332
+ granularity: "grapheme"
333
+ });
334
+ const graphemes = [...graphemeSegmenter.segment(seg.text)].map((g) => g.segment);
335
+ const startG = lineStartSeg === endSeg ? lineStartGrapheme : 0;
336
+ text += graphemes.slice(startG, endGrapheme).join("");
337
+ }
338
+ if (endSeg > 0 && segments[endSeg - 1]?.kind === "soft-hyphen" && !(lineStartSeg === endSeg && lineStartGrapheme > 0)) {
339
+ text += "-";
340
+ }
341
+ lines.push({
342
+ text,
343
+ width,
344
+ startSegment: lineStartSeg,
345
+ startGrapheme: lineStartGrapheme,
346
+ endSegment: endSeg,
347
+ endGrapheme
348
+ });
349
+ lineW = 0;
350
+ hasContent = false;
351
+ pendingBreakSeg = -1;
352
+ pendingBreakWidth = 0;
353
+ }
354
+ function canBreakAfter(kind) {
355
+ return kind === "space" || kind === "zero-width-break" || kind === "soft-hyphen";
356
+ }
357
+ function startLine(segIdx, graphemeIdx, width) {
358
+ hasContent = true;
359
+ lineStartSeg = segIdx;
360
+ lineStartGrapheme = graphemeIdx;
361
+ lineEndSeg = segIdx + 1;
362
+ lineEndGrapheme = 0;
363
+ lineW = width;
364
+ }
365
+ function startLineAtGrapheme(segIdx, graphemeIdx, width) {
366
+ hasContent = true;
367
+ lineStartSeg = segIdx;
368
+ lineStartGrapheme = graphemeIdx;
369
+ lineEndSeg = segIdx;
370
+ lineEndGrapheme = graphemeIdx + 1;
371
+ lineW = width;
372
+ }
373
+ for (let i = 0; i < segments.length; i++) {
374
+ const seg = segments[i];
375
+ if (seg.kind === "hard-break") {
376
+ if (hasContent) {
377
+ flushLine();
378
+ } else {
379
+ lines.push({
380
+ text: "",
381
+ width: 0,
382
+ startSegment: i,
383
+ startGrapheme: 0,
384
+ endSegment: i,
385
+ endGrapheme: 0
386
+ });
387
+ }
388
+ lineStartSeg = i + 1;
389
+ lineStartGrapheme = 0;
390
+ continue;
391
+ }
392
+ const w = seg.width;
393
+ if (!hasContent) {
394
+ if (w > maxWidth && seg.graphemeWidths) {
395
+ appendBreakableSegment(i, 0, seg.graphemeWidths);
396
+ } else {
397
+ startLine(i, 0, w);
398
+ }
399
+ if (canBreakAfter(seg.kind)) {
400
+ pendingBreakSeg = i + 1;
401
+ pendingBreakWidth = seg.kind === "space" ? lineW - w : lineW;
402
+ }
403
+ continue;
404
+ }
405
+ const newW = lineW + w;
406
+ if (newW > maxWidth + 5e-3) {
407
+ if (canBreakAfter(seg.kind)) {
408
+ lineW += w;
409
+ lineEndSeg = i + 1;
410
+ lineEndGrapheme = 0;
411
+ flushLine(i + 1, 0, seg.kind === "space" ? lineW - w : lineW);
412
+ continue;
413
+ }
414
+ if (pendingBreakSeg >= 0) {
415
+ flushLine(pendingBreakSeg, 0, pendingBreakWidth);
416
+ i--;
417
+ continue;
418
+ }
419
+ if (w > maxWidth && seg.graphemeWidths) {
420
+ flushLine();
421
+ appendBreakableSegment(i, 0, seg.graphemeWidths);
422
+ continue;
423
+ }
424
+ flushLine();
425
+ i--;
426
+ continue;
427
+ }
428
+ lineW = newW;
429
+ lineEndSeg = i + 1;
430
+ lineEndGrapheme = 0;
431
+ if (canBreakAfter(seg.kind)) {
432
+ pendingBreakSeg = i + 1;
433
+ pendingBreakWidth = seg.kind === "space" ? lineW - w : lineW;
434
+ }
435
+ }
436
+ if (hasContent) {
437
+ flushLine();
438
+ }
439
+ return { lines, lineCount: lines.length };
440
+ function appendBreakableSegment(segIdx, startG, gWidths) {
441
+ for (let g = startG; g < gWidths.length; g++) {
442
+ const gw = gWidths[g];
443
+ if (!hasContent) {
444
+ startLineAtGrapheme(segIdx, g, gw);
445
+ continue;
446
+ }
447
+ if (lineW + gw > maxWidth + 5e-3) {
448
+ flushLine();
449
+ startLineAtGrapheme(segIdx, g, gw);
450
+ } else {
451
+ lineW += gw;
452
+ lineEndSeg = segIdx;
453
+ lineEndGrapheme = g + 1;
454
+ }
455
+ }
456
+ if (hasContent && lineEndSeg === segIdx && lineEndGrapheme === gWidths.length) {
457
+ lineEndSeg = segIdx + 1;
458
+ lineEndGrapheme = 0;
459
+ }
460
+ }
461
+ }
462
+
463
+ // src/utils/demo-shell/index.ts
464
+ function clamp01(v) {
465
+ return Math.max(0, Math.min(1, v));
466
+ }
467
+ function demoShell(opts) {
468
+ const mainRatioInit = clamp01(opts?.mainRatio ?? 0.65);
469
+ const sideSplitInit = clamp01(opts?.sideSplit ?? 0.5);
470
+ const viewportInit = Math.max(0, opts?.viewportWidth ?? 1280);
471
+ const registry = opts?.nodeRegistry ?? /* @__PURE__ */ new Map();
472
+ const adapter = opts?.adapter ?? null;
473
+ const layoutFont = opts?.layoutFont ?? "14px monospace";
474
+ const onHighlight = opts?.onHighlight;
475
+ const g = new import_graph2.Graph("demo-shell");
476
+ const paneMainRatio = (0, import_core2.node)([], { ...{ name: "pane/main-ratio" }, initial: mainRatioInit });
477
+ const paneSideSplit = (0, import_core2.node)([], { ...{ name: "pane/side-split" }, initial: sideSplitInit });
478
+ const paneFullscreen = (0, import_core2.node)([], {
479
+ ...{
480
+ name: "pane/fullscreen"
481
+ },
482
+ initial: null
483
+ });
484
+ const viewportWidth = (0, import_core2.node)([], { ...{ name: "viewport/width" }, initial: viewportInit });
485
+ g.add(paneMainRatio, { name: "pane/main-ratio" });
486
+ g.add(paneSideSplit, { name: "pane/side-split" });
487
+ g.add(paneFullscreen, { name: "pane/fullscreen" });
488
+ g.add(viewportWidth, { name: "viewport/width" });
489
+ const paneMainWidth = (0, import_core2.node)(
490
+ [paneMainRatio, viewportWidth, paneFullscreen],
491
+ (batchData, actions, ctx) => {
492
+ const data = batchData.map(
493
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
494
+ );
495
+ const r = data[0];
496
+ const w = data[1];
497
+ const fullscreen = data[2];
498
+ if (fullscreen === "main") actions.emit(w);
499
+ else if (fullscreen === "graph" || fullscreen === "code") actions.emit(0);
500
+ else actions.emit(Math.round(w * r));
501
+ },
502
+ { describeKind: "derived", ...{ name: "pane/main-width" } }
503
+ );
504
+ const paneSideWidth = (0, import_core2.node)(
505
+ [paneMainWidth, viewportWidth, paneFullscreen],
506
+ (batchData, actions, ctx) => {
507
+ const data = batchData.map(
508
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
509
+ );
510
+ const main = data[0];
511
+ const w = data[1];
512
+ const fullscreen = data[2];
513
+ if (fullscreen === "main") actions.emit(0);
514
+ else if (fullscreen === "graph" || fullscreen === "code") actions.emit(w);
515
+ else actions.emit(w - main);
516
+ },
517
+ { describeKind: "derived", ...{ name: "pane/side-width" } }
518
+ );
519
+ const paneGraphHeight = (0, import_core2.node)(
520
+ [paneSideSplit, paneFullscreen],
521
+ (batchData, actions, ctx) => {
522
+ const data = batchData.map(
523
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
524
+ );
525
+ const split = data[0];
526
+ const fullscreen = data[1];
527
+ if (fullscreen === "graph") actions.emit(1);
528
+ else if (fullscreen === "code") actions.emit(0);
529
+ else if (fullscreen === "main") actions.emit(0);
530
+ else actions.emit(clamp01(split));
531
+ },
532
+ { describeKind: "derived", ...{ name: "pane/graph-height-ratio" } }
533
+ );
534
+ const paneCodeHeight = (0, import_core2.node)(
535
+ [paneGraphHeight, paneFullscreen],
536
+ (batchData, actions, ctx) => {
537
+ const data = batchData.map(
538
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
539
+ );
540
+ const graphH = data[0];
541
+ const fullscreen = data[1];
542
+ if (fullscreen === "code") actions.emit(1);
543
+ else if (fullscreen === "graph" || fullscreen === "main") actions.emit(0);
544
+ else actions.emit(1 - graphH);
545
+ },
546
+ { describeKind: "derived", ...{ name: "pane/code-height-ratio" } }
547
+ );
548
+ g.add(paneMainWidth, { name: "pane/main-width" });
549
+ g.add(paneSideWidth, { name: "pane/side-width" });
550
+ g.add(paneGraphHeight, { name: "pane/graph-height-ratio" });
551
+ g.add(paneCodeHeight, { name: "pane/code-height-ratio" });
552
+ const demoGraphRef = (0, import_core2.node)([], {
553
+ ...{
554
+ name: "demo/graph-ref"
555
+ },
556
+ initial: null
557
+ });
558
+ const demoGraphTick = (0, import_core2.node)([], { ...{ name: "demo/graph-tick" }, initial: 0 });
559
+ g.add(demoGraphRef, { name: "demo/graph-ref" });
560
+ g.add(demoGraphTick, { name: "demo/graph-tick" });
561
+ const graphMermaid = (0, import_core2.node)(
562
+ [demoGraphRef, demoGraphTick],
563
+ (batchData, actions, ctx) => {
564
+ const data = batchData.map(
565
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
566
+ );
567
+ const demo = data[0];
568
+ actions.emit(demo ? graphSpecToMermaid(demo.describe()) : "");
569
+ },
570
+ { describeKind: "derived", ...{ name: "graph/mermaid" } }
571
+ );
572
+ const graphDescribe = (0, import_core2.node)(
573
+ [demoGraphRef, demoGraphTick],
574
+ (batchData, actions, ctx) => {
575
+ const data = batchData.map(
576
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
577
+ );
578
+ const demo = data[0];
579
+ if (!demo) {
580
+ actions.emit(null);
581
+ return;
582
+ }
583
+ const { expand: _, ...snapshot } = demo.describe({ detail: "standard" });
584
+ actions.emit(snapshot);
585
+ },
586
+ { describeKind: "derived", ...{ name: "graph/describe" } }
587
+ );
588
+ g.add(graphMermaid, { name: "graph/mermaid" });
589
+ g.add(graphDescribe, { name: "graph/describe" });
590
+ const hoverTarget = (0, import_core2.node)([], { ...{ name: "hover/target" }, initial: null });
591
+ g.add(hoverTarget, { name: "hover/target" });
592
+ const highlightCodeScroll = (0, import_core2.node)(
593
+ [hoverTarget],
594
+ (batchData, actions, ctx) => {
595
+ const data = batchData.map(
596
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
597
+ );
598
+ const t = data[0];
599
+ if (!t) {
600
+ actions.emit(null);
601
+ return;
602
+ }
603
+ const entry = registry.get(t.id);
604
+ actions.emit(entry ? entry.codeLine : null);
605
+ },
606
+ { describeKind: "derived", ...{ name: "highlight/code-scroll" } }
607
+ );
608
+ const highlightVisual = (0, import_core2.node)(
609
+ [hoverTarget],
610
+ (batchData, actions, ctx) => {
611
+ const data = batchData.map(
612
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
613
+ );
614
+ const t = data[0];
615
+ if (!t) {
616
+ actions.emit(null);
617
+ return;
618
+ }
619
+ const entry = registry.get(t.id);
620
+ actions.emit(entry ? entry.visualSelector : null);
621
+ },
622
+ { describeKind: "derived", ...{ name: "highlight/visual" } }
623
+ );
624
+ const highlightGraph = (0, import_core2.node)(
625
+ [hoverTarget],
626
+ (batchData, actions, ctx) => {
627
+ const data = batchData.map(
628
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
629
+ );
630
+ const t = data[0];
631
+ actions.emit(t ? t.id : null);
632
+ },
633
+ { describeKind: "derived", ...{ name: "highlight/graph" } }
634
+ );
635
+ g.add(highlightCodeScroll, { name: "highlight/code-scroll" });
636
+ g.add(highlightVisual, { name: "highlight/visual" });
637
+ g.add(highlightGraph, { name: "highlight/graph" });
638
+ if (onHighlight?.codeScroll) {
639
+ const cb = onHighlight.codeScroll;
640
+ const applyCodeScroll = (0, import_core2.node)(
641
+ [highlightCodeScroll],
642
+ (batchData, _actions, ctx) => {
643
+ const data = batchData.map(
644
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
645
+ );
646
+ cb(data[0]);
647
+ },
648
+ { describeKind: "effect" }
649
+ );
650
+ g.add(applyCodeScroll, { name: "highlight/apply-code-scroll" });
651
+ }
652
+ if (onHighlight?.visual) {
653
+ const cb = onHighlight.visual;
654
+ const applyVisual = (0, import_core2.node)(
655
+ [highlightVisual],
656
+ (batchData, _actions, ctx) => {
657
+ const data = batchData.map(
658
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
659
+ );
660
+ cb(data[0]);
661
+ },
662
+ { describeKind: "effect" }
663
+ );
664
+ g.add(applyVisual, { name: "highlight/apply-visual" });
665
+ }
666
+ if (onHighlight?.graph) {
667
+ const cb = onHighlight.graph;
668
+ const applyGraph = (0, import_core2.node)(
669
+ [highlightGraph],
670
+ (batchData, _actions, ctx) => {
671
+ const data = batchData.map(
672
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
673
+ );
674
+ cb(data[0]);
675
+ },
676
+ { describeKind: "effect" }
677
+ );
678
+ g.add(applyGraph, { name: "highlight/apply-graph" });
679
+ }
680
+ const inspectSelected = (0, import_core2.node)([], {
681
+ ...{
682
+ name: "inspect/selected-node"
683
+ },
684
+ initial: null
685
+ });
686
+ g.add(inspectSelected, { name: "inspect/selected-node" });
687
+ const inspectNodeDetail = (0, import_core2.node)(
688
+ [inspectSelected, demoGraphRef, demoGraphTick],
689
+ (batchData, actions, ctx) => {
690
+ const data = batchData.map(
691
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
692
+ );
693
+ const p = data[0];
694
+ const demo = data[1];
695
+ if (!demo || !p) {
696
+ actions.emit(null);
697
+ return;
698
+ }
699
+ try {
700
+ const snap = demo.describe({ detail: "standard" });
701
+ const nodeDesc = snap.nodes[p];
702
+ if (!nodeDesc) {
703
+ actions.emit(null);
704
+ return;
705
+ }
706
+ actions.emit({ path: p, ...nodeDesc });
707
+ } catch {
708
+ actions.emit(null);
709
+ }
710
+ },
711
+ { describeKind: "derived", ...{ name: "inspect/node-detail" } }
712
+ );
713
+ const inspectTraceLog = (0, import_core2.node)(
714
+ [demoGraphRef, demoGraphTick],
715
+ (batchData, actions, ctx) => {
716
+ const data = batchData.map(
717
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
718
+ );
719
+ const demo = data[0];
720
+ actions.emit(demo ? demo.trace() : []);
721
+ },
722
+ { describeKind: "derived", ...{ name: "inspect/trace-log" } }
723
+ );
724
+ g.add(inspectNodeDetail, { name: "inspect/node-detail" });
725
+ g.add(inspectTraceLog, { name: "inspect/trace-log" });
726
+ const metaDebug = (0, import_core2.node)([], { ...{ name: "meta/debug" }, initial: false });
727
+ g.add(metaDebug, { name: "meta/debug" });
728
+ const metaShellMermaid = (0, import_core2.node)(
729
+ [metaDebug, demoGraphTick],
730
+ (batchData, actions, ctx) => {
731
+ const data = batchData.map(
732
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
733
+ );
734
+ actions.emit(data[0] ? graphSpecToMermaid(g.describe()) : "");
735
+ },
736
+ { describeKind: "derived", ...{ name: "meta/shell-mermaid" } }
737
+ );
738
+ g.add(metaShellMermaid, { name: "meta/shell-mermaid" });
739
+ const codeTextNode = (0, import_core2.node)([], { ...{ name: "layout/code-text" }, initial: "" });
740
+ g.add(codeTextNode, { name: "layout/code-text" });
741
+ if (adapter) {
742
+ const measureCache = /* @__PURE__ */ new Map();
743
+ const graphLabels = (0, import_core2.node)(
744
+ [graphDescribe],
745
+ (batchData, actions, ctx) => {
746
+ const data = batchData.map(
747
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
748
+ );
749
+ const d = data[0];
750
+ if (!d) {
751
+ actions.emit(/* @__PURE__ */ new Map());
752
+ return;
753
+ }
754
+ const result = /* @__PURE__ */ new Map();
755
+ for (const [name] of Object.entries(d.nodes)) {
756
+ const segments = analyzeAndMeasure(name, layoutFont, adapter, measureCache);
757
+ const lb = computeLineBreaks(segments, Infinity, adapter, layoutFont, measureCache);
758
+ const width = lb.lines.reduce((max, l) => Math.max(max, l.width), 0);
759
+ const height = lb.lineCount * 20;
760
+ result.set(name, { width, height });
761
+ }
762
+ actions.emit(result);
763
+ },
764
+ {
765
+ describeKind: "derived",
766
+ ...{
767
+ name: "layout/graph-labels",
768
+ equals: (a, b) => {
769
+ if (a === b) return true;
770
+ const ma = a;
771
+ const mb = b;
772
+ if (ma.size !== mb.size) return false;
773
+ for (const [k, v] of ma) {
774
+ const bv = mb.get(k);
775
+ if (!bv || bv.width !== v.width || bv.height !== v.height) return false;
776
+ }
777
+ return true;
778
+ }
779
+ }
780
+ }
781
+ );
782
+ const codeLines = (0, import_core2.node)(
783
+ [codeTextNode, paneSideWidth],
784
+ (batchData, actions, ctx) => {
785
+ const data = batchData.map(
786
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
787
+ );
788
+ const t = data[0];
789
+ if (!t) {
790
+ actions.emit({ lineCount: 0, lines: [] });
791
+ return;
792
+ }
793
+ const segments = analyzeAndMeasure(t, layoutFont, adapter, measureCache);
794
+ const maxW = data[1] - 40;
795
+ actions.emit(
796
+ computeLineBreaks(segments, Math.max(100, maxW), adapter, layoutFont, measureCache)
797
+ );
798
+ },
799
+ { describeKind: "derived", name: "layout/code-lines" }
800
+ );
801
+ const sideWidthHint = (0, import_core2.node)(
802
+ [graphLabels],
803
+ (batchData, actions, ctx) => {
804
+ const data = batchData.map(
805
+ (batch2, i) => batch2 != null && batch2.length > 0 ? batch2.at(-1) : ctx.prevData[i]
806
+ );
807
+ const m = data[0];
808
+ if (m.size === 0) {
809
+ actions.emit(200);
810
+ return;
811
+ }
812
+ let maxW = 0;
813
+ for (const { width } of m.values()) {
814
+ if (width > maxW) maxW = width;
815
+ }
816
+ actions.emit(Math.max(200, Math.round(maxW + 80)));
817
+ },
818
+ { describeKind: "derived", name: "layout/side-width-hint" }
819
+ );
820
+ g.add(graphLabels, { name: "layout/graph-labels" });
821
+ g.add(codeLines, { name: "layout/code-lines" });
822
+ g.add(sideWidthHint, { name: "layout/side-width-hint" });
823
+ }
824
+ let tickCounter = 0;
825
+ return {
826
+ graph: g,
827
+ setMainRatio(ratio) {
828
+ g.set("pane/main-ratio", clamp01(ratio));
829
+ },
830
+ setSideSplit(ratio) {
831
+ g.set("pane/side-split", clamp01(ratio));
832
+ },
833
+ setFullscreen(pane) {
834
+ g.set("pane/fullscreen", pane);
835
+ },
836
+ setViewportWidth(width) {
837
+ g.set("viewport/width", Math.max(0, width));
838
+ },
839
+ setHoverTarget(target) {
840
+ g.set("hover/target", target);
841
+ },
842
+ setDemoGraph(demo) {
843
+ g.set("demo/graph-ref", demo);
844
+ },
845
+ bumpGraphTick() {
846
+ g.set("demo/graph-tick", ++tickCounter);
847
+ },
848
+ selectNode(path) {
849
+ g.set("inspect/selected-node", path);
850
+ },
851
+ setMetaDebug(on) {
852
+ g.set("meta/debug", on);
853
+ },
854
+ setCodeText(text) {
855
+ g.set("layout/code-text", text);
856
+ },
857
+ batch(fn) {
858
+ (0, import_core2.batch)(fn);
859
+ },
860
+ destroy() {
861
+ g.destroy();
862
+ }
863
+ };
864
+ }
865
+ //# sourceMappingURL=index.cjs.map