@graphrefly/ts 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/README.md +135 -0
  2. package/dist/actions-types-CSC3NMDl.d.ts +657 -0
  3. package/dist/actions-types-wl9Mgkmr.d.cts +657 -0
  4. package/dist/adapters/index.cjs +5219 -2974
  5. package/dist/adapters/index.cjs.map +1 -1
  6. package/dist/adapters/index.d.cts +204 -192
  7. package/dist/adapters/index.d.ts +204 -192
  8. package/dist/adapters/index.js +3685 -1833
  9. package/dist/adapters/index.js.map +1 -1
  10. package/dist/adapters/nestjs/microservices.cjs +841 -0
  11. package/dist/adapters/nestjs/microservices.cjs.map +1 -0
  12. package/dist/adapters/nestjs/microservices.d.cts +45 -0
  13. package/dist/adapters/nestjs/microservices.d.ts +45 -0
  14. package/dist/adapters/nestjs/microservices.js +206 -0
  15. package/dist/adapters/nestjs/microservices.js.map +1 -0
  16. package/dist/adapters/nestjs/native.cjs +1391 -0
  17. package/dist/adapters/nestjs/native.cjs.map +1 -0
  18. package/dist/adapters/nestjs/native.d.cts +111 -0
  19. package/dist/adapters/nestjs/native.d.ts +111 -0
  20. package/dist/adapters/nestjs/native.js +577 -0
  21. package/dist/adapters/nestjs/native.js.map +1 -0
  22. package/dist/adapters/nestjs/websockets.cjs +924 -0
  23. package/dist/adapters/nestjs/websockets.cjs.map +1 -0
  24. package/dist/adapters/nestjs/websockets.d.cts +47 -0
  25. package/dist/adapters/nestjs/websockets.d.ts +47 -0
  26. package/dist/adapters/nestjs/websockets.js +286 -0
  27. package/dist/adapters/nestjs/websockets.js.map +1 -0
  28. package/dist/adapters/nestjs.cjs +1085 -0
  29. package/dist/adapters/nestjs.cjs.map +1 -0
  30. package/dist/adapters/nestjs.d.cts +385 -0
  31. package/dist/adapters/nestjs.d.ts +385 -0
  32. package/dist/adapters/nestjs.js +112 -0
  33. package/dist/adapters/nestjs.js.map +1 -0
  34. package/dist/adapters/observe-storage.d.cts +4 -4
  35. package/dist/adapters/observe-storage.d.ts +4 -4
  36. package/dist/adapters/observe-storage.js +5 -4
  37. package/dist/adapters/observe-storage.js.map +1 -1
  38. package/dist/adapters/react.cjs +166 -0
  39. package/dist/adapters/react.cjs.map +1 -0
  40. package/dist/adapters/react.d.cts +31 -0
  41. package/dist/adapters/react.d.ts +31 -0
  42. package/dist/adapters/react.js +51 -0
  43. package/dist/adapters/react.js.map +1 -0
  44. package/dist/adapters/solid.cjs +157 -0
  45. package/dist/adapters/solid.cjs.map +1 -0
  46. package/dist/adapters/solid.d.cts +26 -0
  47. package/dist/adapters/solid.d.ts +26 -0
  48. package/dist/adapters/solid.js +48 -0
  49. package/dist/adapters/solid.js.map +1 -0
  50. package/dist/adapters/svelte.cjs +148 -0
  51. package/dist/adapters/svelte.cjs.map +1 -0
  52. package/dist/adapters/svelte.d.cts +31 -0
  53. package/dist/adapters/svelte.d.ts +31 -0
  54. package/dist/adapters/svelte.js +46 -0
  55. package/dist/adapters/svelte.js.map +1 -0
  56. package/dist/adapters/vue.cjs +155 -0
  57. package/dist/adapters/vue.cjs.map +1 -0
  58. package/dist/adapters/vue.d.cts +26 -0
  59. package/dist/adapters/vue.d.ts +26 -0
  60. package/dist/adapters/vue.js +46 -0
  61. package/dist/adapters/vue.js.map +1 -0
  62. package/dist/agent-runtime-types-core-CaXfKNtY.d.cts +406 -0
  63. package/dist/agent-runtime-types-core-hU299uIC.d.ts +406 -0
  64. package/dist/agent-runtime-types-tool-BEpSINol.d.ts +695 -0
  65. package/dist/agent-runtime-types-tool-DninPEzk.d.cts +695 -0
  66. package/dist/agentic-memory-retention-BmGX368S.d.ts +14 -0
  67. package/dist/agentic-memory-retention-Ih1qhX9Z.d.cts +14 -0
  68. package/dist/agentic-memory-types-CVSUS6XR.d.ts +473 -0
  69. package/dist/agentic-memory-types-FnnYlVUs.d.cts +473 -0
  70. package/dist/capability-admission-BW2CziT6.d.ts +102 -0
  71. package/dist/capability-admission-lwSecxXs.d.cts +102 -0
  72. package/dist/chunk-2KUAG2GZ.js +9693 -0
  73. package/dist/chunk-2KUAG2GZ.js.map +1 -0
  74. package/dist/chunk-2NJP6GO4.js +1320 -0
  75. package/dist/chunk-2NJP6GO4.js.map +1 -0
  76. package/dist/{chunk-GDL26N2T.js → chunk-3KN7NJDR.js} +2 -2
  77. package/dist/{chunk-COHO25CZ.js → chunk-4NWSNI4K.js} +2232 -1672
  78. package/dist/chunk-4NWSNI4K.js.map +1 -0
  79. package/dist/{chunk-Z2ANQ6JW.js → chunk-4Q77MMJY.js} +2 -2
  80. package/dist/chunk-6E76H4OU.js +132 -0
  81. package/dist/chunk-6E76H4OU.js.map +1 -0
  82. package/dist/chunk-7GOTIIQ7.js +819 -0
  83. package/dist/chunk-7GOTIIQ7.js.map +1 -0
  84. package/dist/{chunk-D6BG7U6A.js → chunk-7HZRJMN6.js} +3 -3
  85. package/dist/{chunk-SCRFRCGR.js → chunk-BSQGE5PS.js} +1 -1
  86. package/dist/{chunk-PKVBHGBM.js → chunk-CJIFGJQG.js} +7 -7
  87. package/dist/{chunk-G4M3NHRJ.js → chunk-CX6B6PO2.js} +93 -10
  88. package/dist/chunk-CX6B6PO2.js.map +1 -0
  89. package/dist/chunk-DGUM43GV.js +11 -0
  90. package/dist/chunk-DGUM43GV.js.map +1 -0
  91. package/dist/{chunk-JIMUDQN3.js → chunk-E4QCH32M.js} +449 -447
  92. package/dist/chunk-E4QCH32M.js.map +1 -0
  93. package/dist/{chunk-RIIOUTGM.js → chunk-ECURQ3HD.js} +19 -129
  94. package/dist/chunk-ECURQ3HD.js.map +1 -0
  95. package/dist/{chunk-2ILL7HQI.js → chunk-EOKT4QFF.js} +134 -128
  96. package/dist/chunk-EOKT4QFF.js.map +1 -0
  97. package/dist/{chunk-K3FXTC3I.js → chunk-HJACH5PU.js} +3 -3
  98. package/dist/{chunk-GTPCOEOZ.js → chunk-IDMLXLLG.js} +3 -3
  99. package/dist/{chunk-DKP56CSW.js → chunk-JKAYLDQV.js} +2 -2
  100. package/dist/{chunk-4VLAQHZI.js → chunk-K7FB3JTD.js} +17 -1
  101. package/dist/chunk-K7FB3JTD.js.map +1 -0
  102. package/dist/chunk-L6LDXRWE.js +219 -0
  103. package/dist/chunk-L6LDXRWE.js.map +1 -0
  104. package/dist/chunk-M7J6Z4IJ.js +1930 -0
  105. package/dist/chunk-M7J6Z4IJ.js.map +1 -0
  106. package/dist/chunk-MQEQMS7B.js +1009 -0
  107. package/dist/chunk-MQEQMS7B.js.map +1 -0
  108. package/dist/chunk-MTELVIYR.js +1421 -0
  109. package/dist/chunk-MTELVIYR.js.map +1 -0
  110. package/dist/chunk-PVC7WDKI.js +885 -0
  111. package/dist/chunk-PVC7WDKI.js.map +1 -0
  112. package/dist/chunk-RAHNUYA5.js +368 -0
  113. package/dist/chunk-RAHNUYA5.js.map +1 -0
  114. package/dist/{chunk-DK554R7P.js → chunk-S6HXABGL.js} +2 -1
  115. package/dist/chunk-S6HXABGL.js.map +1 -0
  116. package/dist/{chunk-I3IHOHCJ.js → chunk-SHZDP2MQ.js} +1181 -1001
  117. package/dist/chunk-SHZDP2MQ.js.map +1 -0
  118. package/dist/{chunk-Y3ZLRGHC.js → chunk-SIDJO2T4.js} +16 -16
  119. package/dist/chunk-STXRMPW4.js +4131 -0
  120. package/dist/chunk-STXRMPW4.js.map +1 -0
  121. package/dist/{chunk-JR4IKCR2.js → chunk-TPND5MJS.js} +5 -5
  122. package/dist/chunk-TQPCAIQI.js +612 -0
  123. package/dist/chunk-TQPCAIQI.js.map +1 -0
  124. package/dist/chunk-UT3MHJCW.js +49 -0
  125. package/dist/chunk-UT3MHJCW.js.map +1 -0
  126. package/dist/{chunk-TEW47IVR.js → chunk-VPEFSDME.js} +2 -2
  127. package/dist/{chunk-SWTLEQL6.js → chunk-WQIA3GFB.js} +2 -2
  128. package/dist/chunk-WQIA3GFB.js.map +1 -0
  129. package/dist/{chunk-DJC4CHLQ.js → chunk-YDWBXXQZ.js} +5 -5
  130. package/dist/{chunk-6PHB5CJS.js → chunk-ZLFRB6FI.js} +2 -2
  131. package/dist/composition/index.cjs +1256 -1059
  132. package/dist/composition/index.cjs.map +1 -1
  133. package/dist/composition/index.d.cts +4 -4
  134. package/dist/composition/index.d.ts +4 -4
  135. package/dist/composition/index.js +7 -6
  136. package/dist/core/index.cjs +1218 -1021
  137. package/dist/core/index.cjs.map +1 -1
  138. package/dist/core/index.d.cts +2 -2
  139. package/dist/core/index.d.ts +2 -2
  140. package/dist/core/index.js +5 -4
  141. package/dist/cqrs/index.cjs.map +1 -1
  142. package/dist/cqrs/index.d.cts +4 -4
  143. package/dist/cqrs/index.d.ts +4 -4
  144. package/dist/cqrs/index.js +3 -2
  145. package/dist/cqrs/index.js.map +1 -1
  146. package/dist/cqrs/messaging.cjs +312 -0
  147. package/dist/cqrs/messaging.cjs.map +1 -0
  148. package/dist/cqrs/messaging.d.cts +57 -0
  149. package/dist/cqrs/messaging.d.ts +57 -0
  150. package/dist/cqrs/messaging.js +274 -0
  151. package/dist/cqrs/messaging.js.map +1 -0
  152. package/dist/cqrs/work-queue.cjs +329 -0
  153. package/dist/cqrs/work-queue.cjs.map +1 -0
  154. package/dist/cqrs/work-queue.d.cts +90 -0
  155. package/dist/cqrs/work-queue.d.ts +90 -0
  156. package/dist/cqrs/work-queue.js +292 -0
  157. package/dist/cqrs/work-queue.js.map +1 -0
  158. package/dist/data/index.cjs +19 -0
  159. package/dist/data/index.cjs.map +1 -0
  160. package/dist/data/index.d.cts +36 -0
  161. package/dist/data/index.d.ts +36 -0
  162. package/dist/data/index.js +1 -0
  163. package/dist/data/index.js.map +1 -0
  164. package/dist/data-structures/index.cjs +1252 -1052
  165. package/dist/data-structures/index.cjs.map +1 -1
  166. package/dist/data-structures/index.d.cts +9 -8
  167. package/dist/data-structures/index.d.ts +9 -8
  168. package/dist/data-structures/index.js +9 -7
  169. package/dist/{describe-BZb7AS2y.d.ts → describe-B_A5fbXH.d.ts} +1 -1
  170. package/dist/{describe-Ciu8SUnN.d.cts → describe-CQRrkv-Q.d.cts} +1 -1
  171. package/dist/executors/tool-provider-adapters.cjs +3091 -0
  172. package/dist/executors/tool-provider-adapters.cjs.map +1 -0
  173. package/dist/executors/tool-provider-adapters.d.cts +174 -0
  174. package/dist/executors/tool-provider-adapters.d.ts +174 -0
  175. package/dist/executors/tool-provider-adapters.js +1336 -0
  176. package/dist/executors/tool-provider-adapters.js.map +1 -0
  177. package/dist/executors/tool-provider-runtime.cjs +5178 -0
  178. package/dist/executors/tool-provider-runtime.cjs.map +1 -0
  179. package/dist/executors/tool-provider-runtime.d.cts +17 -0
  180. package/dist/executors/tool-provider-runtime.d.ts +17 -0
  181. package/dist/executors/tool-provider-runtime.js +15 -0
  182. package/dist/executors/tool-provider-runtime.js.map +1 -0
  183. package/dist/executors/tool-provider.cjs +6392 -0
  184. package/dist/executors/tool-provider.cjs.map +1 -0
  185. package/dist/executors/tool-provider.d.cts +60 -0
  186. package/dist/executors/tool-provider.d.ts +60 -0
  187. package/dist/executors/tool-provider.js +89 -0
  188. package/dist/executors/tool-provider.js.map +1 -0
  189. package/dist/executors/work-queue.cjs +342 -0
  190. package/dist/executors/work-queue.cjs.map +1 -0
  191. package/dist/executors/work-queue.d.cts +90 -0
  192. package/dist/executors/work-queue.d.ts +90 -0
  193. package/dist/executors/work-queue.js +306 -0
  194. package/dist/executors/work-queue.js.map +1 -0
  195. package/dist/graph/index.cjs +1536 -1324
  196. package/dist/graph/index.cjs.map +1 -1
  197. package/dist/graph/index.d.cts +10 -9
  198. package/dist/graph/index.d.ts +10 -9
  199. package/dist/graph/index.js +22 -20
  200. package/dist/{graph-s23RbbFO.d.cts → graph-CWK3HLPB.d.cts} +134 -132
  201. package/dist/{graph-DfdF9zy4.d.ts → graph-ho5sotHP.d.ts} +134 -132
  202. package/dist/{index-SnzZu3x7.d.ts → index-CQWcE0Dw.d.ts} +18 -4
  203. package/dist/{index-CAEmLCYF.d.cts → index-DHA1i67c.d.cts} +18 -4
  204. package/dist/index.cjs +3331 -3020
  205. package/dist/index.cjs.map +1 -1
  206. package/dist/index.d.cts +14 -10
  207. package/dist/index.d.ts +14 -10
  208. package/dist/index.js +114 -108
  209. package/dist/inspection/boundary.cjs +98 -0
  210. package/dist/inspection/boundary.cjs.map +1 -0
  211. package/dist/inspection/boundary.d.cts +61 -0
  212. package/dist/inspection/boundary.d.ts +61 -0
  213. package/dist/inspection/boundary.js +75 -0
  214. package/dist/inspection/boundary.js.map +1 -0
  215. package/dist/measurements-C0mAvWU1.d.cts +164 -0
  216. package/dist/measurements-OMpCeBwh.d.ts +164 -0
  217. package/dist/{messages-BZqrGGm1.d.ts → messages-CAzUPPJM.d.cts} +10 -5
  218. package/dist/{messages-BZqrGGm1.d.cts → messages-CAzUPPJM.d.ts} +10 -5
  219. package/dist/messaging/index.cjs +756 -619
  220. package/dist/messaging/index.cjs.map +1 -1
  221. package/dist/messaging/index.d.cts +17 -226
  222. package/dist/messaging/index.d.ts +17 -226
  223. package/dist/messaging/index.js +19 -749
  224. package/dist/messaging/index.js.map +1 -1
  225. package/dist/operators/index.cjs +1256 -1059
  226. package/dist/operators/index.cjs.map +1 -1
  227. package/dist/operators/index.d.cts +6 -6
  228. package/dist/operators/index.d.ts +6 -6
  229. package/dist/operators/index.js +9 -8
  230. package/dist/orchestration/index.cjs +8664 -2617
  231. package/dist/orchestration/index.cjs.map +1 -1
  232. package/dist/orchestration/index.d.cts +171 -221
  233. package/dist/orchestration/index.d.ts +171 -221
  234. package/dist/orchestration/index.js +74 -982
  235. package/dist/orchestration/index.js.map +1 -1
  236. package/dist/orchestration/messaging.cjs +314 -0
  237. package/dist/orchestration/messaging.cjs.map +1 -0
  238. package/dist/orchestration/messaging.d.cts +56 -0
  239. package/dist/orchestration/messaging.d.ts +56 -0
  240. package/dist/orchestration/messaging.js +276 -0
  241. package/dist/orchestration/messaging.js.map +1 -0
  242. package/dist/orchestration/work-queue.cjs +1500 -0
  243. package/dist/orchestration/work-queue.cjs.map +1 -0
  244. package/dist/orchestration/work-queue.d.cts +196 -0
  245. package/dist/orchestration/work-queue.d.ts +196 -0
  246. package/dist/orchestration/work-queue.js +1289 -0
  247. package/dist/orchestration/work-queue.js.map +1 -0
  248. package/dist/patterns/event-flow.cjs +433 -0
  249. package/dist/patterns/event-flow.cjs.map +1 -0
  250. package/dist/patterns/event-flow.d.cts +115 -0
  251. package/dist/patterns/event-flow.d.ts +115 -0
  252. package/dist/patterns/event-flow.js +14 -0
  253. package/dist/patterns/event-flow.js.map +1 -0
  254. package/dist/patterns/index.cjs +748 -355
  255. package/dist/patterns/index.cjs.map +1 -1
  256. package/dist/patterns/index.d.cts +9 -5
  257. package/dist/patterns/index.d.ts +9 -5
  258. package/dist/patterns/index.js +13 -4
  259. package/dist/process-types-C9uMYz3i.d.ts +200 -0
  260. package/dist/process-types-h3uRlzDc.d.cts +200 -0
  261. package/dist/{reactive-collection-BxBqtIOE.d.cts → reactive-collection-B9R0Bl1P.d.cts} +11 -41
  262. package/dist/{reactive-collection-Cb1II1Fi.d.ts → reactive-collection-BXFrH0U2.d.ts} +11 -41
  263. package/dist/{reactive-collection-storage-D-KmjE0J.d.cts → reactive-collection-storage-BLGv8Xp8.d.cts} +5 -5
  264. package/dist/{reactive-collection-storage-BNiEc-Gd.d.ts → reactive-collection-storage-a4zD3665.d.ts} +5 -5
  265. package/dist/{reactive-map-BcB4KsQR.d.ts → reactive-map-C_8sOfdS.d.cts} +7 -6
  266. package/dist/{reactive-map-D-g3dv8I.d.cts → reactive-map-jle5dnok.d.ts} +7 -6
  267. package/dist/render/index.d.cts +3 -3
  268. package/dist/render/index.d.ts +3 -3
  269. package/dist/render/index.js +1 -0
  270. package/dist/scheduled-readiness-5rwQlyjV.d.ts +91 -0
  271. package/dist/scheduled-readiness-DpRY8jI0.d.cts +91 -0
  272. package/dist/semantic-memory-graph-C2ZUwIlq.d.ts +30 -0
  273. package/dist/semantic-memory-graph-DlZBD_Eu.d.cts +30 -0
  274. package/dist/{semantic-memory-graph-BYoIlP35.d.cts → semantic-memory-graph-types-BvzdqmkY.d.cts} +2 -28
  275. package/dist/{semantic-memory-graph-CxyXLms3.d.ts → semantic-memory-graph-types-Ci-OtahO.d.ts} +2 -28
  276. package/dist/solutions/index.cjs +6788 -2128
  277. package/dist/solutions/index.cjs.map +1 -1
  278. package/dist/solutions/index.d.cts +15 -519
  279. package/dist/solutions/index.d.ts +15 -519
  280. package/dist/solutions/index.js +91 -7
  281. package/dist/solutions/reactive-layout/browser/index.cjs +457 -0
  282. package/dist/solutions/reactive-layout/browser/index.cjs.map +1 -0
  283. package/dist/solutions/reactive-layout/browser/index.d.cts +44 -0
  284. package/dist/solutions/reactive-layout/browser/index.d.ts +44 -0
  285. package/dist/solutions/reactive-layout/browser/index.js +69 -0
  286. package/dist/solutions/reactive-layout/browser/index.js.map +1 -0
  287. package/dist/solutions/reactive-layout/index.cjs +4494 -0
  288. package/dist/solutions/reactive-layout/index.cjs.map +1 -0
  289. package/dist/solutions/reactive-layout/index.d.cts +37 -0
  290. package/dist/solutions/reactive-layout/index.d.ts +37 -0
  291. package/dist/solutions/reactive-layout/index.js +146 -0
  292. package/dist/solutions/reactive-layout/index.js.map +1 -0
  293. package/dist/solutions/reactive-layout/node-canvas/index.cjs +555 -0
  294. package/dist/solutions/reactive-layout/node-canvas/index.cjs.map +1 -0
  295. package/dist/solutions/reactive-layout/node-canvas/index.d.cts +54 -0
  296. package/dist/solutions/reactive-layout/node-canvas/index.d.ts +54 -0
  297. package/dist/solutions/reactive-layout/node-canvas/index.js +131 -0
  298. package/dist/solutions/reactive-layout/node-canvas/index.js.map +1 -0
  299. package/dist/solutions/reactive-layout/react-native/index.cjs +504 -0
  300. package/dist/solutions/reactive-layout/react-native/index.cjs.map +1 -0
  301. package/dist/solutions/reactive-layout/react-native/index.d.cts +51 -0
  302. package/dist/solutions/reactive-layout/react-native/index.d.ts +51 -0
  303. package/dist/solutions/reactive-layout/react-native/index.js +77 -0
  304. package/dist/solutions/reactive-layout/react-native/index.js.map +1 -0
  305. package/dist/solutions/reactive-layout/skia/index.cjs +557 -0
  306. package/dist/solutions/reactive-layout/skia/index.cjs.map +1 -0
  307. package/dist/solutions/reactive-layout/skia/index.d.cts +64 -0
  308. package/dist/solutions/reactive-layout/skia/index.d.ts +64 -0
  309. package/dist/solutions/reactive-layout/skia/index.js +70 -0
  310. package/dist/solutions/reactive-layout/skia/index.js.map +1 -0
  311. package/dist/solutions/work-item/actions.cjs +2345 -0
  312. package/dist/solutions/work-item/actions.cjs.map +1 -0
  313. package/dist/solutions/work-item/actions.d.cts +40 -0
  314. package/dist/solutions/work-item/actions.d.ts +40 -0
  315. package/dist/solutions/work-item/actions.js +2078 -0
  316. package/dist/solutions/work-item/actions.js.map +1 -0
  317. package/dist/solutions/work-item/scheduling.cjs +9797 -0
  318. package/dist/solutions/work-item/scheduling.cjs.map +1 -0
  319. package/dist/solutions/work-item/scheduling.d.cts +1868 -0
  320. package/dist/solutions/work-item/scheduling.d.ts +1868 -0
  321. package/dist/solutions/work-item/scheduling.js +146 -0
  322. package/dist/solutions/work-item/scheduling.js.map +1 -0
  323. package/dist/solutions/work-item/work-queue.cjs +306 -0
  324. package/dist/solutions/work-item/work-queue.cjs.map +1 -0
  325. package/dist/solutions/work-item/work-queue.d.cts +71 -0
  326. package/dist/solutions/work-item/work-queue.d.ts +71 -0
  327. package/dist/solutions/work-item/work-queue.js +270 -0
  328. package/dist/solutions/work-item/work-queue.js.map +1 -0
  329. package/dist/sources/browser.cjs +1399 -1052
  330. package/dist/sources/browser.cjs.map +1 -1
  331. package/dist/sources/browser.d.cts +33 -6
  332. package/dist/sources/browser.d.ts +33 -6
  333. package/dist/sources/browser.js +73 -6
  334. package/dist/sources/browser.js.map +1 -1
  335. package/dist/sources/index.cjs +1345 -1065
  336. package/dist/sources/index.cjs.map +1 -1
  337. package/dist/sources/index.d.cts +5 -5
  338. package/dist/sources/index.d.ts +5 -5
  339. package/dist/sources/index.js +7 -6
  340. package/dist/sources/node.cjs.map +1 -1
  341. package/dist/sources/node.d.cts +4 -4
  342. package/dist/sources/node.d.ts +4 -4
  343. package/dist/sources/node.js +2 -1
  344. package/dist/sources/node.js.map +1 -1
  345. package/dist/storage/browser.cjs +16 -0
  346. package/dist/storage/browser.cjs.map +1 -1
  347. package/dist/storage/browser.js +4 -3
  348. package/dist/storage/browser.js.map +1 -1
  349. package/dist/storage/index.cjs +16 -0
  350. package/dist/storage/index.cjs.map +1 -1
  351. package/dist/storage/index.d.cts +6 -5
  352. package/dist/storage/index.d.ts +6 -5
  353. package/dist/storage/index.js +10 -9
  354. package/dist/storage/node.cjs +16 -0
  355. package/dist/storage/node.cjs.map +1 -1
  356. package/dist/storage/node.js +4 -3
  357. package/dist/storage/node.js.map +1 -1
  358. package/dist/store-BmtEs9mG.d.ts +123 -0
  359. package/dist/store-PAAsYvML.d.cts +123 -0
  360. package/dist/testing/index.cjs +1 -0
  361. package/dist/testing/index.cjs.map +1 -1
  362. package/dist/testing/index.d.cts +1 -1
  363. package/dist/testing/index.d.ts +1 -1
  364. package/dist/testing/index.js +3 -2
  365. package/dist/types-BRNKoFHj.d.ts +357 -0
  366. package/dist/{types-h12mNYbq.d.ts → types-BS6CyR-x.d.cts} +49 -130
  367. package/dist/types-BWK2ay3e.d.cts +457 -0
  368. package/dist/types-BXKSAoE1.d.cts +357 -0
  369. package/dist/types-BaPpZItj.d.ts +457 -0
  370. package/dist/types-BhveCMg5.d.cts +274 -0
  371. package/dist/{types-bNMSWKqF.d.cts → types-C9NOgNJw.d.ts} +49 -130
  372. package/dist/types-CTsQ8Ww4.d.ts +274 -0
  373. package/dist/types-DL_05n2M.d.ts +34 -0
  374. package/dist/types-XDoqxYO9.d.cts +34 -0
  375. package/dist/work-item-runtime-types-BqtWnSCS.d.ts +138 -0
  376. package/dist/work-item-runtime-types-CHO03AKh.d.cts +138 -0
  377. package/dist/work-queue/index.cjs +1136 -0
  378. package/dist/work-queue/index.cjs.map +1 -0
  379. package/dist/work-queue/index.d.cts +21 -0
  380. package/dist/work-queue/index.d.ts +21 -0
  381. package/dist/work-queue/index.js +1082 -0
  382. package/dist/work-queue/index.js.map +1 -0
  383. package/package.json +603 -249
  384. package/dist/chunk-2ILL7HQI.js.map +0 -1
  385. package/dist/chunk-4VLAQHZI.js.map +0 -1
  386. package/dist/chunk-COHO25CZ.js.map +0 -1
  387. package/dist/chunk-DK554R7P.js.map +0 -1
  388. package/dist/chunk-G4M3NHRJ.js.map +0 -1
  389. package/dist/chunk-I3IHOHCJ.js.map +0 -1
  390. package/dist/chunk-JIMUDQN3.js.map +0 -1
  391. package/dist/chunk-RIIOUTGM.js.map +0 -1
  392. package/dist/chunk-SWTLEQL6.js.map +0 -1
  393. /package/dist/{chunk-GDL26N2T.js.map → chunk-3KN7NJDR.js.map} +0 -0
  394. /package/dist/{chunk-Z2ANQ6JW.js.map → chunk-4Q77MMJY.js.map} +0 -0
  395. /package/dist/{chunk-D6BG7U6A.js.map → chunk-7HZRJMN6.js.map} +0 -0
  396. /package/dist/{chunk-SCRFRCGR.js.map → chunk-BSQGE5PS.js.map} +0 -0
  397. /package/dist/{chunk-PKVBHGBM.js.map → chunk-CJIFGJQG.js.map} +0 -0
  398. /package/dist/{chunk-K3FXTC3I.js.map → chunk-HJACH5PU.js.map} +0 -0
  399. /package/dist/{chunk-GTPCOEOZ.js.map → chunk-IDMLXLLG.js.map} +0 -0
  400. /package/dist/{chunk-DKP56CSW.js.map → chunk-JKAYLDQV.js.map} +0 -0
  401. /package/dist/{chunk-Y3ZLRGHC.js.map → chunk-SIDJO2T4.js.map} +0 -0
  402. /package/dist/{chunk-JR4IKCR2.js.map → chunk-TPND5MJS.js.map} +0 -0
  403. /package/dist/{chunk-TEW47IVR.js.map → chunk-VPEFSDME.js.map} +0 -0
  404. /package/dist/{chunk-DJC4CHLQ.js.map → chunk-YDWBXXQZ.js.map} +0 -0
  405. /package/dist/{chunk-6PHB5CJS.js.map → chunk-ZLFRB6FI.js.map} +0 -0
