@graphrefly/ts 0.0.0 → 0.0.1

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 (307) hide show
  1. package/README.md +135 -0
  2. package/dist/adapters/index.cjs +105 -66
  3. package/dist/adapters/index.cjs.map +1 -1
  4. package/dist/adapters/index.d.cts +11 -136
  5. package/dist/adapters/index.d.ts +11 -136
  6. package/dist/adapters/index.js +27 -225
  7. package/dist/adapters/index.js.map +1 -1
  8. package/dist/adapters/observe-storage.d.cts +4 -4
  9. package/dist/adapters/observe-storage.d.ts +4 -4
  10. package/dist/adapters/observe-storage.js +1 -0
  11. package/dist/adapters/observe-storage.js.map +1 -1
  12. package/dist/adapters/react.cjs +166 -0
  13. package/dist/adapters/react.cjs.map +1 -0
  14. package/dist/adapters/react.d.cts +31 -0
  15. package/dist/adapters/react.d.ts +31 -0
  16. package/dist/adapters/react.js +51 -0
  17. package/dist/adapters/react.js.map +1 -0
  18. package/dist/adapters/solid.cjs +157 -0
  19. package/dist/adapters/solid.cjs.map +1 -0
  20. package/dist/adapters/solid.d.cts +26 -0
  21. package/dist/adapters/solid.d.ts +26 -0
  22. package/dist/adapters/solid.js +48 -0
  23. package/dist/adapters/solid.js.map +1 -0
  24. package/dist/adapters/svelte.cjs +148 -0
  25. package/dist/adapters/svelte.cjs.map +1 -0
  26. package/dist/adapters/svelte.d.cts +31 -0
  27. package/dist/adapters/svelte.d.ts +31 -0
  28. package/dist/adapters/svelte.js +46 -0
  29. package/dist/adapters/svelte.js.map +1 -0
  30. package/dist/adapters/vue.cjs +155 -0
  31. package/dist/adapters/vue.cjs.map +1 -0
  32. package/dist/adapters/vue.d.cts +26 -0
  33. package/dist/adapters/vue.d.ts +26 -0
  34. package/dist/adapters/vue.js +46 -0
  35. package/dist/adapters/vue.js.map +1 -0
  36. package/dist/agent-runtime-BesGDZcB.d.ts +555 -0
  37. package/dist/agent-runtime-DZTJ3C-p.d.cts +555 -0
  38. package/dist/agentic-memory-BmRCvh0d.d.ts +517 -0
  39. package/dist/agentic-memory-DfuVZ-lY.d.cts +517 -0
  40. package/dist/capability-admission-B0BzqAm5.d.cts +102 -0
  41. package/dist/capability-admission-g0mn9hpq.d.ts +102 -0
  42. package/dist/{chunk-JR4IKCR2.js → chunk-2747WN4Y.js} +5 -5
  43. package/dist/{chunk-2ILL7HQI.js → chunk-3JR3EDB2.js} +17 -17
  44. package/dist/{chunk-2ILL7HQI.js.map → chunk-3JR3EDB2.js.map} +1 -1
  45. package/dist/{chunk-GDL26N2T.js → chunk-3KN7NJDR.js} +2 -2
  46. package/dist/{chunk-DJC4CHLQ.js → chunk-43BKLFZU.js} +9 -9
  47. package/dist/chunk-6XAIOL3X.js +2407 -0
  48. package/dist/chunk-6XAIOL3X.js.map +1 -0
  49. package/dist/{chunk-SCRFRCGR.js → chunk-BSQGE5PS.js} +1 -1
  50. package/dist/{chunk-Y3ZLRGHC.js → chunk-CZNV3VXM.js} +16 -16
  51. package/dist/chunk-DGUM43GV.js +11 -0
  52. package/dist/chunk-DGUM43GV.js.map +1 -0
  53. package/dist/{chunk-JIMUDQN3.js → chunk-FBUU43PM.js} +2 -2
  54. package/dist/chunk-H75VXTGT.js +219 -0
  55. package/dist/chunk-H75VXTGT.js.map +1 -0
  56. package/dist/{chunk-RIIOUTGM.js → chunk-HKK2JD7Z.js} +12 -9
  57. package/dist/chunk-HKK2JD7Z.js.map +1 -0
  58. package/dist/{chunk-D6BG7U6A.js → chunk-IXZBUWSP.js} +3 -3
  59. package/dist/chunk-PC3BTTBE.js +3217 -0
  60. package/dist/chunk-PC3BTTBE.js.map +1 -0
  61. package/dist/chunk-QFY4AFY4.js +879 -0
  62. package/dist/chunk-QFY4AFY4.js.map +1 -0
  63. package/dist/{chunk-DK554R7P.js → chunk-S6HXABGL.js} +2 -1
  64. package/dist/chunk-S6HXABGL.js.map +1 -0
  65. package/dist/{chunk-PKVBHGBM.js → chunk-SS2A464I.js} +7 -7
  66. package/dist/chunk-UT3MHJCW.js +49 -0
  67. package/dist/chunk-UT3MHJCW.js.map +1 -0
  68. package/dist/{chunk-G4M3NHRJ.js → chunk-V7CIJE4B.js} +3 -3
  69. package/dist/{chunk-TEW47IVR.js → chunk-VPEFSDME.js} +2 -2
  70. package/dist/chunk-VTHLCFN4.js +368 -0
  71. package/dist/chunk-VTHLCFN4.js.map +1 -0
  72. package/dist/{chunk-SWTLEQL6.js → chunk-WQIA3GFB.js} +2 -2
  73. package/dist/chunk-WQIA3GFB.js.map +1 -0
  74. package/dist/{chunk-I3IHOHCJ.js → chunk-XKXWK2KP.js} +108 -64
  75. package/dist/chunk-XKXWK2KP.js.map +1 -0
  76. package/dist/{chunk-COHO25CZ.js → chunk-YDSIVHRR.js} +553 -7
  77. package/dist/chunk-YDSIVHRR.js.map +1 -0
  78. package/dist/chunk-YXMZ2N6J.js +1884 -0
  79. package/dist/chunk-YXMZ2N6J.js.map +1 -0
  80. package/dist/composition/index.cjs +102 -57
  81. package/dist/composition/index.cjs.map +1 -1
  82. package/dist/composition/index.d.cts +4 -4
  83. package/dist/composition/index.d.ts +4 -4
  84. package/dist/composition/index.js +6 -5
  85. package/dist/core/index.cjs +102 -57
  86. package/dist/core/index.cjs.map +1 -1
  87. package/dist/core/index.d.cts +2 -2
  88. package/dist/core/index.d.ts +2 -2
  89. package/dist/core/index.js +5 -4
  90. package/dist/cqrs/index.cjs.map +1 -1
  91. package/dist/cqrs/index.d.cts +4 -4
  92. package/dist/cqrs/index.d.ts +4 -4
  93. package/dist/cqrs/index.js +3 -2
  94. package/dist/cqrs/index.js.map +1 -1
  95. package/dist/cqrs/messaging.cjs +312 -0
  96. package/dist/cqrs/messaging.cjs.map +1 -0
  97. package/dist/cqrs/messaging.d.cts +57 -0
  98. package/dist/cqrs/messaging.d.ts +57 -0
  99. package/dist/cqrs/messaging.js +274 -0
  100. package/dist/cqrs/messaging.js.map +1 -0
  101. package/dist/cqrs/work-queue.cjs +329 -0
  102. package/dist/cqrs/work-queue.cjs.map +1 -0
  103. package/dist/cqrs/work-queue.d.cts +90 -0
  104. package/dist/cqrs/work-queue.d.ts +90 -0
  105. package/dist/cqrs/work-queue.js +292 -0
  106. package/dist/cqrs/work-queue.js.map +1 -0
  107. package/dist/data/index.cjs +19 -0
  108. package/dist/data/index.cjs.map +1 -0
  109. package/dist/data/index.d.cts +36 -0
  110. package/dist/data/index.d.ts +36 -0
  111. package/dist/data/index.js +1 -0
  112. package/dist/data/index.js.map +1 -0
  113. package/dist/data-structures/index.cjs +105 -57
  114. package/dist/data-structures/index.cjs.map +1 -1
  115. package/dist/data-structures/index.d.cts +8 -8
  116. package/dist/data-structures/index.d.ts +8 -8
  117. package/dist/data-structures/index.js +7 -6
  118. package/dist/{describe-BZb7AS2y.d.ts → describe-BpyJuWkw.d.ts} +1 -1
  119. package/dist/{describe-Ciu8SUnN.d.cts → describe-DYMw_l1C.d.cts} +1 -1
  120. package/dist/executors/work-queue.cjs +342 -0
  121. package/dist/executors/work-queue.cjs.map +1 -0
  122. package/dist/executors/work-queue.d.cts +90 -0
  123. package/dist/executors/work-queue.d.ts +90 -0
  124. package/dist/executors/work-queue.js +306 -0
  125. package/dist/executors/work-queue.js.map +1 -0
  126. package/dist/graph/index.cjs +112 -58
  127. package/dist/graph/index.cjs.map +1 -1
  128. package/dist/graph/index.d.cts +9 -9
  129. package/dist/graph/index.d.ts +9 -9
  130. package/dist/graph/index.js +18 -17
  131. package/dist/{graph-DfdF9zy4.d.ts → graph-D-1-SQeC.d.ts} +3 -3
  132. package/dist/{graph-s23RbbFO.d.cts → graph-DCEWh4T2.d.cts} +3 -3
  133. package/dist/{index-CAEmLCYF.d.cts → index-72VZC0-E.d.cts} +2 -2
  134. package/dist/{index-SnzZu3x7.d.ts → index-Bmxeu0nK.d.ts} +2 -2
  135. package/dist/index.cjs +112 -58
  136. package/dist/index.cjs.map +1 -1
  137. package/dist/index.d.cts +11 -10
  138. package/dist/index.d.ts +11 -10
  139. package/dist/index.js +118 -113
  140. package/dist/inspection/boundary.cjs +98 -0
  141. package/dist/inspection/boundary.cjs.map +1 -0
  142. package/dist/inspection/boundary.d.cts +61 -0
  143. package/dist/inspection/boundary.d.ts +61 -0
  144. package/dist/inspection/boundary.js +75 -0
  145. package/dist/inspection/boundary.js.map +1 -0
  146. package/dist/{messages-BZqrGGm1.d.ts → messages-CAzUPPJM.d.cts} +10 -5
  147. package/dist/{messages-BZqrGGm1.d.cts → messages-CAzUPPJM.d.ts} +10 -5
  148. package/dist/messaging/index.cjs +744 -613
  149. package/dist/messaging/index.cjs.map +1 -1
  150. package/dist/messaging/index.d.cts +216 -160
  151. package/dist/messaging/index.d.ts +216 -160
  152. package/dist/messaging/index.js +19 -749
  153. package/dist/messaging/index.js.map +1 -1
  154. package/dist/operators/index.cjs +102 -57
  155. package/dist/operators/index.cjs.map +1 -1
  156. package/dist/operators/index.d.cts +6 -6
  157. package/dist/operators/index.d.ts +6 -6
  158. package/dist/operators/index.js +8 -7
  159. package/dist/orchestration/index.cjs +3333 -59
  160. package/dist/orchestration/index.cjs.map +1 -1
  161. package/dist/orchestration/index.d.cts +7 -4
  162. package/dist/orchestration/index.d.ts +7 -4
  163. package/dist/orchestration/index.js +49 -8
  164. package/dist/orchestration/index.js.map +1 -1
  165. package/dist/orchestration/messaging.cjs +314 -0
  166. package/dist/orchestration/messaging.cjs.map +1 -0
  167. package/dist/orchestration/messaging.d.cts +59 -0
  168. package/dist/orchestration/messaging.d.ts +59 -0
  169. package/dist/orchestration/messaging.js +276 -0
  170. package/dist/orchestration/messaging.js.map +1 -0
  171. package/dist/orchestration/work-queue.cjs +262 -0
  172. package/dist/orchestration/work-queue.cjs.map +1 -0
  173. package/dist/orchestration/work-queue.d.cts +85 -0
  174. package/dist/orchestration/work-queue.d.ts +85 -0
  175. package/dist/orchestration/work-queue.js +226 -0
  176. package/dist/orchestration/work-queue.js.map +1 -0
  177. package/dist/patterns/event-flow.cjs +447 -0
  178. package/dist/patterns/event-flow.cjs.map +1 -0
  179. package/dist/patterns/event-flow.d.cts +115 -0
  180. package/dist/patterns/event-flow.d.ts +115 -0
  181. package/dist/patterns/event-flow.js +14 -0
  182. package/dist/patterns/event-flow.js.map +1 -0
  183. package/dist/patterns/index.cjs +423 -18
  184. package/dist/patterns/index.cjs.map +1 -1
  185. package/dist/patterns/index.d.cts +8 -5
  186. package/dist/patterns/index.d.ts +8 -5
  187. package/dist/patterns/index.js +13 -4
  188. package/dist/{reactive-collection-Cb1II1Fi.d.ts → reactive-collection-BAmfrGjd.d.ts} +9 -9
  189. package/dist/{reactive-collection-BxBqtIOE.d.cts → reactive-collection-DNV0-gFi.d.cts} +9 -9
  190. package/dist/{reactive-collection-storage-D-KmjE0J.d.cts → reactive-collection-storage-BNEldDyi.d.cts} +5 -5
  191. package/dist/{reactive-collection-storage-BNiEc-Gd.d.ts → reactive-collection-storage-YZsAQsWK.d.ts} +5 -5
  192. package/dist/{reactive-map-D-g3dv8I.d.cts → reactive-map-DRD1LJ2H.d.cts} +6 -6
  193. package/dist/{reactive-map-BcB4KsQR.d.ts → reactive-map-EsDiCmJk.d.ts} +6 -6
  194. package/dist/render/index.d.cts +3 -3
  195. package/dist/render/index.d.ts +3 -3
  196. package/dist/render/index.js +1 -0
  197. package/dist/{semantic-memory-graph-BYoIlP35.d.cts → semantic-memory-graph-DKuNzuWw.d.cts} +2 -2
  198. package/dist/{semantic-memory-graph-CxyXLms3.d.ts → semantic-memory-graph-uwbwJdhe.d.ts} +2 -2
  199. package/dist/solutions/index.cjs +4478 -2
  200. package/dist/solutions/index.cjs.map +1 -1
  201. package/dist/solutions/index.d.cts +13 -519
  202. package/dist/solutions/index.d.ts +13 -519
  203. package/dist/solutions/index.js +90 -6
  204. package/dist/solutions/reactive-layout/browser/index.cjs +449 -0
  205. package/dist/solutions/reactive-layout/browser/index.cjs.map +1 -0
  206. package/dist/solutions/reactive-layout/browser/index.d.cts +44 -0
  207. package/dist/solutions/reactive-layout/browser/index.d.ts +44 -0
  208. package/dist/solutions/reactive-layout/browser/index.js +69 -0
  209. package/dist/solutions/reactive-layout/browser/index.js.map +1 -0
  210. package/dist/solutions/reactive-layout/index.cjs +4266 -0
  211. package/dist/solutions/reactive-layout/index.cjs.map +1 -0
  212. package/dist/solutions/reactive-layout/index.d.cts +581 -0
  213. package/dist/solutions/reactive-layout/index.d.ts +581 -0
  214. package/dist/solutions/reactive-layout/index.js +86 -0
  215. package/dist/solutions/reactive-layout/index.js.map +1 -0
  216. package/dist/solutions/reactive-layout/node-canvas/index.cjs +545 -0
  217. package/dist/solutions/reactive-layout/node-canvas/index.cjs.map +1 -0
  218. package/dist/solutions/reactive-layout/node-canvas/index.d.cts +54 -0
  219. package/dist/solutions/reactive-layout/node-canvas/index.d.ts +54 -0
  220. package/dist/solutions/reactive-layout/node-canvas/index.js +131 -0
  221. package/dist/solutions/reactive-layout/node-canvas/index.js.map +1 -0
  222. package/dist/solutions/reactive-layout/react-native/index.cjs +494 -0
  223. package/dist/solutions/reactive-layout/react-native/index.cjs.map +1 -0
  224. package/dist/solutions/reactive-layout/react-native/index.d.cts +51 -0
  225. package/dist/solutions/reactive-layout/react-native/index.d.ts +51 -0
  226. package/dist/solutions/reactive-layout/react-native/index.js +77 -0
  227. package/dist/solutions/reactive-layout/react-native/index.js.map +1 -0
  228. package/dist/solutions/reactive-layout/skia/index.cjs +547 -0
  229. package/dist/solutions/reactive-layout/skia/index.cjs.map +1 -0
  230. package/dist/solutions/reactive-layout/skia/index.d.cts +64 -0
  231. package/dist/solutions/reactive-layout/skia/index.d.ts +64 -0
  232. package/dist/solutions/reactive-layout/skia/index.js +70 -0
  233. package/dist/solutions/reactive-layout/skia/index.js.map +1 -0
  234. package/dist/solutions/work-item/actions.cjs +2164 -0
  235. package/dist/solutions/work-item/actions.cjs.map +1 -0
  236. package/dist/solutions/work-item/actions.d.cts +201 -0
  237. package/dist/solutions/work-item/actions.d.ts +201 -0
  238. package/dist/solutions/work-item/actions.js +1454 -0
  239. package/dist/solutions/work-item/actions.js.map +1 -0
  240. package/dist/solutions/work-item/scheduling.cjs +2454 -0
  241. package/dist/solutions/work-item/scheduling.cjs.map +1 -0
  242. package/dist/solutions/work-item/scheduling.d.cts +433 -0
  243. package/dist/solutions/work-item/scheduling.d.ts +433 -0
  244. package/dist/solutions/work-item/scheduling.js +32 -0
  245. package/dist/solutions/work-item/scheduling.js.map +1 -0
  246. package/dist/solutions/work-item/work-queue.cjs +306 -0
  247. package/dist/solutions/work-item/work-queue.cjs.map +1 -0
  248. package/dist/solutions/work-item/work-queue.d.cts +71 -0
  249. package/dist/solutions/work-item/work-queue.d.ts +71 -0
  250. package/dist/solutions/work-item/work-queue.js +270 -0
  251. package/dist/solutions/work-item/work-queue.js.map +1 -0
  252. package/dist/sources/browser.cjs +169 -57
  253. package/dist/sources/browser.cjs.map +1 -1
  254. package/dist/sources/browser.d.cts +33 -6
  255. package/dist/sources/browser.d.ts +33 -6
  256. package/dist/sources/browser.js +73 -6
  257. package/dist/sources/browser.js.map +1 -1
  258. package/dist/sources/index.cjs +102 -57
  259. package/dist/sources/index.cjs.map +1 -1
  260. package/dist/sources/index.d.cts +5 -5
  261. package/dist/sources/index.d.ts +5 -5
  262. package/dist/sources/index.js +6 -5
  263. package/dist/sources/node.cjs.map +1 -1
  264. package/dist/sources/node.d.cts +4 -4
  265. package/dist/sources/node.d.ts +4 -4
  266. package/dist/sources/node.js +2 -1
  267. package/dist/sources/node.js.map +1 -1
  268. package/dist/storage/browser.js +1 -0
  269. package/dist/storage/browser.js.map +1 -1
  270. package/dist/storage/index.d.cts +5 -5
  271. package/dist/storage/index.d.ts +5 -5
  272. package/dist/storage/index.js +5 -4
  273. package/dist/storage/node.js +1 -0
  274. package/dist/storage/node.js.map +1 -1
  275. package/dist/store-C-joM4gh.d.ts +123 -0
  276. package/dist/store-CNJwmT-h.d.cts +123 -0
  277. package/dist/testing/index.cjs +1 -0
  278. package/dist/testing/index.cjs.map +1 -1
  279. package/dist/testing/index.d.cts +1 -1
  280. package/dist/testing/index.d.ts +1 -1
  281. package/dist/testing/index.js +3 -2
  282. package/dist/{types-h12mNYbq.d.ts → types-BsJvElYZ.d.ts} +31 -31
  283. package/dist/{types-bNMSWKqF.d.cts → types-CcPIn7sy.d.cts} +31 -31
  284. package/dist/work-item-runtime-C3M79vE9.d.ts +228 -0
  285. package/dist/work-item-runtime-qaVgsL0T.d.cts +228 -0
  286. package/dist/work-queue/index.cjs +1132 -0
  287. package/dist/work-queue/index.cjs.map +1 -0
  288. package/dist/work-queue/index.d.cts +369 -0
  289. package/dist/work-queue/index.d.ts +369 -0
  290. package/dist/work-queue/index.js +1078 -0
  291. package/dist/work-queue/index.js.map +1 -0
  292. package/package.json +266 -2
  293. package/dist/chunk-COHO25CZ.js.map +0 -1
  294. package/dist/chunk-DK554R7P.js.map +0 -1
  295. package/dist/chunk-I3IHOHCJ.js.map +0 -1
  296. package/dist/chunk-RIIOUTGM.js.map +0 -1
  297. package/dist/chunk-SWTLEQL6.js.map +0 -1
  298. /package/dist/{chunk-JR4IKCR2.js.map → chunk-2747WN4Y.js.map} +0 -0
  299. /package/dist/{chunk-GDL26N2T.js.map → chunk-3KN7NJDR.js.map} +0 -0
  300. /package/dist/{chunk-DJC4CHLQ.js.map → chunk-43BKLFZU.js.map} +0 -0
  301. /package/dist/{chunk-SCRFRCGR.js.map → chunk-BSQGE5PS.js.map} +0 -0
  302. /package/dist/{chunk-Y3ZLRGHC.js.map → chunk-CZNV3VXM.js.map} +0 -0
  303. /package/dist/{chunk-JIMUDQN3.js.map → chunk-FBUU43PM.js.map} +0 -0
  304. /package/dist/{chunk-D6BG7U6A.js.map → chunk-IXZBUWSP.js.map} +0 -0
  305. /package/dist/{chunk-PKVBHGBM.js.map → chunk-SS2A464I.js.map} +0 -0
  306. /package/dist/{chunk-G4M3NHRJ.js.map → chunk-V7CIJE4B.js.map} +0 -0
  307. /package/dist/{chunk-TEW47IVR.js.map → chunk-VPEFSDME.js.map} +0 -0
