@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
@@ -1,4 +1,4 @@
1
- import { W as Wave } from '../messages-BZqrGGm1.js';
1
+ import { W as Wave } from '../messages-CAzUPPJM.js';
2
2
 
3
3
  /**
4
4
  * Public testing assertions for clean-slate GraphReFly message streams.
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  assertDirtyPrecedesTerminalData
3
- } from "../chunk-TEW47IVR.js";
4
- import "../chunk-DK554R7P.js";
3
+ } from "../chunk-VPEFSDME.js";
4
+ import "../chunk-S6HXABGL.js";
5
+ import "../chunk-DGUM43GV.js";
5
6
  export {
6
7
  assertDirtyPrecedesTerminalData
7
8
  };
@@ -1,4 +1,4 @@
1
- import { L as LockId, W as Wave, M as Message } from './messages-BZqrGGm1.js';
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.
@@ -324,15 +324,16 @@ interface NodeOptions<T = unknown> {
324
324
  /** PAUSE/RESUME behavior (R-pause-modes). Default true. */
325
325
  pausable?: boolean | "resumeAll";
326
326
  /**
327
- * Pull-mode node (R-pull / D55,D59): a quiet-until-demanded source, identified by this
327
+ * Pull-mode node (R-pull / D269): a quiet-until-demanded source, identified by this
328
328
  * 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 =
329
+ * bare string if callers may also use strings as pause locks). QUIET by default: it ABSORBS
330
+ * an upstream DIRTY WITHOUT relaying it downstream
331
+ * (the wedge fix) and does NOT push-on-subscribe its cached value (START only). A DEMAND =
332
+ * cone-routed `PULL({pullId, params?})`: a downstream consumer issues
333
+ * `ctx.up([["PULL", { pullId, params }]])` (broadcast up the declared cone) or
334
+ * `ctx.up(msgs, towardDep)` (directed) WITHOUT holding this node's reference; the PULL travels
335
+ * up to the pullId-holder, which fires EXACTLY ONE delivery (DIRTY-before-DATA when it emits)
336
+ * then RE-QUIETS (1:1). Delivery content =
336
337
  * the orthogonal `pausable` mode: `true` → coalesced LATEST (one DATA); `'resumeAll'` → buffered
337
338
  * BACKLOG. `pullId` + `pausable:false` is REJECTED at construction. A SELF-triggered demand (a
338
339
  * consumer demanding a dep it ALSO reads) must defer via {@link Ctx.upNext} (R-rewire-deferred /
@@ -381,15 +382,14 @@ declare class Node<T = unknown> {
381
382
  private get _syncCtx();
382
383
  private set _syncCtx(value);
383
384
  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). */
385
+ /** R-pull (D55/D272): true while a pull node is not serving a PULL demand pulse. */
385
386
  private _isPullQuiet;
386
387
  /**
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.
388
+ * R-pull (D269/D272): this pull node's pullId (pure data, like {@link cache}/{@link handle} —
389
+ * never triggers computation). A consumer demands one delivery by cone-routing PULL of it (no
390
+ * node reference): `ctx.up([["PULL", { pullId }]])` (immediate; loops back → D37 for a self-read
391
+ * dep) or `ctx.upNext([["PULL", { pullId }]])` (boundary-deferred self-demand). Undefined for a
392
+ * non-pull node. The author writes the pullId verbatim; routing matches by identity.
393
393
  */
394
394
  get pullId(): LockId | undefined;
395
395
  get cache(): T | undefined;