@@ -0,0 +1,274 @@
1
+ import { DataIssue } from './data/index.cjs';
2
+ import { N as Node } from './types-BS6CyR-x.cjs';
3
+ import { L as LockId } from './messages-CAzUPPJM.cjs';
4
+
5
+ interface MessageEnvelope<T = unknown> {
6
+ readonly topic: string;
7
+ readonly seq: number;
8
+ readonly payload: T;
9
+ readonly key?: string;
10
+ readonly idempotencyKey?: string;
11
+ readonly timestampMs: number;
12
+ readonly commandId?: string;
13
+ }
14
+ /** Minimal JSON Schema vocabulary for passive topic payload descriptions (D125/D132). */
15
+ interface JsonSchema {
16
+ readonly type?: "string" | "number" | "integer" | "boolean" | "object" | "array" | "null" | readonly ("string" | "number" | "integer" | "boolean" | "object" | "array" | "null")[];
17
+ readonly properties?: Readonly<Record<string, JsonSchema>>;
18
+ readonly required?: readonly string[];
19
+ readonly additionalProperties?: boolean | JsonSchema;
20
+ readonly items?: JsonSchema | readonly JsonSchema[];
21
+ readonly enum?: readonly unknown[];
22
+ readonly const?: unknown;
23
+ readonly $ref?: string;
24
+ readonly definitions?: Readonly<Record<string, JsonSchema>>;
25
+ readonly description?: string;
26
+ readonly title?: string;
27
+ }
28
+ /** Passive envelope for payloads that cross topic, agent, or graph boundaries. */
29
+ interface TopicMessage<T = unknown> {
30
+ readonly id: string;
31
+ readonly schema?: JsonSchema;
32
+ readonly expiresAt?: string;
33
+ readonly correlationId?: string;
34
+ readonly payload: T;
35
+ }
36
+ /** Passive domain event vocabulary for messageBus/eventFlow composition (D329). */
37
+ interface EventMessage<T = unknown> {
38
+ readonly id: string;
39
+ readonly type: string;
40
+ readonly payload: T;
41
+ readonly key?: string;
42
+ readonly subjectId?: string;
43
+ readonly correlationId?: string;
44
+ readonly causationId?: string;
45
+ readonly occurredAtMs?: number;
46
+ readonly actor?: string;
47
+ readonly evidenceRefs?: readonly string[];
48
+ readonly schema?: JsonSchema;
49
+ readonly metadata?: Readonly<Record<string, unknown>>;
50
+ }
51
+ interface EventMessageOptions {
52
+ readonly id: string;
53
+ readonly key?: string;
54
+ readonly subjectId?: string;
55
+ readonly correlationId?: string;
56
+ readonly causationId?: string;
57
+ readonly occurredAtMs?: number;
58
+ readonly actor?: string;
59
+ readonly evidenceRefs?: readonly string[];
60
+ readonly schema?: JsonSchema;
61
+ readonly metadata?: Readonly<Record<string, unknown>>;
62
+ }
63
+ declare const PROMPTS_TOPIC = "prompts";
64
+ declare const RESPONSES_TOPIC = "responses";
65
+ declare const INJECTIONS_TOPIC = "injections";
66
+ declare const DEFERRED_TOPIC = "deferred";
67
+ declare const SPAWNS_TOPIC = "spawns";
68
+ declare const CONTEXT_TOPIC = "context";
69
+ declare const TODOS_TOPIC = "todos";
70
+ declare const STANDARD_TOPICS: readonly ["prompts", "responses", "injections", "deferred", "spawns", "context", "todos"];
71
+ type StandardTopic = (typeof STANDARD_TOPICS)[number];
72
+ type MessageBusTopicPolicy = "strict" | "create-as-fact";
73
+ interface MessageBusRetentionPolicy {
74
+ /** Count retention. Trimming advances headSeq and never rewrites seq (D284). */
75
+ readonly maxMessages?: number;
76
+ }
77
+ interface MessageBusDedupePolicy {
78
+ /** Duplicate commandId emits status and never publishes a second retained message (D284). */
79
+ readonly commandId?: "status" | "issue";
80
+ }
81
+ interface MessageBusOptions<TTopic extends string = string> {
82
+ readonly topics?: readonly TTopic[];
83
+ readonly name?: string;
84
+ readonly now?: () => number;
85
+ readonly topicPolicy?: MessageBusTopicPolicy;
86
+ readonly retention?: MessageBusRetentionPolicy;
87
+ readonly dedupe?: MessageBusDedupePolicy;
88
+ }
89
+ type MessageBusCommand<T = unknown> = {
90
+ readonly kind: "ensure-topic";
91
+ readonly topic: string;
92
+ readonly commandId?: string;
93
+ } | {
94
+ readonly kind: "close-topic";
95
+ readonly topic: string;
96
+ readonly commandId?: string;
97
+ } | {
98
+ readonly kind: "publish";
99
+ readonly topic: string;
100
+ readonly payload: T;
101
+ readonly key?: string;
102
+ readonly commandId?: string;
103
+ readonly idempotencyKey?: string;
104
+ } | {
105
+ readonly kind: "topic-policy";
106
+ readonly topicPolicy: MessageBusTopicPolicy;
107
+ readonly commandId?: string;
108
+ } | {
109
+ readonly kind: "ack";
110
+ readonly topic: string;
111
+ readonly subscriptionId: string;
112
+ readonly seq: number;
113
+ readonly commandId?: string;
114
+ } | {
115
+ readonly kind: "seek";
116
+ readonly topic: string;
117
+ readonly subscriptionId: string;
118
+ readonly nextSeq: number;
119
+ readonly commandId?: string;
120
+ } | {
121
+ readonly kind: "close-subscription";
122
+ readonly topic: string;
123
+ readonly subscriptionId: string;
124
+ readonly commandId?: string;
125
+ };
126
+ type MessageBusMessage<T = unknown> = MessageEnvelope<T>;
127
+ interface MessageBusStatus {
128
+ readonly kind: "topic-created" | "topic-closed" | "message-published" | "retention-trimmed" | "duplicate-command" | "subscription-acked" | "subscription-sought" | "subscription-closed" | "command-rejected" | "projection-ready" | "projection-partial";
129
+ readonly topic?: string;
130
+ readonly seq?: number;
131
+ readonly headSeq?: number;
132
+ readonly subscriptionId?: string;
133
+ readonly nextSeq?: number;
134
+ readonly commandId?: string;
135
+ readonly issueCode?: string;
136
+ readonly timestampMs: number;
137
+ readonly details?: unknown;
138
+ }
139
+ interface MessageBusCatalogEntry {
140
+ readonly topic: string;
141
+ readonly closed: boolean;
142
+ readonly headSeq: number;
143
+ readonly nextSeq: number;
144
+ readonly messageCount: number;
145
+ }
146
+ interface MessageBusCatalogPage {
147
+ readonly topics: readonly MessageBusCatalogEntry[];
148
+ readonly nextAfterTopic?: string;
149
+ readonly hasMore: boolean;
150
+ }
151
+ interface MessageBusDeadLetterEntry<T = unknown> {
152
+ readonly entrySeq: number;
153
+ readonly topic?: string;
154
+ readonly command?: MessageBusCommand<T>;
155
+ readonly message?: MessageBusMessage<T>;
156
+ readonly issue: DataIssue;
157
+ readonly timestampMs: number;
158
+ }
159
+ interface MessageBusDeadLetterPage<T = unknown> {
160
+ readonly entries: readonly MessageBusDeadLetterEntry<T>[];
161
+ readonly nextAfterEntrySeq?: number;
162
+ readonly hasMore: boolean;
163
+ }
164
+ interface MessageBusTopicPage<T = unknown> {
165
+ readonly topic: string;
166
+ readonly messages: readonly MessageBusMessage<T>[];
167
+ readonly fromSeq: number;
168
+ readonly throughSeq?: number;
169
+ readonly nextAfterSeq?: number;
170
+ readonly hasMore: boolean;
171
+ }
172
+ interface MessageBusCursor {
173
+ readonly topic: string;
174
+ readonly subscriptionId: string;
175
+ readonly nextSeq: number;
176
+ readonly closed: boolean;
177
+ readonly retentionGap: boolean;
178
+ readonly headSeq: number;
179
+ }
180
+ interface MessageBusAvailablePage<T = unknown> {
181
+ readonly topic: string;
182
+ readonly subscriptionId: string;
183
+ readonly cursor: MessageBusCursor;
184
+ readonly messages: readonly MessageBusMessage<T>[];
185
+ readonly fromSeq: number;
186
+ readonly throughSeq?: number;
187
+ readonly nextAfterSeq?: number;
188
+ readonly hasMore: boolean;
189
+ }
190
+ interface MessageBusPageParams {
191
+ readonly limit?: number;
192
+ }
193
+ interface MessageBusCatalogParams extends MessageBusPageParams {
194
+ readonly afterTopic?: string;
195
+ readonly includeClosed?: boolean;
196
+ }
197
+ interface MessageBusDeadLetterParams extends MessageBusPageParams {
198
+ readonly afterEntrySeq?: number;
199
+ readonly topic?: string;
200
+ readonly code?: string;
201
+ }
202
+ interface MessageBusTopicParams extends MessageBusPageParams {
203
+ readonly afterSeq?: number;
204
+ }
205
+ interface MessageBusAvailableParams extends MessageBusPageParams {
206
+ readonly afterSeq?: number;
207
+ }
208
+ interface MessageBusPullProjection<TPage> {
209
+ readonly snapshot: Node<TPage>;
210
+ readonly snapshotPullId: LockId;
211
+ readonly status: Node<MessageBusStatus>;
212
+ readonly issues: Node<DataIssue>;
213
+ }
214
+ interface MessageBusTopicProjection<T = unknown> extends MessageBusPullProjection<MessageBusTopicPage<T>> {
215
+ }
216
+ interface MessageBusSubscription<T = unknown> {
217
+ readonly available: Node<MessageBusAvailablePage<T>>;
218
+ readonly availablePullId: LockId;
219
+ readonly cursor: Node<MessageBusCursor>;
220
+ readonly status: Node<MessageBusStatus>;
221
+ readonly issues: Node<DataIssue>;
222
+ ack(seq: number, opts?: {
223
+ commandId?: string;
224
+ }): MessageBusCommand;
225
+ seek(nextSeq: number, opts?: {
226
+ commandId?: string;
227
+ }): MessageBusCommand;
228
+ close(opts?: {
229
+ commandId?: string;
230
+ }): MessageBusCommand;
231
+ }
232
+ interface MessageBus<TTopic extends string = string> {
233
+ readonly commands: Node<MessageBusCommand>;
234
+ readonly messages: Node<MessageBusMessage>;
235
+ readonly status: Node<MessageBusStatus>;
236
+ readonly issues: Node<DataIssue>;
237
+ ensureTopic(topic: TTopic | string, opts?: {
238
+ commandId?: string;
239
+ }): MessageBusCommand;
240
+ closeTopic(topic: TTopic | string, opts?: {
241
+ commandId?: string;
242
+ }): MessageBusCommand;
243
+ publish<T = unknown>(topic: TTopic | string, payload: T, opts?: {
244
+ key?: string;
245
+ commandId?: string;
246
+ idempotencyKey?: string;
247
+ }): MessageBusCommand<T>;
248
+ topic<T = unknown>(topic: TTopic | string, opts?: {
249
+ name?: string;
250
+ }): MessageBusTopicProjection<T>;
251
+ catalog(opts?: {
252
+ name?: string;
253
+ }): MessageBusPullProjection<MessageBusCatalogPage>;
254
+ deadLetter<T = unknown>(opts?: {
255
+ name?: string;
256
+ }): MessageBusPullProjection<MessageBusDeadLetterPage<T>>;
257
+ subscription<T = unknown>(opts: {
258
+ topic: TTopic | string;
259
+ subscriptionId: string;
260
+ from?: "earliest" | "latest" | number;
261
+ name?: string;
262
+ }): MessageBusSubscription<T>;
263
+ }
264
+ interface ToTopicOptions {
265
+ readonly name?: string;
266
+ readonly keyOf?: (value: unknown) => string | undefined;
267
+ readonly commandIdOf?: (value: unknown) => string | undefined;
268
+ }
269
+ interface ToTopicBundle<T> {
270
+ readonly commands: Node<MessageBusCommand<T>>;
271
+ release(): void;
272
+ }
273
+
274
+ export { type StandardTopic as A, TODOS_TOPIC as B, CONTEXT_TOPIC as C, DEFERRED_TOPIC as D, type EventMessage as E, type TopicMessage as F, INJECTIONS_TOPIC as I, type JsonSchema as J, type MessageBusMessage as M, PROMPTS_TOPIC as P, RESPONSES_TOPIC as R, SPAWNS_TOPIC as S, type ToTopicOptions as T, type MessageBusCommand as a, type MessageBusAvailablePage as b, type MessageEnvelope as c, type MessageBus as d, type EventMessageOptions as e, type MessageBusTopicPage as f, type MessageBusOptions as g, type ToTopicBundle as h, type MessageBusAvailableParams as i, type MessageBusCatalogEntry as j, type MessageBusCatalogPage as k, type MessageBusCatalogParams as l, type MessageBusCursor as m, type MessageBusDeadLetterEntry as n, type MessageBusDeadLetterPage as o, type MessageBusDeadLetterParams as p, type MessageBusDedupePolicy as q, type MessageBusPageParams as r, type MessageBusPullProjection as s, type MessageBusRetentionPolicy as t, type MessageBusStatus as u, type MessageBusSubscription as v, type MessageBusTopicParams as w, type MessageBusTopicPolicy as x, type MessageBusTopicProjection as y, STANDARD_TOPICS as z };
@@ -1,4 +1,4 @@
1
- import { L as LockId, W as Wave, M as Message } from './messages-BZqrGGm1.cjs';
1
+ import { L as LockId, W as Wave, P as PullDemand, M as Message } from './messages-CAzUPPJM.js';
2
2
 
