@logixjs/sandbox 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/LICENSE +201 -0
  2. package/package.json +3 -1
  3. package/public/sandbox/chunks/chunk-2AUQRESB.js +1114 -0
  4. package/public/sandbox/chunks/chunk-2F72LQKW.js +194 -0
  5. package/public/sandbox/chunks/chunk-2PYDGDD3.js +4071 -0
  6. package/public/sandbox/chunks/chunk-2UGKSXDZ.js +16 -0
  7. package/public/sandbox/chunks/chunk-2XVE7F26.js +153 -0
  8. package/public/sandbox/chunks/chunk-3A7TFNZN.js +219 -0
  9. package/public/sandbox/chunks/chunk-3BHC6JAV.js +1070 -0
  10. package/public/sandbox/chunks/chunk-3U4CAKCX.js +61 -0
  11. package/public/sandbox/chunks/chunk-3VU3JLZO.js +272 -0
  12. package/public/sandbox/chunks/chunk-4CPONKWY.js +1170 -0
  13. package/public/sandbox/chunks/chunk-4GMUQTWH.js +850 -0
  14. package/public/sandbox/chunks/chunk-4KIYG5E4.js +749 -0
  15. package/public/sandbox/chunks/chunk-4MY35XR3.js +175 -0
  16. package/public/sandbox/chunks/chunk-5DNHJMHA.js +69 -0
  17. package/public/sandbox/chunks/chunk-5EC4S7X6.js +42 -0
  18. package/public/sandbox/chunks/chunk-5FB7QFSH.js +227 -0
  19. package/public/sandbox/chunks/chunk-5GEYCJW2.js +206 -0
  20. package/public/sandbox/chunks/chunk-5PT7Q5SS.js +373 -0
  21. package/public/sandbox/chunks/chunk-5WN5IGKA.js +166 -0
  22. package/public/sandbox/chunks/chunk-5XOBKSOT.js +213 -0
  23. package/public/sandbox/chunks/chunk-67RVISUC.js +313 -0
  24. package/public/sandbox/chunks/chunk-6ELJEKZS.js +12 -0
  25. package/public/sandbox/chunks/chunk-6FKWRVP4.js +85 -0
  26. package/public/sandbox/chunks/chunk-6JRP52YT.js +34 -0
  27. package/public/sandbox/chunks/chunk-6JYAC3G6.js +42 -0
  28. package/public/sandbox/chunks/chunk-6TUOP63Q.js +86 -0
  29. package/public/sandbox/chunks/{chunk-A6JFUNQQ.js → chunk-74C5VW7Z.js} +2 -2
  30. package/public/sandbox/chunks/chunk-75DQFC5M.js +16 -0
  31. package/public/sandbox/chunks/{chunk-UCFEP3BH.js → chunk-7GPAF2UK.js} +1 -1
  32. package/public/sandbox/chunks/chunk-7KQFTS2Y.js +135 -0
  33. package/public/sandbox/chunks/chunk-7POKWYE3.js +112 -0
  34. package/public/sandbox/chunks/chunk-7VUEF5F3.js +395 -0
  35. package/public/sandbox/chunks/chunk-7W5APZS2.js +77 -0
  36. package/public/sandbox/chunks/chunk-A6OFCXDQ.js +397 -0
  37. package/public/sandbox/chunks/chunk-A7HLOSO6.js +216 -0
  38. package/public/sandbox/chunks/chunk-AGF4RRCB.js +408 -0
  39. package/public/sandbox/chunks/chunk-ASJSJAAL.js +122 -0
  40. package/public/sandbox/chunks/chunk-ASVMK364.js +283 -0
  41. package/public/sandbox/chunks/chunk-AUDTI2BQ.js +895 -0
  42. package/public/sandbox/chunks/chunk-B2SZTA3M.js +16 -0
  43. package/public/sandbox/chunks/chunk-B6YS2UMV.js +372 -0
  44. package/public/sandbox/chunks/chunk-BCEO3MGD.js +244 -0
  45. package/public/sandbox/chunks/chunk-BCOO65D4.js +373 -0
  46. package/public/sandbox/chunks/chunk-BJOWSSEL.js +38 -0
  47. package/public/sandbox/chunks/chunk-BS2WBFW4.js +373 -0
  48. package/public/sandbox/chunks/chunk-BUVHG3NJ.js +439 -0
  49. package/public/sandbox/chunks/chunk-BVE33AN6.js +42 -0
  50. package/public/sandbox/chunks/chunk-BWTGJZVP.js +19 -0
  51. package/public/sandbox/chunks/chunk-BXD7GZC3.js +1025 -0
  52. package/public/sandbox/chunks/chunk-BZH4EUUD.js +164 -0
  53. package/public/sandbox/chunks/{chunk-HFV5GJPK.js → chunk-C2MYMMO4.js} +3 -3
  54. package/public/sandbox/chunks/chunk-CRE4NJJ6.js +271 -0
  55. package/public/sandbox/chunks/chunk-CVZPRIDB.js +706 -0
  56. package/public/sandbox/chunks/chunk-CWOXD5NG.js +991 -0
  57. package/public/sandbox/chunks/chunk-D6DOC3BJ.js +373 -0
  58. package/public/sandbox/chunks/chunk-DEPSGFSY.js +1698 -0
  59. package/public/sandbox/chunks/chunk-DM7C5NP5.js +819 -0
  60. package/public/sandbox/chunks/chunk-DN33LMOF.js +1112 -0
  61. package/public/sandbox/chunks/{chunk-S46P7MC6.js → chunk-DT7YIIWE.js} +2 -2
  62. package/public/sandbox/chunks/chunk-DVB5WRCI.js +260 -0
  63. package/public/sandbox/chunks/{chunk-TOHCFMQS.js → chunk-E3EVW7NR.js} +11 -18
  64. package/public/sandbox/chunks/chunk-E5BV567Q.js +417 -0
  65. package/public/sandbox/chunks/chunk-E7BIWMQQ.js +203 -0
  66. package/public/sandbox/chunks/chunk-EAKGPSOQ.js +83 -0
  67. package/public/sandbox/chunks/chunk-EGUYL2ER.js +75 -0
  68. package/public/sandbox/chunks/chunk-EP5GQYZ5.js +85 -0
  69. package/public/sandbox/chunks/chunk-ET6CJEHC.js +221 -0
  70. package/public/sandbox/chunks/chunk-EU67YZHZ.js +1070 -0
  71. package/public/sandbox/chunks/{chunk-PTSJJANP.js → chunk-EYNDQLSB.js} +1 -1
  72. package/public/sandbox/chunks/{chunk-CEGSWZ5S.js → chunk-EZTMVCJF.js} +1 -1
  73. package/public/sandbox/chunks/chunk-F5CLVIS6.js +907 -0
  74. package/public/sandbox/chunks/chunk-F743SKYD.js +85 -0
  75. package/public/sandbox/chunks/chunk-FEGFZ5OX.js +86 -0
  76. package/public/sandbox/chunks/chunk-FG5B7ZX3.js +373 -0
  77. package/public/sandbox/chunks/chunk-FKZPYMDG.js +373 -0
  78. package/public/sandbox/chunks/chunk-FNLXHWIU.js +220 -0
  79. package/public/sandbox/chunks/chunk-FQRUTYAD.js +1991 -0
  80. package/public/sandbox/chunks/{chunk-VLYP4WUS.js → chunk-FY5A73NK.js} +5 -5
  81. package/public/sandbox/chunks/chunk-G7FAOG3O.js +221 -0
  82. package/public/sandbox/chunks/chunk-GFXHUC7Y.js +73 -0
  83. package/public/sandbox/chunks/chunk-GIPXUIZQ.js +534 -0
  84. package/public/sandbox/chunks/chunk-GP37MEGJ.js +52 -0
  85. package/public/sandbox/chunks/chunk-GXL5QCMF.js +4511 -0
  86. package/public/sandbox/chunks/chunk-GZ2NSE6A.js +177 -0
  87. package/public/sandbox/chunks/chunk-GZATW4YD.js +69 -0
  88. package/public/sandbox/chunks/chunk-H4EBXROQ.js +166 -0
  89. package/public/sandbox/chunks/chunk-HETCPK6Z.js +153 -0
  90. package/public/sandbox/chunks/chunk-HGUFQ2QC.js +4431 -0
  91. package/public/sandbox/chunks/chunk-HGV3VNH3.js +255 -0
  92. package/public/sandbox/chunks/chunk-HIJ67QWR.js +5397 -0
  93. package/public/sandbox/chunks/chunk-IDHERBKW.js +1114 -0
  94. package/public/sandbox/chunks/chunk-IDTK4FIY.js +102 -0
  95. package/public/sandbox/chunks/chunk-ILFVY7H5.js +164 -0
  96. package/public/sandbox/chunks/chunk-ISGSRYGO.js +57 -0
  97. package/public/sandbox/chunks/chunk-J45VPU24.js +408 -0
  98. package/public/sandbox/chunks/chunk-JAUIM3O5.js +42 -0
  99. package/public/sandbox/chunks/chunk-JB7OQEM6.js +373 -0
  100. package/public/sandbox/chunks/chunk-JCKW6NHD.js +15 -0
  101. package/public/sandbox/chunks/chunk-JMA7GY7Z.js +221 -0
  102. package/public/sandbox/chunks/chunk-JY46J6IL.js +836 -0
  103. package/public/sandbox/chunks/{chunk-X72PZOFA.js → chunk-K2MQ66O7.js} +1 -1
  104. package/public/sandbox/chunks/chunk-KA7PZA6F.js +464 -0
  105. package/public/sandbox/chunks/chunk-KDEQTUID.js +102 -0
  106. package/public/sandbox/chunks/chunk-KDJR27JV.js +1696 -0
  107. package/public/sandbox/chunks/chunk-KFE3JO6N.js +77 -0
  108. package/public/sandbox/chunks/chunk-KLDSYWT5.js +536 -0
  109. package/public/sandbox/chunks/chunk-KQWWFYBF.js +203 -0
  110. package/public/sandbox/chunks/chunk-KTFZSXOW.js +6473 -0
  111. package/public/sandbox/chunks/chunk-KXVIC55U.js +108 -0
  112. package/public/sandbox/chunks/{chunk-HNEDTEGQ.js → chunk-L4PNO2H6.js} +1 -1
  113. package/public/sandbox/chunks/{chunk-WE4STGO2.js → chunk-L4ZNW5DI.js} +2 -2
  114. package/public/sandbox/chunks/chunk-LBUINGZ4.js +836 -0
  115. package/public/sandbox/chunks/chunk-LIYPPU6I.js +112 -0
  116. package/public/sandbox/chunks/chunk-LJHTOJXW.js +221 -0
  117. package/public/sandbox/chunks/{chunk-BWSNPKO5.js → chunk-LQL23SWJ.js} +2 -2
  118. package/public/sandbox/chunks/chunk-LTFCYZQ6.js +46 -0
  119. package/public/sandbox/chunks/chunk-LTWLVCKQ.js +166 -0
  120. package/public/sandbox/chunks/chunk-LWI7BXFN.js +395 -0
  121. package/public/sandbox/chunks/chunk-LYBBX6WM.js +225 -0
  122. package/public/sandbox/chunks/chunk-MXE7HIBM.js +474 -0
  123. package/public/sandbox/chunks/chunk-MYBDYNK4.js +6004 -0
  124. package/public/sandbox/chunks/chunk-NC2MIWZX.js +732 -0
  125. package/public/sandbox/chunks/chunk-NE447XAF.js +597 -0
  126. package/public/sandbox/chunks/chunk-NEAYV5C2.js +255 -0
  127. package/public/sandbox/chunks/chunk-NMGFJZ4I.js +26 -0
  128. package/public/sandbox/chunks/chunk-NWCJJZNQ.js +71 -0
  129. package/public/sandbox/chunks/chunk-O57OZBDR.js +214 -0
  130. package/public/sandbox/chunks/chunk-OJJT664Q.js +731 -0
  131. package/public/sandbox/chunks/chunk-OKTBUTCH.js +1175 -0
  132. package/public/sandbox/chunks/chunk-OQ4SYV5D.js +534 -0
  133. package/public/sandbox/chunks/chunk-OTVVIHJD.js +219 -0
  134. package/public/sandbox/chunks/chunk-OWTMSCF7.js +1052 -0
  135. package/public/sandbox/chunks/chunk-P5ZQNFC3.js +122 -0
  136. package/public/sandbox/chunks/chunk-PBPT2U2N.js +1698 -0
  137. package/public/sandbox/chunks/chunk-PHBJLCP3.js +836 -0
  138. package/public/sandbox/chunks/chunk-PHV4HYHB.js +397 -0
  139. package/public/sandbox/chunks/chunk-PIXQ6SOX.js +4071 -0
  140. package/public/sandbox/chunks/chunk-PKJL6YLK.js +73 -0
  141. package/public/sandbox/chunks/chunk-PKPOITIU.js +221 -0
  142. package/public/sandbox/chunks/{chunk-NQW73ACJ.js → chunk-PMXBOYQI.js} +1 -1
  143. package/public/sandbox/chunks/chunk-PQLZD7NR.js +836 -0
  144. package/public/sandbox/chunks/chunk-QEESVOZU.js +16 -0
  145. package/public/sandbox/chunks/chunk-QGIM3FQK.js +159 -0
  146. package/public/sandbox/chunks/chunk-QL5JNEDO.js +69 -0
  147. package/public/sandbox/chunks/chunk-QQOZ3RMH.js +867 -0
  148. package/public/sandbox/chunks/chunk-QUMEVT2F.js +194 -0
  149. package/public/sandbox/chunks/chunk-QVZBXYVY.js +102 -0
  150. package/public/sandbox/chunks/chunk-R5HQS6RB.js +135 -0
  151. package/public/sandbox/chunks/chunk-R75Q2CTT.js +900 -0
  152. package/public/sandbox/chunks/chunk-RBB6SHW2.js +253 -0
  153. package/public/sandbox/chunks/chunk-RDHNRWQP.js +383 -0
  154. package/public/sandbox/chunks/chunk-RIWOEI3T.js +1101 -0
  155. package/public/sandbox/chunks/chunk-RS5FFPUV.js +103 -0
  156. package/public/sandbox/chunks/chunk-RYSSJBGX.js +203 -0
  157. package/public/sandbox/chunks/chunk-S3KBAE5Z.js +1114 -0
  158. package/public/sandbox/chunks/chunk-S6ZZHV6G.js +244 -0
  159. package/public/sandbox/chunks/chunk-SFXJ24HY.js +499 -0
  160. package/public/sandbox/chunks/chunk-SH7TP5CJ.js +1109 -0
  161. package/public/sandbox/chunks/chunk-SI5OKFFY.js +317 -0
  162. package/public/sandbox/chunks/chunk-SIXNQNIR.js +86 -0
  163. package/public/sandbox/chunks/chunk-ST353BOX.js +42 -0
  164. package/public/sandbox/chunks/chunk-SYEHKMLP.js +1140 -0
  165. package/public/sandbox/chunks/chunk-SZ4KQUJU.js +69 -0
  166. package/public/sandbox/chunks/{chunk-5SOP6EKV.js → chunk-SZI65PSP.js} +5 -10
  167. package/public/sandbox/chunks/chunk-T7RLTSMX.js +78 -0
  168. package/public/sandbox/chunks/chunk-TJ2RLUTW.js +57 -0
  169. package/public/sandbox/chunks/chunk-TJB73XPN.js +4071 -0
  170. package/public/sandbox/chunks/chunk-TXJCYO56.js +4046 -0
  171. package/public/sandbox/chunks/chunk-U5J3LCYI.js +731 -0
  172. package/public/sandbox/chunks/chunk-UABFN3NH.js +208 -0
  173. package/public/sandbox/chunks/chunk-UBMUY7WO.js +13 -0
  174. package/public/sandbox/chunks/chunk-UC27CE32.js +69 -0
  175. package/public/sandbox/chunks/chunk-UJGVDFZN.js +147 -0
  176. package/public/sandbox/chunks/chunk-UNVLTK4N.js +122 -0
  177. package/public/sandbox/chunks/chunk-UQKQ6V3V.js +208 -0
  178. package/public/sandbox/chunks/chunk-UZZBHWIO.js +703 -0
  179. package/public/sandbox/chunks/chunk-VKZIJERL.js +1114 -0
  180. package/public/sandbox/chunks/chunk-VQQEAGID.js +372 -0
  181. package/public/sandbox/chunks/{chunk-3LX3KIQQ.js → chunk-W365QUZ5.js} +3 -5
  182. package/public/sandbox/chunks/chunk-WJY2LSWG.js +1052 -0
  183. package/public/sandbox/chunks/chunk-WNOBN3DX.js +391 -0
  184. package/public/sandbox/chunks/chunk-X2Z5VYG3.js +245 -0
  185. package/public/sandbox/chunks/chunk-X74KU74D.js +959 -0
  186. package/public/sandbox/chunks/chunk-XE7ULSGQ.js +46 -0
  187. package/public/sandbox/chunks/chunk-XRXUJZ3X.js +431 -0
  188. package/public/sandbox/chunks/chunk-XWHIN7CC.js +85 -0
  189. package/public/sandbox/chunks/chunk-Y2TVGGVL.js +527 -0
  190. package/public/sandbox/chunks/chunk-YMVMZA3U.js +1395 -0
  191. package/public/sandbox/chunks/chunk-YOBLFWDV.js +431 -0
  192. package/public/sandbox/chunks/chunk-YR2RFEZA.js +11 -0
  193. package/public/sandbox/chunks/chunk-YTD6A35P.js +836 -0
  194. package/public/sandbox/chunks/chunk-Z5L7EZXS.js +81 -0
  195. package/public/sandbox/chunks/chunk-Z65I5ET2.js +108 -0
  196. package/public/sandbox/chunks/chunk-Z6LV34RO.js +390 -0
  197. package/public/sandbox/chunks/chunk-ZAKUP6QG.js +1634 -0
  198. package/public/sandbox/chunks/chunk-ZHNYE2YH.js +731 -0
  199. package/public/sandbox/chunks/chunk-ZHQX3B3Y.js +867 -0
  200. package/public/sandbox/chunks/chunk-ZIXDFRHJ.js +731 -0
  201. package/public/sandbox/chunks/chunk-ZPZ2MZ4D.js +528 -0
  202. package/public/sandbox/chunks/chunk-ZQD6NZXB.js +373 -0
  203. package/public/sandbox/chunks/chunk-ZVVBP7ON.js +16 -0
  204. package/public/sandbox/chunks/chunk-ZWE3P6X2.js +11 -0
  205. package/public/sandbox/logix-core/Bound.js +14 -14
  206. package/public/sandbox/logix-core/Debug.js +12 -10
  207. package/public/sandbox/logix-core/EffectOp.js +3 -4
  208. package/public/sandbox/logix-core/Env.js +5 -2
  209. package/public/sandbox/logix-core/ExternalStore.js +239 -0
  210. package/public/sandbox/logix-core/Flow.js +7 -8
  211. package/public/sandbox/logix-core/Kernel.js +7 -4
  212. package/public/sandbox/logix-core/Link.js +33 -25
  213. package/public/sandbox/logix-core/Middleware.js +13 -11
  214. package/public/sandbox/logix-core/Module.js +93 -30
  215. package/public/sandbox/logix-core/ModuleTag.js +28 -25
  216. package/public/sandbox/logix-core/Observability.js +21 -19
  217. package/public/sandbox/logix-core/Process.js +27 -22
  218. package/public/sandbox/logix-core/ReadQuery.js +7 -11
  219. package/public/sandbox/logix-core/Reflection.js +173 -53
  220. package/public/sandbox/logix-core/Resource.js +6 -3
  221. package/public/sandbox/logix-core/Root.js +7 -3
  222. package/public/sandbox/logix-core/Runtime.js +54 -40
  223. package/public/sandbox/logix-core/ScopeRegistry.js +6 -3
  224. package/public/sandbox/logix-core/StateTrait.js +17 -14
  225. package/public/sandbox/logix-core/TraitLifecycle.js +8 -8
  226. package/public/sandbox/logix-core/Workflow.js +332 -0
  227. package/public/sandbox/logix-core.js +11133 -6622
  228. package/public/sandbox/logix-core.manifest.json +4 -2
  229. package/public/sandbox/worker.js +3 -3
  230. package/public/sandbox/chunks/chunk-4LRLOTMA.js +0 -1698
  231. package/public/sandbox/chunks/chunk-CDLXJHXY.js +0 -120
  232. package/public/sandbox/chunks/chunk-CZRI7MHA.js +0 -46
  233. package/public/sandbox/chunks/chunk-EJDFUZ4B.js +0 -408
  234. package/public/sandbox/chunks/chunk-IP63FME6.js +0 -282
  235. package/public/sandbox/chunks/chunk-JIXTOQXJ.js +0 -1103
  236. package/public/sandbox/chunks/chunk-MPUSOFJ3.js +0 -1928
  237. package/public/sandbox/chunks/chunk-ON2LY6HJ.js +0 -135
  238. package/public/sandbox/chunks/chunk-POIBXAH5.js +0 -995
  239. package/public/sandbox/chunks/chunk-PQ652ULI.js +0 -6359
  240. package/public/sandbox/chunks/chunk-RJQ4PG2F.js +0 -77
  241. package/public/sandbox/chunks/chunk-S4EXG3OS.js +0 -533
  242. package/public/sandbox/chunks/chunk-SUXDGXVE.js +0 -390
  243. package/public/sandbox/chunks/chunk-TOQ6SJ6O.js +0 -244
  244. package/public/sandbox/chunks/chunk-UKYAF3NL.js +0 -1036
  245. package/public/sandbox/chunks/chunk-UMVN3AWO.js +0 -395
  246. package/public/sandbox/chunks/chunk-WFV5PPWJ.js +0 -194
  247. package/public/sandbox/chunks/chunk-YF6IO732.js +0 -206
  248. package/public/sandbox/chunks/chunk-ZUBABAAO.js +0 -86