@@ -0,0 +1,61 @@
1
+ import { W as WritableNode } from '../store-CNJwmT-h.cjs';
2
+ import { d as Graph } from '../graph-DCEWh4T2.cjs';
3
+ import { N as Node } from '../types-CcPIn7sy.cjs';
4
+ import '../core/index.cjs';
5
+ import '../messages-CAzUPPJM.cjs';
6
+ import '../codec-BB7p8fJc.cjs';
7
+ import '../describe-DYMw_l1C.cjs';
8
+
9
+ /**
10
+ * Framework-neutral graph boundary projection (D238).
11
+ *
12
+ * The manifest is derived from describe()/live topology (R-describe,
13
+ * R-edges-derived). It does not own widgets, layouts, capabilities, or product
14
+ * metadata; those layers consume this structural boundary.
15
+ */
16
+
17
+ type BoundaryRole = "input" | "output";
18
+ type BoundaryCapabilityKind = "auth" | "permission" | "config" | "resource";
19
+ interface BoundaryCapabilityRef {
20
+ id: string;
21
+ kind: BoundaryCapabilityKind;
22
+ required: boolean;
23
+ sourceRefs?: readonly string[];
24
+ }
25
+ interface BaseBoundaryNode {
26
+ /** Registered graph node id/path. */
27
+ name: string;
28
+ /** Structural boundary role inferred from current describe() topology. */
29
+ role: BoundaryRole;
30
+ /** describe() factory: "state" | "producer" | "derived" | operator real name. */
31
+ type: string;
32
+ /** Live handle for framework adapters such as useNodeInput/useNodeValue. */
33
+ node: Node<unknown>;
34
+ /**
35
+ * D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted
36
+ * React/Canvas/product registries and do not affect structural boundary role inference.
37
+ */
38
+ capabilities?: readonly BoundaryCapabilityRef[];
39
+ }
40
+ interface InputBoundaryNode extends BaseBoundaryNode {
41
+ role: "input";
42
+ node: WritableNode<unknown>;
43
+ }
44
+ interface OutputBoundaryNode extends BaseBoundaryNode {
45
+ role: "output";
46
+ }
47
+ type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;
48
+ interface BoundaryManifest {
49
+ inputs: InputBoundaryNode[];
50
+ outputs: OutputBoundaryNode[];
51
+ }
52
+ /**
53
+ * Derive a narrow v0 boundary manifest from current graph structure.
54
+ *
55
+ * Writable source nodes are inputs; unconsumed sink nodes are outputs; interior
56
+ * nodes are omitted. Auto-discovered graphless describe entries are skipped
57
+ * because widgets need live graph handles.
58
+ */
59
+ declare function boundaryManifest(graph: Graph): BoundaryManifest;
60
+
61
+ export { type BaseBoundaryNode, type BoundaryCapabilityKind, type BoundaryCapabilityRef, type BoundaryManifest, type BoundaryNode, type BoundaryRole, type InputBoundaryNode, type OutputBoundaryNode, boundaryManifest };
@@ -0,0 +1,61 @@
1
+ import { W as WritableNode } from '../store-C-joM4gh.js';
2
+ import { d as Graph } from '../graph-D-1-SQeC.js';
3
+ import { N as Node } from '../types-BsJvElYZ.js';
4
+ import '../core/index.js';
5
+ import '../messages-CAzUPPJM.js';
6
+ import '../codec-BB7p8fJc.js';
7
+ import '../describe-BpyJuWkw.js';
8
+
9
+ /**
10
+ * Framework-neutral graph boundary projection (D238).
11
+ *
12
+ * The manifest is derived from describe()/live topology (R-describe,
13
+ * R-edges-derived). It does not own widgets, layouts, capabilities, or product
14
+ * metadata; those layers consume this structural boundary.
15
+ */
16
+
17
+ type BoundaryRole = "input" | "output";
18
+ type BoundaryCapabilityKind = "auth" | "permission" | "config" | "resource";
19
+ interface BoundaryCapabilityRef {
20
+ id: string;
21
+ kind: BoundaryCapabilityKind;
22
+ required: boolean;
23
+ sourceRefs?: readonly string[];
24
+ }
25
+ interface BaseBoundaryNode {
26
+ /** Registered graph node id/path. */
27
+ name: string;
28
+ /** Structural boundary role inferred from current describe() topology. */
29
+ role: BoundaryRole;
30
+ /** describe() factory: "state" | "producer" | "derived" | operator real name. */
31
+ type: string;
32
+ /** Live handle for framework adapters such as useNodeInput/useNodeValue. */
33
+ node: Node<unknown>;
34
+ /**
35
+ * D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted
36
+ * React/Canvas/product registries and do not affect structural boundary role inference.
37
+ */
38
+ capabilities?: readonly BoundaryCapabilityRef[];
39
+ }
40
+ interface InputBoundaryNode extends BaseBoundaryNode {
41
+ role: "input";
42
+ node: WritableNode<unknown>;
43
+ }
44
+ interface OutputBoundaryNode extends BaseBoundaryNode {
45
+ role: "output";
46
+ }
47
+ type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;
48
+ interface BoundaryManifest {
49
+ inputs: InputBoundaryNode[];
50
+ outputs: OutputBoundaryNode[];
51
+ }
52
+ /**
53
+ * Derive a narrow v0 boundary manifest from current graph structure.
54
+ *
55
+ * Writable source nodes are inputs; unconsumed sink nodes are outputs; interior
56
+ * nodes are omitted. Auto-discovered graphless describe entries are skipped
57
+ * because widgets need live graph handles.
58
+ */
59
+ declare function boundaryManifest(graph: Graph): BoundaryManifest;
60
+
61
+ export { type BaseBoundaryNode, type BoundaryCapabilityKind, type BoundaryCapabilityRef, type BoundaryManifest, type BoundaryNode, type BoundaryRole, type InputBoundaryNode, type OutputBoundaryNode, boundaryManifest };
@@ -0,0 +1,75 @@
1
+ import "../chunk-DGUM43GV.js";
2
+
3
+ // src/inspection/boundary.ts
4
+ function boundaryManifest(graph) {
5
+ const described = graph.describe();
6
+ const consumed = /* @__PURE__ */ new Set();
7
+ for (const snapshot of walkSnapshots(described)) {
8
+ for (const edge of snapshot.edges ?? []) consumed.add(edge.from);
9
+ }
10
+ const inputs = [];
11
+ const outputs = [];
12
+ for (const snapshot of walkSnapshots(described)) {
13
+ for (const entry of snapshot.nodes ?? []) {
14
+ const node = graph.find(entry.id);
15
+ if (node === void 0) continue;
16
+ const capabilities = boundaryCapabilities(entry.meta);
17
+ const isSource = (entry.deps?.length ?? 0) === 0;
18
+ const base = capabilities === void 0 ? { name: entry.id, type: entry.factory, node } : { name: entry.id, type: entry.factory, node, capabilities };
19
+ if (isSource && isWritableNode(node)) {
20
+ inputs.push({ ...base, role: "input", node });
21
+ } else if (!consumed.has(entry.id)) {
22
+ outputs.push({ ...base, role: "output" });
23
+ }
24
+ }
25
+ }
26
+ return { inputs, outputs };
27
+ }
28
+ function* walkSnapshots(snapshot) {
29
+ yield snapshot;
30
+ for (const child of snapshot.subgraphs ?? []) yield* walkSnapshots(child);
31
+ }
32
+ function isWritableNode(node) {
33
+ return typeof node.set === "function";
34
+ }
35
+ function boundaryCapabilities(meta) {
36
+ const raw = meta?.boundaryCapabilities;
37
+ if (raw === void 0) return void 0;
38
+ if (!Array.isArray(raw)) return void 0;
39
+ const refs = [];
40
+ for (const item of raw) {
41
+ const ref = boundaryCapabilityRef(item);
42
+ if (ref !== void 0) refs.push(ref);
43
+ }
44
+ return refs.length === 0 ? void 0 : refs;
45
+ }
46
+ function boundaryCapabilityRef(value) {
47
+ if (value === null || typeof value !== "object" || Array.isArray(value)) return void 0;
48
+ const record = value;
49
+ if (!Object.keys(record).every(isBoundaryCapabilityRefKey)) return void 0;
50
+ if (typeof record.id !== "string" || !isBoundaryCapabilityKind(record.kind)) return void 0;
51
+ if (typeof record.required !== "boolean") return void 0;
52
+ const sourceRefs = stringArray(record.sourceRefs);
53
+ if (record.sourceRefs !== void 0 && sourceRefs === void 0) return void 0;
54
+ return {
55
+ id: record.id,
56
+ kind: record.kind,
57
+ required: record.required,
58
+ ...sourceRefs === void 0 ? {} : { sourceRefs }
59
+ };
60
+ }
61
+ function isBoundaryCapabilityKind(value) {
62
+ return value === "auth" || value === "permission" || value === "config" || value === "resource";
63
+ }
64
+ function isBoundaryCapabilityRefKey(value) {
65
+ return value === "id" || value === "kind" || value === "required" || value === "sourceRefs";
66
+ }
67
+ function stringArray(value) {
68
+ if (value === void 0) return void 0;
69
+ if (!Array.isArray(value) || !value.every((entry) => typeof entry === "string")) return void 0;
70
+ return value;
71
+ }
72
+ export {
73
+ boundaryManifest
74
+ };
75
+ //# sourceMappingURL=boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/inspection/boundary.ts"],"sourcesContent":["/**\n * Framework-neutral graph boundary projection (D238).\n *\n * The manifest is derived from describe()/live topology (R-describe,\n * R-edges-derived). It does not own widgets, layouts, capabilities, or product\n * metadata; those layers consume this structural boundary.\n */\n\nimport type { WritableNode } from \"../adapters/store.js\";\nimport type { DescribeSnapshot } from \"../graph/describe.js\";\nimport type { Graph } from \"../graph/graph.js\";\nimport type { Node } from \"../node/node.js\";\n\nexport type BoundaryRole = \"input\" | \"output\";\nexport type BoundaryCapabilityKind = \"auth\" | \"permission\" | \"config\" | \"resource\";\n\nexport interface BoundaryCapabilityRef {\n\tid: string;\n\tkind: BoundaryCapabilityKind;\n\trequired: boolean;\n\tsourceRefs?: readonly string[];\n}\n\nexport interface BaseBoundaryNode {\n\t/** Registered graph node id/path. */\n\tname: string;\n\t/** Structural boundary role inferred from current describe() topology. */\n\trole: BoundaryRole;\n\t/** describe() factory: \"state\" | \"producer\" | \"derived\" | operator real name. */\n\ttype: string;\n\t/** Live handle for framework adapters such as useNodeInput/useNodeValue. */\n\tnode: Node<unknown>;\n\t/**\n\t * D348 generic capability refs only. Product/OAuth/config-form semantics stay in trusted\n\t * React/Canvas/product registries and do not affect structural boundary role inference.\n\t */\n\tcapabilities?: readonly BoundaryCapabilityRef[];\n}\n\nexport interface InputBoundaryNode extends BaseBoundaryNode {\n\trole: \"input\";\n\tnode: WritableNode<unknown>;\n}\n\nexport interface OutputBoundaryNode extends BaseBoundaryNode {\n\trole: \"output\";\n}\n\nexport type BoundaryNode = InputBoundaryNode | OutputBoundaryNode;\n\nexport interface BoundaryManifest {\n\tinputs: InputBoundaryNode[];\n\toutputs: OutputBoundaryNode[];\n}\n\n/**\n * Derive a narrow v0 boundary manifest from current graph structure.\n *\n * Writable source nodes are inputs; unconsumed sink nodes are outputs; interior\n * nodes are omitted. Auto-discovered graphless describe entries are skipped\n * because widgets need live graph handles.\n */\nexport function boundaryManifest(graph: Graph): BoundaryManifest {\n\tconst described = graph.describe();\n\tconst consumed = new Set<string>();\n\tfor (const snapshot of walkSnapshots(described)) {\n\t\tfor (const edge of snapshot.edges ?? []) consumed.add(edge.from);\n\t}\n\tconst inputs: InputBoundaryNode[] = [];\n\tconst outputs: OutputBoundaryNode[] = [];\n\n\tfor (const snapshot of walkSnapshots(described)) {\n\t\tfor (const entry of snapshot.nodes ?? []) {\n\t\t\tconst node = graph.find(entry.id);\n\t\t\tif (node === undefined) continue;\n\t\t\tconst capabilities = boundaryCapabilities(entry.meta);\n\t\t\tconst isSource = (entry.deps?.length ?? 0) === 0;\n\t\t\tconst base =\n\t\t\t\tcapabilities === undefined\n\t\t\t\t\t? { name: entry.id, type: entry.factory, node }\n\t\t\t\t\t: { name: entry.id, type: entry.factory, node, capabilities };\n\t\t\tif (isSource && isWritableNode(node)) {\n\t\t\t\tinputs.push({ ...base, role: \"input\", node });\n\t\t\t} else if (!consumed.has(entry.id)) {\n\t\t\t\toutputs.push({ ...base, role: \"output\" });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { inputs, outputs };\n}\n\nfunction* walkSnapshots(snapshot: DescribeSnapshot): Generator<DescribeSnapshot> {\n\tyield snapshot;\n\tfor (const child of snapshot.subgraphs ?? []) yield* walkSnapshots(child);\n}\n\nfunction isWritableNode(node: Node<unknown>): node is WritableNode<unknown> {\n\treturn typeof (node as { set?: unknown }).set === \"function\";\n}\n\nfunction boundaryCapabilities(\n\tmeta: Record<string, unknown> | undefined,\n): BoundaryCapabilityRef[] | undefined {\n\tconst raw = meta?.boundaryCapabilities;\n\tif (raw === undefined) return undefined;\n\tif (!Array.isArray(raw)) return undefined;\n\tconst refs: BoundaryCapabilityRef[] = [];\n\tfor (const item of raw) {\n\t\tconst ref = boundaryCapabilityRef(item);\n\t\tif (ref !== undefined) refs.push(ref);\n\t}\n\treturn refs.length === 0 ? undefined : refs;\n}\n\nfunction boundaryCapabilityRef(value: unknown): BoundaryCapabilityRef | undefined {\n\tif (value === null || typeof value !== \"object\" || Array.isArray(value)) return undefined;\n\tconst record = value as Record<string, unknown>;\n\tif (!Object.keys(record).every(isBoundaryCapabilityRefKey)) return undefined;\n\tif (typeof record.id !== \"string\" || !isBoundaryCapabilityKind(record.kind)) return undefined;\n\tif (typeof record.required !== \"boolean\") return undefined;\n\tconst sourceRefs = stringArray(record.sourceRefs);\n\tif (record.sourceRefs !== undefined && sourceRefs === undefined) return undefined;\n\treturn {\n\t\tid: record.id,\n\t\tkind: record.kind,\n\t\trequired: record.required,\n\t\t...(sourceRefs === undefined ? {} : { sourceRefs }),\n\t};\n}\n\nfunction isBoundaryCapabilityKind(value: unknown): value is BoundaryCapabilityKind {\n\treturn value === \"auth\" || value === \"permission\" || value === \"config\" || value === \"resource\";\n}\n\nfunction isBoundaryCapabilityRefKey(value: string): value is keyof BoundaryCapabilityRef {\n\treturn value === \"id\" || value === \"kind\" || value === \"required\" || value === \"sourceRefs\";\n}\n\nfunction stringArray(value: unknown): readonly string[] | undefined {\n\tif (value === undefined) return undefined;\n\tif (!Array.isArray(value) || !value.every((entry) => typeof entry === \"string\")) return undefined;\n\treturn value;\n}\n"],"mappings":";;;AA8DO,SAAS,iBAAiB,OAAgC;AAChE,QAAM,YAAY,MAAM,SAAS;AACjC,QAAM,WAAW,oBAAI,IAAY;AACjC,aAAW,YAAY,cAAc,SAAS,GAAG;AAChD,eAAW,QAAQ,SAAS,SAAS,CAAC,EAAG,UAAS,IAAI,KAAK,IAAI;AAAA,EAChE;AACA,QAAM,SAA8B,CAAC;AACrC,QAAM,UAAgC,CAAC;AAEvC,aAAW,YAAY,cAAc,SAAS,GAAG;AAChD,eAAW,SAAS,SAAS,SAAS,CAAC,GAAG;AACzC,YAAM,OAAO,MAAM,KAAK,MAAM,EAAE;AAChC,UAAI,SAAS,OAAW;AACxB,YAAM,eAAe,qBAAqB,MAAM,IAAI;AACpD,YAAM,YAAY,MAAM,MAAM,UAAU,OAAO;AAC/C,YAAM,OACL,iBAAiB,SACd,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,SAAS,KAAK,IAC5C,EAAE,MAAM,MAAM,IAAI,MAAM,MAAM,SAAS,MAAM,aAAa;AAC9D,UAAI,YAAY,eAAe,IAAI,GAAG;AACrC,eAAO,KAAK,EAAE,GAAG,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,MAC7C,WAAW,CAAC,SAAS,IAAI,MAAM,EAAE,GAAG;AACnC,gBAAQ,KAAK,EAAE,GAAG,MAAM,MAAM,SAAS,CAAC;AAAA,MACzC;AAAA,IACD;AAAA,EACD;AAEA,SAAO,EAAE,QAAQ,QAAQ;AAC1B;AAEA,UAAU,cAAc,UAAyD;AAChF,QAAM;AACN,aAAW,SAAS,SAAS,aAAa,CAAC,EAAG,QAAO,cAAc,KAAK;AACzE;AAEA,SAAS,eAAe,MAAoD;AAC3E,SAAO,OAAQ,KAA2B,QAAQ;AACnD;AAEA,SAAS,qBACR,MACsC;AACtC,QAAM,MAAM,MAAM;AAClB,MAAI,QAAQ,OAAW,QAAO;AAC9B,MAAI,CAAC,MAAM,QAAQ,GAAG,EAAG,QAAO;AAChC,QAAM,OAAgC,CAAC;AACvC,aAAW,QAAQ,KAAK;AACvB,UAAM,MAAM,sBAAsB,IAAI;AACtC,QAAI,QAAQ,OAAW,MAAK,KAAK,GAAG;AAAA,EACrC;AACA,SAAO,KAAK,WAAW,IAAI,SAAY;AACxC;AAEA,SAAS,sBAAsB,OAAmD;AACjF,MAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,EAAG,QAAO;AAChF,QAAM,SAAS;AACf,MAAI,CAAC,OAAO,KAAK,MAAM,EAAE,MAAM,0BAA0B,EAAG,QAAO;AACnE,MAAI,OAAO,OAAO,OAAO,YAAY,CAAC,yBAAyB,OAAO,IAAI,EAAG,QAAO;AACpF,MAAI,OAAO,OAAO,aAAa,UAAW,QAAO;AACjD,QAAM,aAAa,YAAY,OAAO,UAAU;AAChD,MAAI,OAAO,eAAe,UAAa,eAAe,OAAW,QAAO;AACxE,SAAO;AAAA,IACN,IAAI,OAAO;AAAA,IACX,MAAM,OAAO;AAAA,IACb,UAAU,OAAO;AAAA,IACjB,GAAI,eAAe,SAAY,CAAC,IAAI,EAAE,WAAW;AAAA,EAClD;AACD;AAEA,SAAS,yBAAyB,OAAiD;AAClF,SAAO,UAAU,UAAU,UAAU,gBAAgB,UAAU,YAAY,UAAU;AACtF;AAEA,SAAS,2BAA2B,OAAqD;AACxF,SAAO,UAAU,QAAQ,UAAU,UAAU,UAAU,cAAc,UAAU;AAChF;AAEA,SAAS,YAAY,OAA+C;AACnE,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,CAAC,MAAM,MAAM,CAAC,UAAU,OAAO,UAAU,QAAQ,EAAG,QAAO;AACxF,SAAO;AACR;","names":[]}
@@ -4,13 +4,18 @@
4
4
  * Canonical authority: ~/src/graphrefly/spec/rules.jsonl
