@graphrefly/graphrefly 0.44.0 → 0.45.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 (420) hide show
  1. package/README.md +21 -17
  2. package/dist/compat/index.cjs +20 -10
  3. package/dist/compat/index.cjs.map +1 -0
  4. package/dist/compat/index.d.cts +1 -22
  5. package/dist/compat/index.d.ts +1 -22
  6. package/dist/compat/index.js +3 -1
  7. package/dist/compat/index.js.map +1 -0
  8. package/dist/compat/jotai/index.cjs +21 -1
  9. package/dist/compat/jotai/index.cjs.map +1 -0
  10. package/dist/compat/jotai/index.d.cts +1 -2
  11. package/dist/compat/jotai/index.d.ts +1 -2
  12. package/dist/compat/jotai/index.js +3 -1
  13. package/dist/compat/jotai/index.js.map +1 -0
  14. package/dist/compat/nanostores/index.cjs +21 -1
  15. package/dist/compat/nanostores/index.cjs.map +1 -0
  16. package/dist/compat/nanostores/index.d.cts +1 -2
  17. package/dist/compat/nanostores/index.d.ts +1 -2
  18. package/dist/compat/nanostores/index.js +3 -1
  19. package/dist/compat/nanostores/index.js.map +1 -0
  20. package/dist/compat/nestjs/index.cjs +20 -10
  21. package/dist/compat/nestjs/index.cjs.map +1 -0
  22. package/dist/compat/nestjs/index.d.cts +1 -13
  23. package/dist/compat/nestjs/index.d.ts +1 -13
  24. package/dist/compat/nestjs/index.js +3 -1
  25. package/dist/compat/nestjs/index.js.map +1 -0
  26. package/dist/compat/react/index.cjs +21 -1
  27. package/dist/compat/react/index.cjs.map +1 -0
  28. package/dist/compat/react/index.d.cts +1 -2
  29. package/dist/compat/react/index.d.ts +1 -2
  30. package/dist/compat/react/index.js +3 -1
  31. package/dist/compat/react/index.js.map +1 -0
  32. package/dist/compat/solid/index.cjs +21 -1
  33. package/dist/compat/solid/index.cjs.map +1 -0
  34. package/dist/compat/solid/index.d.cts +1 -2
  35. package/dist/compat/solid/index.d.ts +1 -2
  36. package/dist/compat/solid/index.js +3 -1
  37. package/dist/compat/solid/index.js.map +1 -0
  38. package/dist/compat/svelte/index.cjs +21 -1
  39. package/dist/compat/svelte/index.cjs.map +1 -0
  40. package/dist/compat/svelte/index.d.cts +1 -2
  41. package/dist/compat/svelte/index.d.ts +1 -2
  42. package/dist/compat/svelte/index.js +3 -1
  43. package/dist/compat/svelte/index.js.map +1 -0
  44. package/dist/compat/vue/index.cjs +21 -1
  45. package/dist/compat/vue/index.cjs.map +1 -0
  46. package/dist/compat/vue/index.d.cts +1 -3
  47. package/dist/compat/vue/index.d.ts +1 -3
  48. package/dist/compat/vue/index.js +3 -1
  49. package/dist/compat/vue/index.js.map +1 -0
  50. package/dist/compat/zustand/index.cjs +21 -3
  51. package/dist/compat/zustand/index.cjs.map +1 -0
  52. package/dist/compat/zustand/index.d.cts +1 -6
  53. package/dist/compat/zustand/index.d.ts +1 -6
  54. package/dist/compat/zustand/index.js +3 -1
  55. package/dist/compat/zustand/index.js.map +1 -0
  56. package/dist/core/index.cjs +21 -1
  57. package/dist/core/index.cjs.map +1 -0
  58. package/dist/core/index.d.cts +1 -3
  59. package/dist/core/index.d.ts +1 -3
  60. package/dist/core/index.js +3 -1
  61. package/dist/core/index.js.map +1 -0
  62. package/dist/extra/browser.cjs +21 -1
  63. package/dist/extra/browser.cjs.map +1 -0
  64. package/dist/extra/browser.d.cts +1 -4
  65. package/dist/extra/browser.d.ts +1 -4
  66. package/dist/extra/browser.js +3 -1
  67. package/dist/extra/browser.js.map +1 -0
  68. package/dist/extra/index.cjs +20 -19
  69. package/dist/extra/index.cjs.map +1 -0
  70. package/dist/extra/index.d.cts +1 -17
  71. package/dist/extra/index.d.ts +1 -17
  72. package/dist/extra/index.js +3 -1
  73. package/dist/extra/index.js.map +1 -0
  74. package/dist/extra/node.cjs +21 -2
  75. package/dist/extra/node.cjs.map +1 -0
  76. package/dist/extra/node.d.cts +1 -187
  77. package/dist/extra/node.d.ts +1 -187
  78. package/dist/extra/node.js +3 -2
  79. package/dist/extra/node.js.map +1 -0
  80. package/dist/extra/operators.cjs +21 -1
  81. package/dist/extra/operators.cjs.map +1 -0
  82. package/dist/extra/operators.d.cts +1 -958
  83. package/dist/extra/operators.d.ts +1 -958
  84. package/dist/extra/operators.js +3 -1
  85. package/dist/extra/operators.js.map +1 -0
  86. package/dist/extra/reactive.cjs +21 -1
  87. package/dist/extra/reactive.cjs.map +1 -0
  88. package/dist/extra/reactive.d.cts +1 -353
  89. package/dist/extra/reactive.d.ts +1 -353
  90. package/dist/extra/reactive.js +3 -1
  91. package/dist/extra/reactive.js.map +1 -0
  92. package/dist/extra/render/index.cjs +21 -5
  93. package/dist/extra/render/index.cjs.map +1 -0
  94. package/dist/extra/render/index.d.cts +1 -183
  95. package/dist/extra/render/index.d.ts +1 -183
  96. package/dist/extra/render/index.js +3 -1
  97. package/dist/extra/render/index.js.map +1 -0
  98. package/dist/extra/sources.cjs +21 -3
  99. package/dist/extra/sources.cjs.map +1 -0
  100. package/dist/extra/sources.d.cts +1 -584
  101. package/dist/extra/sources.d.ts +1 -584
  102. package/dist/extra/sources.js +3 -1
  103. package/dist/extra/sources.js.map +1 -0
  104. package/dist/extra/storage-browser.cjs +21 -1
  105. package/dist/extra/storage-browser.cjs.map +1 -0
  106. package/dist/extra/storage-browser.d.cts +1 -37
  107. package/dist/extra/storage-browser.d.ts +1 -37
  108. package/dist/extra/storage-browser.js +3 -1
  109. package/dist/extra/storage-browser.js.map +1 -0
  110. package/dist/extra/storage-core.cjs +21 -1
  111. package/dist/extra/storage-core.cjs.map +1 -0
  112. package/dist/extra/storage-core.d.cts +1 -28
  113. package/dist/extra/storage-core.d.ts +1 -28
  114. package/dist/extra/storage-core.js +3 -1
  115. package/dist/extra/storage-core.js.map +1 -0
  116. package/dist/extra/storage-node.cjs +20 -0
  117. package/dist/extra/storage-node.cjs.map +1 -0
  118. package/dist/extra/storage-node.d.cts +1 -2
  119. package/dist/extra/storage-node.d.ts +1 -2
  120. package/dist/extra/storage-node.js +3 -0
  121. package/dist/extra/storage-node.js.map +1 -0
  122. package/dist/extra/storage-tiers-browser.cjs +21 -1
  123. package/dist/extra/storage-tiers-browser.cjs.map +1 -0
  124. package/dist/extra/storage-tiers-browser.d.cts +1 -120
  125. package/dist/extra/storage-tiers-browser.d.ts +1 -120
  126. package/dist/extra/storage-tiers-browser.js +3 -1
  127. package/dist/extra/storage-tiers-browser.js.map +1 -0
  128. package/dist/extra/storage-tiers-node.cjs +21 -1
  129. package/dist/extra/storage-tiers-node.cjs.map +1 -0
  130. package/dist/extra/storage-tiers-node.d.cts +1 -210
  131. package/dist/extra/storage-tiers-node.d.ts +1 -210
  132. package/dist/extra/storage-tiers-node.js +3 -1
  133. package/dist/extra/storage-tiers-node.js.map +1 -0
  134. package/dist/extra/storage-tiers.cjs +21 -1
  135. package/dist/extra/storage-tiers.cjs.map +1 -0
  136. package/dist/extra/storage-tiers.d.cts +1 -412
  137. package/dist/extra/storage-tiers.d.ts +1 -412
  138. package/dist/extra/storage-tiers.js +3 -1
  139. package/dist/extra/storage-tiers.js.map +1 -0
  140. package/dist/extra/storage-wal.cjs +21 -0
  141. package/dist/extra/storage-wal.cjs.map +1 -0
  142. package/dist/extra/storage-wal.d.cts +1 -0
  143. package/dist/extra/storage-wal.d.ts +1 -0
  144. package/dist/extra/storage-wal.js +3 -0
  145. package/dist/extra/storage-wal.js.map +1 -0
  146. package/dist/graph/index.cjs +21 -7
  147. package/dist/graph/index.cjs.map +1 -0
  148. package/dist/graph/index.d.cts +1 -7
  149. package/dist/graph/index.d.ts +1 -7
  150. package/dist/graph/index.js +3 -1
  151. package/dist/graph/index.js.map +1 -0
  152. package/dist/index.cjs +20 -227
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.cts +45 -95
  155. package/dist/index.d.ts +45 -95
  156. package/dist/index.js +3 -1
  157. package/dist/index.js.map +1 -0
  158. package/dist/patterns/ai/browser.cjs +20 -7
  159. package/dist/patterns/ai/browser.cjs.map +1 -0
  160. package/dist/patterns/ai/browser.d.cts +1 -127
  161. package/dist/patterns/ai/browser.d.ts +1 -127
  162. package/dist/patterns/ai/browser.js +3 -3
  163. package/dist/patterns/ai/browser.js.map +1 -0
  164. package/dist/patterns/ai/index.cjs +20 -73
  165. package/dist/patterns/ai/index.cjs.map +1 -0
  166. package/dist/patterns/ai/index.d.cts +1 -20
  167. package/dist/patterns/ai/index.d.ts +1 -20
  168. package/dist/patterns/ai/index.js +3 -1
  169. package/dist/patterns/ai/index.js.map +1 -0
  170. package/dist/patterns/ai/node.cjs +21 -1
  171. package/dist/patterns/ai/node.cjs.map +1 -0
  172. package/dist/patterns/ai/node.d.cts +1 -59
  173. package/dist/patterns/ai/node.d.ts +1 -59
  174. package/dist/patterns/ai/node.js +3 -1
  175. package/dist/patterns/ai/node.js.map +1 -0
  176. package/dist/patterns/cqrs/index.cjs +21 -3
  177. package/dist/patterns/cqrs/index.cjs.map +1 -0
  178. package/dist/patterns/cqrs/index.d.cts +1 -8
  179. package/dist/patterns/cqrs/index.d.ts +1 -8
  180. package/dist/patterns/cqrs/index.js +3 -1
  181. package/dist/patterns/cqrs/index.js.map +1 -0
  182. package/dist/patterns/demo-shell/index.cjs +21 -5
  183. package/dist/patterns/demo-shell/index.cjs.map +1 -0
  184. package/dist/patterns/demo-shell/index.d.cts +1 -7
  185. package/dist/patterns/demo-shell/index.d.ts +1 -7
  186. package/dist/patterns/demo-shell/index.js +3 -1
  187. package/dist/patterns/demo-shell/index.js.map +1 -0
  188. package/dist/patterns/domain-templates/index.cjs +21 -3
  189. package/dist/patterns/domain-templates/index.cjs.map +1 -0
  190. package/dist/patterns/domain-templates/index.d.cts +1 -6
  191. package/dist/patterns/domain-templates/index.d.ts +1 -6
  192. package/dist/patterns/domain-templates/index.js +3 -1
  193. package/dist/patterns/domain-templates/index.js.map +1 -0
  194. package/dist/patterns/graphspec/index.cjs +21 -86
  195. package/dist/patterns/graphspec/index.cjs.map +1 -0
  196. package/dist/patterns/graphspec/index.d.cts +1 -8
  197. package/dist/patterns/graphspec/index.d.ts +1 -8
  198. package/dist/patterns/graphspec/index.js +3 -1
  199. package/dist/patterns/graphspec/index.js.map +1 -0
  200. package/dist/patterns/harness/index.cjs +21 -48
  201. package/dist/patterns/harness/index.cjs.map +1 -0
  202. package/dist/patterns/harness/index.d.cts +1 -13
  203. package/dist/patterns/harness/index.d.ts +1 -13
  204. package/dist/patterns/harness/index.js +3 -1
  205. package/dist/patterns/harness/index.js.map +1 -0
  206. package/dist/patterns/inspect/index.cjs +21 -3
  207. package/dist/patterns/inspect/index.cjs.map +1 -0
  208. package/dist/patterns/inspect/index.d.cts +1 -9
  209. package/dist/patterns/inspect/index.d.ts +1 -9
  210. package/dist/patterns/inspect/index.js +3 -1
  211. package/dist/patterns/inspect/index.js.map +1 -0
  212. package/dist/patterns/job-queue/index.cjs +21 -3
  213. package/dist/patterns/job-queue/index.cjs.map +1 -0
  214. package/dist/patterns/job-queue/index.d.cts +1 -9
  215. package/dist/patterns/job-queue/index.d.ts +1 -9
  216. package/dist/patterns/job-queue/index.js +3 -1
  217. package/dist/patterns/job-queue/index.js.map +1 -0
  218. package/dist/patterns/memory/index.cjs +21 -3
  219. package/dist/patterns/memory/index.cjs.map +1 -0
  220. package/dist/patterns/memory/index.d.cts +1 -8
  221. package/dist/patterns/memory/index.d.ts +1 -8
  222. package/dist/patterns/memory/index.js +3 -1
  223. package/dist/patterns/memory/index.js.map +1 -0
  224. package/dist/patterns/messaging/index.cjs +21 -3
  225. package/dist/patterns/messaging/index.cjs.map +1 -0
  226. package/dist/patterns/messaging/index.d.cts +1 -7
  227. package/dist/patterns/messaging/index.d.ts +1 -7
  228. package/dist/patterns/messaging/index.js +3 -1
  229. package/dist/patterns/messaging/index.js.map +1 -0
  230. package/dist/patterns/orchestration/index.cjs +21 -3
  231. package/dist/patterns/orchestration/index.cjs.map +1 -0
  232. package/dist/patterns/orchestration/index.d.cts +1 -8
  233. package/dist/patterns/orchestration/index.d.ts +1 -8
  234. package/dist/patterns/orchestration/index.js +3 -1
  235. package/dist/patterns/orchestration/index.js.map +1 -0
  236. package/dist/patterns/process/index.cjs +21 -3
  237. package/dist/patterns/process/index.cjs.map +1 -0
  238. package/dist/patterns/process/index.d.cts +1 -10
  239. package/dist/patterns/process/index.d.ts +1 -10
  240. package/dist/patterns/process/index.js +3 -1
  241. package/dist/patterns/process/index.js.map +1 -0
  242. package/dist/patterns/reactive-layout/index.cjs +21 -4
  243. package/dist/patterns/reactive-layout/index.cjs.map +1 -0
  244. package/dist/patterns/reactive-layout/index.d.cts +1 -7
  245. package/dist/patterns/reactive-layout/index.d.ts +1 -7
  246. package/dist/patterns/reactive-layout/index.js +3 -1
  247. package/dist/patterns/reactive-layout/index.js.map +1 -0
  248. package/dist/patterns/reduction/index.cjs +21 -3
  249. package/dist/patterns/reduction/index.cjs.map +1 -0
  250. package/dist/patterns/reduction/index.d.cts +1 -6
  251. package/dist/patterns/reduction/index.d.ts +1 -6
  252. package/dist/patterns/reduction/index.js +3 -1
  253. package/dist/patterns/reduction/index.js.map +1 -0
  254. package/dist/patterns/surface/index.cjs +21 -13
  255. package/dist/patterns/surface/index.cjs.map +1 -0
  256. package/dist/patterns/surface/index.d.cts +1 -9
  257. package/dist/patterns/surface/index.d.ts +1 -9
  258. package/dist/patterns/surface/index.js +3 -1
  259. package/dist/patterns/surface/index.js.map +1 -0
  260. package/dist/patterns/topology-view/index.cjs +21 -0
  261. package/dist/patterns/topology-view/index.cjs.map +1 -0
  262. package/dist/patterns/topology-view/index.d.cts +1 -0
  263. package/dist/patterns/topology-view/index.d.ts +1 -0
  264. package/dist/patterns/topology-view/index.js +3 -0
  265. package/dist/patterns/topology-view/index.js.map +1 -0
  266. package/dist/testing/index.cjs +21 -0
  267. package/dist/testing/index.cjs.map +1 -0
  268. package/dist/testing/index.d.cts +1 -0
  269. package/dist/testing/index.d.ts +1 -0
  270. package/dist/testing/index.js +3 -0
  271. package/dist/testing/index.js.map +1 -0
  272. package/package.json +608 -584
  273. package/dist/backoff-HPZMEZNF.js +0 -1
  274. package/dist/cascading-BglDkMdX.d.cts +0 -199
  275. package/dist/cascading-MFgxu7Yo.d.ts +0 -199
  276. package/dist/chunk-2T7U5EU6.js +0 -1
  277. package/dist/chunk-3G5U5QNE.js +0 -5
  278. package/dist/chunk-4VVTGLXJ.js +0 -1
  279. package/dist/chunk-5M4CCMMD.js +0 -45
  280. package/dist/chunk-5QDBSZBV.js +0 -1
  281. package/dist/chunk-5XJ6B66J.js +0 -1
  282. package/dist/chunk-6QZNQS5B.js +0 -1
  283. package/dist/chunk-6X7AFUJV.js +0 -9
  284. package/dist/chunk-7K6PWTDQ.js +0 -1
  285. package/dist/chunk-7LIAPXJB.js +0 -1
  286. package/dist/chunk-7WPU3UHQ.js +0 -1
  287. package/dist/chunk-A5WCQ5NO.js +0 -1
  288. package/dist/chunk-APPIWSGD.js +0 -84
  289. package/dist/chunk-BEZWM2SY.js +0 -1
  290. package/dist/chunk-C72GO4IZ.js +0 -1
  291. package/dist/chunk-CB676TKJ.js +0 -1
  292. package/dist/chunk-CE6TI2TL.js +0 -1
  293. package/dist/chunk-CE72X3WO.js +0 -1
  294. package/dist/chunk-CK2E7BTU.js +0 -1
  295. package/dist/chunk-CLVB32RD.js +0 -1
  296. package/dist/chunk-CRVT7D2P.js +0 -1
  297. package/dist/chunk-D5RFJOZ2.js +0 -1
  298. package/dist/chunk-D7GPHKFH.js +0 -1
  299. package/dist/chunk-DHRX7JX4.js +0 -2
  300. package/dist/chunk-ESMPEKEV.js +0 -1
  301. package/dist/chunk-F672GV32.js +0 -1
  302. package/dist/chunk-FZMYDOWV.js +0 -1
  303. package/dist/chunk-GHBWHMRZ.js +0 -1
  304. package/dist/chunk-GLERH466.js +0 -1
  305. package/dist/chunk-GPW2V3RE.js +0 -1
  306. package/dist/chunk-HIDYF36O.js +0 -1
  307. package/dist/chunk-HITNVN6B.js +0 -3
  308. package/dist/chunk-HY4DJBA7.js +0 -5
  309. package/dist/chunk-KZIEYVXN.js +0 -1
  310. package/dist/chunk-L6NSJVJZ.js +0 -1
  311. package/dist/chunk-N4MQX6JU.js +0 -18
  312. package/dist/chunk-N7FHEL4D.js +0 -1
  313. package/dist/chunk-NTEURFZH.js +0 -1
  314. package/dist/chunk-OIVP6KFV.js +0 -1
  315. package/dist/chunk-OPHBU3LG.js +0 -1
  316. package/dist/chunk-OYQOZP2F.js +0 -5
  317. package/dist/chunk-PTZK576G.js +0 -1
  318. package/dist/chunk-QYADASLV.js +0 -1
  319. package/dist/chunk-ST7UXLWR.js +0 -1
  320. package/dist/chunk-SVY7VUYU.js +0 -1
  321. package/dist/chunk-TK3NWWD4.js +0 -1
  322. package/dist/chunk-TSOYJ743.js +0 -1
  323. package/dist/chunk-UNGSTR4X.js +0 -61
  324. package/dist/chunk-VIMF6LGM.js +0 -1
  325. package/dist/chunk-VJLMUKOI.js +0 -1
  326. package/dist/chunk-VN6RDSK2.js +0 -1
  327. package/dist/chunk-VV4N5P64.js +0 -1
  328. package/dist/chunk-W3I423PS.js +0 -1
  329. package/dist/chunk-WJR24TAG.js +0 -1
  330. package/dist/chunk-XTGKMHSW.js +0 -1
  331. package/dist/chunk-YBB7ZGTY.js +0 -1
  332. package/dist/chunk-Z4NPUARF.js +0 -1
  333. package/dist/chunk-ZGNQRPDT.js +0 -1
  334. package/dist/chunk-ZKPSFFKU.js +0 -1
  335. package/dist/chunk-ZLV5SQSX.js +0 -1
  336. package/dist/content-addressed-storage-4-ST1tYk.d.cts +0 -124
  337. package/dist/content-addressed-storage-DuYMjV7o.d.ts +0 -124
  338. package/dist/decay-BvOWTZ00.d.ts +0 -112
  339. package/dist/decay-CFlLvXUT.d.cts +0 -112
  340. package/dist/fallback-74oxi34l.d.cts +0 -250
  341. package/dist/fallback-DUyyBTBK.d.ts +0 -250
  342. package/dist/graph-CWvEUQAq.d.cts +0 -1861
  343. package/dist/graph-D9LFnda9.d.ts +0 -1861
  344. package/dist/index-5k1T6jl0.d.cts +0 -121
  345. package/dist/index-9770hRuQ.d.cts +0 -779
  346. package/dist/index-B-_tFaqV.d.cts +0 -468
  347. package/dist/index-B17QddL1.d.cts +0 -374
  348. package/dist/index-B1F8Enjf.d.ts +0 -704
  349. package/dist/index-B5S8ULbU.d.ts +0 -515
  350. package/dist/index-B8YnZpIR.d.ts +0 -102
  351. package/dist/index-BHskSB8v.d.ts +0 -3413
  352. package/dist/index-BIYAkbAi.d.cts +0 -26
  353. package/dist/index-BQSKmbuG.d.cts +0 -127
  354. package/dist/index-BaQaY_IQ.d.cts +0 -231
  355. package/dist/index-BmZXHqkE.d.ts +0 -36
  356. package/dist/index-BoJ5JHxI.d.ts +0 -557
  357. package/dist/index-BocU7pqs.d.ts +0 -779
  358. package/dist/index-BrPrLl4e.d.cts +0 -86
  359. package/dist/index-BxNs2HB9.d.cts +0 -1858
  360. package/dist/index-Byu-OpX_.d.ts +0 -113
  361. package/dist/index-C1T3d7V-.d.cts +0 -704
  362. package/dist/index-C5ri2Axc.d.cts +0 -301
  363. package/dist/index-C5stwKcw.d.cts +0 -44
  364. package/dist/index-C9l6OEBL.d.ts +0 -26
  365. package/dist/index-CBBLl_rc.d.ts +0 -127
  366. package/dist/index-CBGUK09R.d.ts +0 -754
  367. package/dist/index-CC-AvFTy.d.cts +0 -557
  368. package/dist/index-CJF1URuX.d.ts +0 -121
  369. package/dist/index-CK29LV56.d.cts +0 -34
  370. package/dist/index-CMh5Rz1y.d.ts +0 -385
  371. package/dist/index-CPQlGA29.d.ts +0 -34
  372. package/dist/index-CR8QpwX8.d.ts +0 -2680
  373. package/dist/index-CS0LTlB8.d.cts +0 -385
  374. package/dist/index-CSOmP7xT.d.cts +0 -291
  375. package/dist/index-CYq8vAyV.d.ts +0 -291
  376. package/dist/index-CZ3r5Rxp.d.ts +0 -374
  377. package/dist/index-CasX6Pfq.d.cts +0 -358
  378. package/dist/index-CdAlHFEt.d.ts +0 -44
  379. package/dist/index-CdTelp1M.d.ts +0 -202
  380. package/dist/index-CeFiHtAg.d.ts +0 -468
  381. package/dist/index-Cj3WohTd.d.cts +0 -202
  382. package/dist/index-Climxqsu.d.cts +0 -754
  383. package/dist/index-Co7uli2l.d.cts +0 -3413
  384. package/dist/index-CviRnE4K.d.ts +0 -45
  385. package/dist/index-Cwv0KWcU.d.cts +0 -102
  386. package/dist/index-CzLVrjxn.d.ts +0 -231
  387. package/dist/index-D0aciIex.d.cts +0 -209
  388. package/dist/index-DHen9Klo.d.ts +0 -1858
  389. package/dist/index-DV_1YuVk.d.cts +0 -221
  390. package/dist/index-Dc4AYqrJ.d.cts +0 -515
  391. package/dist/index-Dgl1HpPn.d.ts +0 -86
  392. package/dist/index-DisjX8a-.d.ts +0 -221
  393. package/dist/index-UPSiS-X7.d.cts +0 -2680
  394. package/dist/index-Yq60JP3s.d.ts +0 -209
  395. package/dist/index-ZVQhLa2i.d.cts +0 -37
  396. package/dist/index-_6ODbuOu.d.cts +0 -45
  397. package/dist/index-hcDJ8PSI.d.cts +0 -36
  398. package/dist/index-nozs3fFC.d.ts +0 -301
  399. package/dist/index-p09KSrTN.d.ts +0 -358
  400. package/dist/index-sqkqlb1p.d.ts +0 -37
  401. package/dist/index-tRCxuAXF.d.cts +0 -113
  402. package/dist/node-kK3CvTrR.d.cts +0 -1347
  403. package/dist/node-kK3CvTrR.d.ts +0 -1347
  404. package/dist/observable-DWjNfLvC.d.ts +0 -36
  405. package/dist/observable-e3eiPPFy.d.cts +0 -36
  406. package/dist/pipeline-graph-CIKhynsF.d.cts +0 -142
  407. package/dist/pipeline-graph-Sgj0gCwn.d.ts +0 -142
  408. package/dist/reactive-layout-DOTs9P3X.d.ts +0 -183
  409. package/dist/reactive-layout-DgctbqZo.d.cts +0 -183
  410. package/dist/reactive-log-BKALbfal.d.ts +0 -223
  411. package/dist/reactive-log-DIGdYqQ6.d.cts +0 -223
  412. package/dist/reactive-map-CEFGp8TK.d.cts +0 -296
  413. package/dist/reactive-map-DS_SIAxv.d.ts +0 -296
  414. package/dist/resilience-6LYQJAC5.js +0 -1
  415. package/dist/sugar-DQjFmVqb.d.cts +0 -399
  416. package/dist/sugar-fhLIE7TT.d.ts +0 -399
  417. package/dist/topology-tree-Bcz27hpF.d.cts +0 -25
  418. package/dist/topology-tree-xvaD0fOX.d.ts +0 -25
  419. package/dist/types-C0_yquda.d.cts +0 -442
  420. package/dist/types-CWFysE9E.d.ts +0 -442