3
3
  /**
4
4
  * Dispatcher, pools, and the pure-data Handle.
@@ -6,7 +6,7 @@ import { L as LockId, W as Wave, M as Message } from './messages-BZqrGGm1.cjs';
6
6
  * Canonical authority: ~/src/graphrefly/spec/rules.jsonl
7
7
  * R-handle (D7), R-dispatch-all (D21), R-sync-core (D20/D21).
8
8
  *
9
- * Lifted from the validated handle-dispatch PoC (packages/pure-ts r8-poc, R8/R9):
9
+ * Lifted from the validated retired handle-dispatch PoC (R8/R9):
10
10
  * fn lives in an external pool, indexed by handle; `dispatcher.invoke` is uniformly
11
11
  * SYNC void — async/remote behavior lives in the fn body (it kicks off async work
12
12
  * and emits later via `ctx.down`), not in a different call mechanism.
@@ -290,21 +290,6 @@ type NodeVersionJson = NodeVersion;
290
290
  */
291
291
  declare function defaultNodeVersionHash(bytes: Uint8Array): string;
292
292
 
293
- /**
294
- * The node primitive — the thinnest substrate object (R-node-thin / D5).
295
- *
296
- * Holds a fn handle + deps + the wave state machine; ZERO inspection cruft
297
- * (naming/find/describe are the graph layer, CSP-2). Canonical authority:
298
- * ~/src/graphrefly/spec/rules.jsonl (R-node-*, R-two-phase, R-diamond, R-resolved-undirty,
299
- * R-first-run-gate, R-push-subscribe, R-rom-ram, R-fn-contract, R-initial, R-ctx-up).
300
- *
301
- * Slice 1 = core wave: state node, compute node, two-phase DIRTY->DATA, diamond
302
- * pending-counter join, first-run gate, substrate-synthesized undirty RESOLVED
303
- * (R-resolved-undirty / D49 — no equals-substitution; every occurrence is DATA),
304
- * push-on-subscribe, lazy activation, ROM/RAM. Lifecycle (terminal/INVALIDATE/cleanup),
305
- * control (PAUSE/async), batch, and dynamicNode land in later slices.
306
- */
307
-
308
293
  type Status = "sentinel" | "pending" | "dirty" | "settled" | "resolved" | "completed" | "errored";