5
5
  * R-msg-format, R-msg-closed-set, R-tier (D34), R-data-payload, R-sentinel.
6
6
  */
7
- /** Opaque pause-lock identifier (R-pause-lockset). */
7
+ /** Opaque pause-lock / pull identifier (R-pause-lockset, R-pull). */
8
8
  type LockId = string | symbol;
9
+ /** Explicit pull demand payload (D269/D272). Params are holder-visible context, never DATA-up. */
10
+ interface PullDemand {
11
+ readonly pullId: LockId;
12
+ readonly params?: unknown;
13
+ }
9
14
  /**
10
- * The CLOSED set of 10 message types (R-msg-closed-set / D9 + START handshake).
15
+ * The CLOSED set of 11 message types (R-msg-closed-set / D9 + D269 + START handshake).
11
16
  * No open set, no user-defined custom types. Adding a type is a spec change.
12
17
  */
13
- type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId];
18
+ type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId] | readonly ["PULL", PullDemand];
14
19
  /** One array of messages delivered in one call = one Wave (R-wave-boundary). */
15
20
  type Wave = readonly Message[];
16
21
  /** The message-type tag (the first tuple element). */
@@ -46,10 +51,10 @@ declare function isPauseBufferedTier(t: MessageType): boolean;
46
51
  */