@@ -0,0 +1,102 @@
1
+ // @logix/core subpath bundles for @logix/sandbox
2
+
3
+ import {
4
+ isDevEnv
5
+ } from "./chunk-2UGKSXDZ.js";
6
+
7
+ // ../logix-core/src/ScopeRegistry.ts
8
+ import { Context, Layer } from "../effect.js";
9
+ var ScopeRegistryTag = class extends Context.Tag("@logix/core/ScopeRegistry")() {
10
+ };
11
+ var ScopedRuntimeTag = class extends Context.Tag("@logix/core/ScopeRegistry/ScopedRuntime")() {
12
+ };
13
+ var internal = {
14
+ ScopeRegistryTag,
15
+ ScopedRuntimeTag
16
+ };
17
+ var makeRegistry = () => {
18
+ let nextLeaseId = 0;
19
+ const scopes = /* @__PURE__ */ new Map();
20
+ const getStack = (scopeId, token) => {
21
+ const byToken = scopes.get(scopeId);
22
+ if (byToken) {
23
+ const stack = byToken.get(token);
24
+ if (stack) return stack;
25
+ const created2 = [];
26
+ byToken.set(token, created2);
27
+ return created2;
28
+ }
29
+ const created = [];
30
+ const createdByToken = /* @__PURE__ */ new Map();
31
+ createdByToken.set(token, created);
32
+ scopes.set(scopeId, createdByToken);
33
+ return created;
34
+ };
35
+ const tryDeleteEmpty = (scopeId, token) => {
36
+ const byToken = scopes.get(scopeId);
37
+ if (!byToken) return;
38
+ const stack = byToken.get(token);
39
+ if (stack && stack.length === 0) {
40
+ byToken.delete(token);
41
+ }
42
+ if (byToken.size === 0) {
43
+ scopes.delete(scopeId);
44
+ }
45
+ };
46
+ const register = (scopeId, token, value) => {
47
+ nextLeaseId += 1;
48
+ const leaseId = nextLeaseId;
49
+ const stack = getStack(scopeId, token);
50
+ if (isDevEnv() && stack.length > 0) {
51
+ console.debug(
52
+ `[ScopeRegistry] Multiple registrations detected for scopeId="${scopeId}". This is allowed (LIFO), but usually indicates scopeId collisions or missing cleanup.`
53
+ );
54
+ }
55
+ stack.push({ leaseId, value });
56
+ const release = () => {
57
+ const stack2 = scopes.get(scopeId)?.get(token);
58
+ if (!stack2 || stack2.length === 0) return;
59
+ const last = stack2[stack2.length - 1];
60
+ if (last && last.leaseId === leaseId) {
61
+ stack2.pop();
62
+ tryDeleteEmpty(scopeId, token);
63
+ return;
64
+ }
65
+ const idx = stack2.findIndex((e) => e.leaseId === leaseId);
66
+ if (idx >= 0) {
67
+ stack2.splice(idx, 1);
68
+ tryDeleteEmpty(scopeId, token);
69
+ }
70
+ };
71
+ return { release };
72
+ };
73
+ const get = (scopeId, token) => {
74
+ const stack = scopes.get(scopeId)?.get(token);
75
+ if (!stack || stack.length === 0) return void 0;
76
+ return stack[stack.length - 1].value;
77
+ };
78
+ const clearToken = (scopeId, token) => {
79
+ const byToken = scopes.get(scopeId);
80
+ if (!byToken) return;
81
+ byToken.delete(token);
82
+ if (byToken.size === 0) {
83
+ scopes.delete(scopeId);
84
+ }
85
+ };
86
+ const clearScope = (scopeId) => {
87
+ scopes.delete(scopeId);
88
+ };
89
+ const clearAll = () => {
90
+ scopes.clear();
91
+ };
92
+ return { register, get, clearToken, clearScope, clearAll };
93
+ };
94
+ var layer = () => Layer.succeed(ScopeRegistryTag, makeRegistry());
95
+
96
+ export {
97
+ ScopeRegistryTag,
98
+ ScopedRuntimeTag,
99
+ internal,
100
+ layer
101
+ };
102
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvU2NvcGVSZWdpc3RyeS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgQ29udGV4dCwgTGF5ZXIsIE1hbmFnZWRSdW50aW1lIH0gZnJvbSAnZWZmZWN0J1xuaW1wb3J0IHsgaXNEZXZFbnYgfSBmcm9tICcuL0Vudi5qcydcblxuZXhwb3J0IHR5cGUgU2NvcGVJZCA9IHN0cmluZ1xuXG50eXBlIEFueVRhZyA9IENvbnRleHQuVGFnPGFueSwgYW55PlxuXG50eXBlIExlYXNlSWQgPSBudW1iZXJcblxudHlwZSBFbnRyeSA9IHtcbiAgcmVhZG9ubHkgbGVhc2VJZDogTGVhc2VJZFxuICByZWFkb25seSB2YWx1ZTogdW5rbm93blxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjb3BlUmVnaXN0cnkge1xuICAvKipcbiAgICogXHU2Q0U4XHU1MThDXHU0RTAwXHU0RTJBIHNjb3BlLWJvdW5kIFx1NzY4NFx1NTAzQ1x1RkYwOFx1NjUyRlx1NjMwMVx1NTkxQVx1NjVCOVx1NkNFOFx1NTE4Q1x1RkYxQVx1NTQwRVx1NkNFOFx1NTE4Q1x1ODAwNVx1ODk4Nlx1NzZENiBnZXQgXHU3Njg0XHU4RkQ0XHU1NkRFXHU1MDNDXHVGRjA5XHUzMDAyXG4gICAqIFx1OEZENFx1NTZERSByZWxlYXNlIFx1NTFGRFx1NjU3MFx1RkYxQVx1OEMwM1x1NzUyOFx1NTQwRVx1NUMwNlx1NjRBNFx1OTUwMFx1NjcyQ1x1NkIyMVx1NkNFOFx1NTE4Q1x1MzAwMlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaXN0ZXI6IDxBPihzY29wZUlkOiBTY29wZUlkLCB0b2tlbjogQ29udGV4dC5UYWc8YW55LCBBPiwgdmFsdWU6IEEpID0+IHsgcmVhZG9ubHkgcmVsZWFzZTogKCkgPT4gdm9pZCB9XG5cbiAgLyoqXG4gICAqIFx1OEJGQlx1NTNENlx1NjdEMFx1NEUyQSBzY29wZSBcdTRFMEJcdTY3RDBcdTRFMkEgdG9rZW4gXHU3Njg0XHUyMDFDXHU1RjUzXHU1MjREXHU1MDNDXHUyMDFEXHVGRjA4XHU2NzAwXHU1NDBFXHU0RTAwXHU2QjIxIHJlZ2lzdGVyIFx1NzY4NFx1NTAzQ1x1RkYwOVx1MzAwMlxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0OiA8QT4oc2NvcGVJZDogU2NvcGVJZCwgdG9rZW46IENvbnRleHQuVGFnPGFueSwgQT4pID0+IEEgfCB1bmRlZmluZWRcblxuICAvKipcbiAgICogXHU1MjIwXHU5NjY0XHU2N0QwXHU0RTJBIHNjb3BlIFx1NEUwQlx1NjdEMFx1NEUyQSB0b2tlbiBcdTc2ODRcdTYyNDBcdTY3MDlcdTZDRThcdTUxOENcdUZGMDhcdTY1RTBcdThCQkFcdThDMDFcdTZDRThcdTUxOENcdTc2ODRcdUZGMDlcdTMwMDJcbiAgICovXG4gIHJlYWRvbmx5IGNsZWFyVG9rZW46IChzY29wZUlkOiBTY29wZUlkLCB0b2tlbjogQW55VGFnKSA9PiB2b2lkXG5cbiAgLyoqXG4gICAqIFx1NkUwNVx1NzQwNlx1NjdEMFx1NEUyQSBzY29wZSBcdTRFMEJcdTc2ODRcdTYyNDBcdTY3MDkgdG9rZW5cdTMwMDJcbiAgICovXG4gIHJlYWRvbmx5IGNsZWFyU2NvcGU6IChzY29wZUlkOiBTY29wZUlkKSA9PiB2b2lkXG5cbiAgLyoqXG4gICAqIFx1NkUwNVx1NzQwNlx1NjU3NFx1NEUyQSByZWdpc3RyeVx1MzAwMlxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYXJBbGw6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNsYXNzIFNjb3BlUmVnaXN0cnlUYWcgZXh0ZW5kcyBDb250ZXh0LlRhZygnQGxvZ2l4L2NvcmUvU2NvcGVSZWdpc3RyeScpPFNjb3BlUmVnaXN0cnlUYWcsIFNjb3BlUmVnaXN0cnk+KCkge31cblxuLyoqXG4gKiBcdTc1MjhcdTRFOEVcdTU3MjggU2NvcGVSZWdpc3RyeSBcdTRFMkRcdTVCNThcdTY1M0VcdTIwMUNcdTY3RDBcdTRFMkEgc2NvcGUgXHU1QkY5XHU1RTk0XHU3Njg0IE1hbmFnZWRSdW50aW1lIFx1NTNFNVx1NjdDNFx1MjAxRFx1MzAwMlxuICpcbiAqIFx1NTE3OFx1NTc4Qlx1NTczQVx1NjY2Rlx1RkYxQVx1OERFOCBSZWFjdCBcdTVCNTBcdTY4MTEgLyBcdTcyRUNcdTdBQ0Igcm9vdCBcdTk3MDBcdTg5ODFcdTU5MERcdTc1MjhcdTU0MENcdTRFMDBcdTRFMkEgcnVudGltZSBzY29wZVx1RkYwOEVudi9TY29wZS9GaWJlclJlZlx1RkYwOVx1NjVGNlx1RkYwQ1xuICogXHU1QzA2XHU4QkU1IHJ1bnRpbWUgXHU0RUU1IHNjb3BlSWQgXHU2Q0U4XHU1MThDXHU1RTc2XHU1NzI4XHU1M0U2XHU0RTAwXHU2OEY1XHU2ODExXHU0RTJEXHU1M0Q2XHU1NkRFXHUzMDAyXG4gKi9cbmV4cG9ydCBjbGFzcyBTY29wZWRSdW50aW1lVGFnIGV4dGVuZHMgQ29udGV4dC5UYWcoJ0Bsb2dpeC9jb3JlL1Njb3BlUmVnaXN0cnkvU2NvcGVkUnVudGltZScpPFxuICBTY29wZWRSdW50aW1lVGFnLFxuICBNYW5hZ2VkUnVudGltZS5NYW5hZ2VkUnVudGltZTxhbnksIGFueT5cbj4oKSB7fVxuXG5leHBvcnQgY29uc3QgaW50ZXJuYWwgPSB7XG4gIFNjb3BlUmVnaXN0cnlUYWcsXG4gIFNjb3BlZFJ1bnRpbWVUYWcsXG59XG5cbmNvbnN0IG1ha2VSZWdpc3RyeSA9ICgpOiBTY29wZVJlZ2lzdHJ5ID0+IHtcbiAgbGV0IG5leHRMZWFzZUlkOiBMZWFzZUlkID0gMFxuXG4gIC8vIHNjb3BlSWQgLT4gKHRva2VuIC0+IHN0YWNrKGVudHJpZXMpKVxuICBjb25zdCBzY29wZXMgPSBuZXcgTWFwPFNjb3BlSWQsIE1hcDxBbnlUYWcsIEFycmF5PEVudHJ5Pj4+KClcblxuICBjb25zdCBnZXRTdGFjayA9IChzY29wZUlkOiBTY29wZUlkLCB0b2tlbjogQW55VGFnKTogQXJyYXk8RW50cnk+ID0+IHtcbiAgICBjb25zdCBieVRva2VuID0gc2NvcGVzLmdldChzY29wZUlkKVxuICAgIGlmIChieVRva2VuKSB7XG4gICAgICBjb25zdCBzdGFjayA9IGJ5VG9rZW4uZ2V0KHRva2VuKVxuICAgICAgaWYgKHN0YWNrKSByZXR1cm4gc3RhY2tcbiAgICAgIGNvbnN0IGNyZWF0ZWQ6IEFycmF5PEVudHJ5PiA9IFtdXG4gICAgICBieVRva2VuLnNldCh0b2tlbiwgY3JlYXRlZClcbiAgICAgIHJldHVybiBjcmVhdGVkXG4gICAgfVxuICAgIGNvbnN0IGNyZWF0ZWQ6IEFycmF5PEVudHJ5PiA9IFtdXG4gICAgY29uc3QgY3JlYXRlZEJ5VG9rZW4gPSBuZXcgTWFwPEFueVRhZywgQXJyYXk8RW50cnk+PigpXG4gICAgY3JlYXRlZEJ5VG9rZW4uc2V0KHRva2VuLCBjcmVhdGVkKVxuICAgIHNjb3Blcy5zZXQoc2NvcGVJZCwgY3JlYXRlZEJ5VG9rZW4pXG4gICAgcmV0dXJuIGNyZWF0ZWRcbiAgfVxuXG4gIGNvbnN0IHRyeURlbGV0ZUVtcHR5ID0gKHNjb3BlSWQ6IFNjb3BlSWQsIHRva2VuOiBBbnlUYWcpOiB2b2lkID0+IHtcbiAgICBjb25zdCBieVRva2VuID0gc2NvcGVzLmdldChzY29wZUlkKVxuICAgIGlmICghYnlUb2tlbikgcmV0dXJuXG4gICAgY29uc3Qgc3RhY2sgPSBieVRva2VuLmdldCh0b2tlbilcbiAgICBpZiAoc3RhY2sgJiYgc3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgICBieVRva2VuLmRlbGV0ZSh0b2tlbilcbiAgICB9XG4gICAgaWYgKGJ5VG9rZW4uc2l6ZSA9PT0gMCkge1xuICAgICAgc2NvcGVzLmRlbGV0ZShzY29wZUlkKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHJlZ2lzdGVyOiBTY29wZVJlZ2lzdHJ5WydyZWdpc3RlciddID0gKHNjb3BlSWQsIHRva2VuLCB2YWx1ZSkgPT4ge1xuICAgIG5leHRMZWFzZUlkICs9IDFcbiAgICBjb25zdCBsZWFzZUlkID0gbmV4dExlYXNlSWRcbiAgICBjb25zdCBzdGFjayA9IGdldFN0YWNrKHNjb3BlSWQsIHRva2VuIGFzIEFueVRhZylcblxuICAgIC8vIGRldjogXHU1NDBDXHU0RTAwIHNjb3BlSWQrdG9rZW4gXHU1OTFBXHU2NUI5XHU2Q0U4XHU1MThDXHU1RjgwXHU1RjgwXHU2MTBGXHU1NDczXHU3NzQwIHNjb3BlSWQgXHU5MDA5XHU2MkU5XHU1MUIyXHU3QTgxXHU2MjE2XHU3NTFGXHU1NDdEXHU1NDY4XHU2NzFGXHU2Q0M0XHU2RjBGXHVGRjFCXG4gICAgLy8gXHU0RjQ2IFJlYWN0L1x1NUU3Nlx1NTNEMVx1NkUzMlx1NjdEMy9cdTkxQ0RcdTVFRkEgUHJvdmlkZXIgXHU1M0VGXHU4MEZEXHU1QkZDXHU4MUY0XHU3N0VEXHU2NjgyXHU5MUNEXHU1MTY1XHVGRjBDXHU1NkUwXHU2QjY0XHU4RkQ5XHU5MUNDXHU1M0VBXHU1MDVBXHU4RjdCXHU5MUNGXHU2M0QwXHU3OTNBXHVGRjBDXHU0RTBEXHU1RjNBXHU1MjM2XHU2MjlCXHU5NTE5XHUzMDAyXG4gICAgaWYgKGlzRGV2RW52KCkgJiYgc3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUuZGVidWcoXG4gICAgICAgIGBbU2NvcGVSZWdpc3RyeV0gTXVsdGlwbGUgcmVnaXN0cmF0aW9ucyBkZXRlY3RlZCBmb3Igc2NvcGVJZD1cIiR7c2NvcGVJZH1cIi4gYCArXG4gICAgICAgICAgYFRoaXMgaXMgYWxsb3dlZCAoTElGTyksIGJ1dCB1c3VhbGx5IGluZGljYXRlcyBzY29wZUlkIGNvbGxpc2lvbnMgb3IgbWlzc2luZyBjbGVhbnVwLmAsXG4gICAgICApXG4gICAgfVxuXG4gICAgc3RhY2sucHVzaCh7IGxlYXNlSWQsIHZhbHVlIH0pXG5cbiAgICBjb25zdCByZWxlYXNlID0gKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhY2syID0gc2NvcGVzLmdldChzY29wZUlkKT8uZ2V0KHRva2VuIGFzIEFueVRhZylcbiAgICAgIGlmICghc3RhY2syIHx8IHN0YWNrMi5sZW5ndGggPT09IDApIHJldHVyblxuXG4gICAgICAvLyBcdTVFMzhcdTg5QzFcdTYwQzVcdTUxQjVcdUZGMUFMSUZPIFx1OTFDQVx1NjUzRVxuICAgICAgY29uc3QgbGFzdCA9IHN0YWNrMltzdGFjazIubGVuZ3RoIC0gMV1cbiAgICAgIGlmIChsYXN0ICYmIGxhc3QubGVhc2VJZCA9PT0gbGVhc2VJZCkge1xuICAgICAgICBzdGFjazIucG9wKClcbiAgICAgICAgdHJ5RGVsZXRlRW1wdHkoc2NvcGVJZCwgdG9rZW4gYXMgQW55VGFnKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gXHU1MTVDXHU1RTk1XHVGRjFBXHU0RTJEXHU5NUY0XHU5MUNBXHU2NTNFXHVGRjA4XHU3RUJGXHU2MDI3XHU2MjZCXHU2M0NGXHVGRjA5XG4gICAgICBjb25zdCBpZHggPSBzdGFjazIuZmluZEluZGV4KChlKSA9PiBlLmxlYXNlSWQgPT09IGxlYXNlSWQpXG4gICAgICBpZiAoaWR4ID49IDApIHtcbiAgICAgICAgc3RhY2syLnNwbGljZShpZHgsIDEpXG4gICAgICAgIHRyeURlbGV0ZUVtcHR5KHNjb3BlSWQsIHRva2VuIGFzIEFueVRhZylcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyByZWxlYXNlIH1cbiAgfVxuXG4gIGNvbnN0IGdldDogU2NvcGVSZWdpc3RyeVsnZ2V0J10gPSAoc2NvcGVJZCwgdG9rZW4pID0+IHtcbiAgICBjb25zdCBzdGFjayA9IHNjb3Blcy5nZXQoc2NvcGVJZCk/LmdldCh0b2tlbiBhcyBBbnlUYWcpXG4gICAgaWYgKCFzdGFjayB8fCBzdGFjay5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWRcbiAgICByZXR1cm4gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV0hLnZhbHVlIGFzIGFueVxuICB9XG5cbiAgY29uc3QgY2xlYXJUb2tlbjogU2NvcGVSZWdpc3RyeVsnY2xlYXJUb2tlbiddID0gKHNjb3BlSWQsIHRva2VuKSA9PiB7XG4gICAgY29uc3QgYnlUb2tlbiA9IHNjb3Blcy5nZXQoc2NvcGVJZClcbiAgICBpZiAoIWJ5VG9rZW4pIHJldHVyblxuICAgIGJ5VG9rZW4uZGVsZXRlKHRva2VuKVxuICAgIGlmIChieVRva2VuLnNpemUgPT09IDApIHtcbiAgICAgIHNjb3Blcy5kZWxldGUoc2NvcGVJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBjbGVhclNjb3BlOiBTY29wZVJlZ2lzdHJ5WydjbGVhclNjb3BlJ10gPSAoc2NvcGVJZCkgPT4ge1xuICAgIHNjb3Blcy5kZWxldGUoc2NvcGVJZClcbiAgfVxuXG4gIGNvbnN0IGNsZWFyQWxsOiBTY29wZVJlZ2lzdHJ5WydjbGVhckFsbCddID0gKCkgPT4ge1xuICAgIHNjb3Blcy5jbGVhcigpXG4gIH1cblxuICByZXR1cm4geyByZWdpc3RlciwgZ2V0LCBjbGVhclRva2VuLCBjbGVhclNjb3BlLCBjbGVhckFsbCB9XG59XG5cbmV4cG9ydCBjb25zdCBsYXllciA9ICgpOiBMYXllci5MYXllcjxTY29wZVJlZ2lzdHJ5VGFnLCBuZXZlciwgbmV2ZXI+ID0+IExheWVyLnN1Y2NlZWQoU2NvcGVSZWdpc3RyeVRhZywgbWFrZVJlZ2lzdHJ5KCkpXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBQUEsU0FBUyxTQUFTLGFBQTZCO0FBMEN4QyxJQUFNLG1CQUFOLGNBQStCLFFBQVEsSUFBSSwyQkFBMkIsRUFBbUMsRUFBRTtBQUFDO0FBUTVHLElBQU0sbUJBQU4sY0FBK0IsUUFBUSxJQUFJLHlDQUF5QyxFQUd6RixFQUFFO0FBQUM7QUFFRSxJQUFNLFdBQVc7QUFBQSxFQUN0QjtBQUFBLEVBQ0E7QUFDRjtBQUVBLElBQU0sZUFBZSxNQUFxQjtBQUN4QyxNQUFJLGNBQXVCO0FBRzNCLFFBQU0sU0FBUyxvQkFBSSxJQUF3QztBQUUzRCxRQUFNLFdBQVcsQ0FBQyxTQUFrQixVQUFnQztBQUNsRSxVQUFNLFVBQVUsT0FBTyxJQUFJLE9BQU87QUFDbEMsUUFBSSxTQUFTO0FBQ1gsWUFBTSxRQUFRLFFBQVEsSUFBSSxLQUFLO0FBQy9CLFVBQUksTUFBTyxRQUFPO0FBQ2xCLFlB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
@@ -0,0 +1,164 @@
1
+ // @logix/core subpath bundles for @logix/sandbox
2
+
3
+ import {
4
+ record
5
+ } from "./chunk-4KIYG5E4.js";
6
+ import {
7
+ EffectOpMiddlewareTag,
8
+ RunSessionTag,
9
+ make,
10
+ run
11
+ } from "./chunk-O57OZBDR.js";
12
+
13
+ // ../logix-core/src/internal/runtime/core/FlowRuntime.ts
14
+ import { Effect, Stream, Ref, Option } from "../effect.js";
15
+ var getMiddlewareStack = () => Effect.serviceOption(EffectOpMiddlewareTag).pipe(
16
+ Effect.map((maybe) => Option.isSome(maybe) ? maybe.value.stack : [])
17
+ );
18
+ var getRuntimeScope = (runtime) => {
19
+ if (!runtime) return {};
20
+ if (typeof runtime !== "object" && typeof runtime !== "function") return {};
21
+ const scope = runtime;
22
+ return {
23
+ moduleId: typeof scope.moduleId === "string" ? scope.moduleId : void 0,
24
+ instanceId: typeof scope.instanceId === "string" ? scope.instanceId : void 0
25
+ };
26
+ };
27
+ var resolveEffect = (eff, payload) => typeof eff === "function" ? eff(payload) : eff;
28
+ var make2 = (runtime, runtimeInternals) => {
29
+ const scope = getRuntimeScope(runtime);
30
+ const resolveConcurrencyLimit = () => runtimeInternals ? runtimeInternals.concurrency.resolveConcurrencyPolicy().pipe(
31
+ Effect.map((p) => p.concurrencyLimit)
32
+ ) : Effect.succeed(16);
33
+ const runAsFlowOp = (name, payload, eff, options) => Effect.gen(function* () {
34
+ const stack = yield* getMiddlewareStack();
35
+ const meta = {
36
+ ...options?.meta ?? {},
37
+ policy: options?.policy,
38
+ tags: options?.tags,
39
+ trace: options?.trace,
40
+ moduleId: scope.moduleId,
41
+ instanceId: scope.instanceId
42
+ };
43
+ if (!(typeof meta.opSeq === "number" && Number.isFinite(meta.opSeq))) {
44
+ const sessionOpt = yield* Effect.serviceOption(RunSessionTag);
45
+ if (Option.isSome(sessionOpt)) {
46
+ const key = meta.instanceId ?? "global";
47
+ meta.opSeq = sessionOpt.value.local.nextSeq("opSeq", key);
48
+ }
49
+ }
50
+ const op = make({
51
+ kind: "flow",
52
+ name,
53
+ payload,
54
+ effect: eff,
55
+ meta
56
+ });
57
+ return yield* run(op, stack);
58
+ });
59
+ const runEffect = (eff) => (payload) => resolveEffect(eff, payload);
60
+ const runStreamSequential = (eff, options) => (stream) => Stream.runForEach(
61
+ stream,
62
+ (payload) => runAsFlowOp(
63
+ "flow.run",
64
+ payload,
65
+ runEffect(eff)(payload),
66
+ options
67
+ )
68
+ );
69
+ const runStreamParallel = (eff, options) => (stream) => Effect.gen(function* () {
70
+ const concurrency = yield* resolveConcurrencyLimit();
71
+ return yield* Stream.runDrain(
72
+ stream.pipe(
73
+ Stream.mapEffect(
74
+ (payload) => runAsFlowOp(
75
+ "flow.runParallel",
76
+ payload,
77
+ runEffect(eff)(payload),
78
+ options
79
+ ),
80
+ { concurrency }
81
+ )
82
+ )
83
+ ).pipe(
84
+ Effect.catchAllCause(
85
+ (cause) => record({
86
+ type: "diagnostic",
87
+ moduleId: scope.moduleId,
88
+ instanceId: scope.instanceId,
89
+ code: "flow::unhandled_failure",
90
+ severity: "error",
91
+ message: "Flow watcher (runParallel) failed with an unhandled error.",
92
+ hint: "Handle errors explicitly inside the watcher (catch/catchAll) or write back via TaskRunner failure; avoid silent failures.",
93
+ kind: "flow_unhandled_failure",
94
+ trigger: {
95
+ kind: "flow",
96
+ name: "runParallel"
97
+ }
98
+ }).pipe(Effect.zipRight(Effect.failCause(cause)))
99
+ )
100
+ );
101
+ });
102
+ return {
103
+ fromAction: (predicate) => runtime.actions$.pipe(Stream.filter(predicate)),
104
+ fromState: (selector) => runtime.changes(selector),
105
+ debounce: (ms) => (stream) => Stream.debounce(stream, ms),
106
+ throttle: (ms) => (stream) => Stream.throttle(stream, {
107
+ cost: () => 1,
108
+ units: 1,
109
+ duration: ms,
110
+ strategy: "enforce"
111
+ }),
112
+ filter: (predicate) => (stream) => Stream.filter(stream, predicate),
113
+ run: (eff, options) => (stream) => runStreamSequential(eff, options)(stream),
114
+ runParallel: (eff, options) => (stream) => runStreamParallel(eff, options)(stream),
115
+ runLatest: (eff, options) => (stream) => Stream.runDrain(
116
+ Stream.map(
117
+ stream,
118
+ (payload) => runAsFlowOp(
119
+ "flow.runLatest",
120
+ payload,
121
+ runEffect(eff)(payload),
122
+ options
123
+ )
124
+ ).pipe(
125
+ Stream.flatMap((effect) => Stream.fromEffect(effect), {
126
+ switch: true
127
+ })
128
+ )
129
+ ),
130
+ runExhaust: (eff, options) => (stream) => Effect.gen(function* () {
131
+ const concurrency = yield* resolveConcurrencyLimit();
132
+ const busyRef = yield* Ref.make(false);
133
+ const mapper = (payload) => Effect.gen(function* () {
134
+ const acquired = yield* Ref.modify(
135
+ busyRef,
136
+ (busy) => busy ? [false, busy] : [true, true]
137
+ );
138
+ if (!acquired) {
139
+ return;
140
+ }
141
+ try {
142
+ yield* runAsFlowOp(
143
+ "flow.runExhaust",
144
+ payload,
145
+ runEffect(eff)(payload),
146
+ options
147
+ );
148
+ } finally {
149
+ yield* Ref.set(busyRef, false);
150
+ }
151
+ });
152
+ return yield* Stream.runDrain(
153
+ stream.pipe(
154
+ Stream.mapEffect(mapper, { concurrency })
155
+ )
156
+ );
157
+ })
158
+ };
159
+ };
160
+
161
+ export {
162
+ make2 as make
163
+ };
164
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvcnVudGltZS9jb3JlL0Zsb3dSdW50aW1lLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBFZmZlY3QsIFN0cmVhbSwgUmVmLCBPcHRpb24gfSBmcm9tIFwiZWZmZWN0XCJcbmltcG9ydCB0eXBlIHtcbiAgQW55TW9kdWxlU2hhcGUsXG4gIE1vZHVsZVJ1bnRpbWUsXG4gIFN0YXRlT2YsXG4gIEFjdGlvbk9mLFxuICBNb2R1bGVTaGFwZSxcbn0gZnJvbSBcIi4vbW9kdWxlLmpzXCJcbmltcG9ydCB0eXBlICogYXMgTG9naWMgZnJvbSBcIi4vTG9naWNNaWRkbGV3YXJlLmpzXCJcbmltcG9ydCAqIGFzIEVmZmVjdE9wIGZyb20gXCIuLi8uLi9lZmZlY3Qtb3AuanNcIlxuaW1wb3J0ICogYXMgRWZmZWN0T3BDb3JlIGZyb20gXCIuL0VmZmVjdE9wQ29yZS5qc1wiXG5pbXBvcnQgeyBSdW5TZXNzaW9uVGFnIH0gZnJvbSBcIi4uLy4uL29ic2VydmFiaWxpdHkvcnVuU2Vzc2lvbi5qc1wiXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWVJbnRlcm5hbHMgfSBmcm9tIFwiLi9SdW50aW1lSW50ZXJuYWxzLmpzXCJcbmltcG9ydCAqIGFzIERlYnVnIGZyb20gXCIuL0RlYnVnU2luay5qc1wiXG5cbmNvbnN0IGdldE1pZGRsZXdhcmVTdGFjayA9ICgpOiBFZmZlY3QuRWZmZWN0PFxuICBFZmZlY3RPcC5NaWRkbGV3YXJlU3RhY2ssXG4gIG5ldmVyLFxuICBhbnlcbj4gPT5cbiAgRWZmZWN0LnNlcnZpY2VPcHRpb24oRWZmZWN0T3BDb3JlLkVmZmVjdE9wTWlkZGxld2FyZVRhZykucGlwZShcbiAgICBFZmZlY3QubWFwKChtYXliZSkgPT4gKE9wdGlvbi5pc1NvbWUobWF5YmUpID8gbWF5YmUudmFsdWUuc3RhY2sgOiBbXSkpLFxuICApXG5cbmNvbnN0IGdldFJ1bnRpbWVTY29wZSA9IChcbiAgcnVudGltZTogdW5rbm93bixcbik6IHsgcmVhZG9ubHkgbW9kdWxlSWQ/OiBzdHJpbmc7IHJlYWRvbmx5IGluc3RhbmNlSWQ/OiBzdHJpbmcgfSA9PiB7XG4gIGlmICghcnVudGltZSkgcmV0dXJuIHt9XG4gIGlmICh0eXBlb2YgcnVudGltZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgcnVudGltZSAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4ge31cbiAgY29uc3Qgc2NvcGUgPSBydW50aW1lIGFzIHsgcmVhZG9ubHkgbW9kdWxlSWQ/OiB1bmtub3duOyByZWFkb25seSBpbnN0YW5jZUlkPzogdW5rbm93biB9XG4gIHJldHVybiB7XG4gICAgbW9kdWxlSWQ6IHR5cGVvZiBzY29wZS5tb2R1bGVJZCA9PT0gXCJzdHJpbmdcIiA/IHNjb3BlLm1vZHVsZUlkIDogdW5kZWZpbmVkLFxuICAgIGluc3RhbmNlSWQ6IHR5cGVvZiBzY29wZS5pbnN0YW5jZUlkID09PSBcInN0cmluZ1wiID8gc2NvcGUuaW5zdGFuY2VJZCA6IHVuZGVmaW5lZCxcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaTxTaCBleHRlbmRzIE1vZHVsZVNoYXBlPGFueSwgYW55PiwgUiA9IG5ldmVyPiB7XG4gIHJlYWRvbmx5IGZyb21BY3Rpb246IDxUIGV4dGVuZHMgQWN0aW9uT2Y8U2g+PihcbiAgICBwcmVkaWNhdGU6IChhOiBBY3Rpb25PZjxTaD4pID0+IGEgaXMgVFxuICApID0+IFN0cmVhbS5TdHJlYW08VD5cblxuICByZWFkb25seSBmcm9tU3RhdGU6IDxWPihcbiAgICBzZWxlY3RvcjogKHM6IFN0YXRlT2Y8U2g+KSA9PiBWXG4gICkgPT4gU3RyZWFtLlN0cmVhbTxWPlxuXG4gIHJlYWRvbmx5IGRlYm91bmNlOiA8Vj4oXG4gICAgbXM6IG51bWJlclxuICApID0+IChzdHJlYW06IFN0cmVhbS5TdHJlYW08Vj4pID0+IFN0cmVhbS5TdHJlYW08Vj5cblxuICByZWFkb25seSB0aHJvdHRsZTogPFY+KFxuICAgIG1zOiBudW1iZXJcbiAgKSA9PiAoc3RyZWFtOiBTdHJlYW0uU3RyZWFtPFY+KSA9PiBTdHJlYW0uU3RyZWFtPFY+XG5cbiAgcmVhZG9ubHkgZmlsdGVyOiA8Vj4oXG4gICAgcHJlZGljYXRlOiAodmFsdWU6IFYpID0+IGJvb2xlYW5cbiAgKSA9PiAoc3RyZWFtOiBTdHJlYW0uU3RyZWFtPFY+KSA9PiBTdHJlYW0uU3RyZWFtPFY+XG5cbiAgcmVhZG9ubHkgcnVuOiA8ViwgQSA9IHZvaWQsIEUgPSBuZXZlciwgUjIgPSB1bmtub3duPihcbiAgICBlZmY6XG4gICAgICB8IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+XG4gICAgICB8ICgocGF5bG9hZDogVikgPT4gTG9naWMuT2Y8U2gsIFIgJiBSMiwgQSwgRT4pLFxuICAgIG9wdGlvbnM/OiBMb2dpYy5PcGVyYXRpb25PcHRpb25zLFxuICApID0+IChzdHJlYW06IFN0cmVhbS5TdHJlYW08Vj4pID0+IEVmZmVjdC5FZmZlY3Q8dm9pZCwgRSwgTG9naWMuRW52PFNoLCBSICYgUjI+PlxuXG4gIHJlYWRvbmx5IHJ1blBhcmFsbGVsOiA8ViwgQSA9IHZvaWQsIEUgPSBuZXZlciwgUjIgPSB1bmtub3duPihcbiAgICBlZmY6XG4gICAgICB8IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+XG4gICAgICB8ICgocGF5bG9hZDogVikgPT4gTG9naWMuT2Y8U2gsIFIgJiBSMiwgQSwgRT4pLFxuICAgIG9wdGlvbnM/OiBMb2dpYy5PcGVyYXRpb25PcHRpb25zLFxuICApID0+IChzdHJlYW06IFN0cmVhbS5TdHJlYW08Vj4pID0+IEVmZmVjdC5FZmZlY3Q8dm9pZCwgRSwgTG9naWMuRW52PFNoLCBSICYgUjI+PlxuXG4gIHJlYWRvbmx5IHJ1bkxhdGVzdDogPFYsIEEgPSB2b2lkLCBFID0gbmV2ZXIsIFIyID0gdW5rbm93bj4oXG4gICAgZWZmOlxuICAgICAgfCBMb2dpYy5PZjxTaCwgUiAmIFIyLCBBLCBFPlxuICAgICAgfCAoKHBheWxvYWQ6IFYpID0+IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+KSxcbiAgICBvcHRpb25zPzogTG9naWMuT3BlcmF0aW9uT3B0aW9ucyxcbiAgKSA9PiAoc3RyZWFtOiBTdHJlYW0uU3RyZWFtPFY+KSA9PiBFZmZlY3QuRWZmZWN0PHZvaWQsIEUsIExvZ2ljLkVudjxTaCwgUiAmIFIyPj5cblxuICByZWFkb25seSBydW5FeGhhdXN0OiA8ViwgQSA9IHZvaWQsIEUgPSBuZXZlciwgUjIgPSB1bmtub3duPihcbiAgICBlZmY6XG4gICAgICB8IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+XG4gICAgICB8ICgocGF5bG9hZDogVikgPT4gTG9naWMuT2Y8U2gsIFIgJiBSMiwgQSwgRT4pLFxuICAgIG9wdGlvbnM/OiBMb2dpYy5PcGVyYXRpb25PcHRpb25zLFxuICApID0+IChzdHJlYW06IFN0cmVhbS5TdHJlYW08Vj4pID0+IEVmZmVjdC5FZmZlY3Q8dm9pZCwgRSwgTG9naWMuRW52PFNoLCBSICYgUjI+PlxufVxuXG5jb25zdCByZXNvbHZlRWZmZWN0ID0gPFQsIFNoIGV4dGVuZHMgQW55TW9kdWxlU2hhcGUsIFIsIEEsIEU+KFxuICBlZmY6XG4gICAgfCBMb2dpYy5PZjxTaCwgUiwgQSwgRT5cbiAgICB8ICgocGF5bG9hZDogVCkgPT4gTG9naWMuT2Y8U2gsIFIsIEEsIEU+KSxcbiAgcGF5bG9hZDogVFxuKTogTG9naWMuT2Y8U2gsIFIsIEEsIEU+ID0+XG4gIHR5cGVvZiBlZmYgPT09IFwiZnVuY3Rpb25cIlxuICAgID8gKGVmZiBhcyAocDogVCkgPT4gTG9naWMuT2Y8U2gsIFIsIEEsIEU+KShwYXlsb2FkKVxuICAgIDogZWZmXG5cbmV4cG9ydCBjb25zdCBtYWtlID0gPFNoIGV4dGVuZHMgQW55TW9kdWxlU2hhcGUsIFIgPSBuZXZlcj4oXG4gIHJ1bnRpbWU6IE1vZHVsZVJ1bnRpbWU8U3RhdGVPZjxTaD4sIEFjdGlvbk9mPFNoPj4sXG4gIHJ1bnRpbWVJbnRlcm5hbHM/OiBSdW50aW1lSW50ZXJuYWxzLFxuKTogQXBpPFNoLCBSPiA9PiB7XG4gIGNvbnN0IHNjb3BlID0gZ2V0UnVudGltZVNjb3BlKHJ1bnRpbWUpXG4gIGNvbnN0IHJlc29sdmVDb25jdXJyZW5jeUxpbWl0ID0gKCk6IEVmZmVjdC5FZmZlY3Q8XG4gICAgbnVtYmVyIHwgXCJ1bmJvdW5kZWRcIixcbiAgICBuZXZlcixcbiAgICBhbnlcbiAgPiA9PlxuICAgIHJ1bnRpbWVJbnRlcm5hbHNcbiAgICAgID8gcnVudGltZUludGVybmFscy5jb25jdXJyZW5jeS5yZXNvbHZlQ29uY3VycmVuY3lQb2xpY3koKS5waXBlKFxuICAgICAgICAgIEVmZmVjdC5tYXAoKHApID0+IHAuY29uY3VycmVuY3lMaW1pdCksXG4gICAgICAgIClcbiAgICAgIDogRWZmZWN0LnN1Y2NlZWQoMTYpXG5cbiAgY29uc3QgcnVuQXNGbG93T3AgPSA8QSwgRSwgUjIsIFY+KFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBwYXlsb2FkOiBWLFxuICAgIGVmZjogRWZmZWN0LkVmZmVjdDxBLCBFLCBMb2dpYy5FbnY8U2gsIFIgJiBSMj4+LFxuICAgIG9wdGlvbnM/OiBMb2dpYy5PcGVyYXRpb25PcHRpb25zLFxuICApOiBFZmZlY3QuRWZmZWN0PEEsIEUsIExvZ2ljLkVudjxTaCwgUiAmIFIyPj4gPT5cbiAgICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7XG4gICAgICBjb25zdCBzdGFjayA9IHlpZWxkKiBnZXRNaWRkbGV3YXJlU3RhY2soKVxuICAgICAgY29uc3QgbWV0YTogYW55ID0ge1xuICAgICAgICAuLi4ob3B0aW9ucz8ubWV0YSA/PyB7fSksXG4gICAgICAgIHBvbGljeTogb3B0aW9ucz8ucG9saWN5LFxuICAgICAgICB0YWdzOiBvcHRpb25zPy50YWdzLFxuICAgICAgICB0cmFjZTogb3B0aW9ucz8udHJhY2UsXG4gICAgICAgIG1vZHVsZUlkOiBzY29wZS5tb2R1bGVJZCxcbiAgICAgICAgaW5zdGFuY2VJZDogc2NvcGUuaW5zdGFuY2VJZCxcbiAgICAgIH1cblxuICAgICAgaWYgKCEodHlwZW9mIG1ldGEub3BTZXEgPT09IFwibnVtYmVyXCIgJiYgTnVtYmVyLmlzRmluaXRlKG1ldGEub3BTZXEpKSkge1xuICAgICAgICBjb25zdCBzZXNzaW9uT3B0ID0geWllbGQqIEVmZmVjdC5zZXJ2aWNlT3B0aW9uKFJ1blNlc3Npb25UYWcpXG4gICAgICAgIGlmIChPcHRpb24uaXNTb21lKHNlc3Npb25PcHQpKSB7XG4gICAgICAgICAgY29uc3Qga2V5ID0gbWV0YS5pbnN0YW5jZUlkID8/IFwiZ2xvYmFsXCJcbiAgICAgICAgICBtZXRhLm9wU2VxID0gc2Vzc2lvbk9wdC52YWx1ZS5sb2NhbC5uZXh0U2VxKFwib3BTZXFcIiwga2V5KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9wID0gRWZmZWN0T3AubWFrZTxBLCBFLCBhbnk+KHtcbiAgICAgICAga2luZDogXCJmbG93XCIsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIHBheWxvYWQsXG4gICAgICAgIGVmZmVjdDogZWZmIGFzIGFueSxcbiAgICAgICAgbWV0YSxcbiAgICAgIH0pXG4gICAgICByZXR1cm4geWllbGQqIEVmZmVjdE9wLnJ1bihvcCwgc3RhY2spXG4gICAgfSkgYXMgYW55XG5cbiAgY29uc3QgcnVuRWZmZWN0ID1cbiAgICA8VCwgQSwgRSwgUjI+KFxuICAgICAgZWZmOlxuICAgICAgICB8IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+XG4gICAgICAgIHwgKChwYXlsb2FkOiBUKSA9PiBMb2dpYy5PZjxTaCwgUiAmIFIyLCBBLCBFPilcbiAgICApID0+XG4gICAgICAocGF5bG9hZDogVCkgPT5cbiAgICAgICAgcmVzb2x2ZUVmZmVjdDxULCBTaCwgUiAmIFIyLCBBLCBFPihlZmYsIHBheWxvYWQpXG5cbiAgY29uc3QgcnVuU3RyZWFtU2VxdWVudGlhbCA9IDxULCBBLCBFLCBSMj4oXG4gICAgZWZmOlxuICAgICAgfCBMb2dpYy5PZjxTaCwgUiAmIFIyLCBBLCBFPlxuICAgICAgfCAoKHBheWxvYWQ6IFQpID0+IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+KSxcbiAgICBvcHRpb25zPzogTG9naWMuT3BlcmF0aW9uT3B0aW9ucyxcbiAgKSA9PiAoc3RyZWFtOiBTdHJlYW0uU3RyZWFtPFQ+KTogRWZmZWN0LkVmZmVjdDx2b2lkLCBFLCBMb2dpYy5FbnY8U2gsIFIgJiBSMj4+ID0+XG4gICAgU3RyZWFtLnJ1bkZvckVhY2goc3RyZWFtLCAocGF5bG9hZCkgPT5cbiAgICAgIHJ1bkFzRmxvd09wPEEsIEUsIFIyLCBUPihcbiAgICAgICAgXCJmbG93LnJ1blwiLFxuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBydW5FZmZlY3Q8VCwgQSwgRSwgUjI+KGVmZikocGF5bG9hZCksXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApLFxuICAgIClcblxuICBjb25zdCBydW5TdHJlYW1QYXJhbGxlbCA9IDxULCBBLCBFLCBSMj4oXG4gICAgZWZmOlxuICAgICAgfCBMb2dpYy5PZjxTaCwgUiAmIFIyLCBBLCBFPlxuICAgICAgfCAoKHBheWxvYWQ6IFQpID0+IExvZ2ljLk9mPFNoLCBSICYgUjIsIEEsIEU+KSxcbiAgICBvcHRpb25zPzogTG9naWMuT3BlcmF0aW9uT3B0aW9ucyxcbiAgKSA9PiAoc3RyZWFtOiBTdHJlYW0uU3RyZWFtPFQ+KTogRWZmZWN0LkVmZmVjdDx2b2lkLCBFLCBMb2dpYy5FbnY8U2gsIFIgJiBSMj4+ID0+XG4gICAgRWZmZWN0LmdlbihmdW5jdGlvbiogKCkge1xuICAgICAgY29uc3QgY29uY3VycmVuY3kgPSB5aWVsZCogcmVzb2x2ZUNvbmN1cnJlbmN5TGltaXQoKVxuXG4gICAgICByZXR1cm4geWllbGQqIFN0cmVhbS5ydW5EcmFpbihcbiAgICAgICAgc3RyZWFtLnBpcGUoXG4gICAgICAgICAgU3RyZWFtLm1hcEVmZmVjdChcbiAgICAgICAgICAgIChwYXlsb2FkKSA9PlxuICAgICAgICAgICAgICBydW5Bc0Zsb3dPcDxBLCBFLCBSMiwgVD4oXG4gICAgICAgICAgICAgICAgXCJmbG93LnJ1blBhcmFsbGVsXCIsXG4gICAgICAgICAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgICAgICAgICBydW5FZmZlY3Q8VCwgQSwgRSwgUjI+KGVmZikocGF5bG9hZCksXG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgY29uY3VycmVuY3kgfSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgKS5waXBlKFxuICAgICAgICBFZmZlY3QuY2F0Y2hBbGxDYXVzZSgoY2F1c2UpID0+XG4gICAgICAgICAgRGVidWcucmVjb3JkKHtcbiAgICAgICAgICAgIHR5cGU6IFwiZGlhZ25vc3RpY1wiLFxuICAgICAgICAgICAgbW9kdWxlSWQ6IHNjb3BlLm1vZHVsZUlkLFxuICAgICAgICAgICAgaW5zdGFuY2VJZDogc2NvcGUuaW5zdGFuY2VJZCxcbiAgICAgICAgICAgIGNvZGU6IFwiZmxvdzo6dW5oYW5kbGVkX2ZhaWx1cmVcIixcbiAgICAgICAgICAgIHNldmVyaXR5OiBcImVycm9yXCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBcIkZsb3cgd2F0Y2hlciAocnVuUGFyYWxsZWwpIGZhaWxlZCB3aXRoIGFuIHVuaGFuZGxlZCBlcnJvci5cIixcbiAgICAgICAgICAgIGhpbnQ6XG4gICAgICAgICAgICAgIFwiSGFuZGxlIGVycm9ycyBleHBsaWNpdGx5IGluc2lkZSB0aGUgd2F0Y2hlciAoY2F0Y2gvY2F0Y2hBbGwpIG9yIHdyaXRlIGJhY2sgdmlhIFRhc2tSdW5uZXIgZmFpbHVyZTsgYXZvaWQgc2lsZW50IGZhaWx1cmVzLlwiLFxuICAgICAgICAgICAga2luZDogXCJmbG93X3VuaGFuZGxlZF9mYWlsdXJlXCIsXG4gICAgICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgICAgIGtpbmQ6IFwiZmxvd1wiLFxuICAgICAgICAgICAgICBuYW1lOiBcInJ1blBhcmFsbGVsXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLnBpcGUoRWZmZWN0LnppcFJpZ2h0KEVmZmVjdC5mYWlsQ2F1c2UoY2F1c2UpKSksXG4gICAgICAgICksXG4gICAgICApXG4gICAgfSkgYXMgYW55XG5cbiAgcmV0dXJuIHtcbiAgICBmcm9tQWN0aW9uOiA8VCBleHRlbmRzIEFjdGlvbk9mPFNoPj4oXG4gICAgICBwcmVkaWNhdGU6IChhOiBBY3Rpb25PZjxTaD4pID0+IGEgaXMgVFxuICAgICkgPT4gcnVudGltZS5hY3Rpb25zJC5waXBlKFN0cmVhbS5maWx0ZXIocHJlZGljYXRlKSksXG5cbiAgICBmcm9tU3RhdGU6IDxWPihzZWxlY3RvcjogKHM6IFN0YXRlT2Y8U2g+KSA9PiBWKSA9PlxuICAgICAgcnVudGltZS5jaGFuZ2VzKHNlbGVjdG9yKSxcblxuICAgIGRlYm91bmNlOiAobXM6IG51bWJlcikgPT4gKHN0cmVhbSkgPT4gU3RyZWFtLmRlYm91bmNlKHN0cmVhbSwgbXMpLFxuXG4gICAgdGhyb3R0bGU6IChtczogbnVtYmVyKSA9PiAoc3RyZWFtKSA9PlxuICAgICAgU3RyZWFtLnRocm90dGxlKHN0cmVhbSwge1xuICAgICAgICBjb3N0OiAoKSA9PiAxLFxuICAgICAgICB1bml0czogMSxcbiAgICAgICAgZHVyYXRpb246IG1zLFxuICAgICAgICBzdHJhdGVneTogXCJlbmZvcmNlXCIsXG4gICAgICB9KSxcblxuICAgIGZpbHRlcjogKHByZWRpY2F0ZTogKHZhbHVlOiBhbnkpID0+IGJvb2xlYW4pID0+IChzdHJlYW0pID0+XG4gICAgICBTdHJlYW0uZmlsdGVyKHN0cmVhbSwgcHJlZGljYXRlKSxcblxuICAgIHJ1bjogKGVmZiwgb3B0aW9ucykgPT4gKHN0cmVhbSkgPT5cbiAgICAgIHJ1blN0cmVhbVNlcXVlbnRpYWw8YW55LCBhbnksIGFueSwgYW55PihlZmYsIG9wdGlvbnMpKHN0cmVhbSksXG5cbiAgICBydW5QYXJhbGxlbDogKGVmZiwgb3B0aW9ucykgPT4gKHN0cmVhbSkgPT5cbiAgICAgIHJ1blN0cmVhbVBhcmFsbGVsPGFueSwgYW55LCBhbnksIGFueT4oZWZmLCBvcHRpb25zKShzdHJlYW0pLFxuXG4gICAgcnVuTGF0ZXN0OiAoZWZmLCBvcHRpb25zKSA9PiAoc3RyZWFtKSA9PlxuICAgICAgU3RyZWFtLnJ1bkRyYWluKFxuICAgICAgICBTdHJlYW0ubWFwKHN0cmVhbSwgKHBheWxvYWQpID0+XG4gICAgICAgICAgcnVuQXNGbG93T3A8YW55LCBhbnksIGFueSwgYW55PihcbiAgICAgICAgICAgIFwiZmxvdy5ydW5MYXRlc3RcIixcbiAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICBydW5FZmZlY3Q8YW55LCBhbnksIGFueSwgYW55PihlZmYpKHBheWxvYWQpLFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICApXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBTdHJlYW0uZmxhdE1hcCgoZWZmZWN0KSA9PiBTdHJlYW0uZnJvbUVmZmVjdChlZmZlY3QpLCB7XG4gICAgICAgICAgICBzd2l0Y2g6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKSxcblxuICAgIHJ1bkV4aGF1c3Q6IChlZmYsIG9wdGlvbnMpID0+IChzdHJlYW0pID0+XG4gICAgICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IGNvbmN1cnJlbmN5ID0geWllbGQqIHJlc29sdmVDb25jdXJyZW5jeUxpbWl0KClcbiAgICAgICAgY29uc3QgYnVzeVJlZiA9IHlpZWxkKiBSZWYubWFrZShmYWxzZSlcbiAgICAgICAgY29uc3QgbWFwcGVyID0gKHBheWxvYWQ6IGFueSkgPT5cbiAgICAgICAgICBFZmZlY3QuZ2VuKGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBhY3F1aXJlZCA9IHlpZWxkKiBSZWYubW9kaWZ5KGJ1c3lSZWYsIChidXN5KSA9PlxuICAgICAgICAgICAgICBidXN5ID8gKFtmYWxzZSwgYnVzeV0gYXMgY29uc3QpIDogKFt0cnVlLCB0cnVlXSBhcyBjb25zdClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGlmICghYWNxdWlyZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICB5aWVsZCogcnVuQXNGbG93T3A8YW55LCBhbnksIGFueSwgYW55PihcbiAgICAgICAgICAgICAgICBcImZsb3cucnVuRXhoYXVzdFwiLFxuICAgICAgICAgICAgICAgIHBheWxvYWQsXG4gICAgICAgICAgICAgICAgcnVuRWZmZWN0PGFueSwgYW55LCBhbnksIGFueT4oZWZmKShwYXlsb2FkKSxcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICB5aWVsZCogUmVmLnNldChidXN5UmVmLCBmYWxzZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiB5aWVsZCogU3RyZWFtLnJ1bkRyYWluKFxuICAgICAgICAgIHN0cmVhbS5waXBlKFxuICAgICAgICAgICAgU3RyZWFtLm1hcEVmZmVjdChtYXBwZXIsIHsgY29uY3VycmVuY3kgfSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIH0pLFxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUyxRQUFRLFFBQVEsS0FBSyxjQUFjO0FBZTVDLElBQU0scUJBQXFCLE1BS3pCLE9BQU8sY0FBMkIscUJBQXFCLEVBQUU7QUFBQSxFQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFXLE9BQU8sT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLFFBQVEsQ0FBQyxDQUFFO0FBQ3ZFO0FBRUYsSUFBTSxrQkFBa0IsQ0FDdEIsWUFDaUU7QUFDakUsTUFBSSxDQUFDLFFBQVMsUUFBTyxDQUFDO0FBQ3RCLE1BQUksT0FBTyxZQUFZLFlBQVksT0FBTyxZQUFZLFdBQVksUUFBTyxDQUFDO0FBQzFF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
@@ -0,0 +1,57 @@
1
+ // @logix/core subpath bundles for @logix/sandbox
2
+
3
+ import {
4
+ CutoverCoverageMatrix,
5
+ evaluateFullCutoverGate
6
+ } from "./chunk-SIXNQNIR.js";
7
+ import {
8
+ FullCutoverGateModeTag,
9
+ KernelImplementationRefTag,
10
+ RuntimeServicesRegistryTag,
11
+ RuntimeServicesRuntimeConfigTag,
12
+ defaultKernelImplementationRef,
13
+ getKernelImplementationRef,
14
+ getRuntimeServicesEvidence,
15
+ isKernelImplementationRef
16
+ } from "./chunk-CRE4NJJ6.js";
17
+
18
+ // ../logix-core/src/Kernel.ts
19
+ import { Layer } from "../effect.js";
20
+ var defaultKernelImplementationRef2 = defaultKernelImplementationRef;
21
+ var isKernelImplementationRef2 = isKernelImplementationRef;
22
+ var CutoverCoverageMatrix2 = CutoverCoverageMatrix;
23
+ var evaluateFullCutoverGate2 = (args) => {
24
+ return evaluateFullCutoverGate({
25
+ mode: args.mode,
26
+ requestedKernelId: args.requestedKernelId,
27
+ runtimeServicesEvidence: args.runtimeServicesEvidence,
28
+ coverageMatrix: args.coverageMatrix,
29
+ diagnosticsLevel: args.diagnosticsLevel
30
+ });
31
+ };
32
+ var KernelContractMetaAllowlist = [];
33
+ var kernelLayer = (ref) => Layer.succeed(KernelImplementationRefTag, ref);
34
+ var runtimeDefaultServicesOverridesLayer = (services) => Layer.succeed(RuntimeServicesRuntimeConfigTag, {
35
+ services
36
+ });
37
+ var getRuntimeServicesEvidence2 = getRuntimeServicesEvidence;
38
+ var getKernelImplementationRef2 = getKernelImplementationRef;
39
+ var runtimeServicesRegistryLayer = (registry) => Layer.succeed(RuntimeServicesRegistryTag, registry);
40
+ var fullCutoverGateModeLayer = (mode) => Layer.succeed(FullCutoverGateModeTag, mode);
41
+ var isKernelFullyActivated = (evidence) => !evidence.overridesApplied.some((s) => s.includes("fallback="));
42
+
43
+ export {
44
+ defaultKernelImplementationRef2 as defaultKernelImplementationRef,
45
+ isKernelImplementationRef2 as isKernelImplementationRef,
46
+ CutoverCoverageMatrix2 as CutoverCoverageMatrix,
47
+ evaluateFullCutoverGate2 as evaluateFullCutoverGate,
48
+ KernelContractMetaAllowlist,
49
+ kernelLayer,
50
+ runtimeDefaultServicesOverridesLayer,
51
+ getRuntimeServicesEvidence2 as getRuntimeServicesEvidence,
52
+ getKernelImplementationRef2 as getKernelImplementationRef,
53
+ runtimeServicesRegistryLayer,
54
+ fullCutoverGateModeLayer,
55
+ isKernelFullyActivated
56
+ };
57
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvS2VybmVsLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBMYXllciB9IGZyb20gJ2VmZmVjdCdcbmltcG9ydCB0eXBlIHsgTGF5ZXIgYXMgTGF5ZXJUeXBlIH0gZnJvbSAnZWZmZWN0J1xuaW1wb3J0IHR5cGUgKiBhcyBEZWJ1ZyBmcm9tICcuL0RlYnVnLmpzJ1xuaW1wb3J0ICogYXMgRnVsbEN1dG92ZXJHYXRlIGZyb20gJy4vaW50ZXJuYWwvcnVudGltZS9jb3JlL0Z1bGxDdXRvdmVyR2F0ZS5qcydcbmltcG9ydCAqIGFzIFJ1bnRpbWVLZXJuZWwgZnJvbSAnLi9pbnRlcm5hbC9ydW50aW1lL2NvcmUvUnVudGltZUtlcm5lbC5qcydcbmltcG9ydCAqIGFzIEtlcm5lbFJlZiBmcm9tICcuL2ludGVybmFsL3J1bnRpbWUvY29yZS9LZXJuZWxSZWYuanMnXG5leHBvcnQgdHlwZSB7IFJ1bnRpbWVTZXJ2aWNlQnVpbHRpbnMgfSBmcm9tICcuL2ludGVybmFsL3J1bnRpbWUvY29yZS9SdW50aW1lU2VydmljZUJ1aWx0aW5zLmpzJ1xuZXhwb3J0IHsgUnVudGltZVNlcnZpY2VCdWlsdGluc1RhZyB9IGZyb20gJy4vaW50ZXJuYWwvcnVudGltZS9jb3JlL1J1bnRpbWVTZXJ2aWNlQnVpbHRpbnMuanMnXG5cbmV4cG9ydCB0eXBlIEtlcm5lbElkID0gS2VybmVsUmVmLktlcm5lbElkXG5cbmV4cG9ydCBpbnRlcmZhY2UgS2VybmVsSW1wbGVtZW50YXRpb25SZWYgZXh0ZW5kcyBLZXJuZWxSZWYuS2VybmVsSW1wbGVtZW50YXRpb25SZWYge31cblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRLZXJuZWxJbXBsZW1lbnRhdGlvblJlZiA9IEtlcm5lbFJlZi5kZWZhdWx0S2VybmVsSW1wbGVtZW50YXRpb25SZWZcblxuZXhwb3J0IGNvbnN0IGlzS2VybmVsSW1wbGVtZW50YXRpb25SZWYgPSBLZXJuZWxSZWYuaXNLZXJuZWxJbXBsZW1lbnRhdGlvblJlZlxuXG5leHBvcnQgdHlwZSBSdW50aW1lU2VydmljZU92ZXJyaWRlID0gUnVudGltZUtlcm5lbC5SdW50aW1lU2VydmljZU92ZXJyaWRlXG5leHBvcnQgdHlwZSBSdW50aW1lU2VydmljZXNPdmVycmlkZXMgPSBSdW50aW1lS2VybmVsLlJ1bnRpbWVTZXJ2aWNlc092ZXJyaWRlc1xuZXhwb3J0IHR5cGUgUnVudGltZVNlcnZpY2VCaW5kaW5nID0gUnVudGltZUtlcm5lbC5SdW50aW1lU2VydmljZUJpbmRpbmdcbmV4cG9ydCB0eXBlIFJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlID0gUnVudGltZUtlcm5lbC5SdW50aW1lU2VydmljZXNFdmlkZW5jZVxuXG5leHBvcnQgdHlwZSBSdW50aW1lU2VydmljZUltcGw8U2VydmljZT4gPSBSdW50aW1lS2VybmVsLlJ1bnRpbWVTZXJ2aWNlSW1wbDxTZXJ2aWNlPlxuZXhwb3J0IHR5cGUgUnVudGltZVNlcnZpY2VzUmVnaXN0cnkgPSBSdW50aW1lS2VybmVsLlJ1bnRpbWVTZXJ2aWNlc1JlZ2lzdHJ5XG5cbmV4cG9ydCB0eXBlIEN1dG92ZXJDb3ZlcmFnZU1hdHJpeCA9IEZ1bGxDdXRvdmVyR2F0ZS5DdXRvdmVyQ292ZXJhZ2VNYXRyaXhcblxuZXhwb3J0IGNvbnN0IEN1dG92ZXJDb3ZlcmFnZU1hdHJpeCA9IEZ1bGxDdXRvdmVyR2F0ZS5DdXRvdmVyQ292ZXJhZ2VNYXRyaXhcblxuZXhwb3J0IHR5cGUgRnVsbEN1dG92ZXJHYXRlTW9kZSA9IEZ1bGxDdXRvdmVyR2F0ZS5GdWxsQ3V0b3ZlckdhdGVNb2RlXG5cbmV4cG9ydCB0eXBlIEZ1bGxDdXRvdmVyR2F0ZUFuY2hvciA9IEZ1bGxDdXRvdmVyR2F0ZS5GdWxsQ3V0b3ZlckdhdGVBbmNob3JcblxuZXhwb3J0IHR5cGUgRnVsbEN1dG92ZXJHYXRlVmVyZGljdCA9IEZ1bGxDdXRvdmVyR2F0ZS5GdWxsQ3V0b3ZlckdhdGVWZXJkaWN0XG5cbmV4cG9ydCB0eXBlIEZ1bGxDdXRvdmVyR2F0ZVJlc3VsdCA9IEZ1bGxDdXRvdmVyR2F0ZS5GdWxsQ3V0b3ZlckdhdGVSZXN1bHRcblxuZXhwb3J0IGNvbnN0IGV2YWx1YXRlRnVsbEN1dG92ZXJHYXRlID0gKGFyZ3M6IHtcbiAgcmVhZG9ubHkgbW9kZTogRnVsbEN1dG92ZXJHYXRlTW9kZVxuICByZWFkb25seSByZXF1ZXN0ZWRLZXJuZWxJZDogS2VybmVsSWRcbiAgcmVhZG9ubHkgcnVudGltZVNlcnZpY2VzRXZpZGVuY2U6IFJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlXG4gIHJlYWRvbmx5IGNvdmVyYWdlTWF0cml4PzogQ3V0b3ZlckNvdmVyYWdlTWF0cml4XG4gIHJlYWRvbmx5IGRpYWdub3N0aWNzTGV2ZWw/OiBEZWJ1Zy5EaWFnbm9zdGljc0xldmVsXG59KTogRnVsbEN1dG92ZXJHYXRlUmVzdWx0ID0+IHtcbiAgcmV0dXJuIEZ1bGxDdXRvdmVyR2F0ZS5ldmFsdWF0ZUZ1bGxDdXRvdmVyR2F0ZSh7XG4gICAgbW9kZTogYXJncy5tb2RlLFxuICAgIHJlcXVlc3RlZEtlcm5lbElkOiBhcmdzLnJlcXVlc3RlZEtlcm5lbElkLFxuICAgIHJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlOiBhcmdzLnJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlLFxuICAgIGNvdmVyYWdlTWF0cml4OiBhcmdzLmNvdmVyYWdlTWF0cml4LFxuICAgIGRpYWdub3N0aWNzTGV2ZWw6IGFyZ3MuZGlhZ25vc3RpY3NMZXZlbCxcbiAgfSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXJuZWxDb250cmFjdE1ldGFBbGxvd2xpc3RJdGVtIHtcbiAgcmVhZG9ubHkgbWV0YUtleTogc3RyaW5nXG4gIHJlYWRvbmx5IHJlYXNvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgS2VybmVsQ29udHJhY3RNZXRhQWxsb3dsaXN0ID0gW10gYXMgY29uc3Qgc2F0aXNmaWVzIFJlYWRvbmx5QXJyYXk8S2VybmVsQ29udHJhY3RNZXRhQWxsb3dsaXN0SXRlbT5cblxuLyoqXG4gKiBrZXJuZWxMYXllclx1RkYxQVxuICogLSBcdTU3MjhcdTVGNTNcdTUyNEQgcnVudGltZSB0cmVlIFx1NEUwQlx1NThGMFx1NjYwRVx1MjAxQ1x1OEJGN1x1NkM0Mlx1NzY4NFx1NTE4NVx1NjgzOFx1NjVDRlx1MjAxRFx1RkYwOHJlcXVlc3RlZCBrZXJuZWwgZmFtaWx5XHVGRjA5XHVGRjFCXG4gKiAtIFx1NEUwRFx1NzZGNFx1NjNBNVx1NEY1Q1x1NEUzQVx1MjAxQ1x1NTE2OFx1NTk1N1x1NzUxRlx1NjU0OFx1MjAxRFx1NzY4NFx1OEJDMVx1NjYwRVx1RkYwOGZhbGxiYWNrL21peCBcdTc1MzEgUnVudGltZVNlcnZpY2VzRXZpZGVuY2UgXHU1MjI0XHU1QjlBXHVGRjA5XHUzMDAyXG4gKi9cbmV4cG9ydCBjb25zdCBrZXJuZWxMYXllciA9IChyZWY6IEtlcm5lbEltcGxlbWVudGF0aW9uUmVmKTogTGF5ZXJUeXBlLkxheWVyPGFueSwgbmV2ZXIsIG5ldmVyPiA9PlxuICBMYXllci5zdWNjZWVkKEtlcm5lbFJlZi5LZXJuZWxJbXBsZW1lbnRhdGlvblJlZlRhZywgcmVmKSBhcyBMYXllclR5cGUuTGF5ZXI8YW55LCBuZXZlciwgbmV2ZXI+XG5cbi8qKlxuICogcnVudGltZURlZmF1bHRTZXJ2aWNlc092ZXJyaWRlc0xheWVyXHVGRjFBXG4gKiAtIFx1NTcyOCBNYW5hZ2VkUnVudGltZSBcdTg4QzVcdTkxNERcdTk2MzZcdTZCQjVcdTYzRDBcdTRGOUIgcnVudGltZV9kZWZhdWx0IHNjb3BlIFx1NzY4NCBzZXJ2aWNlSWQgXHUyMTkyIGltcGxJZCBcdTg5ODZcdTUxOTlcdUZGMUJcbiAqIC0gXHU5RUQ4XHU4QkE0XHU0RTBEXHU2M0QwXHU0RjlCIHNlcnZpY2VzQnlNb2R1bGVJZFx1RkYwOFx1Nzk4MVx1NkI2Mlx1NzUyOCBtb2R1bGVJZCBcdTRGNUNcdTRFM0FcdTlFRDhcdThCQTRcdTUxODVcdTY4MzhcdTkwMDlcdTYyRTlcdTdDOTJcdTVFQTZcdUZGMDlcdTMwMDJcbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bnRpbWVEZWZhdWx0U2VydmljZXNPdmVycmlkZXNMYXllciA9IChcbiAgc2VydmljZXM6IFJ1bnRpbWVTZXJ2aWNlc092ZXJyaWRlcyxcbik6IExheWVyVHlwZS5MYXllcjxhbnksIG5ldmVyLCBuZXZlcj4gPT5cbiAgTGF5ZXIuc3VjY2VlZChSdW50aW1lS2VybmVsLlJ1bnRpbWVTZXJ2aWNlc1J1bnRpbWVDb25maWdUYWcsIHtcbiAgICBzZXJ2aWNlcyxcbiAgfSkgYXMgTGF5ZXJUeXBlLkxheWVyPGFueSwgbmV2ZXIsIG5ldmVyPlxuXG4vKipcbiAqIGdldFJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlXHVGRjFBXG4gKiAtIFx1OEJGQlx1NTNENlx1NURGMlx1NUI4OVx1ODhDNVx1NTcyOCBNb2R1bGVSdW50aW1lIFx1NEUwQVx1NzY4NCBSdW50aW1lU2VydmljZXNFdmlkZW5jZVx1RkYwOHNlcnZpY2VJZCBcdTIxOTIgaW1wbElkIFx1OEJDMVx1NjM2RVx1RkYwOVx1MzAwMlxuICogLSBcdTRGNUNcdTRFM0FcdTVCRjlcdTU5MTZcdTUxNjVcdTUzRTNcdUZGMENcdTkwN0ZcdTUxNERcdThDMDNcdTc1MjhcdTY1QjlcdTc2RjRcdTYzQTVcdTRGOURcdThENTYgc3JjL2ludGVybmFsIFx1OERFRlx1NUY4NFx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgZ2V0UnVudGltZVNlcnZpY2VzRXZpZGVuY2UgPSBSdW50aW1lS2VybmVsLmdldFJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlXG5cbi8qKlxuICogZ2V0S2VybmVsSW1wbGVtZW50YXRpb25SZWZcdUZGMUFcbiAqIC0gXHU4QkZCXHU1M0Q2XHU1REYyXHU1Qjg5XHU4OEM1XHU1NzI4IE1vZHVsZVJ1bnRpbWUgXHU0RTBBXHU3Njg0IEtlcm5lbEltcGxlbWVudGF0aW9uUmVmXHVGRjA4cmVxdWVzdGVkIGtlcm5lbCBmYW1pbHlcdUZGMDlcdTMwMDJcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEtlcm5lbEltcGxlbWVudGF0aW9uUmVmID0gS2VybmVsUmVmLmdldEtlcm5lbEltcGxlbWVudGF0aW9uUmVmXG5cbi8qKlxuICogcnVudGltZVNlcnZpY2VzUmVnaXN0cnlMYXllclx1RkYxQVxuICogLSBcdTU3MjggcnVudGltZSBcdTg4QzVcdTkxNERcdTk2MzZcdTZCQjVcdTZDRThcdTUxNjVcdTk4OURcdTU5MTZcdTc2ODQgc2VydmljZUlkIFx1MjE5MiBpbXBsc1x1RkYwOFx1NEY4Qlx1NTk4MiBjb3JlLW5nIFx1NjNEMFx1NEY5Qlx1NzY4NFx1NUI5RVx1NzNCMFx1RkYwOVx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgcnVudGltZVNlcnZpY2VzUmVnaXN0cnlMYXllciA9IChyZWdpc3RyeTogUnVudGltZVNlcnZpY2VzUmVnaXN0cnkpOiBMYXllclR5cGUuTGF5ZXI8YW55LCBuZXZlciwgbmV2ZXI+ID0+XG4gIExheWVyLnN1Y2NlZWQoUnVudGltZUtlcm5lbC5SdW50aW1lU2VydmljZXNSZWdpc3RyeVRhZywgcmVnaXN0cnkpIGFzIExheWVyVHlwZS5MYXllcjxhbnksIG5ldmVyLCBuZXZlcj5cblxuLyoqXG4gKiBmdWxsQ3V0b3ZlckdhdGVNb2RlTGF5ZXJcdUZGMUFcbiAqIC0gXHU2M0E3XHU1MjM2XHU4RkQwXHU4ODRDXHU2NUY2XHU4OEM1XHU5MTREXHU5NjM2XHU2QkI1XHU3Njg0IGN1dG92ZXIgZ2F0ZSBcdTYyNjdcdTg4NENcdTZBMjFcdTVGMEZcdUZGMDh0cmlhbC9mdWxsQ3V0b3Zlclx1RkYwOVx1MzAwMlxuICogLSBcdTlFRDhcdThCQTRcdThERUZcdTVGODRcdUZGMDgwNDhcdUZGMDlcdTVFOTRcdTY2M0VcdTVGMEZcdThCQkVcdTdGNkVcdTRFM0EgZnVsbEN1dG92ZXJcdUZGMUJ0cmlhbC1ydW4vXHU1QkY5XHU3MTY3XHU1M0VGXHU4OTg2XHU3NkQ2XHU0RTNBIHRyaWFsXHUzMDAyXG4gKi9cbmV4cG9ydCBjb25zdCBmdWxsQ3V0b3ZlckdhdGVNb2RlTGF5ZXIgPSAobW9kZTogRnVsbEN1dG92ZXJHYXRlTW9kZSk6IExheWVyVHlwZS5MYXllcjxhbnksIG5ldmVyLCBuZXZlcj4gPT5cbiAgTGF5ZXIuc3VjY2VlZChSdW50aW1lS2VybmVsLkZ1bGxDdXRvdmVyR2F0ZU1vZGVUYWcsIG1vZGUpIGFzIExheWVyVHlwZS5MYXllcjxhbnksIG5ldmVyLCBuZXZlcj5cblxuLyoqXG4gKiBpc0tlcm5lbEZ1bGx5QWN0aXZhdGVkXHVGRjFBXG4gKiAtIFx1MjAxQ1x1NTE2OFx1NTk1N1x1NTIwN1x1NjM2Mlx1MjAxRFx1NzY4NFx1NjcwMFx1NUMwRlx1NTIyNFx1NUI5QVx1RkYxQVx1NEUwRFx1NTE0MVx1OEJCOFx1NTNEMVx1NzUxRiBmYWxsYmFja1x1RkYwOFx1NTQyNlx1NTIxOVx1ODlDNlx1NEUzQVx1NjcyQVx1OEZCRVx1NjgwN1x1RkYwOVx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgaXNLZXJuZWxGdWxseUFjdGl2YXRlZCA9IChldmlkZW5jZTogUnVudGltZVNlcnZpY2VzRXZpZGVuY2UpOiBib29sZWFuID0+XG4gICFldmlkZW5jZS5vdmVycmlkZXNBcHBsaWVkLnNvbWUoKHMpID0+IHMuaW5jbHVkZXMoJ2ZhbGxiYWNrPScpKVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBUyxhQUFhO0FBYWYsSUFBTUEsa0NBQTJDO0FBRWpELElBQU1DLDZCQUFzQztBQVk1QyxJQUFNQyx5QkFBd0M7QUFVOUMsSUFBTUMsMkJBQTBCLENBQUMsU0FNWDtBQUMzQixTQUF1Qix3QkFBd0I7QUFBQSxJQUM3QyxNQUFNLEtBQUs7QUFBQSxJQUNYLG1CQUFtQixLQUFLO0FBQUEsSUFDeEIseUJBQXlCLEtBQUs7QUFBQSxJQUM5QixnQkFBZ0IsS0FBSztBQUFBLElBQ3JCLGtCQUFrQixLQUFLO0FBQUEsRUFDekIsQ0FBQztBQUNIO0FBT08sSUFBTSw4QkFBOEIsQ0FBQztBQU9yQyxJQUFNLGNBQWMsQ0FBQyxRQUMxQixNQUFNLFFBQWtCLDRCQUE0QixHQUFHO0FBT2xELElBQU0sdUNBQXVDLENBQ2xELGFBRUEsTUFBTSxRQUFzQixpQ0FBaUM7QUFBQSxFQUMzRDtBQUNGLENBQUM7QUFPSSxJQUFNQyw4QkFBMkM7QUFNakQsSUFBTUMsOEJBQXVDO0FBTTdDLElBQU0sK0JBQStCLENBQUMsYUFDM0MsTUFBTSxRQUFzQiw0QkFBNEIsUUFBUTtBQU8zRCxJQUFNLDJCQUEyQixDQUFDLFNBQ3ZDLE1BQU0sUUFBc0Isd0JBQXdCLElBQUk7QUFNbkQsSUFBTSx5QkFBeUIsQ0FBQyxhQUNyQyxDQUFDLFNBQVMsaUJBQWlCLEtBQUssQ0FBQyxNQUFNLEVBQUUsU0FBUyxXQUFXLENBQUM7IiwKICAibmFtZXMiOiBbImRlZmF1bHRLZXJuZWxJbXBsZW1lbnRhdGlvblJlZiIsICJpc0tlcm5lbEltcGxlbWVudGF0aW9uUmVmIiwgIkN1dG92ZXJDb3ZlcmFnZU1hdHJpeCIsICJldmFsdWF0ZUZ1bGxDdXRvdmVyR2F0ZSIsICJnZXRSdW50aW1lU2VydmljZXNFdmlkZW5jZSIsICJnZXRLZXJuZWxJbXBsZW1lbnRhdGlvblJlZiJdCn0K