@@ -428,10 +428,10 @@ declare class Node<T = unknown> {
428
428
  */
429
429
  private _requestRewireNext;
430
430
  /**
431
- * Enqueue a deferred up-going control wave (R-up-routing / R-pull / D59): at the committed wave
431
+ * Enqueue a deferred up-going control/demand wave (R-up-routing / R-pull / D269): at the committed wave
432
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
433
+ * deferred form of `ctx.up` — the SELF-demand path: a consumer issues `ctx.upNext([[PULL,
434
+ * { pullId }]])` to demand a dep it ALSO reads; the demand applies at the boundary (not mid-fn), so
435
435
  * the pull node's delivery loops back as a FRESH wave rather than re-entering the consumer (D37 /
436
436
  * R-reentrancy). Rides the same R-rewire-deferred (D47) drain as ctx.rewireNext.
437
437
  */
@@ -517,7 +517,7 @@ declare class Node<T = unknown> {
517
517
  * Forward one up-going control message toward deps (R-up-routing): up the single declared edge
518
518
  * `towardDep` (directed — prunes other branches; only meaningful on the issuer's FIRST hop) or
519
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
520
+ * e.g. a cone-routed PULL whose pullId no node up this cone holds, R-up-at-source). Recursive
521
521
  * forwarding carries the same per-wave route state and no `towardDep` → broadcast beyond the
522
522
  * first hop.
523
523
  */
@@ -529,19 +529,17 @@ declare class Node<T = unknown> {
529
529
  private _pauseRelease;
530
530
  private _onResume;
531
531
  /**
532
- * R-pull (D59): can this pull node fire a demand NOW? — not terminal, settle-ready (_pending===0),
532
+ * R-pull (D269): can this pull node fire a demand NOW? — not terminal, settle-ready (_pending===0),
533
533
  * and no OTHER (non-pullId) lock holds it paused. The gate that decides fire-now vs OWE.
534
534
  */
535
535
  private _canFireDemand;
536
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.
537
+ * R-pull (D269/D272): deliver ONE demand pulse — install activePull so the demand wave may
538
+ * emit, fire it, then clear activePull so the node is quiet again (1:1).
541
539
  */
542
540
  private _deliverPullDemand;
543
541
  /**
544
- * R-pull (D59): a cone-routed RESUME of THIS node's pullId arrived (R-up-routing) = a DEMAND.
542
+ * R-pull (D269): a cone-routed PULL of THIS node's pullId arrived (R-up-routing) = a DEMAND.
545
543
  * Fire immediately if able; else OWE it — pin-5 (a dep DIRTY in flight, _pending>0) or F4/F5 (an
546
544
  * external PAUSE lock co-holds the node) — and fire when the node next becomes able. A demand
547
545
  * arriving WHILE a delivery is in flight (synchronous re-entry) is DROPPED (1:1, QA guard).
@@ -559,7 +557,7 @@ declare class Node<T = unknown> {
559
557
  */
560
558
  private _firePullDemand;
561
559
  /**
562
- * R-pull (D55/D59): fire a demand that was OWED (deferred at demand time) once the node becomes
560
+ * R-pull (D269): fire a demand that was OWED (deferred at demand time) once the node becomes
563
561
  * able — called from the dep-settle arms (DATA/RESOLVED/INVALIDATE/terminal drain _pending, pin-5
564
562
  * + B1/F6) and from `_pauseRelease` (an external PAUSE lock releases, F4/F5).
565
563
  */
@@ -667,8 +665,8 @@ interface Ctx {
667
665
  /**
668
666
  * Emit upstream toward deps — control tiers only (R-ctx-up). IMMEDIATE. `towardDep` (a dep index)
669
667
  * 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
668
+ * A pull DEMAND is `up([[PULL, { pullId, params }]])` — but for a SELF-demand (demanding a dep
669
+ * this fn also reads) use {@link Ctx.upNext} instead, since an immediate demand whose delivery loops back
672
670
  * re-enters this fn mid-wave (D37 / R-reentrancy).
673
671
  */
674
672
  up(msgs: Wave, towardDep?: number): void;
@@ -689,6 +687,8 @@ interface Ctx {
689
687
  onInvalidate(fn: () => void): void;
690
688
  /** Graph-owned environment drivers for source/adapter boundaries (D130/D131). */
691
689
  environment(): EnvironmentDrivers;
690
+ /** Holder-visible context for a PULL-caused invocation (D272); absent for ordinary waves. */
691
+ readonly pull?: PullDemand;
692
692
  /**
693
693
  * Deferred SELF-rewire (R-rewire-deferred / D47) — the substrate affordance higher-order
694
694
  * operators (switchMap/mergeMap/concatMap/exhaustMap/flatMap) use to grow/shrink their own
@@ -699,8 +699,8 @@ interface Ctx {
699
699
  * Deferred up — the boundary-deferred form of {@link Ctx.up} (R-up-routing / R-pull / D59). Routes
700
700
  * `msgs` up from this node at the COMMITTED wave boundary (broadcast, or up the single `towardDep`
701
701
  * 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
702
+ * SELF-DEMAND path: a consumer issues `ctx.upNext([[PULL, { pullId, params }]])` to demand a pull
703
+ * dep it ALSO reads — the cone-routed PULL reaches the pullId-holder, whose delivery loops back as a
704
704
  * FRESH wave (not a mid-fn re-entry → no D37). The consumer accepts one-wave latency (the
705
705
  * HTTP-request model). No node reference needed: the author writes the pullId verbatim.
706
706
  */
@@ -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.cjs';
2
2
 
3
3
  /**
4
4
  * Dispatcher, pools, and the pure-data Handle.
@@ -324,15 +324,16 @@ interface NodeOptions<T = unknown> {
324
324
  /** PAUSE/RESUME behavior (R-pause-modes). Default true. */
325
325
  pausable?: boolean | "resumeAll";
326
326
  /**
327
- * Pull-mode node (R-pull / D55,D59): a quiet-until-demanded source, identified by this
327
+ * Pull-mode node (R-pull / D269): a quiet-until-demanded source, identified by this
328
328
  * 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 =
329
+ * bare string if callers may also use strings as pause locks). QUIET by default: it ABSORBS
330
+ * an upstream DIRTY WITHOUT relaying it downstream
331
+ * (the wedge fix) and does NOT push-on-subscribe its cached value (START only). A DEMAND =
332
+ * cone-routed `PULL({pullId, params?})`: a downstream consumer issues
333
+ * `ctx.up([["PULL", { pullId, params }]])` (broadcast up the declared cone) or
334
+ * `ctx.up(msgs, towardDep)` (directed) WITHOUT holding this node's reference; the PULL travels
335
+ * up to the pullId-holder, which fires EXACTLY ONE delivery (DIRTY-before-DATA when it emits)
336
+ * then RE-QUIETS (1:1). Delivery content =
336
337
  * the orthogonal `pausable` mode: `true` → coalesced LATEST (one DATA); `'resumeAll'` → buffered
337
338
  * BACKLOG. `pullId` + `pausable:false` is REJECTED at construction. A SELF-triggered demand (a
338
339
  * consumer demanding a dep it ALSO reads) must defer via {@link Ctx.upNext} (R-rewire-deferred /
@@ -381,15 +382,14 @@ declare class Node<T = unknown> {
381
382
  private get _syncCtx();
382
383
  private set _syncCtx(value);
383
384
  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). */
385
+ /** R-pull (D55/D272): true while a pull node is not serving a PULL demand pulse. */
385
386
  private _isPullQuiet;
386
387
  /**
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.
388
+ * R-pull (D269/D272): this pull node's pullId (pure data, like {@link cache}/{@link handle} —
389
+ * never triggers computation). A consumer demands one delivery by cone-routing PULL of it (no
390
+ * node reference): `ctx.up([["PULL", { pullId }]])` (immediate; loops back → D37 for a self-read
391
+ * dep) or `ctx.upNext([["PULL", { pullId }]])` (boundary-deferred self-demand). Undefined for a
392
+ * non-pull node. The author writes the pullId verbatim; routing matches by identity.
393
393
  */
394
394
  get pullId(): LockId | undefined;
395
395
  get cache(): T | undefined;
@@ -428,10 +428,10 @@ declare class Node<T = unknown> {
428
428
  */
429
429
  private _requestRewireNext;
430
430
  /**
431
- * Enqueue a deferred up-going control wave (R-up-routing / R-pull / D59): at the committed wave
431
+ * Enqueue a deferred up-going control/demand wave (R-up-routing / R-pull / D269): at the committed wave
432
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
433
+ * deferred form of `ctx.up` — the SELF-demand path: a consumer issues `ctx.upNext([[PULL,
434
+ * { pullId }]])` to demand a dep it ALSO reads; the demand applies at the boundary (not mid-fn), so
435
435
  * the pull node's delivery loops back as a FRESH wave rather than re-entering the consumer (D37 /
436
436
  * R-reentrancy). Rides the same R-rewire-deferred (D47) drain as ctx.rewireNext.
437
437
  */
@@ -517,7 +517,7 @@ declare class Node<T = unknown> {
517
517
  * Forward one up-going control message toward deps (R-up-routing): up the single declared edge
518
518
  * `towardDep` (directed — prunes other branches; only meaningful on the issuer's FIRST hop) or
519
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
520
+ * e.g. a cone-routed PULL whose pullId no node up this cone holds, R-up-at-source). Recursive
521
521
  * forwarding carries the same per-wave route state and no `towardDep` → broadcast beyond the
522
522
  * first hop.
523
523
  */
@@ -529,19 +529,17 @@ declare class Node<T = unknown> {
529
529
  private _pauseRelease;
530
530
  private _onResume;
531
531
  /**
532
- * R-pull (D59): can this pull node fire a demand NOW? — not terminal, settle-ready (_pending===0),
532
+ * R-pull (D269): can this pull node fire a demand NOW? — not terminal, settle-ready (_pending===0),
533
533
  * and no OTHER (non-pullId) lock holds it paused. The gate that decides fire-now vs OWE.
534
534
  */
535
535
  private _canFireDemand;
536
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.
537
+ * R-pull (D269/D272): deliver ONE demand pulse — install activePull so the demand wave may
538
+ * emit, fire it, then clear activePull so the node is quiet again (1:1).
541
539
  */
542
540
  private _deliverPullDemand;
543
541
  /**
544
- * R-pull (D59): a cone-routed RESUME of THIS node's pullId arrived (R-up-routing) = a DEMAND.
542
+ * R-pull (D269): a cone-routed PULL of THIS node's pullId arrived (R-up-routing) = a DEMAND.
545
543
  * Fire immediately if able; else OWE it — pin-5 (a dep DIRTY in flight, _pending>0) or F4/F5 (an
546
544
  * external PAUSE lock co-holds the node) — and fire when the node next becomes able. A demand
547
545
  * arriving WHILE a delivery is in flight (synchronous re-entry) is DROPPED (1:1, QA guard).
@@ -559,7 +557,7 @@ declare class Node<T = unknown> {
559
557
  */
560
558
  private _firePullDemand;
561
559
  /**
562
- * R-pull (D55/D59): fire a demand that was OWED (deferred at demand time) once the node becomes
560
+ * R-pull (D269): fire a demand that was OWED (deferred at demand time) once the node becomes
563
561
  * able — called from the dep-settle arms (DATA/RESOLVED/INVALIDATE/terminal drain _pending, pin-5
564
562
  * + B1/F6) and from `_pauseRelease` (an external PAUSE lock releases, F4/F5).
565
563
  */
@@ -667,8 +665,8 @@ interface Ctx {
667
665
  /**
668
666
  * Emit upstream toward deps — control tiers only (R-ctx-up). IMMEDIATE. `towardDep` (a dep index)
669
667
  * 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
668
+ * A pull DEMAND is `up([[PULL, { pullId, params }]])` — but for a SELF-demand (demanding a dep
669
+ * this fn also reads) use {@link Ctx.upNext} instead, since an immediate demand whose delivery loops back
672
670
  * re-enters this fn mid-wave (D37 / R-reentrancy).
673
671
  */
674
672
  up(msgs: Wave, towardDep?: number): void;
@@ -689,6 +687,8 @@ interface Ctx {
689
687
  onInvalidate(fn: () => void): void;
690
688
  /** Graph-owned environment drivers for source/adapter boundaries (D130/D131). */
691
689
  environment(): EnvironmentDrivers;
690
+ /** Holder-visible context for a PULL-caused invocation (D272); absent for ordinary waves. */
691
+ readonly pull?: PullDemand;
692
692
  /**
693
693
  * Deferred SELF-rewire (R-rewire-deferred / D47) — the substrate affordance higher-order
694
694
  * operators (switchMap/mergeMap/concatMap/exhaustMap/flatMap) use to grow/shrink their own
@@ -699,8 +699,8 @@ interface Ctx {
699
699
  * Deferred up — the boundary-deferred form of {@link Ctx.up} (R-up-routing / R-pull / D59). Routes
700
700
  * `msgs` up from this node at the COMMITTED wave boundary (broadcast, or up the single `towardDep`
701
701
  * 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
702
+ * SELF-DEMAND path: a consumer issues `ctx.upNext([[PULL, { pullId, params }]])` to demand a pull
703
+ * dep it ALSO reads — the cone-routed PULL reaches the pullId-holder, whose delivery loops back as a
704
704
  * FRESH wave (not a mid-fn re-entry → no D37). The consumer accepts one-wave latency (the
705
705
  * HTTP-request model). No node reference needed: the author writes the pullId verbatim.
706
706
  */
@@ -0,0 +1,228 @@
1
+ import { DataIssue } from './data/index.js';
2
+ import { d as Graph } from './graph-D-1-SQeC.js';
3
+ import { N as Node } from './types-BsJvElYZ.js';
4
+ import { S as SourceRef, v as AgentRuntimeAuditRecord, H as EffectRunResultStatus, z as EffectRunGoal, B as EffectRunLimits, w as EffectRun, h as AgentOutputEnvelope, g as AgentNeed, F as EffectRunResult } from './agent-runtime-BesGDZcB.js';
5
+
6
+ interface WorkItemSeed {
7
+ readonly kind: "work-item";
8
+ readonly workItemId: string;
9
+ readonly sourceRefs?: readonly SourceRef[];
10
+ readonly workItemKind?: string;
11
+ readonly summary?: string;
12
+ readonly detailRef?: string;
13
+ readonly lifecycleStatus?: string;
14
+ readonly issues?: readonly DataIssue[];
15
+ readonly metadata?: Record<string, unknown>;
16
+ }
17
+ interface WorkItemEffectRequested<TInput = unknown> {
18
+ readonly kind: "work-item-effect-requested";
19
+ readonly requestId: string;
20
+ readonly workItemId: string;
21
+ readonly effectRunId: string;
22
+ readonly effectKind: string;
23
+ readonly executionInputRevision?: number;
24
+ readonly planId?: string;
25
+ readonly planMemberId?: string;
26
+ readonly sourceRefs?: readonly SourceRef[];
27
+ readonly goal: EffectRunGoal<TInput>;
28
+ readonly agentRunId?: string;
29
+ readonly policyRefs?: readonly SourceRef[];
30
+ readonly limits?: EffectRunLimits;
31
+ readonly createdBy?: string;
32
+ readonly createdAtMs?: number;
33
+ readonly idempotencyKey?: string;
34
+ readonly metadata?: Record<string, unknown>;
35
+ }
36
+ interface WorkItemEvidenceRecorded {
37
+ readonly kind: "work-item-evidence-recorded";
38
+ readonly evidenceId: string;
39
+ readonly workItemId: string;
40
+ readonly requestId?: string;
41
+ readonly effectRunId: string;
42
+ readonly effectRunResultId: string;
43
+ readonly executionInputRevision?: number;
44
+ readonly planId?: string;
45
+ readonly planMemberId?: string;
46
+ readonly status: EffectRunResultStatus;
47
+ readonly sourceRefs?: readonly SourceRef[];
48
+ readonly output?: AgentOutputEnvelope;
49
+ readonly error?: DataIssue;
50
+ readonly needs?: readonly AgentNeed[];
51
+ readonly reason?: string;
52
+ readonly timeoutMs?: number;
53
+ readonly issues?: readonly DataIssue[];
54
+ readonly auditRefs?: readonly string[];
55
+ readonly recordedAtMs?: number;
56
+ readonly metadata?: Record<string, unknown>;
57
+ }
58
+ type WorkItemDomainActionProposalPayloadFrom = "evidence" | "effect-run-result" | "output";
59
+ interface WorkItemDomainActionProposalSpec<TPayload = unknown> {
60
+ readonly actionKind: string;
61
+ readonly behavior?: "propose";
62
+ readonly statuses?: readonly EffectRunResultStatus[];
63
+ readonly outputKinds?: readonly string[];
64
+ readonly payloadFrom?: WorkItemDomainActionProposalPayloadFrom;
65
+ readonly payload?: TPayload;
66
+ readonly reason?: string;
67
+ readonly metadata?: Record<string, unknown>;
68
+ }
69
+ interface WorkItemDomainActionProposal<TPayload = unknown> {
70
+ readonly kind: "work-item-domain-action-proposal";
71
+ readonly proposalId: string;
72
+ readonly workItemId: string;
73
+ readonly actionKind: string;
74
+ readonly effectRunId: string;
75
+ readonly effectRunResultId: string;
76
+ readonly evidenceId: string;
77
+ readonly policyId: string;
78
+ readonly payload?: TPayload;
79
+ readonly reason?: string;
80
+ readonly sourceRefs?: readonly SourceRef[];
81
+ readonly proposedAtMs?: number;
82
+ readonly metadata?: Record<string, unknown>;
83
+ }
84
+ type WorkItemDomainActionAdmissionOutcome = "admit" | "reject" | "defer" | "merge";
85
+ type WorkItemDomainActionAdmissionState = "admitted" | "rejected" | "deferred" | "merged";
86
+ interface WorkItemDomainActionAdmissionPolicy {
87
+ readonly kind: "work-item-domain-action-admission-policy";
88
+ readonly policyId: string;
89
+ readonly actionKinds?: readonly string[];
90
+ readonly allowedOutcomes?: readonly WorkItemDomainActionAdmissionOutcome[];
91
+ readonly metadata?: Record<string, unknown>;
92
+ }
93
+ interface WorkItemDomainActionAdmissionDecision {
94
+ readonly kind: "work-item-domain-action-admission-decision";
95
+ readonly decisionId: string;
96
+ readonly admissionId: string;
97
+ readonly proposalId: string;
98
+ readonly outcome: WorkItemDomainActionAdmissionOutcome;
99
+ readonly policyId?: string;
100
+ readonly reason?: string;
101
+ readonly targetProposalId?: string;
102
+ readonly targetAdmissionId?: string;
103
+ readonly sourceRefs?: readonly SourceRef[];
104
+ readonly decidedAtMs?: number;
105
+ readonly metadata?: Record<string, unknown>;
106
+ }
107
+ interface WorkItemDomainActionAdmission {
108
+ readonly kind: "work-item-domain-action-admission";
109
+ readonly admissionId: string;
110
+ readonly proposalId: string;
111
+ readonly workItemId: string;
112
+ readonly actionKind: string;
113
+ readonly state: WorkItemDomainActionAdmissionState;
114
+ readonly decisionId: string;
115
+ readonly policyId?: string;
116
+ readonly reason?: string;
117
+ readonly targetProposalId?: string;
118
+ readonly targetAdmissionId?: string;
119
+ readonly sourceRefs?: readonly SourceRef[];
120
+ readonly admittedAtMs?: number;
121
+ readonly metadata?: Record<string, unknown>;
122
+ }
123
+ interface WorkItemEffectMappingPolicy {
124
+ readonly kind: "work-item-effect-mapping-policy";
125
+ readonly policyId: string;
126
+ readonly effectKinds?: readonly string[];
127
+ readonly evidence?: {
128
+ readonly behavior?: "record";
129
+ };
130
+ readonly actionProposals?: readonly WorkItemDomainActionProposalSpec[];
131
+ readonly metadata?: Record<string, unknown>;
132
+ }
133
+ interface WorkItemStatusRecord {
134
+ readonly kind: "work-item-status";
135
+ readonly statusId: string;
136
+ readonly workItemId: string;
137
+ readonly state: "effect-request-pending" | "effect-run-seeded" | "evidence-recorded" | "domain-action-proposed" | "domain-action-admitted" | "domain-action-rejected" | "domain-action-deferred" | "domain-action-merged" | "mapping-issue";
138
+ readonly sourceRefs?: readonly SourceRef[];
139
+ readonly effectRunId?: string;
140
+ readonly requestId?: string;
141
+ readonly evidenceId?: string;
142
+ readonly proposalId?: string;
143
+ readonly issues?: readonly DataIssue[];
144
+ readonly metadata?: Record<string, unknown>;
145
+ }
146
+ interface WorkItemEffectRequestViews {
147
+ readonly pendingEffectRequests: readonly WorkItemEffectRequested[];
148
+ readonly issues: readonly DataIssue[];
149
+ readonly audit: readonly AgentRuntimeAuditRecord[];
150
+ }
151
+ interface WorkItemEvidenceViews {
152
+ readonly evidenceByWorkItem: ReadonlyMap<string, readonly WorkItemEvidenceRecorded[]>;
153
+ readonly latestEvidenceByEffectRun: ReadonlyMap<string, WorkItemEvidenceRecorded>;
154
+ readonly issues: readonly DataIssue[];
155
+ readonly audit: readonly AgentRuntimeAuditRecord[];
156
+ readonly pendingEffectRequests: readonly WorkItemEffectRequested[];
157
+ }
158
+ interface WorkItemDomainActionProposalViews {
159
+ readonly proposalsByWorkItem: ReadonlyMap<string, readonly WorkItemDomainActionProposal[]>;
160
+ readonly proposalsByEvidence: ReadonlyMap<string, readonly WorkItemDomainActionProposal[]>;
161
+ readonly issues: readonly DataIssue[];
162
+ readonly audit: readonly AgentRuntimeAuditRecord[];
163
+ }
164
+ interface WorkItemDomainActionAdmissionViews {
165
+ readonly admissionsByProposal: ReadonlyMap<string, WorkItemDomainActionAdmission>;
166
+ readonly admissionsByWorkItem: ReadonlyMap<string, readonly WorkItemDomainActionAdmission[]>;
167
+ readonly issues: readonly DataIssue[];
168
+ readonly audit: readonly AgentRuntimeAuditRecord[];
169
+ }
170
+ interface WorkItemEffectRunBundle {
171
+ readonly effectRuns: Node<EffectRun>;
172
+ readonly status: Node<WorkItemStatusRecord>;
173
+ readonly issues: Node<DataIssue>;
174
+ readonly audit: Node<AgentRuntimeAuditRecord>;
175
+ readonly views: Node<WorkItemEffectRequestViews>;
176
+ }
177
+ interface WorkItemEvidenceMapperBundle {
178
+ readonly evidence: Node<WorkItemEvidenceRecorded>;
179
+ readonly status: Node<WorkItemStatusRecord>;
180
+ readonly issues: Node<DataIssue>;
181
+ readonly audit: Node<AgentRuntimeAuditRecord>;
182
+ readonly views: Node<WorkItemEvidenceViews>;
183
+ }
184
+ interface WorkItemDomainActionProposalBundle {
185
+ readonly proposals: Node<WorkItemDomainActionProposal>;
186
+ readonly status: Node<WorkItemStatusRecord>;
187
+ readonly issues: Node<DataIssue>;
188
+ readonly audit: Node<AgentRuntimeAuditRecord>;
189
+ readonly views: Node<WorkItemDomainActionProposalViews>;
190
+ }
191
+ interface WorkItemDomainActionAdmissionBundle {
192
+ readonly admissions: Node<WorkItemDomainActionAdmission>;
193
+ readonly status: Node<WorkItemStatusRecord>;
194
+ readonly issues: Node<DataIssue>;
195
+ readonly audit: Node<AgentRuntimeAuditRecord>;
196
+ readonly views: Node<WorkItemDomainActionAdmissionViews>;
197
+ }
198
+ declare function workItemEffectRunProjector(graph: Graph, opts: {
199
+ readonly name?: string;
200
+ readonly workItems: Node<WorkItemSeed>;
201
+ readonly effectRequests: Node<WorkItemEffectRequested>;
202
+ }): WorkItemEffectRunBundle;
203
+ declare function workItemEffectResultMapper(graph: Graph, opts: {
204
+ readonly name?: string;
205
+ readonly workItems: Node<WorkItemSeed>;
206
+ readonly effectRuns: Node<EffectRun>;
207
+ readonly effectRunResults: Node<EffectRunResult>;
208
+ readonly effectRequests?: Node<WorkItemEffectRequested>;
209
+ readonly mappingPolicies?: readonly Node<WorkItemEffectMappingPolicy>[];
210
+ readonly now?: () => number;
211
+ }): WorkItemEvidenceMapperBundle;
212
+ declare function workItemDomainActionProposalProjector(graph: Graph, opts: {
213
+ readonly name?: string;
214
+ readonly workItems: Node<WorkItemSeed>;
215
+ readonly evidence: Node<WorkItemEvidenceRecorded>;
216
+ readonly effectRunResults: Node<EffectRunResult>;
217
+ readonly mappingPolicies: readonly Node<WorkItemEffectMappingPolicy>[];
218
+ readonly now?: () => number;
219
+ }): WorkItemDomainActionProposalBundle;
220
+ declare function workItemDomainActionAdmissionProjector(graph: Graph, opts: {
221
+ readonly name?: string;
222
+ readonly proposals: Node<WorkItemDomainActionProposal>;
223
+ readonly decisions: Node<WorkItemDomainActionAdmissionDecision>;
224
+ readonly admissionPolicies?: readonly Node<WorkItemDomainActionAdmissionPolicy>[];
225
+ readonly now?: () => number;
226
+ }): WorkItemDomainActionAdmissionBundle;
227
+
228
+ export { type WorkItemDomainActionAdmission as W, type WorkItemDomainActionAdmissionBundle as a, type WorkItemDomainActionAdmissionDecision as b, type WorkItemDomainActionAdmissionOutcome as c, type WorkItemDomainActionAdmissionPolicy as d, type WorkItemDomainActionAdmissionState as e, type WorkItemDomainActionAdmissionViews as f, type WorkItemDomainActionProposal as g, type WorkItemDomainActionProposalBundle as h, type WorkItemDomainActionProposalPayloadFrom as i, type WorkItemDomainActionProposalSpec as j, type WorkItemDomainActionProposalViews as k, type WorkItemEffectMappingPolicy as l, type WorkItemEffectRequestViews as m, type WorkItemEffectRequested as n, type WorkItemEffectRunBundle as o, type WorkItemEvidenceMapperBundle as p, type WorkItemEvidenceRecorded as q, type WorkItemEvidenceViews as r, type WorkItemSeed as s, type WorkItemStatusRecord as t, workItemDomainActionProposalProjector as u, workItemEffectResultMapper as v, workItemDomainActionAdmissionProjector as w, workItemEffectRunProjector as x };