47
52
  declare function isTerminal(t: MessageType): boolean;
48
53
  /**
49
- * ctx.up carries control tiers only (R-ctx-up / DR-5): DIRTY, PAUSE, RESUME,
54
+ * ctx.up carries control/demand tiers only (R-ctx-up / D269): DIRTY, PAUSE, RESUME, PULL,
50
55
  * INVALIDATE, TEARDOWN. DATA/RESOLVED (tier 3) and COMPLETE/ERROR (tier 5) are
51
56
  * down-only.
52
57
  */
53
58
  declare function isUpAllowed(t: MessageType): boolean;
54
59
 
55
- export { type LockId as L, type Message as M, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
60
+ export { type LockId as L, type Message as M, type PullDemand as P, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
@@ -4,13 +4,18 @@
4
4
  * Canonical authority: ~/src/graphrefly/spec/rules.jsonl
5
5
  * R-msg-format, R-msg-closed-set, R-tier (D34), R-data-payload, R-sentinel.
6
6
  */
7
- /** Opaque pause-lock identifier (R-pause-lockset). */
7
+ /** Opaque pause-lock / pull identifier (R-pause-lockset, R-pull). */
8
8
  type LockId = string | symbol;
9
+ /** Explicit pull demand payload (D269/D272). Params are holder-visible context, never DATA-up. */
10
+ interface PullDemand {
11
+ readonly pullId: LockId;
12
+ readonly params?: unknown;
13
+ }
9
14
  /**
10
- * The CLOSED set of 10 message types (R-msg-closed-set / D9 + START handshake).
15
+ * The CLOSED set of 11 message types (R-msg-closed-set / D9 + D269 + START handshake).
11
16
  * No open set, no user-defined custom types. Adding a type is a spec change.
12
17
  */
13
- type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId];
18
+ type Message = readonly ["START"] | readonly ["DIRTY"] | readonly ["DATA", unknown] | readonly ["RESOLVED"] | readonly ["INVALIDATE"] | readonly ["COMPLETE"] | readonly ["ERROR", unknown] | readonly ["TEARDOWN"] | readonly ["PAUSE", LockId] | readonly ["RESUME", LockId] | readonly ["PULL", PullDemand];
14
19
  /** One array of messages delivered in one call = one Wave (R-wave-boundary). */
15
20
  type Wave = readonly Message[];
16
21
  /** The message-type tag (the first tuple element). */
@@ -46,10 +51,10 @@ declare function isPauseBufferedTier(t: MessageType): boolean;
46
51
  */
47
52
  declare function isTerminal(t: MessageType): boolean;
48
53
  /**
49
- * ctx.up carries control tiers only (R-ctx-up / DR-5): DIRTY, PAUSE, RESUME,
54
+ * ctx.up carries control/demand tiers only (R-ctx-up / D269): DIRTY, PAUSE, RESUME, PULL,
50
55
  * INVALIDATE, TEARDOWN. DATA/RESOLVED (tier 3) and COMPLETE/ERROR (tier 5) are
51
56
  * down-only.
52
57
  */
53
58
  declare function isUpAllowed(t: MessageType): boolean;
54
59
 
55
- export { type LockId as L, type Message as M, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };
60
+ export { type LockId as L, type Message as M, type PullDemand as P, SENTINEL as S, TIER_CONTROL as T, type Wave as W, type MessageType as a, TIER_NOTIFICATION as b, TIER_SETTLE as c, TIER_START as d, TIER_TEARDOWN as e, TIER_TERMINAL as f, TIER_VALUE as g, errorPayload as h, isDeferredTier as i, isInvalidErrorPayload as j, isPauseBufferedTier as k, isTerminal as l, isUpAllowed as m, isValueTier as n, messageTier as o };