@@ -1,36 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { N as Node, M as Messages } from './node-kK3CvTrR.js';
3
-
4
- /** Options for {@link toObservable}. */
5
- type ToObservableOptions = {
6
- /**
7
- * When `true`, emit raw `Messages` batches instead of extracted `DATA` values.
8
- * Terminal batches are still emitted as the final `next()` before the
9
- * Observable signal (error/complete).
10
- */
11
- raw?: boolean;
12
- };
13
- /**
14
- * Bridge a `Node<T>` to an RxJS `Observable`.
15
- *
16
- * Default mode emits the node's value on each `DATA` message. Maps `ERROR` to
17
- * `subscriber.error()` and `COMPLETE` to `subscriber.complete()`.
18
- * Protocol-internal signals (DIRTY, RESOLVED, PAUSE, etc.) are skipped.
19
- *
20
- * With `{ raw: true }`, emits full `[[Type, Data?], ...]` message batches.
21
- * The Observable terminates on ERROR or COMPLETE (the terminal batch is still
22
- * emitted as the final `next()` before the Observable signal).
23
- *
24
- * For graph-level observation, use `toObservable(graph.resolve(path))` or
25
- * subscribe to `graph.observe()` directly.
26
- *
27
- * Unsubscribing the Observable unsubscribes the node.
28
- */
29
- declare function toObservable<T>(node: Node<T>, options?: ToObservableOptions & {
30
- raw?: false;
31
- }): Observable<T>;
32
- declare function toObservable<T>(node: Node<T>, options: ToObservableOptions & {
33
- raw: true;
34
- }): Observable<Messages>;
35
-
36
- export { type ToObservableOptions as T, toObservable as t };
@@ -1,36 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { N as Node, M as Messages } from './node-kK3CvTrR.cjs';
3
-
4
- /** Options for {@link toObservable}. */
5
- type ToObservableOptions = {
6
- /**
7
- * When `true`, emit raw `Messages` batches instead of extracted `DATA` values.
8
- * Terminal batches are still emitted as the final `next()` before the
9
- * Observable signal (error/complete).
10
- */
11
- raw?: boolean;
12
- };
13
- /**
14
- * Bridge a `Node<T>` to an RxJS `Observable`.
15
- *
16
- * Default mode emits the node's value on each `DATA` message. Maps `ERROR` to
17
- * `subscriber.error()` and `COMPLETE` to `subscriber.complete()`.
18
- * Protocol-internal signals (DIRTY, RESOLVED, PAUSE, etc.) are skipped.
19
- *
20
- * With `{ raw: true }`, emits full `[[Type, Data?], ...]` message batches.
21
- * The Observable terminates on ERROR or COMPLETE (the terminal batch is still
22
- * emitted as the final `next()` before the Observable signal).
23
- *
24
- * For graph-level observation, use `toObservable(graph.resolve(path))` or
25
- * subscribe to `graph.observe()` directly.
26
- *
27
- * Unsubscribing the Observable unsubscribes the node.
28
- */
29
- declare function toObservable<T>(node: Node<T>, options?: ToObservableOptions & {
30
- raw?: false;
31
- }): Observable<T>;
32
- declare function toObservable<T>(node: Node<T>, options: ToObservableOptions & {
33
- raw: true;
34
- }): Observable<Messages>;
35
-
36
- export { type ToObservableOptions as T, toObservable as t };
@@ -1,142 +0,0 @@
1
- import { N as Node, c as NodeActions } from './node-kK3CvTrR.cjs';
2
- import { a as DerivedFn } from './sugar-DQjFmVqb.cjs';
3
- import { B as BaseAuditRecord } from './index-D0aciIex.cjs';
4
- import { a as ReactiveLogBundle } from './reactive-log-DIGdYqQ6.cjs';
5
- import { G as Graph, a as GraphOptions } from './graph-CWvEUQAq.cjs';
6
-
7
- /**
8
- * PipelineGraph subclass (Wave A.1 Unit 1 — locked 2026-04-24).
9
- *
10
- * Specialized {@link Graph} that hosts workflow-DAG sugar methods:
11
- * `task` / `classify` / `combine` / `approval` / `approvalGate` / `catch`.
12
- * The legacy `pipeline` / `task` / `branch` / `join` / `subPipeline` /
13
- * `approval` / `loop` / `onFailure` factories from {@link ./index} continue
14
- * to work for migration ease; new code should prefer methods on this class.
15
- *
16
- * **Tier 2.3 rename:** the prior `gate(...)` method is now `approvalGate(...)`,
17
- * disambiguating it from the other gate-family primitives (`budgetGate` for
18
- * numeric constraints, `valve` for boolean switching, `policyGate` for ABAC
19
- * rules). The "gating dimension" here is **human judgment**.
20
- *
21
- * Construction: `pipelineGraph(name, opts?)` or `new PipelineGraph(name, opts)`.
22
- */
23
-
24
- type StepRef = string | Node<unknown>;
25
- type DecisionAction = "approve" | "reject" | "modify" | "drop" | "open" | "close" | "teardown";
26
- interface Decision<T = unknown> extends BaseAuditRecord {
27
- readonly action: DecisionAction;
28
- readonly count?: number;
29
- readonly items?: readonly T[];
30
- readonly unflushed?: number;
31
- }
32
- /** Recommended `keyOf` for keyed-storage adapters (Audit 2 #7). */
33
- declare const decisionKeyOf: <T>(d: Decision<T>) => string;
34
- interface GateOptions<T = unknown> {
35
- /** Bounded default 1000 (Audit 2 cross-cutting). `Infinity` is opt-in. */
36
- maxPending?: number;
37
- startOpen?: boolean;
38
- /**
39
- * Reactive auto-approve: gate's `latestIsOpen` mirrors this node's truthy
40
- * value. False→true transition drains the pending queue.
41
- *
42
- * **`COMPLETE` / `ERROR` on the approver are silently ignored** — the gate
43
- * stays in its current state. For permanent-open latching, use
44
- * `onceOnly: true` (the first truthy approval latches; subsequent falsy
45
- * values are ignored). The gate has no graceful terminal-state behavior
46
- * for the approver itself.
47
- */
48
- approver?: Node<unknown>;
49
- /** Latch — first truthy approval opens permanently; `close()` becomes no-op. */
50
- onceOnly?: boolean;
51
- meta?: Record<string, unknown>;
52
- handlerVersion?: {
53
- id: string;
54
- version: string | number;
55
- };
56
- }
57
- interface GateController<T> {
58
- /**
59
- * The post-gate output node. Renamed from `node` (Tier 5.2 / EC6,
60
- * 2026-04-29) to avoid shadowing `Graph.node(name)` when a gate is
61
- * accessed off a `PipelineGraph` instance.
62
- */
63
- readonly output: Node<T>;
64
- readonly pending: Node<readonly T[]>;
65
- readonly count: Node<number>;
66
- readonly isOpen: Node<boolean>;
67
- readonly droppedCount: Node<number>;
68
- readonly decisions: ReactiveLogBundle<Decision<T>>;
69
- readonly audit: ReactiveLogBundle<Decision<T>>;
70
- approve(count?: number): void;
71
- reject(count?: number): void;
72
- modify(fn: (value: T, index: number, pending: readonly T[]) => T, count?: number): void;
73
- open(): void;
74
- close(): void;
75
- }
76
- /**
77
- * Terminal-cause discriminator for the {@link PipelineGraph.catch} recovery
78
- * handler. Tier 1.6.3 status-enum migration: was `{ kind: "complete" | "error" }`
79
- * pre-1.0; aligned with the canonical lifecycle enum
80
- * (`status: "running" | "completed" | "errored" | "cancelled"`). The variant
81
- * structure is preserved — `errored` still carries `error: unknown` and
82
- * `completed` carries no payload.
83
- */
84
- type TerminalCause = {
85
- kind: "errored";
86
- error: unknown;
87
- } | {
88
- kind: "completed";
89
- };
90
- interface CatchOptions<T> {
91
- /**
92
- * Which terminal cause to recover. Default `"errored"` (Tier 1.6.3 rename
93
- * of `"error"`). `"completed"` recovers COMPLETE; `"terminal"` recovers
94
- * either. Aligns with the canonical lifecycle enum that
95
- * {@link TerminalCause.kind} now uses.
96
- */
97
- on?: "errored" | "completed" | "terminal";
98
- completeWhenDepsComplete?: boolean;
99
- meta?: Record<string, unknown>;
100
- handlerVersion?: {
101
- id: string;
102
- version: string | number;
103
- };
104
- }
105
- interface ClassifyResult<TTag extends string, T> {
106
- readonly tag: TTag | "error";
107
- readonly value: T;
108
- readonly error?: unknown;
109
- }
110
- declare class PipelineGraph extends Graph {
111
- constructor(name: string, opts?: GraphOptions);
112
- /**
113
- * Register a workflow task (`derived` + auto-add). String deps resolve via
114
- * `this.resolve(path)`; Node deps via {@link Graph.nameOf} O(1) lookup.
115
- */
116
- task<T>(name: string, run: DerivedFn<T>, opts?: {
117
- deps?: ReadonlyArray<StepRef>;
118
- meta?: Record<string, unknown>;
119
- }): Node<T>;
120
- classify<TTag extends string, T>(name: string, source: StepRef, tagger: (value: T) => TTag, opts?: {
121
- meta?: Record<string, unknown>;
122
- }): Node<ClassifyResult<TTag, T>>;
123
- combine<R extends Record<string, StepRef>>(name: string, deps: R, opts?: {
124
- meta?: Record<string, unknown>;
125
- }): Node<{
126
- [K in keyof R]: unknown;
127
- }>;
128
- approvalGate<T>(name: string, source: StepRef, opts?: GateOptions<T>): GateController<T>;
129
- /**
130
- * Reactive approval step: passes items through when `approver` is truthy;
131
- * holds at most one pending item (maxPending: 1) when falsy. A thin alias
132
- * over `approvalGate({ approver, maxPending: 1 })` — use `approvalGate()`
133
- * directly for finer control (maxPending, onceOnly, manual approve/reject).
134
- */
135
- approval<T>(name: string, source: StepRef, approver: Node<unknown>, opts?: Omit<GateOptions<T>, "approver" | "maxPending">): GateController<T>;
136
- catch<T>(name: string, source: StepRef, recover: (cause: TerminalCause, actions: NodeActions) => T, opts?: CatchOptions<T>): Node<T>;
137
- private _resolveStep;
138
- }
139
- /** Factory wrapper — `pipelineGraph(name, opts?)`. Equivalent to `new PipelineGraph(name, opts)`. */
140
- declare function pipelineGraph(name: string, opts?: GraphOptions): PipelineGraph;
141
-
142
- export { type CatchOptions as C, type Decision as D, type GateController as G, PipelineGraph as P, type StepRef as S, type TerminalCause as T, type ClassifyResult as a, type DecisionAction as b, type GateOptions as c, decisionKeyOf as d, pipelineGraph as p };
@@ -1,142 +0,0 @@
1
- import { N as Node, c as NodeActions } from './node-kK3CvTrR.js';
2
- import { a as DerivedFn } from './sugar-fhLIE7TT.js';
3
- import { B as BaseAuditRecord } from './index-Yq60JP3s.js';
4
- import { a as ReactiveLogBundle } from './reactive-log-BKALbfal.js';
5
- import { G as Graph, a as GraphOptions } from './graph-D9LFnda9.js';
6
-
7
- /**
8
- * PipelineGraph subclass (Wave A.1 Unit 1 — locked 2026-04-24).
9
- *
10
- * Specialized {@link Graph} that hosts workflow-DAG sugar methods:
11
- * `task` / `classify` / `combine` / `approval` / `approvalGate` / `catch`.
12
- * The legacy `pipeline` / `task` / `branch` / `join` / `subPipeline` /
13
- * `approval` / `loop` / `onFailure` factories from {@link ./index} continue
14
- * to work for migration ease; new code should prefer methods on this class.
15
- *
16
- * **Tier 2.3 rename:** the prior `gate(...)` method is now `approvalGate(...)`,
17
- * disambiguating it from the other gate-family primitives (`budgetGate` for
18
- * numeric constraints, `valve` for boolean switching, `policyGate` for ABAC
19
- * rules). The "gating dimension" here is **human judgment**.
20
- *
21
- * Construction: `pipelineGraph(name, opts?)` or `new PipelineGraph(name, opts)`.
22
- */
23
-
24
- type StepRef = string | Node<unknown>;
25
- type DecisionAction = "approve" | "reject" | "modify" | "drop" | "open" | "close" | "teardown";
26
- interface Decision<T = unknown> extends BaseAuditRecord {
27
- readonly action: DecisionAction;
28
- readonly count?: number;
29
- readonly items?: readonly T[];
30
- readonly unflushed?: number;
31
- }
32
- /** Recommended `keyOf` for keyed-storage adapters (Audit 2 #7). */
33
- declare const decisionKeyOf: <T>(d: Decision<T>) => string;
34
- interface GateOptions<T = unknown> {
35
- /** Bounded default 1000 (Audit 2 cross-cutting). `Infinity` is opt-in. */
36
- maxPending?: number;
37
- startOpen?: boolean;
38
- /**
39
- * Reactive auto-approve: gate's `latestIsOpen` mirrors this node's truthy
40
- * value. False→true transition drains the pending queue.
41
- *
42
- * **`COMPLETE` / `ERROR` on the approver are silently ignored** — the gate
43
- * stays in its current state. For permanent-open latching, use
44
- * `onceOnly: true` (the first truthy approval latches; subsequent falsy
45
- * values are ignored). The gate has no graceful terminal-state behavior
46
- * for the approver itself.
47
- */
48
- approver?: Node<unknown>;
49
- /** Latch — first truthy approval opens permanently; `close()` becomes no-op. */
50
- onceOnly?: boolean;
51
- meta?: Record<string, unknown>;
52
- handlerVersion?: {
53
- id: string;
54
- version: string | number;
55
- };
56
- }
57
- interface GateController<T> {
58
- /**
59
- * The post-gate output node. Renamed from `node` (Tier 5.2 / EC6,
60
- * 2026-04-29) to avoid shadowing `Graph.node(name)` when a gate is
61
- * accessed off a `PipelineGraph` instance.
62
- */
63
- readonly output: Node<T>;
64
- readonly pending: Node<readonly T[]>;
65
- readonly count: Node<number>;
66
- readonly isOpen: Node<boolean>;
67
- readonly droppedCount: Node<number>;
68
- readonly decisions: ReactiveLogBundle<Decision<T>>;
69
- readonly audit: ReactiveLogBundle<Decision<T>>;
70
- approve(count?: number): void;
71
- reject(count?: number): void;
72
- modify(fn: (value: T, index: number, pending: readonly T[]) => T, count?: number): void;
73
- open(): void;
74
- close(): void;
75
- }
76
- /**
77
- * Terminal-cause discriminator for the {@link PipelineGraph.catch} recovery
78
- * handler. Tier 1.6.3 status-enum migration: was `{ kind: "complete" | "error" }`
79
- * pre-1.0; aligned with the canonical lifecycle enum
80
- * (`status: "running" | "completed" | "errored" | "cancelled"`). The variant
81
- * structure is preserved — `errored` still carries `error: unknown` and
82
- * `completed` carries no payload.
83
- */
84
- type TerminalCause = {
85
- kind: "errored";
86
- error: unknown;
87
- } | {
88
- kind: "completed";
89
- };
90
- interface CatchOptions<T> {
91
- /**
92
- * Which terminal cause to recover. Default `"errored"` (Tier 1.6.3 rename
93
- * of `"error"`). `"completed"` recovers COMPLETE; `"terminal"` recovers
94
- * either. Aligns with the canonical lifecycle enum that
95
- * {@link TerminalCause.kind} now uses.
96
- */
97
- on?: "errored" | "completed" | "terminal";
98
- completeWhenDepsComplete?: boolean;
99
- meta?: Record<string, unknown>;
100
- handlerVersion?: {
101
- id: string;
102
- version: string | number;
103
- };
104
- }
105
- interface ClassifyResult<TTag extends string, T> {
106
- readonly tag: TTag | "error";
107
- readonly value: T;
108
- readonly error?: unknown;
109
- }
110
- declare class PipelineGraph extends Graph {
111
- constructor(name: string, opts?: GraphOptions);
112
- /**
113
- * Register a workflow task (`derived` + auto-add). String deps resolve via
114
- * `this.resolve(path)`; Node deps via {@link Graph.nameOf} O(1) lookup.
115
- */
116
- task<T>(name: string, run: DerivedFn<T>, opts?: {
117
- deps?: ReadonlyArray<StepRef>;
118
- meta?: Record<string, unknown>;
119
- }): Node<T>;
120
- classify<TTag extends string, T>(name: string, source: StepRef, tagger: (value: T) => TTag, opts?: {
121
- meta?: Record<string, unknown>;
122
- }): Node<ClassifyResult<TTag, T>>;
123
- combine<R extends Record<string, StepRef>>(name: string, deps: R, opts?: {
124
- meta?: Record<string, unknown>;
125
- }): Node<{
126
- [K in keyof R]: unknown;
127
- }>;
128
- approvalGate<T>(name: string, source: StepRef, opts?: GateOptions<T>): GateController<T>;
129
- /**
130
- * Reactive approval step: passes items through when `approver` is truthy;
131
- * holds at most one pending item (maxPending: 1) when falsy. A thin alias
132
- * over `approvalGate({ approver, maxPending: 1 })` — use `approvalGate()`
133
- * directly for finer control (maxPending, onceOnly, manual approve/reject).
134
- */
135
- approval<T>(name: string, source: StepRef, approver: Node<unknown>, opts?: Omit<GateOptions<T>, "approver" | "maxPending">): GateController<T>;
136
- catch<T>(name: string, source: StepRef, recover: (cause: TerminalCause, actions: NodeActions) => T, opts?: CatchOptions<T>): Node<T>;
137
- private _resolveStep;
138
- }
139
- /** Factory wrapper — `pipelineGraph(name, opts?)`. Equivalent to `new PipelineGraph(name, opts)`. */
140
- declare function pipelineGraph(name: string, opts?: GraphOptions): PipelineGraph;
141
-
142
- export { type CatchOptions as C, type Decision as D, type GateController as G, PipelineGraph as P, type StepRef as S, type TerminalCause as T, type ClassifyResult as a, type DecisionAction as b, type GateOptions as c, decisionKeyOf as d, pipelineGraph as p };
@@ -1,183 +0,0 @@
1
- import { N as Node } from './node-kK3CvTrR.js';
2
- import { G as Graph } from './graph-D9LFnda9.js';
3
-
4
- /** Pluggable measurement backend. */
5
- interface MeasurementAdapter {
6
- measureSegment(text: string, font: string): {
7
- width: number;
8
- };
9
- /** Optional; adapters may omit for read-only / stateless measurement. */
10
- clearCache?(): void;
11
- }
12
- /** Mutable counters for `analyzeAndMeasure` cache hit ratio (hits / (hits + misses)). */
13
- type SegmentMeasureStats = {
14
- hits: number;
15
- misses: number;
16
- };
17
- /** Break kind for each segment (ported from Pretext analysis.ts). */
18
- type SegmentBreakKind = "text" | "space" | "zero-width-break" | "soft-hyphen" | "hard-break";
19
- /** A measured text segment ready for line breaking. */
20
- type PreparedSegment = {
21
- text: string;
22
- width: number;
23
- kind: SegmentBreakKind;
24
- /** Grapheme widths for overflow-wrap: break-word (null if single grapheme). */
25
- graphemeWidths: number[] | null;
26
- };
27
- /** A laid-out line with start/end cursors. */
28
- type LayoutLine = {
29
- text: string;
30
- width: number;
31
- startSegment: number;
32
- startGrapheme: number;
33
- endSegment: number;
34
- endGrapheme: number;
35
- };
36
- /** Per-character position for hit testing. */
37
- type CharPosition = {
38
- x: number;
39
- y: number;
40
- width: number;
41
- height: number;
42
- line: number;
43
- };
44
- /** Full layout result from the line-breaks derived node. */
45
- type LineBreaksResult = {
46
- lines: LayoutLine[];
47
- lineCount: number;
48
- };
49
- /**
50
- * A position within `PreparedSegment[]` — segment + grapheme offset.
51
- * `graphemeIndex: 0` at segment boundaries.
52
- *
53
- * Used by {@link layoutNextLine} for cursor-based line walking; needed when
54
- * lines have varying widths (multi-column flow, text wrapping around obstacles).
55
- */
56
- type LayoutCursor = {
57
- segmentIndex: number;
58
- graphemeIndex: number;
59
- };
60
- /** A horizontal span `[left, right]` in pixels — used by flow-layout slot carving. */
61
- type Interval = {
62
- left: number;
63
- right: number;
64
- };
65
- /** Result of a single `layoutNextLine` call. */
66
- type LayoutNextLineResult = {
67
- text: string;
68
- width: number;
69
- start: LayoutCursor;
70
- end: LayoutCursor;
71
- };
72
- /** Optional context for `layoutNextLine` — enables soft-hyphen visible-hyphen rendering. */
73
- type LayoutNextLineContext = {
74
- adapter?: MeasurementAdapter;
75
- font?: string;
76
- cache?: Map<string, Map<string, number>>;
77
- };
78
- /** Result of the reactive layout graph's describe-accessible state. */
79
- type ReactiveLayoutBundle = {
80
- graph: Graph;
81
- /** Set input text. */
82
- setText: (text: string) => void;
83
- /** Set CSS font string. */
84
- setFont: (font: string) => void;
85
- /** Set line height (px). */
86
- setLineHeight: (lineHeight: number) => void;
87
- /** Set max width constraint (px). */
88
- setMaxWidth: (maxWidth: number) => void;
89
- /** Segments node. */
90
- segments: Node<PreparedSegment[]>;
91
- /** Line breaks node. */
92
- lineBreaks: Node<LineBreaksResult>;
93
- /** Total height node. */
94
- height: Node<number>;
95
- /** Per-character positions node. */
96
- charPositions: Node<CharPosition[]>;
97
- };
98
- /**
99
- * Merge segmentation pieces: sticky punctuation, CJK per-grapheme splitting,
100
- * and produce the final measured segment list.
101
- */
102
- declare function analyzeAndMeasure(text: string, font: string, adapter: MeasurementAdapter, cache: Map<string, Map<string, number>>, stats?: SegmentMeasureStats): PreparedSegment[];
103
- /**
104
- * Greedy line-breaking algorithm.
105
- *
106
- * Walks segments left to right, accumulating width. Breaks when a segment would
107
- * overflow maxWidth. Supports:
108
- * - Trailing space hang (spaces don't trigger breaks)
109
- * - overflow-wrap: break-word via grapheme widths
110
- * - Soft hyphens (break opportunity, adds visible hyphen width)
111
- * - Hard breaks (forced newline)
112
- */
113
- declare function computeLineBreaks(segments: PreparedSegment[], maxWidth: number, adapter: MeasurementAdapter, font: string, cache: Map<string, Map<string, number>>): LineBreaksResult;
114
- /**
115
- * Lay out the next single line starting from `cursor`, fitting into `slotWidth`.
116
- *
117
- * Unlike `computeLineBreaks`, which consumes whole text with one `maxWidth`,
118
- * this is the cursor-based primitive needed when successive lines have different
119
- * widths (multi-column flow, text wrapping around shape obstacles, mixed
120
- * column+pullquote layouts).
121
- *
122
- * Returns `null` when the cursor is past all segments (text exhausted).
123
- * At a hard-break with no preceding content, returns an empty line and advances
124
- * the cursor past the break so the caller can continue.
125
- *
126
- * ```ts
127
- * let cursor: LayoutCursor = { segmentIndex: 0, graphemeIndex: 0 };
128
- * while (true) {
129
- * const line = layoutNextLine(segments, cursor, availableWidth);
130
- * if (line === null) break;
131
- * render(line);
132
- * cursor = line.end;
133
- * }
134
- * ```
135
- */
136
- declare function layoutNextLine(segments: PreparedSegment[], cursor: LayoutCursor, slotWidth: number, ctx?: LayoutNextLineContext): LayoutNextLineResult | null;
137
- /**
138
- * Subtract blocked horizontal intervals from a base interval, producing
139
- * remaining ordered, non-overlapping slots wide enough to fit text.
140
- *
141
- * Pure geometry — no text dependency. Used by flow-layout to turn obstacle
142
- * intersections into per-line layout slots.
143
- *
144
- * ```ts
145
- * carveTextLineSlots({left: 0, right: 600}, [{left: 200, right: 280}])
146
- * // → [{left: 0, right: 200}, {left: 280, right: 600}]
147
- * ```
148
- */
149
- declare function carveTextLineSlots(base: Interval, blocked: Interval[], minSlotWidth?: number): Interval[];
150
- /** Compute per-character x,y positions from line breaks and segments. */
151
- declare function computeCharPositions(lineBreaks: LineBreaksResult, segments: PreparedSegment[], lineHeight: number): CharPosition[];
152
- type ReactiveLayoutOptions = {
153
- /** Measurement backend (required). */
154
- adapter: MeasurementAdapter;
155
- /** Graph name (default: "reactive-layout"). */
156
- name?: string;
157
- /** Initial text. */
158
- text?: string;
159
- /** Initial CSS font string. */
160
- font?: string;
161
- /** Initial line height in px. */
162
- lineHeight?: number;
163
- /** Initial max width in px (clamped to ≥ 0). */
164
- maxWidth?: number;
165
- };
166
- /**
167
- * Create a reactive text layout graph.
168
- *
169
- * ```
170
- * Graph("reactive-layout")
171
- * ├── state("text")
172
- * ├── state("font")
173
- * ├── state("line-height")
174
- * ├── state("max-width")
175
- * ├── derived("segments") — text + font → PreparedSegment[]
176
- * ├── derived("line-breaks") — segments + max-width → LineBreaksResult
177
- * ├── derived("height") — line-breaks → number
178
- * └── derived("char-positions") — line-breaks + segments → CharPosition[]
179
- * ```
180
- */
181
- declare function reactiveLayout(opts: ReactiveLayoutOptions): ReactiveLayoutBundle;
182
-
183
- export { type CharPosition as C, type Interval as I, type LineBreaksResult as L, type MeasurementAdapter as M, type PreparedSegment as P, type ReactiveLayoutBundle as R, type SegmentBreakKind as S, type LayoutCursor as a, type LayoutLine as b, type LayoutNextLineContext as c, type LayoutNextLineResult as d, type ReactiveLayoutOptions as e, type SegmentMeasureStats as f, analyzeAndMeasure as g, carveTextLineSlots as h, computeCharPositions as i, computeLineBreaks as j, layoutNextLine as l, reactiveLayout as r };