309
294
  interface NodeOptions<T = unknown> {
310
295
  /** Pre-populate cache; source pushes [DATA, initial] on subscribe (R-initial). `null` is valid. */
@@ -324,19 +309,21 @@ interface NodeOptions<T = unknown> {
324
309
  /** PAUSE/RESUME behavior (R-pause-modes). Default true. */
325
310
  pausable?: boolean | "resumeAll";
326
311
  /**
327
- * Pull-mode node (R-pull / D55,D59): a quiet-until-demanded source, identified by this
312
+ * Pull-mode node (R-pull / D269): a quiet-until-demanded source, identified by this
328
313
  * author-supplied `pullId` (a unique LockId — a `Symbol` recommended; NOT the node name, NOT a
329
- * bare string which collides with a same-string pause lock). The node self-holds the pullId as
330
- * its demand lock. QUIET by default: it ABSORBS an upstream DIRTY WITHOUT relaying it downstream
331
- * (the wedge fix) and does NOT push-on-subscribe its cached value (START only). A DEMAND = a
332
- * cone-routed `RESUME` of this pullId (R-up-routing — NO new message type): a downstream consumer
333
- * issues `ctx.up([[RESUME, pullId]])` (broadcast up the declared cone) or `ctx.up(msgs, towardDep)`
334
- * (directed) WITHOUT holding this node's reference; the RESUME travels up to the pullId-holder,
335
- * which fires EXACTLY ONE delivery (DIRTY-before-DATA) then RE-QUIETS (1:1). Delivery content =
314
+ * bare string if callers may also use strings as pause locks). QUIET by default: it ABSORBS
315
+ * an upstream DIRTY WITHOUT relaying it downstream
316
+ * (the wedge fix) and does NOT push-on-subscribe its cached value (START only). A DEMAND =
317
+ * cone-routed `PULL({pullId, params?})`: a downstream consumer issues
318
+ * `ctx.up([["PULL", { pullId, params }]])` (broadcast up the declared cone) or
319
+ * `ctx.up(msgs, towardDep)` (directed) WITHOUT holding this node's reference; the PULL travels
320
+ * up to the pullId-holder, which fires EXACTLY ONE delivery (DIRTY-before-DATA when it emits)
321
+ * then RE-QUIETS (1:1). Delivery content =
336
322
  * the orthogonal `pausable` mode: `true` → coalesced LATEST (one DATA); `'resumeAll'` → buffered
337
323
  * BACKLOG. `pullId` + `pausable:false` is REJECTED at construction. A SELF-triggered demand (a
338
- * consumer demanding a dep it ALSO reads) must defer via {@link Ctx.upNext} (R-rewire-deferred /
339
- * D37). Author the pullId as a shared module const used at both this node and the demander's fn.
324
+ * consumer demanding a dep it ALSO reads) must defer via {@link import("../ctx/types.js").Ctx.upNext}
325
+ * (R-rewire-deferred / D37). Author the pullId as a shared module const used at both this node and
326
+ * the demander's fn.
340
327
  */
341
328
  pullId?: LockId;
342
329
  /** Buffer the last N outgoing DATA for late subscribers (R-replay-buffer). */
@@ -363,6 +350,22 @@ interface NodeOptions<T = unknown> {
363
350
  */
364
351
  factory?: string;
365
352
  }
353
+
354
+ /**
355
+ * The node primitive — the thinnest substrate object (R-node-thin / D5).
356
+ *
357
+ * Holds a fn handle + deps + the wave state machine; ZERO inspection cruft
358
+ * (naming/find/describe are the graph layer, CSP-2). Canonical authority:
359
+ * ~/src/graphrefly/spec/rules.jsonl (R-node-*, R-two-phase, R-diamond, R-resolved-undirty,
360
+ * R-first-run-gate, R-push-subscribe, R-rom-ram, R-fn-contract, R-initial, R-ctx-up).
361
+ *
362
+ * Slice 1 = core wave: state node, compute node, two-phase DIRTY->DATA, diamond
363
+ * pending-counter join, first-run gate, substrate-synthesized undirty RESOLVED
364
+ * (R-resolved-undirty / D49 — no equals-substitution; every occurrence is DATA),
365
+ * push-on-subscribe, lazy activation, ROM/RAM. Lifecycle (terminal/INVALIDATE/cleanup),
366
+ * control (PAUSE/async), batch, and dynamicNode land in later slices.
367
+ */
368
+
366
369
  declare class Node<T = unknown> {
367
370
  private readonly _core;
368
371
  private readonly _id;
@@ -380,16 +383,16 @@ declare class Node<T = unknown> {
380
383
  private _released;
381
384
  private get _syncCtx();
382
385
  private set _syncCtx(value);
386
+ private static _retainIndirectRuntimeMethods;
383
387
  constructor(deps: Node<unknown>[], handleOrFn: Handle | NodeFn | null, opts?: NodeOptions<T>);
384
- /** R-pull (D55): true while a pull node is quiet (holds its own pullId/demand lock). */
388
+ /** R-pull (D55/D272): true while a pull node is not serving a PULL demand pulse. */
385
389
  private _isPullQuiet;
386
390
  /**
387
- * R-pull (D55/D59): this pull node's pullId (pure data, like {@link cache}/{@link handle} — never
388
- * triggers computation). A consumer demands one delivery by cone-routing a RESUME of it (no node
389
- * reference): `ctx.up([["RESUME", pullId]])` (immediate; loops back → D37 for a self-read dep) or
390
- * `ctx.upNext([["RESUME", pullId]])` (boundary-deferred self-demand, R-up-routing/R-rewire-deferred).
391
- * Undefined for a non-pull node. The author writes the pullId verbatim, so this getter is mainly
392
- * for inspection/describe; routing matches by the pullId value carried in the RESUME, by identity.
391
+ * R-pull (D269/D272): this pull node's pullId (pure data, like {@link cache}/{@link handle} —
392
+ * never triggers computation). A consumer demands one delivery by cone-routing PULL of it (no
393
+ * node reference): `ctx.up([["PULL", { pullId }]])` (immediate; loops back → D37 for a self-read
394
+ * dep) or `ctx.upNext([["PULL", { pullId }]])` (boundary-deferred self-demand). Undefined for a
395
+ * non-pull node. The author writes the pullId verbatim; routing matches by identity.
393
396
  */
394
397
  get pullId(): LockId | undefined;
395
398
  get cache(): T | undefined;
@@ -421,23 +424,6 @@ declare class Node<T = unknown> {
421
424
  * ONE declared edge (R-up-routing directed-up); omitted = broadcast up all deps.
422
425
  */
423
426
  up(msgs: Wave, towardDep?: number): void;
424
- /**
425
- * Enqueue a deferred self-rewire op (issued from this node's fn via `ctx.rewireNext`).
426
- * Applied at the committed wave boundary (boundary.ts drain), never in place — the in-fn
427
- * immediate path (`subscribeDep`/`replaceDeps`/`unsubscribeDep`) still throws mid-run (D37/R-reentrancy).
428
- */
429
- private _requestRewireNext;
430
- /**
431
- * Enqueue a deferred up-going control wave (R-up-routing / R-pull / D59): at the committed wave
432
- * boundary, route `msgs` up from THIS node (broadcast, or up the single `towardDep` edge). The
433
- * deferred form of `ctx.up` — the SELF-demand path: a consumer issues `ctx.upNext([[RESUME,
434
- * pullId]])` to demand a dep it ALSO reads; the demand applies at the boundary (not mid-fn), so
435
- * the pull node's delivery loops back as a FRESH wave rather than re-entering the consumer (D37 /
436
- * R-reentrancy). Rides the same R-rewire-deferred (D47) drain as ctx.rewireNext.
437
- */
438
- private _requestUpNext;
439
- /** Apply one queued self-rewire at the boundary (drain thunk). */
440
- private _applyRewireNext;
441
427
  /**
442
428
  * Replace this node's deps atomically (surgical, Option-C). Requires an explicit
443
429
  * `fn` (SD-1 fn-deps pairing — user fns read dep input positionally). Kept deps
@@ -450,57 +436,29 @@ declare class Node<T = unknown> {
450
436
  subscribeDep(depNode: Node<unknown>, fn: NodeFn): number;
451
437
  /** Unsubscribe from one dep (special case of replaceDeps); idempotent if absent (fn swap still applies). */
452
438
  unsubscribeDep(depNode: Node<unknown>, fn: NodeFn): void;
439
+ private _requestRewireNext;
440
+ private _requestUpNext;
441
+ private _applyRewireNext;
453
442
  private _dedupDeps;
454
- /** Is `target` reachable upstream from `from` (following deps)? Cycle-prevention DFS. */
455
443
  private _reachableUpstream;
456
444
  private _assertRewireDepOwner;
457
445
  private _rewire;
458
446
  private _activate;
459
- /**
460
- * Subscribe to a dep. The dispatch callback reads the dep's CURRENT index from a
461
- * mutable box (O(1)); a surgical rewire that reorders kept deps just updates the box
462
- * (R-rewire Option-C / D42) — no re-subscribe, no per-message indexOf scan. A removed
463
- * dep's box is set to -1 so any stale in-flight callback drops (drain).
464
- */
465
- private _subscribeDepAt;
466
- private _seedRestoredDepAt;
467
447
  private _deactivate;
468
448
  private _assertNotReleased;
469
449
  private _subscriberCount;
470
450
  private _isRuntimeQuiescentForRelease;
471
451
  private _releaseRuntime;
472
452
  private _resetDepState;
453
+ private _subscribeDepAt;
454
+ private _seedRestoredDepAt;
473
455
  private _recordDepProjection;
474
456
  private _depProjectionHasData;
475
457
  private _receiveFromDep;
476
- /**
477
- * R-terminal-settles-dirty (B35): release a dep's outstanding in-wave DIRTY contribution.
478
- * A settle-class event for that dep (DATA/RESOLVED inline above, INVALIDATE, and now
479
- * COMPLETE/ERROR) clears its dirty flag + decrements _pending. No-op if the dep already
480
- * settled this wave (DATA/RESOLVED ran first) — so the normal DATA-then-COMPLETE flow is
481
- * unaffected. This makes the exactly-one-settle invariant a single, shared step.
482
- */
483
458
  private _releaseDepDirty;
484
- /**
485
- * R-terminal-settles-dirty (B35): settle a node whose dirtied dep was released by an ABSORBED
486
- * terminal that is NOT a real input (a plain derived/effect — the common default-node case when
487
- * one of several deps completes while others stay live). Runs only when the release drained
488
- * _pending while the node still owes a downstream settle (it broadcast DIRTY this wave):
489
- * - if some OTHER dep delivered real DATA this wave (a value occurred) → recompute (→ DATA);
490
- * - else the terminal's signalled change did not materialise (no value) → one undirty RESOLVED
491
- * (R-resolved-undirty), keeping the cache (a terminal, unlike INVALIDATE, leaves the value).
492
- * A terminalAsRealInput node instead recomputes unconditionally (its fn reads the terminal).
493
- */
494
459
  private _settleAfterAbsorbedTerminal;
495
460
  private _markDirty;
496
461
  private _maybeRun;
497
- /**
498
- * R-rewire atomic settle (after a rewire that warrants a recompute): emit a proper
499
- * two-phase DIRTY→DATA wave (R-dirty-before-data — a rewire-triggered settle is a wave),
500
- * once, with every added dep already wired. Mirrors _maybeRun/_tryRun's pause + gate +
501
- * pending guards, then injects the phase-1 DIRTY the added dep's [START,DATA] handshake
502
- * did not carry.
503
- */
504
462
  private _settleRewire;
505
463
  private _tryRun;
506
464
  private _allDepsSettled;
@@ -513,14 +471,6 @@ declare class Node<T = unknown> {
513
471
  private _down;
514
472
  private _up;
515
473
  private _markDemandRouted;
516
- /**
517
- * Forward one up-going control message toward deps (R-up-routing): up the single declared edge
518
- * `towardDep` (directed — prunes other branches; only meaningful on the issuer's FIRST hop) or
519
- * broadcast up ALL deps. A depless source has no deps → the message DROPS here (the terminus —
520
- * e.g. a cone-routed RESUME whose pullId no node up this cone holds, R-up-at-source). Recursive
521
- * forwarding carries the same per-wave route state and no `towardDep` → broadcast beyond the
522
- * first hop.
523
- */
524
474
  private _forwardUp;
525
475
  private _isPaused;
526
476
  private _hasBoundaryPauseLock;
@@ -528,50 +478,17 @@ declare class Node<T = unknown> {
528
478
  private _pauseAcquire;
529
479
  private _pauseRelease;
530
480
  private _onResume;
531
- /**
532
- * R-pull (D59): can this pull node fire a demand NOW? — not terminal, settle-ready (_pending===0),
533
- * and no OTHER (non-pullId) lock holds it paused. The gate that decides fire-now vs OWE.
534
- */
535
481
  private _canFireDemand;
536
- /**
537
- * R-pull (D59): deliver ONE demand pulse — release the pullId so the demand wave RELAYS (not
538
- * absorbed), fire it, then RE-QUIET (1:1). The pullId re-add + the re-entrancy flag are in a
539
- * `finally` so a throwing pull fn (graph-less node, no D30 catch) cannot leave the node
540
- * permanently non-quiet (the wedge-fix silently disabled) — QA-found robustness fix.
541
- */
542
482
  private _deliverPullDemand;
543
- /**
544
- * R-pull (D59): a cone-routed RESUME of THIS node's pullId arrived (R-up-routing) = a DEMAND.
545
- * Fire immediately if able; else OWE it — pin-5 (a dep DIRTY in flight, _pending>0) or F4/F5 (an
546
- * external PAUSE lock co-holds the node) — and fire when the node next becomes able. A demand
547
- * arriving WHILE a delivery is in flight (synchronous re-entry) is DROPPED (1:1, QA guard).
548
- */
549
483
  private _onDemand;
550
- /**
551
- * R-pull (D55): service ONE demand. Delivery content = the orthogonal pausable mode:
552
- * - 'resumeAll' → drain the buffered BACKLOG (each `_down` re-synthesizes a leading DIRTY, so
553
- * the per-entry replay is DIRTY-before-DATA — R-pause-modes per-entry arrival order);
554
- * - true → deliver the coalesced LATEST as ONE DIRTY-before-DATA wave (pin 2: the quiet absorb
555
- * suppressed the dep's original DIRTY, so the demand wave restores it before the value).
556
- * Neither branch fires when nothing changed since the last demand → the demand is SILENT.
557
- * Called by `_deliverPullDemand` only when settle-ready; the caller has released the pullId, so
558
- * `_markDirty` relays the leading DIRTY (not absorbed).
559
- */
560
484
  private _firePullDemand;
561
- /**
562
- * R-pull (D55/D59): fire a demand that was OWED (deferred at demand time) once the node becomes
563
- * able — called from the dep-settle arms (DATA/RESOLVED/INVALIDATE/terminal drain _pending, pin-5
564
- * + B1/F6) and from `_pauseRelease` (an external PAUSE lock releases, F4/F5).
565
- */
566
485
  private _fireOwedDemandIfReady;
567
- /** Should an outgoing settle slice be deferred into the pause buffer? */
568
486
  private _shouldBufferOnPause;
569
- /** R-invalidate-idempotent: clear cache + flush + cascade; no-op if nothing cached. */
570
487
  private _invalidate;
571
488
  private _allDepsTerminal;
489
+ private _emitToSubs;
572
490
  /** R-terminal: resubscribable reset clears terminal + dep state + re-arms the gate. */
573
491
  private _resetLifecycle;
574
- private _emitToSubs;
575
492
  /** Batch commit (R-batch-coalesce): deliver the deferred tier-3 wave now. */
576
493
  __commitBatchedWave(wave: Wave): void;
577
494
  /** Batch rollback: balance the immediate DIRTY with a RESOLVED so downstream un-dirties. */
@@ -667,8 +584,8 @@ interface Ctx {
667
584
  /**
668
585
  * Emit upstream toward deps — control tiers only (R-ctx-up). IMMEDIATE. `towardDep` (a dep index)
669
586
  * routes the wave up ONE declared edge (R-up-routing directed-up); omitted = broadcast up all deps.
670
- * A pull DEMAND is `up([[RESUME, pullId]])` — but for a SELF-demand (demanding a dep this fn also
671
- * reads) use {@link Ctx.upNext} instead, since an immediate demand whose delivery loops back
587
+ * A pull DEMAND is `up([[PULL, { pullId, params }]])` — but for a SELF-demand (demanding a dep
588
+ * this fn also reads) use {@link Ctx.upNext} instead, since an immediate demand whose delivery loops back
672
589
  * re-enters this fn mid-wave (D37 / R-reentrancy).
673
590
  */
674
591
  up(msgs: Wave, towardDep?: number): void;
@@ -689,6 +606,8 @@ interface Ctx {
689
606
  onInvalidate(fn: () => void): void;
690
607
  /** Graph-owned environment drivers for source/adapter boundaries (D130/D131). */
691
608
  environment(): EnvironmentDrivers;
609
+ /** Holder-visible context for a PULL-caused invocation (D272); absent for ordinary waves. */
610
+ readonly pull?: PullDemand;
692
611
  /**
693
612
  * Deferred SELF-rewire (R-rewire-deferred / D47) — the substrate affordance higher-order
694
613
  * operators (switchMap/mergeMap/concatMap/exhaustMap/flatMap) use to grow/shrink their own
@@ -699,8 +618,8 @@ interface Ctx {
699
618
  * Deferred up — the boundary-deferred form of {@link Ctx.up} (R-up-routing / R-pull / D59). Routes
700
619
  * `msgs` up from this node at the COMMITTED wave boundary (broadcast, or up the single `towardDep`
701
620
  * edge), riding the same R-rewire-deferred (D47) drain as {@link RewireNext}. This is the
702
- * SELF-DEMAND path: a consumer issues `ctx.upNext([[RESUME, pullId]])` to demand a pull dep it
703
- * ALSO reads — the cone-routed RESUME reaches the pullId-holder, whose delivery loops back as a
621
+ * SELF-DEMAND path: a consumer issues `ctx.upNext([[PULL, { pullId, params }]])` to demand a pull
622
+ * dep it ALSO reads — the cone-routed PULL reaches the pullId-holder, whose delivery loops back as a
704
623
  * FRESH wave (not a mid-fn re-entry → no D37). The consumer accepts one-wave latency (the
705
624
  * HTTP-request model). No node reference needed: the author writes the pullId verbatim.
706
625
  */