@logixjs/core 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 (345) hide show
  1. package/dist/Action-BkRHy2vg.d.cts +10 -0
  2. package/dist/Action-mqVvtEHt.d.ts +10 -0
  3. package/dist/Action.cjs +57 -0
  4. package/dist/Action.cjs.map +1 -0
  5. package/dist/Action.d.cts +2 -0
  6. package/dist/Action.d.ts +2 -0
  7. package/dist/Action.js +9 -0
  8. package/dist/Action.js.map +1 -0
  9. package/dist/Actions-AsQ07yTP.d.cts +22 -0
  10. package/dist/Actions-AsQ07yTP.d.ts +22 -0
  11. package/dist/Actions.cjs +19 -0
  12. package/dist/Actions.cjs.map +1 -0
  13. package/dist/Actions.d.cts +2 -0
  14. package/dist/Actions.d.ts +2 -0
  15. package/dist/Actions.js +2 -0
  16. package/dist/Actions.js.map +1 -0
  17. package/dist/Bound-BN1DQ_lM.d.ts +23 -0
  18. package/dist/Bound-BPIfH9SS.d.cts +23 -0
  19. package/dist/Bound.cjs +1532 -0
  20. package/dist/Bound.cjs.map +1 -0
  21. package/dist/Bound.d.cts +7 -0
  22. package/dist/Bound.d.ts +7 -0
  23. package/dist/Bound.js +25 -0
  24. package/dist/Bound.js.map +1 -0
  25. package/dist/Debug-B5q5Bkzx.d.ts +320 -0
  26. package/dist/Debug-Bq8Sqjcr.d.cts +320 -0
  27. package/dist/Debug.cjs +1821 -0
  28. package/dist/Debug.cjs.map +1 -0
  29. package/dist/Debug.d.cts +13 -0
  30. package/dist/Debug.d.ts +13 -0
  31. package/dist/Debug.js +76 -0
  32. package/dist/Debug.js.map +1 -0
  33. package/dist/EffectOp.cjs +169 -0
  34. package/dist/EffectOp.cjs.map +1 -0
  35. package/dist/EffectOp.d.cts +118 -0
  36. package/dist/EffectOp.d.ts +118 -0
  37. package/dist/EffectOp.js +28 -0
  38. package/dist/EffectOp.js.map +1 -0
  39. package/dist/Env-DuJ6JrU2.d.cts +10 -0
  40. package/dist/Env-DuJ6JrU2.d.ts +10 -0
  41. package/dist/Env.cjs +60 -0
  42. package/dist/Env.cjs.map +1 -0
  43. package/dist/Env.d.cts +1 -0
  44. package/dist/Env.d.ts +1 -0
  45. package/dist/Env.js +11 -0
  46. package/dist/Env.js.map +1 -0
  47. package/dist/Flow-1fZT8MpX.d.cts +152 -0
  48. package/dist/Flow-BhpjE22E.d.ts +152 -0
  49. package/dist/Flow.cjs +504 -0
  50. package/dist/Flow.cjs.map +1 -0
  51. package/dist/Flow.d.cts +8 -0
  52. package/dist/Flow.d.ts +8 -0
  53. package/dist/Flow.js +15 -0
  54. package/dist/Flow.js.map +1 -0
  55. package/dist/Handle-D8D1zPb_.d.cts +30 -0
  56. package/dist/Handle-D_cLW1Z3.d.ts +30 -0
  57. package/dist/Handle.cjs +42 -0
  58. package/dist/Handle.cjs.map +1 -0
  59. package/dist/Handle.d.cts +7 -0
  60. package/dist/Handle.d.ts +7 -0
  61. package/dist/Handle.js +10 -0
  62. package/dist/Handle.js.map +1 -0
  63. package/dist/Kernel-8kC-jOda.d.cts +171 -0
  64. package/dist/Kernel-CnGE1Fyk.d.ts +171 -0
  65. package/dist/Kernel.cjs +284 -0
  66. package/dist/Kernel.cjs.map +1 -0
  67. package/dist/Kernel.d.cts +14 -0
  68. package/dist/Kernel.d.ts +14 -0
  69. package/dist/Kernel.js +36 -0
  70. package/dist/Kernel.js.map +1 -0
  71. package/dist/Link-Db7975nU.d.ts +45 -0
  72. package/dist/Link-fX8x1eCK.d.cts +45 -0
  73. package/dist/Link.cjs +542 -0
  74. package/dist/Link.cjs.map +1 -0
  75. package/dist/Link.d.cts +7 -0
  76. package/dist/Link.d.ts +7 -0
  77. package/dist/Link.js +35 -0
  78. package/dist/Link.js.map +1 -0
  79. package/dist/Logic-BRjEMr-W.d.ts +38 -0
  80. package/dist/Logic-DRh4sDZj.d.cts +38 -0
  81. package/dist/Logic.cjs +37 -0
  82. package/dist/Logic.cjs.map +1 -0
  83. package/dist/Logic.d.cts +7 -0
  84. package/dist/Logic.d.ts +7 -0
  85. package/dist/Logic.js +10 -0
  86. package/dist/Logic.js.map +1 -0
  87. package/dist/MatchBuilder-0QOc-nlU.d.ts +14 -0
  88. package/dist/MatchBuilder-CJk5oCkR.d.cts +14 -0
  89. package/dist/MatchBuilder.cjs +85 -0
  90. package/dist/MatchBuilder.cjs.map +1 -0
  91. package/dist/MatchBuilder.d.cts +8 -0
  92. package/dist/MatchBuilder.d.ts +8 -0
  93. package/dist/MatchBuilder.js +11 -0
  94. package/dist/MatchBuilder.js.map +1 -0
  95. package/dist/Middleware.cjs +411 -0
  96. package/dist/Middleware.cjs.map +1 -0
  97. package/dist/Middleware.d.cts +88 -0
  98. package/dist/Middleware.d.ts +88 -0
  99. package/dist/Middleware.js +27 -0
  100. package/dist/Middleware.js.map +1 -0
  101. package/dist/Module-B_0xRDMR.d.cts +203 -0
  102. package/dist/Module-DnzluX2J.d.ts +203 -0
  103. package/dist/Module.cjs +13512 -0
  104. package/dist/Module.cjs.map +1 -0
  105. package/dist/Module.d.cts +8 -0
  106. package/dist/Module.d.ts +8 -0
  107. package/dist/Module.js +53 -0
  108. package/dist/Module.js.map +1 -0
  109. package/dist/ModuleTag-C8FHY_sY.d.ts +93 -0
  110. package/dist/ModuleTag-EGbgBMpZ.d.cts +93 -0
  111. package/dist/ModuleTag.cjs +12231 -0
  112. package/dist/ModuleTag.cjs.map +1 -0
  113. package/dist/ModuleTag.d.cts +8 -0
  114. package/dist/ModuleTag.d.ts +8 -0
  115. package/dist/ModuleTag.js +39 -0
  116. package/dist/ModuleTag.js.map +1 -0
  117. package/dist/Observability-COqEvp2C.d.cts +713 -0
  118. package/dist/Observability-cY4kLn0S.d.ts +713 -0
  119. package/dist/Observability.cjs +5865 -0
  120. package/dist/Observability.cjs.map +1 -0
  121. package/dist/Observability.d.cts +9 -0
  122. package/dist/Observability.d.ts +9 -0
  123. package/dist/Observability.js +41 -0
  124. package/dist/Observability.js.map +1 -0
  125. package/dist/Platform-C49Pv956.d.cts +21 -0
  126. package/dist/Platform-C49Pv956.d.ts +21 -0
  127. package/dist/Platform-CHX8o-U4.d.ts +51 -0
  128. package/dist/Platform-CVlv0xLQ.d.cts +51 -0
  129. package/dist/Platform.cjs +58 -0
  130. package/dist/Platform.cjs.map +1 -0
  131. package/dist/Platform.d.cts +4 -0
  132. package/dist/Platform.d.ts +4 -0
  133. package/dist/Platform.js +15 -0
  134. package/dist/Platform.js.map +1 -0
  135. package/dist/Process-CM9xbMdP.d.ts +92 -0
  136. package/dist/Process-mL8fHDSB.d.cts +92 -0
  137. package/dist/Process.cjs +575 -0
  138. package/dist/Process.cjs.map +1 -0
  139. package/dist/Process.d.cts +8 -0
  140. package/dist/Process.d.ts +8 -0
  141. package/dist/Process.js +42 -0
  142. package/dist/Process.js.map +1 -0
  143. package/dist/ReadQuery-BlMwhe-F.d.ts +30 -0
  144. package/dist/ReadQuery-CL5XlXts.d.cts +30 -0
  145. package/dist/ReadQuery-SinbStGF.d.cts +38 -0
  146. package/dist/ReadQuery-SinbStGF.d.ts +38 -0
  147. package/dist/ReadQuery.cjs +377 -0
  148. package/dist/ReadQuery.cjs.map +1 -0
  149. package/dist/ReadQuery.d.cts +2 -0
  150. package/dist/ReadQuery.d.ts +2 -0
  151. package/dist/ReadQuery.js +14 -0
  152. package/dist/ReadQuery.js.map +1 -0
  153. package/dist/Reflection-CQnKwPXj.d.ts +182 -0
  154. package/dist/Reflection-Kabo1mlU.d.cts +182 -0
  155. package/dist/Reflection.cjs +2954 -0
  156. package/dist/Reflection.cjs.map +1 -0
  157. package/dist/Reflection.d.cts +17 -0
  158. package/dist/Reflection.d.ts +17 -0
  159. package/dist/Reflection.js +40 -0
  160. package/dist/Reflection.js.map +1 -0
  161. package/dist/Resource-Dy1xD_DG.d.cts +75 -0
  162. package/dist/Resource-Dy1xD_DG.d.ts +75 -0
  163. package/dist/Resource.cjs +166 -0
  164. package/dist/Resource.cjs.map +1 -0
  165. package/dist/Resource.d.cts +3 -0
  166. package/dist/Resource.d.ts +3 -0
  167. package/dist/Resource.js +21 -0
  168. package/dist/Resource.js.map +1 -0
  169. package/dist/Root-7ADUMk4t.d.cts +29 -0
  170. package/dist/Root-7ADUMk4t.d.ts +29 -0
  171. package/dist/Root.cjs +125 -0
  172. package/dist/Root.cjs.map +1 -0
  173. package/dist/Root.d.cts +4 -0
  174. package/dist/Root.d.ts +4 -0
  175. package/dist/Root.js +12 -0
  176. package/dist/Root.js.map +1 -0
  177. package/dist/Runtime-B-aL-f29.d.cts +274 -0
  178. package/dist/Runtime-CtyzZG4i.d.ts +274 -0
  179. package/dist/Runtime.cjs +5740 -0
  180. package/dist/Runtime.cjs.map +1 -0
  181. package/dist/Runtime.d.cts +19 -0
  182. package/dist/Runtime.d.ts +19 -0
  183. package/dist/Runtime.js +62 -0
  184. package/dist/Runtime.js.map +1 -0
  185. package/dist/ScopeRegistry-D1owDNSm.d.cts +61 -0
  186. package/dist/ScopeRegistry-D1owDNSm.d.ts +61 -0
  187. package/dist/ScopeRegistry.cjs +152 -0
  188. package/dist/ScopeRegistry.cjs.map +1 -0
  189. package/dist/ScopeRegistry.d.cts +2 -0
  190. package/dist/ScopeRegistry.d.ts +2 -0
  191. package/dist/ScopeRegistry.js +16 -0
  192. package/dist/ScopeRegistry.js.map +1 -0
  193. package/dist/State-CU50R26M.d.cts +19 -0
  194. package/dist/State-CU50R26M.d.ts +19 -0
  195. package/dist/State.cjs +19 -0
  196. package/dist/State.cjs.map +1 -0
  197. package/dist/State.d.cts +2 -0
  198. package/dist/State.d.ts +2 -0
  199. package/dist/State.js +2 -0
  200. package/dist/State.js.map +1 -0
  201. package/dist/StateTrait-BGsZghTz.d.ts +122 -0
  202. package/dist/StateTrait-OWhbj12c.d.cts +122 -0
  203. package/dist/StateTrait.cjs +2737 -0
  204. package/dist/StateTrait.cjs.map +1 -0
  205. package/dist/StateTrait.d.cts +9 -0
  206. package/dist/StateTrait.d.ts +9 -0
  207. package/dist/StateTrait.js +39 -0
  208. package/dist/StateTrait.js.map +1 -0
  209. package/dist/TraitLifecycle-CwV5WPFX.d.cts +88 -0
  210. package/dist/TraitLifecycle-LdIWmKlg.d.ts +88 -0
  211. package/dist/TraitLifecycle.cjs +581 -0
  212. package/dist/TraitLifecycle.cjs.map +1 -0
  213. package/dist/TraitLifecycle.d.cts +8 -0
  214. package/dist/TraitLifecycle.d.ts +8 -0
  215. package/dist/TraitLifecycle.js +24 -0
  216. package/dist/TraitLifecycle.js.map +1 -0
  217. package/dist/action-DiMDD_0v.d.cts +35 -0
  218. package/dist/action-DiMDD_0v.d.ts +35 -0
  219. package/dist/chunk-24VULZ7A.js +76 -0
  220. package/dist/chunk-24VULZ7A.js.map +1 -0
  221. package/dist/chunk-3IYZ5IGG.js +17 -0
  222. package/dist/chunk-3IYZ5IGG.js.map +1 -0
  223. package/dist/chunk-3QMIVH35.js +43 -0
  224. package/dist/chunk-3QMIVH35.js.map +1 -0
  225. package/dist/chunk-3RMKLXHX.js +83 -0
  226. package/dist/chunk-3RMKLXHX.js.map +1 -0
  227. package/dist/chunk-3TMODYZV.js +111 -0
  228. package/dist/chunk-3TMODYZV.js.map +1 -0
  229. package/dist/chunk-3VG5TWQR.js +27 -0
  230. package/dist/chunk-3VG5TWQR.js.map +1 -0
  231. package/dist/chunk-4CQAV7YB.js +37 -0
  232. package/dist/chunk-4CQAV7YB.js.map +1 -0
  233. package/dist/chunk-4SO6JMZL.js +7 -0
  234. package/dist/chunk-4SO6JMZL.js.map +1 -0
  235. package/dist/chunk-66ALHVEX.js +40 -0
  236. package/dist/chunk-66ALHVEX.js.map +1 -0
  237. package/dist/chunk-76WT3HOR.js +397 -0
  238. package/dist/chunk-76WT3HOR.js.map +1 -0
  239. package/dist/chunk-ANLBCBDC.js +285 -0
  240. package/dist/chunk-ANLBCBDC.js.map +1 -0
  241. package/dist/chunk-AUIR5O6W.js +75 -0
  242. package/dist/chunk-AUIR5O6W.js.map +1 -0
  243. package/dist/chunk-BABLDP24.js +445 -0
  244. package/dist/chunk-BABLDP24.js.map +1 -0
  245. package/dist/chunk-BE3HW4FY.js +1099 -0
  246. package/dist/chunk-BE3HW4FY.js.map +1 -0
  247. package/dist/chunk-BZ2SHDN2.js +54 -0
  248. package/dist/chunk-BZ2SHDN2.js.map +1 -0
  249. package/dist/chunk-CW6T36TN.js +393 -0
  250. package/dist/chunk-CW6T36TN.js.map +1 -0
  251. package/dist/chunk-DFNM3WX2.js +632 -0
  252. package/dist/chunk-DFNM3WX2.js.map +1 -0
  253. package/dist/chunk-DMBALCE2.js +1034 -0
  254. package/dist/chunk-DMBALCE2.js.map +1 -0
  255. package/dist/chunk-EGK3KN7B.js +406 -0
  256. package/dist/chunk-EGK3KN7B.js.map +1 -0
  257. package/dist/chunk-EY4NZKDR.js +19 -0
  258. package/dist/chunk-EY4NZKDR.js.map +1 -0
  259. package/dist/chunk-G5ZBFPNU.js +23 -0
  260. package/dist/chunk-G5ZBFPNU.js.map +1 -0
  261. package/dist/chunk-GMPEOUP2.js +31 -0
  262. package/dist/chunk-GMPEOUP2.js.map +1 -0
  263. package/dist/chunk-IHVBV5C2.js +279 -0
  264. package/dist/chunk-IHVBV5C2.js.map +1 -0
  265. package/dist/chunk-IPF7E66P.js +23 -0
  266. package/dist/chunk-IPF7E66P.js.map +1 -0
  267. package/dist/chunk-JCXGZRMU.js +204 -0
  268. package/dist/chunk-JCXGZRMU.js.map +1 -0
  269. package/dist/chunk-JGIWG6SR.js +6359 -0
  270. package/dist/chunk-JGIWG6SR.js.map +1 -0
  271. package/dist/chunk-JWOYLO27.js +241 -0
  272. package/dist/chunk-JWOYLO27.js.map +1 -0
  273. package/dist/chunk-KIXAU3GM.js +137 -0
  274. package/dist/chunk-KIXAU3GM.js.map +1 -0
  275. package/dist/chunk-KL5ACTCT.js +8 -0
  276. package/dist/chunk-KL5ACTCT.js.map +1 -0
  277. package/dist/chunk-KP7MUZNX.js +83 -0
  278. package/dist/chunk-KP7MUZNX.js.map +1 -0
  279. package/dist/chunk-LEU6UA5J.js +1 -0
  280. package/dist/chunk-LEU6UA5J.js.map +1 -0
  281. package/dist/chunk-M2RGJPXX.js +35 -0
  282. package/dist/chunk-M2RGJPXX.js.map +1 -0
  283. package/dist/chunk-M3BFQ7HK.js +13 -0
  284. package/dist/chunk-M3BFQ7HK.js.map +1 -0
  285. package/dist/chunk-M3WTHJHJ.js +1051 -0
  286. package/dist/chunk-M3WTHJHJ.js.map +1 -0
  287. package/dist/chunk-M7IYCTJV.js +79 -0
  288. package/dist/chunk-M7IYCTJV.js.map +1 -0
  289. package/dist/chunk-NBD3KUOZ.js +838 -0
  290. package/dist/chunk-NBD3KUOZ.js.map +1 -0
  291. package/dist/chunk-NQZ2OSGR.js +151 -0
  292. package/dist/chunk-NQZ2OSGR.js.map +1 -0
  293. package/dist/chunk-NZJKFF45.js +106 -0
  294. package/dist/chunk-NZJKFF45.js.map +1 -0
  295. package/dist/chunk-OFADUJWJ.js +175 -0
  296. package/dist/chunk-OFADUJWJ.js.map +1 -0
  297. package/dist/chunk-OGWBVHB3.js +461 -0
  298. package/dist/chunk-OGWBVHB3.js.map +1 -0
  299. package/dist/chunk-PAYXCY6A.js +1696 -0
  300. package/dist/chunk-PAYXCY6A.js.map +1 -0
  301. package/dist/chunk-PYOE4VSI.js +1924 -0
  302. package/dist/chunk-PYOE4VSI.js.map +1 -0
  303. package/dist/chunk-PZ5AY32C.js +10 -0
  304. package/dist/chunk-PZ5AY32C.js.map +1 -0
  305. package/dist/chunk-QCHIQWAJ.js +21 -0
  306. package/dist/chunk-QCHIQWAJ.js.map +1 -0
  307. package/dist/chunk-QMM6O4CD.js +71 -0
  308. package/dist/chunk-QMM6O4CD.js.map +1 -0
  309. package/dist/chunk-RNFE3ML2.js +22 -0
  310. package/dist/chunk-RNFE3ML2.js.map +1 -0
  311. package/dist/chunk-TAAPQVZN.js +23 -0
  312. package/dist/chunk-TAAPQVZN.js.map +1 -0
  313. package/dist/chunk-THATMZXD.js +21 -0
  314. package/dist/chunk-THATMZXD.js.map +1 -0
  315. package/dist/chunk-TKZ7MEIA.js +27 -0
  316. package/dist/chunk-TKZ7MEIA.js.map +1 -0
  317. package/dist/chunk-TQOBJYDP.js +7 -0
  318. package/dist/chunk-TQOBJYDP.js.map +1 -0
  319. package/dist/chunk-VZB726PE.js +93 -0
  320. package/dist/chunk-VZB726PE.js.map +1 -0
  321. package/dist/chunk-W3TEWHLO.js +568 -0
  322. package/dist/chunk-W3TEWHLO.js.map +1 -0
  323. package/dist/chunk-YS3AZQ2G.js +52 -0
  324. package/dist/chunk-YS3AZQ2G.js.map +1 -0
  325. package/dist/chunk-ZDTRWK5F.js +40 -0
  326. package/dist/chunk-ZDTRWK5F.js.map +1 -0
  327. package/dist/chunk-ZFLHVFUC.js +192 -0
  328. package/dist/chunk-ZFLHVFUC.js.map +1 -0
  329. package/dist/chunk-ZFY7U2FR.js +133 -0
  330. package/dist/chunk-ZFY7U2FR.js.map +1 -0
  331. package/dist/chunk-ZGDVUPTM.js +270 -0
  332. package/dist/chunk-ZGDVUPTM.js.map +1 -0
  333. package/dist/index.cjs +19700 -0
  334. package/dist/index.cjs.map +1 -0
  335. package/dist/index.d.cts +195 -0
  336. package/dist/index.d.ts +195 -0
  337. package/dist/index.js +286 -0
  338. package/dist/index.js.map +1 -0
  339. package/dist/ir-BMP7yxJJ.d.cts +39 -0
  340. package/dist/ir-DUOz6H-5.d.ts +39 -0
  341. package/dist/module-B8CBqIZ_.d.cts +1191 -0
  342. package/dist/module-k7m3txak.d.ts +1191 -0
  343. package/dist/protocol-g_1897M2.d.cts +127 -0
  344. package/dist/protocol-g_1897M2.d.ts +127 -0
  345. package/package.json +162 -0
@@ -0,0 +1,8 @@
1
+ import 'effect';
2
+ import './protocol-g_1897M2.cjs';
3
+ export { D as DiagnosticsLevel, L as LinkConfig, t as LinkHandles, f as ProcessConcurrencyPolicy, l as ProcessControlRequest, h as ProcessDefinition, n as ProcessEffect, g as ProcessErrorPolicy, k as ProcessEvent, b as ProcessIdentity, i as ProcessInstallation, c as ProcessInstanceIdentity, j as ProcessInstanceStatus, o as ProcessMakeDefinition, m as ProcessPlatformEvent, a as ProcessScope, e as ProcessTrigger, d as ProcessTriggerSpec, S as SerializableErrorSummary, s as attachMeta, q as getDefinition, r as getMeta, u as link, p as make } from './Process-mL8fHDSB.cjs';
4
+ import './module-B8CBqIZ_.cjs';
5
+ import 'mutative';
6
+ import './Platform-C49Pv956.cjs';
7
+ import './action-DiMDD_0v.cjs';
8
+ import './ReadQuery-SinbStGF.cjs';
@@ -0,0 +1,8 @@
1
+ import 'effect';
2
+ import './protocol-g_1897M2.js';
3
+ export { D as DiagnosticsLevel, L as LinkConfig, t as LinkHandles, f as ProcessConcurrencyPolicy, l as ProcessControlRequest, h as ProcessDefinition, n as ProcessEffect, g as ProcessErrorPolicy, k as ProcessEvent, b as ProcessIdentity, i as ProcessInstallation, c as ProcessInstanceIdentity, j as ProcessInstanceStatus, o as ProcessMakeDefinition, m as ProcessPlatformEvent, a as ProcessScope, e as ProcessTrigger, d as ProcessTriggerSpec, S as SerializableErrorSummary, s as attachMeta, q as getDefinition, r as getMeta, u as link, p as make } from './Process-CM9xbMdP.js';
4
+ import './module-k7m3txak.js';
5
+ import 'mutative';
6
+ import './Platform-C49Pv956.js';
7
+ import './action-DiMDD_0v.js';
8
+ import './ReadQuery-SinbStGF.js';
@@ -0,0 +1,42 @@
1
+ import {
2
+ attachMeta,
3
+ getDefinition,
4
+ getMeta,
5
+ link,
6
+ make
7
+ } from "./chunk-VZB726PE.js";
8
+ import "./chunk-JCXGZRMU.js";
9
+ import "./chunk-JGIWG6SR.js";
10
+ import "./chunk-PYOE4VSI.js";
11
+ import "./chunk-BABLDP24.js";
12
+ import "./chunk-NZJKFF45.js";
13
+ import "./chunk-KP7MUZNX.js";
14
+ import "./chunk-PAYXCY6A.js";
15
+ import "./chunk-ZGDVUPTM.js";
16
+ import "./chunk-LEU6UA5J.js";
17
+ import "./chunk-BE3HW4FY.js";
18
+ import "./chunk-ZFLHVFUC.js";
19
+ import "./chunk-KL5ACTCT.js";
20
+ import "./chunk-AUIR5O6W.js";
21
+ import "./chunk-BZ2SHDN2.js";
22
+ import "./chunk-YS3AZQ2G.js";
23
+ import "./chunk-M3BFQ7HK.js";
24
+ import "./chunk-IHVBV5C2.js";
25
+ import "./chunk-3RMKLXHX.js";
26
+ import "./chunk-3QMIVH35.js";
27
+ import "./chunk-NQZ2OSGR.js";
28
+ import "./chunk-CW6T36TN.js";
29
+ import "./chunk-DMBALCE2.js";
30
+ import "./chunk-GMPEOUP2.js";
31
+ import "./chunk-OFADUJWJ.js";
32
+ import "./chunk-M7IYCTJV.js";
33
+ import "./chunk-JWOYLO27.js";
34
+ import "./chunk-PZ5AY32C.js";
35
+ export {
36
+ attachMeta,
37
+ getDefinition,
38
+ getMeta,
39
+ link,
40
+ make
41
+ };
42
+ //# sourceMappingURL=Process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,30 @@
1
+ import { R as ReadLane$1, a as ReadProducer$1, E as EqualsKind$1, b as ReadsDigest$1, c as ReadQueryStaticIr$1, d as ReadQuery$2, e as ReadQueryCompiled$1, f as ReadQueryInput$1, i as isReadQuery$1 } from './ReadQuery-SinbStGF.js';
2
+
3
+ type ReadLane = ReadLane$1;
4
+ type ReadProducer = ReadProducer$1;
5
+ type EqualsKind = EqualsKind$1;
6
+ type ReadsDigest = ReadsDigest$1;
7
+ type ReadQueryStaticIr = ReadQueryStaticIr$1;
8
+ type ReadQuery<S, V> = ReadQuery$2<S, V>;
9
+ type ReadQueryCompiled<S, V> = ReadQueryCompiled$1<S, V>;
10
+ type ReadQueryInput<S, V> = ReadQueryInput$1<S, V>;
11
+ declare const isReadQuery: typeof isReadQuery$1;
12
+ declare const make: <S, V>(spec: ReadQuery$2<S, V>) => ReadQuery$2<S, V>;
13
+ declare const compile: <S, V>(input: ReadQueryInput$1<S, V>) => ReadQueryCompiled$1<S, V>;
14
+
15
+ type ReadQuery$1_EqualsKind = EqualsKind;
16
+ type ReadQuery$1_ReadLane = ReadLane;
17
+ type ReadQuery$1_ReadProducer = ReadProducer;
18
+ type ReadQuery$1_ReadQuery<S, V> = ReadQuery<S, V>;
19
+ type ReadQuery$1_ReadQueryCompiled<S, V> = ReadQueryCompiled<S, V>;
20
+ type ReadQuery$1_ReadQueryInput<S, V> = ReadQueryInput<S, V>;
21
+ type ReadQuery$1_ReadQueryStaticIr = ReadQueryStaticIr;
22
+ type ReadQuery$1_ReadsDigest = ReadsDigest;
23
+ declare const ReadQuery$1_compile: typeof compile;
24
+ declare const ReadQuery$1_isReadQuery: typeof isReadQuery;
25
+ declare const ReadQuery$1_make: typeof make;
26
+ declare namespace ReadQuery$1 {
27
+ export { type ReadQuery$1_EqualsKind as EqualsKind, type ReadQuery$1_ReadLane as ReadLane, type ReadQuery$1_ReadProducer as ReadProducer, type ReadQuery$1_ReadQuery as ReadQuery, type ReadQuery$1_ReadQueryCompiled as ReadQueryCompiled, type ReadQuery$1_ReadQueryInput as ReadQueryInput, type ReadQuery$1_ReadQueryStaticIr as ReadQueryStaticIr, type ReadQuery$1_ReadsDigest as ReadsDigest, ReadQuery$1_compile as compile, ReadQuery$1_isReadQuery as isReadQuery, ReadQuery$1_make as make };
28
+ }
29
+
30
+ export { type EqualsKind as E, ReadQuery$1 as R, type ReadLane as a, type ReadProducer as b, type ReadsDigest as c, type ReadQueryStaticIr as d, type ReadQuery as e, type ReadQueryCompiled as f, type ReadQueryInput as g, compile as h, isReadQuery as i, make as m };
@@ -0,0 +1,30 @@
1
+ import { R as ReadLane$1, a as ReadProducer$1, E as EqualsKind$1, b as ReadsDigest$1, c as ReadQueryStaticIr$1, d as ReadQuery$2, e as ReadQueryCompiled$1, f as ReadQueryInput$1, i as isReadQuery$1 } from './ReadQuery-SinbStGF.cjs';
2
+
3
+ type ReadLane = ReadLane$1;
4
+ type ReadProducer = ReadProducer$1;
5
+ type EqualsKind = EqualsKind$1;
6
+ type ReadsDigest = ReadsDigest$1;
7
+ type ReadQueryStaticIr = ReadQueryStaticIr$1;
8
+ type ReadQuery<S, V> = ReadQuery$2<S, V>;
9
+ type ReadQueryCompiled<S, V> = ReadQueryCompiled$1<S, V>;
10
+ type ReadQueryInput<S, V> = ReadQueryInput$1<S, V>;
11
+ declare const isReadQuery: typeof isReadQuery$1;
12
+ declare const make: <S, V>(spec: ReadQuery$2<S, V>) => ReadQuery$2<S, V>;
13
+ declare const compile: <S, V>(input: ReadQueryInput$1<S, V>) => ReadQueryCompiled$1<S, V>;
14
+
15
+ type ReadQuery$1_EqualsKind = EqualsKind;
16
+ type ReadQuery$1_ReadLane = ReadLane;
17
+ type ReadQuery$1_ReadProducer = ReadProducer;
18
+ type ReadQuery$1_ReadQuery<S, V> = ReadQuery<S, V>;
19
+ type ReadQuery$1_ReadQueryCompiled<S, V> = ReadQueryCompiled<S, V>;
20
+ type ReadQuery$1_ReadQueryInput<S, V> = ReadQueryInput<S, V>;
21
+ type ReadQuery$1_ReadQueryStaticIr = ReadQueryStaticIr;
22
+ type ReadQuery$1_ReadsDigest = ReadsDigest;
23
+ declare const ReadQuery$1_compile: typeof compile;
24
+ declare const ReadQuery$1_isReadQuery: typeof isReadQuery;
25
+ declare const ReadQuery$1_make: typeof make;
26
+ declare namespace ReadQuery$1 {
27
+ export { type ReadQuery$1_EqualsKind as EqualsKind, type ReadQuery$1_ReadLane as ReadLane, type ReadQuery$1_ReadProducer as ReadProducer, type ReadQuery$1_ReadQuery as ReadQuery, type ReadQuery$1_ReadQueryCompiled as ReadQueryCompiled, type ReadQuery$1_ReadQueryInput as ReadQueryInput, type ReadQuery$1_ReadQueryStaticIr as ReadQueryStaticIr, type ReadQuery$1_ReadsDigest as ReadsDigest, ReadQuery$1_compile as compile, ReadQuery$1_isReadQuery as isReadQuery, ReadQuery$1_make as make };
28
+ }
29
+
30
+ export { type EqualsKind as E, ReadQuery$1 as R, type ReadLane as a, type ReadProducer as b, type ReadsDigest as c, type ReadQueryStaticIr as d, type ReadQuery as e, type ReadQueryCompiled as f, type ReadQueryInput as g, compile as h, isReadQuery as i, make as m };
@@ -0,0 +1,38 @@
1
+ type ReadLane = 'static' | 'dynamic';
2
+ type ReadProducer = 'aot' | 'jit' | 'manual' | 'dynamic';
3
+ type ReadQueryFallbackReason = 'missingDeps' | 'unsupportedSyntax' | 'unstableSelectorId';
4
+ type EqualsKind = 'objectIs' | 'shallowStruct' | 'custom';
5
+ interface ReadsDigest {
6
+ readonly count: number;
7
+ readonly hash: number;
8
+ }
9
+ interface ReadQueryStaticIr {
10
+ readonly selectorId: string;
11
+ readonly debugKey?: string;
12
+ readonly lane: ReadLane;
13
+ readonly producer: ReadProducer;
14
+ readonly reads?: ReadonlyArray<string | number>;
15
+ readonly readsDigest?: ReadsDigest;
16
+ readonly fallbackReason?: ReadQueryFallbackReason;
17
+ readonly equalsKind: EqualsKind;
18
+ }
19
+ interface ReadQuery<S, V> {
20
+ readonly selectorId: string;
21
+ readonly debugKey?: string;
22
+ readonly reads: ReadonlyArray<string | number>;
23
+ readonly select: (state: S) => V;
24
+ readonly equalsKind: EqualsKind;
25
+ readonly equals?: (previous: V, next: V) => boolean;
26
+ }
27
+ interface ReadQueryCompiled<S, V> extends ReadQuery<S, V> {
28
+ readonly lane: ReadLane;
29
+ readonly producer: ReadProducer;
30
+ readonly readsDigest?: ReadsDigest;
31
+ readonly fallbackReason?: ReadQueryFallbackReason;
32
+ readonly staticIr: ReadQueryStaticIr;
33
+ }
34
+ type ReadQueryInput<S, V> = ((state: S) => V) | ReadQuery<S, V>;
35
+ declare function isReadQuery<S, V>(input: ReadQueryInput<S, V>): input is ReadQuery<S, V>;
36
+ declare function isReadQuery(input: unknown): input is ReadQuery<any, any>;
37
+
38
+ export { type EqualsKind as E, type ReadLane as R, type ReadProducer as a, type ReadsDigest as b, type ReadQueryStaticIr as c, type ReadQuery as d, type ReadQueryCompiled as e, type ReadQueryInput as f, type ReadQueryFallbackReason as g, isReadQuery as i };
@@ -0,0 +1,38 @@
1
+ type ReadLane = 'static' | 'dynamic';
2
+ type ReadProducer = 'aot' | 'jit' | 'manual' | 'dynamic';
3
+ type ReadQueryFallbackReason = 'missingDeps' | 'unsupportedSyntax' | 'unstableSelectorId';
4
+ type EqualsKind = 'objectIs' | 'shallowStruct' | 'custom';
5
+ interface ReadsDigest {
6
+ readonly count: number;
7
+ readonly hash: number;
8
+ }
9
+ interface ReadQueryStaticIr {
10
+ readonly selectorId: string;
11
+ readonly debugKey?: string;
12
+ readonly lane: ReadLane;
13
+ readonly producer: ReadProducer;
14
+ readonly reads?: ReadonlyArray<string | number>;
15
+ readonly readsDigest?: ReadsDigest;
16
+ readonly fallbackReason?: ReadQueryFallbackReason;
17
+ readonly equalsKind: EqualsKind;
18
+ }
19
+ interface ReadQuery<S, V> {
20
+ readonly selectorId: string;
21
+ readonly debugKey?: string;
22
+ readonly reads: ReadonlyArray<string | number>;
23
+ readonly select: (state: S) => V;
24
+ readonly equalsKind: EqualsKind;
25
+ readonly equals?: (previous: V, next: V) => boolean;
26
+ }
27
+ interface ReadQueryCompiled<S, V> extends ReadQuery<S, V> {
28
+ readonly lane: ReadLane;
29
+ readonly producer: ReadProducer;
30
+ readonly readsDigest?: ReadsDigest;
31
+ readonly fallbackReason?: ReadQueryFallbackReason;
32
+ readonly staticIr: ReadQueryStaticIr;
33
+ }
34
+ type ReadQueryInput<S, V> = ((state: S) => V) | ReadQuery<S, V>;
35
+ declare function isReadQuery<S, V>(input: ReadQueryInput<S, V>): input is ReadQuery<S, V>;
36
+ declare function isReadQuery(input: unknown): input is ReadQuery<any, any>;
37
+
38
+ export { type EqualsKind as E, type ReadLane as R, type ReadProducer as a, type ReadsDigest as b, type ReadQueryStaticIr as c, type ReadQuery as d, type ReadQueryCompiled as e, type ReadQueryInput as f, type ReadQueryFallbackReason as g, isReadQuery as i };
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/ReadQuery.ts
21
+ var ReadQuery_exports = {};
22
+ __export(ReadQuery_exports, {
23
+ compile: () => compile2,
24
+ isReadQuery: () => isReadQuery2,
25
+ make: () => make2
26
+ });
27
+ module.exports = __toCommonJS(ReadQuery_exports);
28
+
29
+ // src/internal/digest.ts
30
+ var stableStringify = (value) => {
31
+ if (value === null) return "null";
32
+ const t = typeof value;
33
+ if (t === "string") return JSON.stringify(value);
34
+ if (t === "number") return Number.isFinite(value) ? String(value) : "null";
35
+ if (t === "boolean") return value ? "true" : "false";
36
+ if (Array.isArray(value)) {
37
+ return `[${value.map(stableStringify).join(",")}]`;
38
+ }
39
+ if (t === "object") {
40
+ const record = value;
41
+ const keys = Object.keys(record).sort((a, b) => a.localeCompare(b));
42
+ return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(record[k])}`).join(",")}}`;
43
+ }
44
+ return "null";
45
+ };
46
+ var fnv1a32 = (input) => {
47
+ let hash = 2166136261;
48
+ for (let i = 0; i < input.length; i++) {
49
+ hash ^= input.charCodeAt(i);
50
+ hash = hash * 16777619 >>> 0;
51
+ }
52
+ return hash.toString(16).padStart(8, "0");
53
+ };
54
+
55
+ // src/internal/runtime/core/ReadQuery.ts
56
+ function isReadQuery(input) {
57
+ if (!input || typeof input !== "object" && typeof input !== "function") return false;
58
+ const maybe = input;
59
+ return typeof maybe.selectorId === "string" && typeof maybe.select === "function" && Array.isArray(maybe.reads);
60
+ }
61
+ var normalizeReads = (reads) => {
62
+ const unique = [];
63
+ const seen = /* @__PURE__ */ new Set();
64
+ for (const r of reads) {
65
+ const key = typeof r === "number" ? `n:${r}` : `s:${r}`;
66
+ if (seen.has(key)) continue;
67
+ seen.add(key);
68
+ unique.push(r);
69
+ }
70
+ return unique.slice().sort((a, b) => String(a).localeCompare(String(b)));
71
+ };
72
+ var toHash32Number = (hex) => Number.parseInt(hex, 16);
73
+ var makeReadsDigest = (reads) => {
74
+ const normalized = normalizeReads(reads);
75
+ return {
76
+ count: normalized.length,
77
+ hash: toHash32Number(fnv1a32(stableStringify(normalized)))
78
+ };
79
+ };
80
+ var computeSelectorId = (value) => `rq_${fnv1a32(stableStringify(value))}`;
81
+ var nextUnstableSelectorSeq = 0;
82
+ var unstableSelectorIdByFn = /* @__PURE__ */ new WeakMap();
83
+ var computeUnstableSelectorId = (selector) => {
84
+ const existing = unstableSelectorIdByFn.get(selector);
85
+ if (existing) return existing;
86
+ nextUnstableSelectorSeq += 1;
87
+ const selectorId = `rq_u${nextUnstableSelectorSeq}`;
88
+ unstableSelectorIdByFn.set(selector, selectorId);
89
+ return selectorId;
90
+ };
91
+ var unwrapParens = (input) => {
92
+ const trimmed = input.trim();
93
+ if (trimmed.startsWith("(") && trimmed.endsWith(")")) {
94
+ const inner = trimmed.slice(1, -1).trim();
95
+ if (!inner.startsWith("(") || !inner.endsWith(")")) {
96
+ return inner;
97
+ }
98
+ }
99
+ return trimmed;
100
+ };
101
+ var extractArrow = (source) => {
102
+ const idx = source.indexOf("=>");
103
+ if (idx < 0) return void 0;
104
+ const left = source.slice(0, idx).trim();
105
+ const right = source.slice(idx + 2).trim();
106
+ const paramRaw = unwrapParens(left);
107
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(paramRaw)) return void 0;
108
+ if (right.startsWith("{")) {
109
+ const m = right.match(/^\{\s*return\s+(.+?);?\s*\}\s*$/s);
110
+ if (!m) return void 0;
111
+ return { param: paramRaw, body: m[1]?.trim() ?? "" };
112
+ }
113
+ return { param: paramRaw, body: right };
114
+ };
115
+ var extractFunctionReturn = (source) => {
116
+ const trimmed = source.trim();
117
+ const m = trimmed.match(
118
+ /^function\s*(?:[A-Za-z_$][A-Za-z0-9_$]*\s*)?\(\s*([A-Za-z_$][A-Za-z0-9_$]*)\s*\)\s*\{\s*return\s+(.+?);?\s*\}\s*$/s
119
+ );
120
+ if (!m) return void 0;
121
+ const param = m[1]?.trim() ?? "";
122
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(param)) return void 0;
123
+ const body = m[2]?.trim() ?? "";
124
+ if (body.length === 0) return void 0;
125
+ return { param, body };
126
+ };
127
+ var tryParseSelectorSource = (source) => {
128
+ const arrowOrFn = extractArrow(source) ?? extractFunctionReturn(source);
129
+ if (!arrowOrFn) return void 0;
130
+ const expr = unwrapParens(arrowOrFn.body).trim().replace(/;$/, "").trim();
131
+ {
132
+ const re = new RegExp(`^${arrowOrFn.param}\\.([A-Za-z0-9_$]+(?:\\.[A-Za-z0-9_$]+)*)$`);
133
+ const m = expr.match(re);
134
+ if (m) {
135
+ return { kind: "path", path: m[1] };
136
+ }
137
+ }
138
+ if (expr.startsWith("{") && expr.endsWith("}")) {
139
+ const inner = expr.slice(1, -1).trim();
140
+ if (inner.length === 0) return { kind: "struct", entries: [] };
141
+ const parts = inner.split(",").map((p) => p.trim()).filter((p) => p.length > 0);
142
+ const entries = [];
143
+ for (const part of parts) {
144
+ const idx = part.indexOf(":");
145
+ if (idx < 0) return void 0;
146
+ const key = part.slice(0, idx).trim();
147
+ const value = part.slice(idx + 1).trim();
148
+ if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key)) return void 0;
149
+ const re = new RegExp(`^${arrowOrFn.param}\\.([A-Za-z0-9_$]+(?:\\.[A-Za-z0-9_$]+)*)$`);
150
+ const m = value.match(re);
151
+ if (!m) return void 0;
152
+ entries.push([key, m[1]]);
153
+ }
154
+ entries.sort((a, b) => a[0].localeCompare(b[0]));
155
+ return { kind: "struct", entries };
156
+ }
157
+ return void 0;
158
+ };
159
+ var READ_QUERY_TEMPLATE_CACHE_MAX = 2048;
160
+ var readQueryTemplateByFn = /* @__PURE__ */ new WeakMap();
161
+ var readQueryTemplateBySource = /* @__PURE__ */ new Map();
162
+ var lruGet = (map, key) => {
163
+ const value = map.get(key);
164
+ if (value === void 0) return void 0;
165
+ map.delete(key);
166
+ map.set(key, value);
167
+ return value;
168
+ };
169
+ var lruSet = (map, key, value, maxSize) => {
170
+ if (map.has(key)) map.delete(key);
171
+ map.set(key, value);
172
+ if (map.size <= maxSize) return;
173
+ const oldestKey = map.keys().next().value;
174
+ if (oldestKey !== void 0) {
175
+ map.delete(oldestKey);
176
+ }
177
+ };
178
+ var safeToString = (fn) => {
179
+ try {
180
+ return fn.toString();
181
+ } catch {
182
+ return "";
183
+ }
184
+ };
185
+ var make = (spec) => spec;
186
+ var compile = (input) => {
187
+ if (isReadQuery(input)) {
188
+ const reads = normalizeReads(input.reads);
189
+ const readsDigest = reads.length > 0 ? makeReadsDigest(reads) : void 0;
190
+ const equalsKind = input.equalsKind;
191
+ const staticIr2 = {
192
+ selectorId: input.selectorId,
193
+ debugKey: input.debugKey,
194
+ lane: "static",
195
+ producer: "manual",
196
+ reads,
197
+ readsDigest,
198
+ equalsKind
199
+ };
200
+ return {
201
+ ...input,
202
+ reads,
203
+ lane: "static",
204
+ producer: "manual",
205
+ readsDigest,
206
+ staticIr: staticIr2
207
+ };
208
+ }
209
+ const selector = input;
210
+ const debugKey = (typeof selector?.debugKey === "string" && selector.debugKey.length > 0 ? selector.debugKey : void 0) ?? (typeof selector.name === "string" && selector.name.length > 0 ? selector.name : void 0);
211
+ const declaredReads = Array.isArray(selector?.fieldPaths) ? selector.fieldPaths.filter((x) => typeof x === "string") : void 0;
212
+ if (declaredReads && declaredReads.length > 0) {
213
+ const reads = normalizeReads(declaredReads);
214
+ const readsDigest = makeReadsDigest(reads);
215
+ const selectorId2 = computeSelectorId({ kind: "reads", reads });
216
+ const staticIr2 = {
217
+ selectorId: selectorId2,
218
+ debugKey,
219
+ lane: "static",
220
+ producer: "jit",
221
+ reads,
222
+ readsDigest,
223
+ equalsKind: "objectIs"
224
+ };
225
+ return {
226
+ selectorId: selectorId2,
227
+ debugKey,
228
+ reads,
229
+ select: selector,
230
+ equalsKind: "objectIs",
231
+ lane: "static",
232
+ producer: "jit",
233
+ readsDigest,
234
+ staticIr: staticIr2
235
+ };
236
+ }
237
+ const cachedByFn = readQueryTemplateByFn.get(selector);
238
+ if (cachedByFn) {
239
+ const staticIr2 = {
240
+ selectorId: cachedByFn.selectorId,
241
+ debugKey,
242
+ lane: "static",
243
+ producer: "jit",
244
+ reads: cachedByFn.reads,
245
+ readsDigest: cachedByFn.readsDigest,
246
+ equalsKind: cachedByFn.equalsKind
247
+ };
248
+ return {
249
+ selectorId: cachedByFn.selectorId,
250
+ debugKey,
251
+ reads: cachedByFn.reads,
252
+ select: selector,
253
+ equalsKind: cachedByFn.equalsKind,
254
+ lane: "static",
255
+ producer: "jit",
256
+ readsDigest: cachedByFn.readsDigest,
257
+ staticIr: staticIr2
258
+ };
259
+ }
260
+ const srcTrimmed = safeToString(selector).trim();
261
+ const cachedBySource = srcTrimmed.length > 0 ? lruGet(readQueryTemplateBySource, srcTrimmed) : void 0;
262
+ if (cachedBySource) {
263
+ readQueryTemplateByFn.set(selector, cachedBySource);
264
+ const staticIr2 = {
265
+ selectorId: cachedBySource.selectorId,
266
+ debugKey,
267
+ lane: "static",
268
+ producer: "jit",
269
+ reads: cachedBySource.reads,
270
+ readsDigest: cachedBySource.readsDigest,
271
+ equalsKind: cachedBySource.equalsKind
272
+ };
273
+ return {
274
+ selectorId: cachedBySource.selectorId,
275
+ debugKey,
276
+ reads: cachedBySource.reads,
277
+ select: selector,
278
+ equalsKind: cachedBySource.equalsKind,
279
+ lane: "static",
280
+ producer: "jit",
281
+ readsDigest: cachedBySource.readsDigest,
282
+ staticIr: staticIr2
283
+ };
284
+ }
285
+ const parsed = srcTrimmed.length > 0 ? tryParseSelectorSource(srcTrimmed) : void 0;
286
+ if (parsed?.kind === "path") {
287
+ const reads = [parsed.path];
288
+ const readsDigest = makeReadsDigest(reads);
289
+ const selectorId2 = computeSelectorId({ kind: "path", path: parsed.path });
290
+ const template = { selectorId: selectorId2, reads, readsDigest, equalsKind: "objectIs" };
291
+ readQueryTemplateByFn.set(selector, template);
292
+ lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX);
293
+ const staticIr2 = {
294
+ selectorId: selectorId2,
295
+ debugKey,
296
+ lane: "static",
297
+ producer: "jit",
298
+ reads,
299
+ readsDigest,
300
+ equalsKind: "objectIs"
301
+ };
302
+ return {
303
+ selectorId: selectorId2,
304
+ debugKey,
305
+ reads,
306
+ select: selector,
307
+ equalsKind: "objectIs",
308
+ lane: "static",
309
+ producer: "jit",
310
+ readsDigest,
311
+ staticIr: staticIr2
312
+ };
313
+ }
314
+ if (parsed?.kind === "struct") {
315
+ const reads = normalizeReads(parsed.entries.map(([, path]) => path));
316
+ const readsDigest = makeReadsDigest(reads);
317
+ const selectorId2 = computeSelectorId({ kind: "struct", entries: parsed.entries });
318
+ const template = { selectorId: selectorId2, reads, readsDigest, equalsKind: "shallowStruct" };
319
+ readQueryTemplateByFn.set(selector, template);
320
+ lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX);
321
+ const staticIr2 = {
322
+ selectorId: selectorId2,
323
+ debugKey,
324
+ lane: "static",
325
+ producer: "jit",
326
+ reads,
327
+ readsDigest,
328
+ equalsKind: "shallowStruct"
329
+ };
330
+ return {
331
+ selectorId: selectorId2,
332
+ debugKey,
333
+ reads,
334
+ select: selector,
335
+ equalsKind: "shallowStruct",
336
+ lane: "static",
337
+ producer: "jit",
338
+ readsDigest,
339
+ staticIr: staticIr2
340
+ };
341
+ }
342
+ const baseFallbackReason = srcTrimmed.includes("=>") || srcTrimmed.startsWith("function") ? "unsupportedSyntax" : "missingDeps";
343
+ const lowDiscriminabilitySource = srcTrimmed.length === 0 || srcTrimmed.includes("[native code]");
344
+ const fallbackReason = !debugKey || lowDiscriminabilitySource ? "unstableSelectorId" : baseFallbackReason;
345
+ const selectorId = fallbackReason === "unstableSelectorId" ? computeUnstableSelectorId(selector) : computeSelectorId({ kind: "dynamic", debugKey, src: srcTrimmed });
346
+ const staticIr = {
347
+ selectorId,
348
+ debugKey,
349
+ lane: "dynamic",
350
+ producer: "dynamic",
351
+ fallbackReason,
352
+ equalsKind: "objectIs"
353
+ };
354
+ return {
355
+ selectorId,
356
+ debugKey,
357
+ reads: [],
358
+ select: selector,
359
+ equalsKind: "objectIs",
360
+ lane: "dynamic",
361
+ producer: "dynamic",
362
+ fallbackReason,
363
+ staticIr
364
+ };
365
+ };
366
+
367
+ // src/ReadQuery.ts
368
+ var isReadQuery2 = isReadQuery;
369
+ var make2 = make;
370
+ var compile2 = compile;
371
+ // Annotate the CommonJS export names for ESM import in node:
372
+ 0 && (module.exports = {
373
+ compile,
374
+ isReadQuery,
375
+ make
376
+ });
377
+ //# sourceMappingURL=ReadQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ReadQuery.ts","../src/internal/digest.ts","../src/internal/runtime/core/ReadQuery.ts"],"sourcesContent":["import * as ReadQueryCore from './internal/runtime/core/ReadQuery.js'\n\nexport type ReadLane = ReadQueryCore.ReadLane\nexport type ReadProducer = ReadQueryCore.ReadProducer\nexport type EqualsKind = ReadQueryCore.EqualsKind\nexport type ReadsDigest = ReadQueryCore.ReadsDigest\n\nexport type ReadQueryStaticIr = ReadQueryCore.ReadQueryStaticIr\n\nexport type ReadQuery<S, V> = ReadQueryCore.ReadQuery<S, V>\nexport type ReadQueryCompiled<S, V> = ReadQueryCore.ReadQueryCompiled<S, V>\nexport type ReadQueryInput<S, V> = ReadQueryCore.ReadQueryInput<S, V>\n\nexport const isReadQuery = ReadQueryCore.isReadQuery\n\nexport const make = ReadQueryCore.make\n\nexport const compile = ReadQueryCore.compile\n","/**\n * internal/digest:\n * - Minimal \"stable digest\" utilities for Runtime / Static IR / Traits, etc.\n * - Goal: stable output across runs/processes while staying lightweight (no extra dependencies).\n *\n * Note: stableStringify does not aim for full JSON equivalence; it only covers the subset needed by this repo:\n * - Stable key ordering (object fields sorted lexicographically).\n * - Non-finite numbers (NaN/±Infinity) degrade to null.\n * - Other non-representable values (undefined/function/symbol, etc.) degrade to null.\n * - undefined inside objects is not omitted; it is encoded as null (differs from JSON.stringify).\n */\n\nexport const stableStringify = (value: unknown): string => {\n if (value === null) return 'null'\n const t = typeof value\n if (t === 'string') return JSON.stringify(value)\n if (t === 'number') return Number.isFinite(value) ? String(value) : 'null'\n if (t === 'boolean') return value ? 'true' : 'false'\n\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(',')}]`\n }\n\n if (t === 'object') {\n const record = value as Record<string, unknown>\n const keys = Object.keys(record).sort((a, b) => a.localeCompare(b))\n return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(record[k])}`).join(',')}}`\n }\n\n return 'null'\n}\n\n/**\n * fnv1a32:\n * - 32-bit FNV-1a hash (for short digests); outputs fixed 8-char hex.\n */\nexport const fnv1a32 = (input: string): string => {\n let hash = 0x811c9dc5\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i)\n hash = (hash * 0x01000193) >>> 0\n }\n return hash.toString(16).padStart(8, '0')\n}\n","import { fnv1a32, stableStringify } from '../../digest.js'\nimport type * as DebugSink from './DebugSink.js'\n\nexport type ReadLane = 'static' | 'dynamic'\n\nexport type ReadProducer = 'aot' | 'jit' | 'manual' | 'dynamic'\n\nexport type ReadQueryFallbackReason = 'missingDeps' | 'unsupportedSyntax' | 'unstableSelectorId'\n\nexport type EqualsKind = 'objectIs' | 'shallowStruct' | 'custom'\n\nexport interface ReadsDigest {\n readonly count: number\n readonly hash: number\n}\n\nexport interface ReadQueryStaticIr {\n readonly selectorId: string\n readonly debugKey?: string\n readonly lane: ReadLane\n readonly producer: ReadProducer\n readonly reads?: ReadonlyArray<string | number>\n readonly readsDigest?: ReadsDigest\n readonly fallbackReason?: ReadQueryFallbackReason\n readonly equalsKind: EqualsKind\n}\n\nexport interface ReadQuery<S, V> {\n readonly selectorId: string\n readonly debugKey?: string\n readonly reads: ReadonlyArray<string | number>\n readonly select: (state: S) => V\n readonly equalsKind: EqualsKind\n readonly equals?: (previous: V, next: V) => boolean\n}\n\nexport interface ReadQueryCompiled<S, V> extends ReadQuery<S, V> {\n readonly lane: ReadLane\n readonly producer: ReadProducer\n readonly readsDigest?: ReadsDigest\n readonly fallbackReason?: ReadQueryFallbackReason\n readonly staticIr: ReadQueryStaticIr\n}\n\nexport type ReadQueryInput<S, V> = ((state: S) => V) | ReadQuery<S, V>\n\nexport function isReadQuery<S, V>(input: ReadQueryInput<S, V>): input is ReadQuery<S, V>\nexport function isReadQuery(input: unknown): input is ReadQuery<any, any>\nexport function isReadQuery(input: unknown): input is ReadQuery<any, any> {\n if (!input || (typeof input !== 'object' && typeof input !== 'function')) return false\n const maybe = input as any\n return typeof maybe.selectorId === 'string' && typeof maybe.select === 'function' && Array.isArray(maybe.reads)\n}\n\nconst normalizeReads = (reads: ReadonlyArray<string | number>): ReadonlyArray<string | number> => {\n const unique: Array<string | number> = []\n const seen = new Set<string>()\n for (const r of reads) {\n const key = typeof r === 'number' ? `n:${r}` : `s:${r}`\n if (seen.has(key)) continue\n seen.add(key)\n unique.push(r)\n }\n return unique.slice().sort((a, b) => String(a).localeCompare(String(b)))\n}\n\nconst toHash32Number = (hex: string): number => Number.parseInt(hex, 16)\n\nconst makeReadsDigest = (reads: ReadonlyArray<string | number>): ReadsDigest => {\n const normalized = normalizeReads(reads)\n return {\n count: normalized.length,\n hash: toHash32Number(fnv1a32(stableStringify(normalized))),\n }\n}\n\nconst computeSelectorId = (value: unknown): string => `rq_${fnv1a32(stableStringify(value))}`\n\nlet nextUnstableSelectorSeq = 0\nconst unstableSelectorIdByFn = new WeakMap<Function, string>()\n\nconst computeUnstableSelectorId = (selector: Function): string => {\n const existing = unstableSelectorIdByFn.get(selector)\n if (existing) return existing\n nextUnstableSelectorSeq += 1\n const selectorId = `rq_u${nextUnstableSelectorSeq}`\n unstableSelectorIdByFn.set(selector, selectorId)\n return selectorId\n}\n\nconst unwrapParens = (input: string): string => {\n const trimmed = input.trim()\n if (trimmed.startsWith('(') && trimmed.endsWith(')')) {\n const inner = trimmed.slice(1, -1).trim()\n // Only unwrap the outermost pair of parentheses to avoid accidentally breaking syntax.\n if (!inner.startsWith('(') || !inner.endsWith(')')) {\n return inner\n }\n }\n return trimmed\n}\n\nconst extractArrow = (source: string): { readonly param: string; readonly body: string } | undefined => {\n const idx = source.indexOf('=>')\n if (idx < 0) return undefined\n const left = source.slice(0, idx).trim()\n const right = source.slice(idx + 2).trim()\n\n const paramRaw = unwrapParens(left)\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(paramRaw)) return undefined\n\n // block body: { return expr }\n if (right.startsWith('{')) {\n const m = right.match(/^\\{\\s*return\\s+(.+?);?\\s*\\}\\s*$/s)\n if (!m) return undefined\n return { param: paramRaw, body: m[1]?.trim() ?? '' }\n }\n\n return { param: paramRaw, body: right }\n}\n\nconst extractFunctionReturn = (source: string): { readonly param: string; readonly body: string } | undefined => {\n const trimmed = source.trim()\n const m = trimmed.match(\n /^function\\s*(?:[A-Za-z_$][A-Za-z0-9_$]*\\s*)?\\(\\s*([A-Za-z_$][A-Za-z0-9_$]*)\\s*\\)\\s*\\{\\s*return\\s+(.+?);?\\s*\\}\\s*$/s,\n )\n if (!m) return undefined\n\n const param = m[1]?.trim() ?? ''\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(param)) return undefined\n\n const body = m[2]?.trim() ?? ''\n if (body.length === 0) return undefined\n\n return { param, body }\n}\n\ntype ParsedSelector =\n | { readonly kind: 'path'; readonly path: string }\n | { readonly kind: 'struct'; readonly entries: ReadonlyArray<readonly [string, string]> }\n\nconst tryParseSelectorSource = (source: string): ParsedSelector | undefined => {\n const arrowOrFn = extractArrow(source) ?? extractFunctionReturn(source)\n if (!arrowOrFn) return undefined\n\n const expr = unwrapParens(arrowOrFn.body).trim().replace(/;$/, '').trim()\n\n // path: s.a.b\n {\n const re = new RegExp(`^${arrowOrFn.param}\\\\.([A-Za-z0-9_$]+(?:\\\\.[A-Za-z0-9_$]+)*)$`)\n const m = expr.match(re)\n if (m) {\n return { kind: 'path', path: m[1] }\n }\n }\n\n // struct: ({ a: s.a, b: s.b })\n if (expr.startsWith('{') && expr.endsWith('}')) {\n const inner = expr.slice(1, -1).trim()\n if (inner.length === 0) return { kind: 'struct', entries: [] }\n\n const parts = inner\n .split(',')\n .map((p) => p.trim())\n .filter((p) => p.length > 0)\n\n const entries: Array<readonly [string, string]> = []\n\n for (const part of parts) {\n const idx = part.indexOf(':')\n if (idx < 0) return undefined\n const key = part.slice(0, idx).trim()\n const value = part.slice(idx + 1).trim()\n\n if (!/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key)) return undefined\n\n const re = new RegExp(`^${arrowOrFn.param}\\\\.([A-Za-z0-9_$]+(?:\\\\.[A-Za-z0-9_$]+)*)$`)\n const m = value.match(re)\n if (!m) return undefined\n entries.push([key, m[1]] as const)\n }\n\n // Sort entries to ensure a stable selectorId.\n entries.sort((a, b) => a[0].localeCompare(b[0]))\n return { kind: 'struct', entries }\n }\n\n return undefined\n}\n\ntype ReadQueryStaticTemplate = {\n readonly selectorId: string\n readonly reads: ReadonlyArray<string | number>\n readonly readsDigest: ReadsDigest\n readonly equalsKind: EqualsKind\n}\n\nconst READ_QUERY_TEMPLATE_CACHE_MAX = 2048\nconst readQueryTemplateByFn = new WeakMap<Function, ReadQueryStaticTemplate>()\nconst readQueryTemplateBySource = new Map<string, ReadQueryStaticTemplate>()\n\nconst lruGet = <K, V>(map: Map<K, V>, key: K): V | undefined => {\n const value = map.get(key)\n if (value === undefined) return undefined\n map.delete(key)\n map.set(key, value)\n return value\n}\n\nconst lruSet = <K, V>(map: Map<K, V>, key: K, value: V, maxSize: number) => {\n if (map.has(key)) map.delete(key)\n map.set(key, value)\n if (map.size <= maxSize) return\n const oldestKey = map.keys().next().value as K | undefined\n if (oldestKey !== undefined) {\n map.delete(oldestKey)\n }\n}\n\nconst safeToString = (fn: Function): string => {\n try {\n return fn.toString()\n } catch {\n return ''\n }\n}\n\nexport const make = <S, V>(spec: ReadQuery<S, V>): ReadQuery<S, V> => spec\n\nexport const compile = <S, V>(input: ReadQueryInput<S, V>): ReadQueryCompiled<S, V> => {\n if (isReadQuery(input)) {\n const reads = normalizeReads(input.reads)\n const readsDigest = reads.length > 0 ? makeReadsDigest(reads) : undefined\n\n const equalsKind = input.equalsKind\n const staticIr: ReadQueryStaticIr = {\n selectorId: input.selectorId,\n debugKey: input.debugKey,\n lane: 'static',\n producer: 'manual',\n reads,\n readsDigest,\n equalsKind,\n }\n\n return {\n ...input,\n reads,\n lane: 'static',\n producer: 'manual',\n readsDigest,\n staticIr,\n }\n }\n\n const selector = input\n const debugKey =\n (typeof (selector as any)?.debugKey === 'string' && (selector as any).debugKey.length > 0\n ? (selector as any).debugKey\n : undefined) ??\n (typeof (selector as any).name === 'string' && (selector as any).name.length > 0\n ? (selector as any).name\n : undefined)\n\n const declaredReads: ReadonlyArray<string> | undefined = Array.isArray((selector as any)?.fieldPaths)\n ? ((selector as any).fieldPaths as ReadonlyArray<unknown>).filter((x): x is string => typeof x === 'string')\n : undefined\n\n if (declaredReads && declaredReads.length > 0) {\n const reads = normalizeReads(declaredReads)\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'reads', reads })\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n const cachedByFn = readQueryTemplateByFn.get(selector as unknown as Function)\n if (cachedByFn) {\n const staticIr: ReadQueryStaticIr = {\n selectorId: cachedByFn.selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads: cachedByFn.reads,\n readsDigest: cachedByFn.readsDigest,\n equalsKind: cachedByFn.equalsKind,\n }\n\n return {\n selectorId: cachedByFn.selectorId,\n debugKey,\n reads: cachedByFn.reads,\n select: selector as any,\n equalsKind: cachedByFn.equalsKind,\n lane: 'static',\n producer: 'jit',\n readsDigest: cachedByFn.readsDigest,\n staticIr,\n }\n }\n\n const srcTrimmed = safeToString(selector as unknown as Function).trim()\n const cachedBySource = srcTrimmed.length > 0 ? lruGet(readQueryTemplateBySource, srcTrimmed) : undefined\n if (cachedBySource) {\n readQueryTemplateByFn.set(selector as unknown as Function, cachedBySource)\n const staticIr: ReadQueryStaticIr = {\n selectorId: cachedBySource.selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads: cachedBySource.reads,\n readsDigest: cachedBySource.readsDigest,\n equalsKind: cachedBySource.equalsKind,\n }\n\n return {\n selectorId: cachedBySource.selectorId,\n debugKey,\n reads: cachedBySource.reads,\n select: selector as any,\n equalsKind: cachedBySource.equalsKind,\n lane: 'static',\n producer: 'jit',\n readsDigest: cachedBySource.readsDigest,\n staticIr,\n }\n }\n\n const parsed = srcTrimmed.length > 0 ? tryParseSelectorSource(srcTrimmed) : undefined\n\n if (parsed?.kind === 'path') {\n const reads = [parsed.path]\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'path', path: parsed.path })\n const template: ReadQueryStaticTemplate = { selectorId, reads, readsDigest, equalsKind: 'objectIs' }\n readQueryTemplateByFn.set(selector as unknown as Function, template)\n lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX)\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n if (parsed?.kind === 'struct') {\n const reads = normalizeReads(parsed.entries.map(([, path]) => path))\n const readsDigest = makeReadsDigest(reads)\n const selectorId = computeSelectorId({ kind: 'struct', entries: parsed.entries })\n const template: ReadQueryStaticTemplate = { selectorId, reads, readsDigest, equalsKind: 'shallowStruct' }\n readQueryTemplateByFn.set(selector as unknown as Function, template)\n lruSet(readQueryTemplateBySource, srcTrimmed, template, READ_QUERY_TEMPLATE_CACHE_MAX)\n\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'static',\n producer: 'jit',\n reads,\n readsDigest,\n equalsKind: 'shallowStruct',\n }\n\n return {\n selectorId,\n debugKey,\n reads,\n select: selector as any,\n equalsKind: 'shallowStruct',\n lane: 'static',\n producer: 'jit',\n readsDigest,\n staticIr,\n }\n }\n\n // Dynamic lane fallback (no stable reads / unsupported subset)\n const baseFallbackReason: ReadQueryFallbackReason =\n srcTrimmed.includes('=>') || srcTrimmed.startsWith('function') ? 'unsupportedSyntax' : 'missingDeps'\n\n const lowDiscriminabilitySource = srcTrimmed.length === 0 || srcTrimmed.includes('[native code]')\n const fallbackReason: ReadQueryFallbackReason =\n !debugKey || lowDiscriminabilitySource ? 'unstableSelectorId' : baseFallbackReason\n\n const selectorId =\n fallbackReason === 'unstableSelectorId'\n ? computeUnstableSelectorId(selector as unknown as Function)\n : computeSelectorId({ kind: 'dynamic', debugKey, src: srcTrimmed })\n const staticIr: ReadQueryStaticIr = {\n selectorId,\n debugKey,\n lane: 'dynamic',\n producer: 'dynamic',\n fallbackReason,\n equalsKind: 'objectIs',\n }\n\n return {\n selectorId,\n debugKey,\n reads: [],\n select: selector as any,\n equalsKind: 'objectIs',\n lane: 'dynamic',\n producer: 'dynamic',\n fallbackReason,\n staticIr,\n }\n}\n\nexport interface ReadQueryStrictGateConfig {\n readonly mode: 'off' | 'warn' | 'error'\n readonly requireStatic?: {\n readonly selectorIds?: ReadonlyArray<string>\n readonly modules?: ReadonlyArray<string>\n }\n readonly denyFallbackReasons?: ReadonlyArray<ReadQueryFallbackReason>\n}\n\nexport interface ReadQueryStrictGateViolationDetails {\n readonly moduleId: string\n readonly instanceId: string\n readonly txnSeq: number\n readonly selectorId: string\n readonly debugKey?: string\n readonly fallbackReason: ReadQueryFallbackReason\n readonly rule: 'denyFallbackReason' | 'requireStatic:global' | 'requireStatic:selectorId' | 'requireStatic:module'\n}\n\nexport interface ReadQueryStrictGateError extends Error {\n readonly _tag: 'ReadQueryStrictGateError'\n readonly details: ReadQueryStrictGateViolationDetails\n}\n\nexport type ReadQueryStrictGateDiagnosticEvent = Extract<DebugSink.Event, { readonly type: 'diagnostic' }>\n\nexport type ReadQueryStrictGateDecision =\n | { readonly verdict: 'PASS' }\n | {\n readonly verdict: 'WARN'\n readonly diagnostic: ReadQueryStrictGateDiagnosticEvent\n readonly details: ReadQueryStrictGateViolationDetails\n }\n | {\n readonly verdict: 'FAIL'\n readonly diagnostic: ReadQueryStrictGateDiagnosticEvent\n readonly error: ReadQueryStrictGateError\n readonly details: ReadQueryStrictGateViolationDetails\n }\n\nconst filterNonEmpty = (values: ReadonlyArray<string> | undefined): ReadonlyArray<string> | undefined => {\n if (!values || values.length === 0) return undefined\n const next = values.map((v) => v.trim()).filter((v) => v.length > 0)\n return next.length > 0 ? next : undefined\n}\n\nconst makeStrictGateDiagnostic = (args: {\n readonly config: ReadQueryStrictGateConfig\n readonly details: ReadQueryStrictGateViolationDetails\n}): ReadQueryStrictGateDiagnosticEvent => {\n const severity = args.config.mode === 'warn' ? ('warning' as const) : ('error' as const)\n\n return {\n type: 'diagnostic',\n moduleId: args.details.moduleId,\n instanceId: args.details.instanceId,\n txnSeq: args.details.txnSeq,\n code: 'read_query::strict_gate',\n severity,\n message: `ReadQuery strict gate violated: selector entered dynamic lane (selectorId=${args.details.selectorId}, reason=${args.details.fallbackReason}).`,\n hint:\n 'Fix: make the selector statically compilable (AOT/JIT) or pass an explicit ReadQuery; ' +\n 'or disable/narrow the gate via RuntimeOptions.readQuery.strictGate.requireStatic / denyFallbackReasons.',\n kind: 'read_query:strict_gate',\n trigger: {\n kind: 'read_query',\n name: 'strict_gate',\n details: args.details,\n },\n }\n}\n\nconst makeStrictGateError = (args: {\n readonly details: ReadQueryStrictGateViolationDetails\n}): ReadQueryStrictGateError =>\n Object.assign(\n new Error(\n `[ReadQueryStrictGateError] selector entered dynamic lane (selectorId=${args.details.selectorId}, reason=${args.details.fallbackReason}).`,\n ),\n {\n _tag: 'ReadQueryStrictGateError' as const,\n details: args.details,\n },\n ) as ReadQueryStrictGateError\n\nexport const evaluateStrictGate = (args: {\n readonly config: ReadQueryStrictGateConfig\n readonly moduleId: string\n readonly instanceId: string\n readonly txnSeq: number\n readonly compiled: ReadQueryCompiled<any, any>\n}): ReadQueryStrictGateDecision => {\n if (args.config.mode === 'off') {\n return { verdict: 'PASS' }\n }\n\n if (args.compiled.lane !== 'dynamic') {\n return { verdict: 'PASS' }\n }\n\n const fallbackReason = (args.compiled.fallbackReason ?? 'missingDeps') as ReadQueryFallbackReason\n\n const denyFallbackReasons = args.config.denyFallbackReasons\n const denied = !!denyFallbackReasons?.includes(fallbackReason)\n\n const selectorIds = filterNonEmpty(args.config.requireStatic?.selectorIds)\n const modules = filterNonEmpty(args.config.requireStatic?.modules)\n const hasCoverageFilter = !!selectorIds || !!modules\n\n const matchedSelectorId = !!selectorIds?.includes(args.compiled.selectorId)\n const matchedModule = !!modules?.includes(args.moduleId)\n const coveredByRequireStatic = !hasCoverageFilter || matchedSelectorId || matchedModule\n\n if (!denied && !coveredByRequireStatic) {\n return { verdict: 'PASS' }\n }\n\n const rule: ReadQueryStrictGateViolationDetails['rule'] = denied\n ? 'denyFallbackReason'\n : !hasCoverageFilter\n ? 'requireStatic:global'\n : matchedSelectorId\n ? 'requireStatic:selectorId'\n : 'requireStatic:module'\n\n const details: ReadQueryStrictGateViolationDetails = {\n moduleId: args.moduleId,\n instanceId: args.instanceId,\n txnSeq: args.txnSeq,\n selectorId: args.compiled.selectorId,\n debugKey: args.compiled.debugKey,\n fallbackReason,\n rule,\n }\n\n const diagnostic = makeStrictGateDiagnostic({ config: args.config, details })\n\n if (args.config.mode === 'warn') {\n return { verdict: 'WARN', diagnostic, details }\n }\n\n const error = makeStrictGateError({ details })\n return { verdict: 'FAIL', diagnostic, error, details }\n}\n"],"mappings":"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","names":["compile","isReadQuery","make","staticIr","selectorId","isReadQuery","make","compile"]}
@@ -0,0 +1,2 @@
1
+ import './ReadQuery-SinbStGF.cjs';
2
+ export { E as EqualsKind, a as ReadLane, b as ReadProducer, e as ReadQuery, f as ReadQueryCompiled, g as ReadQueryInput, d as ReadQueryStaticIr, c as ReadsDigest, h as compile, i as isReadQuery, m as make } from './ReadQuery-CL5XlXts.cjs';
@@ -0,0 +1,2 @@
1
+ import './ReadQuery-SinbStGF.js';
2
+ export { E as EqualsKind, a as ReadLane, b as ReadProducer, e as ReadQuery, f as ReadQueryCompiled, g as ReadQueryInput, d as ReadQueryStaticIr, c as ReadsDigest, h as compile, i as isReadQuery, m as make } from './ReadQuery-BlMwhe-F.js';