@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.
- package/LICENSE +201 -0
- package/package.json +3 -1
- package/public/sandbox/chunks/chunk-2AUQRESB.js +1114 -0
- package/public/sandbox/chunks/chunk-2F72LQKW.js +194 -0
- package/public/sandbox/chunks/chunk-2PYDGDD3.js +4071 -0
- package/public/sandbox/chunks/chunk-2UGKSXDZ.js +16 -0
- package/public/sandbox/chunks/chunk-2XVE7F26.js +153 -0
- package/public/sandbox/chunks/chunk-3A7TFNZN.js +219 -0
- package/public/sandbox/chunks/chunk-3BHC6JAV.js +1070 -0
- package/public/sandbox/chunks/chunk-3U4CAKCX.js +61 -0
- package/public/sandbox/chunks/chunk-3VU3JLZO.js +272 -0
- package/public/sandbox/chunks/chunk-4CPONKWY.js +1170 -0
- package/public/sandbox/chunks/chunk-4GMUQTWH.js +850 -0
- package/public/sandbox/chunks/chunk-4KIYG5E4.js +749 -0
- package/public/sandbox/chunks/chunk-4MY35XR3.js +175 -0
- package/public/sandbox/chunks/chunk-5DNHJMHA.js +69 -0
- package/public/sandbox/chunks/chunk-5EC4S7X6.js +42 -0
- package/public/sandbox/chunks/chunk-5FB7QFSH.js +227 -0
- package/public/sandbox/chunks/chunk-5GEYCJW2.js +206 -0
- package/public/sandbox/chunks/chunk-5PT7Q5SS.js +373 -0
- package/public/sandbox/chunks/chunk-5WN5IGKA.js +166 -0
- package/public/sandbox/chunks/chunk-5XOBKSOT.js +213 -0
- package/public/sandbox/chunks/chunk-67RVISUC.js +313 -0
- package/public/sandbox/chunks/chunk-6ELJEKZS.js +12 -0
- package/public/sandbox/chunks/chunk-6FKWRVP4.js +85 -0
- package/public/sandbox/chunks/chunk-6JRP52YT.js +34 -0
- package/public/sandbox/chunks/chunk-6JYAC3G6.js +42 -0
- package/public/sandbox/chunks/chunk-6TUOP63Q.js +86 -0
- package/public/sandbox/chunks/{chunk-A6JFUNQQ.js → chunk-74C5VW7Z.js} +2 -2
- package/public/sandbox/chunks/chunk-75DQFC5M.js +16 -0
- package/public/sandbox/chunks/{chunk-UCFEP3BH.js → chunk-7GPAF2UK.js} +1 -1
- package/public/sandbox/chunks/chunk-7KQFTS2Y.js +135 -0
- package/public/sandbox/chunks/chunk-7POKWYE3.js +112 -0
- package/public/sandbox/chunks/chunk-7VUEF5F3.js +395 -0
- package/public/sandbox/chunks/chunk-7W5APZS2.js +77 -0
- package/public/sandbox/chunks/chunk-A6OFCXDQ.js +397 -0
- package/public/sandbox/chunks/chunk-A7HLOSO6.js +216 -0
- package/public/sandbox/chunks/chunk-AGF4RRCB.js +408 -0
- package/public/sandbox/chunks/chunk-ASJSJAAL.js +122 -0
- package/public/sandbox/chunks/chunk-ASVMK364.js +283 -0
- package/public/sandbox/chunks/chunk-AUDTI2BQ.js +895 -0
- package/public/sandbox/chunks/chunk-B2SZTA3M.js +16 -0
- package/public/sandbox/chunks/chunk-B6YS2UMV.js +372 -0
- package/public/sandbox/chunks/chunk-BCEO3MGD.js +244 -0
- package/public/sandbox/chunks/chunk-BCOO65D4.js +373 -0
- package/public/sandbox/chunks/chunk-BJOWSSEL.js +38 -0
- package/public/sandbox/chunks/chunk-BS2WBFW4.js +373 -0
- package/public/sandbox/chunks/chunk-BUVHG3NJ.js +439 -0
- package/public/sandbox/chunks/chunk-BVE33AN6.js +42 -0
- package/public/sandbox/chunks/chunk-BWTGJZVP.js +19 -0
- package/public/sandbox/chunks/chunk-BXD7GZC3.js +1025 -0
- package/public/sandbox/chunks/chunk-BZH4EUUD.js +164 -0
- package/public/sandbox/chunks/{chunk-HFV5GJPK.js → chunk-C2MYMMO4.js} +3 -3
- package/public/sandbox/chunks/chunk-CRE4NJJ6.js +271 -0
- package/public/sandbox/chunks/chunk-CVZPRIDB.js +706 -0
- package/public/sandbox/chunks/chunk-CWOXD5NG.js +991 -0
- package/public/sandbox/chunks/chunk-D6DOC3BJ.js +373 -0
- package/public/sandbox/chunks/chunk-DEPSGFSY.js +1698 -0
- package/public/sandbox/chunks/chunk-DM7C5NP5.js +819 -0
- package/public/sandbox/chunks/chunk-DN33LMOF.js +1112 -0
- package/public/sandbox/chunks/{chunk-S46P7MC6.js → chunk-DT7YIIWE.js} +2 -2
- package/public/sandbox/chunks/chunk-DVB5WRCI.js +260 -0
- package/public/sandbox/chunks/{chunk-TOHCFMQS.js → chunk-E3EVW7NR.js} +11 -18
- package/public/sandbox/chunks/chunk-E5BV567Q.js +417 -0
- package/public/sandbox/chunks/chunk-E7BIWMQQ.js +203 -0
- package/public/sandbox/chunks/chunk-EAKGPSOQ.js +83 -0
- package/public/sandbox/chunks/chunk-EGUYL2ER.js +75 -0
- package/public/sandbox/chunks/chunk-EP5GQYZ5.js +85 -0
- package/public/sandbox/chunks/chunk-ET6CJEHC.js +221 -0
- package/public/sandbox/chunks/chunk-EU67YZHZ.js +1070 -0
- package/public/sandbox/chunks/{chunk-PTSJJANP.js → chunk-EYNDQLSB.js} +1 -1
- package/public/sandbox/chunks/{chunk-CEGSWZ5S.js → chunk-EZTMVCJF.js} +1 -1
- package/public/sandbox/chunks/chunk-F5CLVIS6.js +907 -0
- package/public/sandbox/chunks/chunk-F743SKYD.js +85 -0
- package/public/sandbox/chunks/chunk-FEGFZ5OX.js +86 -0
- package/public/sandbox/chunks/chunk-FG5B7ZX3.js +373 -0
- package/public/sandbox/chunks/chunk-FKZPYMDG.js +373 -0
- package/public/sandbox/chunks/chunk-FNLXHWIU.js +220 -0
- package/public/sandbox/chunks/chunk-FQRUTYAD.js +1991 -0
- package/public/sandbox/chunks/{chunk-VLYP4WUS.js → chunk-FY5A73NK.js} +5 -5
- package/public/sandbox/chunks/chunk-G7FAOG3O.js +221 -0
- package/public/sandbox/chunks/chunk-GFXHUC7Y.js +73 -0
- package/public/sandbox/chunks/chunk-GIPXUIZQ.js +534 -0
- package/public/sandbox/chunks/chunk-GP37MEGJ.js +52 -0
- package/public/sandbox/chunks/chunk-GXL5QCMF.js +4511 -0
- package/public/sandbox/chunks/chunk-GZ2NSE6A.js +177 -0
- package/public/sandbox/chunks/chunk-GZATW4YD.js +69 -0
- package/public/sandbox/chunks/chunk-H4EBXROQ.js +166 -0
- package/public/sandbox/chunks/chunk-HETCPK6Z.js +153 -0
- package/public/sandbox/chunks/chunk-HGUFQ2QC.js +4431 -0
- package/public/sandbox/chunks/chunk-HGV3VNH3.js +255 -0
- package/public/sandbox/chunks/chunk-HIJ67QWR.js +5397 -0
- package/public/sandbox/chunks/chunk-IDHERBKW.js +1114 -0
- package/public/sandbox/chunks/chunk-IDTK4FIY.js +102 -0
- package/public/sandbox/chunks/chunk-ILFVY7H5.js +164 -0
- package/public/sandbox/chunks/chunk-ISGSRYGO.js +57 -0
- package/public/sandbox/chunks/chunk-J45VPU24.js +408 -0
- package/public/sandbox/chunks/chunk-JAUIM3O5.js +42 -0
- package/public/sandbox/chunks/chunk-JB7OQEM6.js +373 -0
- package/public/sandbox/chunks/chunk-JCKW6NHD.js +15 -0
- package/public/sandbox/chunks/chunk-JMA7GY7Z.js +221 -0
- package/public/sandbox/chunks/chunk-JY46J6IL.js +836 -0
- package/public/sandbox/chunks/{chunk-X72PZOFA.js → chunk-K2MQ66O7.js} +1 -1
- package/public/sandbox/chunks/chunk-KA7PZA6F.js +464 -0
- package/public/sandbox/chunks/chunk-KDEQTUID.js +102 -0
- package/public/sandbox/chunks/chunk-KDJR27JV.js +1696 -0
- package/public/sandbox/chunks/chunk-KFE3JO6N.js +77 -0
- package/public/sandbox/chunks/chunk-KLDSYWT5.js +536 -0
- package/public/sandbox/chunks/chunk-KQWWFYBF.js +203 -0
- package/public/sandbox/chunks/chunk-KTFZSXOW.js +6473 -0
- package/public/sandbox/chunks/chunk-KXVIC55U.js +108 -0
- package/public/sandbox/chunks/{chunk-HNEDTEGQ.js → chunk-L4PNO2H6.js} +1 -1
- package/public/sandbox/chunks/{chunk-WE4STGO2.js → chunk-L4ZNW5DI.js} +2 -2
- package/public/sandbox/chunks/chunk-LBUINGZ4.js +836 -0
- package/public/sandbox/chunks/chunk-LIYPPU6I.js +112 -0
- package/public/sandbox/chunks/chunk-LJHTOJXW.js +221 -0
- package/public/sandbox/chunks/{chunk-BWSNPKO5.js → chunk-LQL23SWJ.js} +2 -2
- package/public/sandbox/chunks/chunk-LTFCYZQ6.js +46 -0
- package/public/sandbox/chunks/chunk-LTWLVCKQ.js +166 -0
- package/public/sandbox/chunks/chunk-LWI7BXFN.js +395 -0
- package/public/sandbox/chunks/chunk-LYBBX6WM.js +225 -0
- package/public/sandbox/chunks/chunk-MXE7HIBM.js +474 -0
- package/public/sandbox/chunks/chunk-MYBDYNK4.js +6004 -0
- package/public/sandbox/chunks/chunk-NC2MIWZX.js +732 -0
- package/public/sandbox/chunks/chunk-NE447XAF.js +597 -0
- package/public/sandbox/chunks/chunk-NEAYV5C2.js +255 -0
- package/public/sandbox/chunks/chunk-NMGFJZ4I.js +26 -0
- package/public/sandbox/chunks/chunk-NWCJJZNQ.js +71 -0
- package/public/sandbox/chunks/chunk-O57OZBDR.js +214 -0
- package/public/sandbox/chunks/chunk-OJJT664Q.js +731 -0
- package/public/sandbox/chunks/chunk-OKTBUTCH.js +1175 -0
- package/public/sandbox/chunks/chunk-OQ4SYV5D.js +534 -0
- package/public/sandbox/chunks/chunk-OTVVIHJD.js +219 -0
- package/public/sandbox/chunks/chunk-OWTMSCF7.js +1052 -0
- package/public/sandbox/chunks/chunk-P5ZQNFC3.js +122 -0
- package/public/sandbox/chunks/chunk-PBPT2U2N.js +1698 -0
- package/public/sandbox/chunks/chunk-PHBJLCP3.js +836 -0
- package/public/sandbox/chunks/chunk-PHV4HYHB.js +397 -0
- package/public/sandbox/chunks/chunk-PIXQ6SOX.js +4071 -0
- package/public/sandbox/chunks/chunk-PKJL6YLK.js +73 -0
- package/public/sandbox/chunks/chunk-PKPOITIU.js +221 -0
- package/public/sandbox/chunks/{chunk-NQW73ACJ.js → chunk-PMXBOYQI.js} +1 -1
- package/public/sandbox/chunks/chunk-PQLZD7NR.js +836 -0
- package/public/sandbox/chunks/chunk-QEESVOZU.js +16 -0
- package/public/sandbox/chunks/chunk-QGIM3FQK.js +159 -0
- package/public/sandbox/chunks/chunk-QL5JNEDO.js +69 -0
- package/public/sandbox/chunks/chunk-QQOZ3RMH.js +867 -0
- package/public/sandbox/chunks/chunk-QUMEVT2F.js +194 -0
- package/public/sandbox/chunks/chunk-QVZBXYVY.js +102 -0
- package/public/sandbox/chunks/chunk-R5HQS6RB.js +135 -0
- package/public/sandbox/chunks/chunk-R75Q2CTT.js +900 -0
- package/public/sandbox/chunks/chunk-RBB6SHW2.js +253 -0
- package/public/sandbox/chunks/chunk-RDHNRWQP.js +383 -0
- package/public/sandbox/chunks/chunk-RIWOEI3T.js +1101 -0
- package/public/sandbox/chunks/chunk-RS5FFPUV.js +103 -0
- package/public/sandbox/chunks/chunk-RYSSJBGX.js +203 -0
- package/public/sandbox/chunks/chunk-S3KBAE5Z.js +1114 -0
- package/public/sandbox/chunks/chunk-S6ZZHV6G.js +244 -0
- package/public/sandbox/chunks/chunk-SFXJ24HY.js +499 -0
- package/public/sandbox/chunks/chunk-SH7TP5CJ.js +1109 -0
- package/public/sandbox/chunks/chunk-SI5OKFFY.js +317 -0
- package/public/sandbox/chunks/chunk-SIXNQNIR.js +86 -0
- package/public/sandbox/chunks/chunk-ST353BOX.js +42 -0
- package/public/sandbox/chunks/chunk-SYEHKMLP.js +1140 -0
- package/public/sandbox/chunks/chunk-SZ4KQUJU.js +69 -0
- package/public/sandbox/chunks/{chunk-5SOP6EKV.js → chunk-SZI65PSP.js} +5 -10
- package/public/sandbox/chunks/chunk-T7RLTSMX.js +78 -0
- package/public/sandbox/chunks/chunk-TJ2RLUTW.js +57 -0
- package/public/sandbox/chunks/chunk-TJB73XPN.js +4071 -0
- package/public/sandbox/chunks/chunk-TXJCYO56.js +4046 -0
- package/public/sandbox/chunks/chunk-U5J3LCYI.js +731 -0
- package/public/sandbox/chunks/chunk-UABFN3NH.js +208 -0
- package/public/sandbox/chunks/chunk-UBMUY7WO.js +13 -0
- package/public/sandbox/chunks/chunk-UC27CE32.js +69 -0
- package/public/sandbox/chunks/chunk-UJGVDFZN.js +147 -0
- package/public/sandbox/chunks/chunk-UNVLTK4N.js +122 -0
- package/public/sandbox/chunks/chunk-UQKQ6V3V.js +208 -0
- package/public/sandbox/chunks/chunk-UZZBHWIO.js +703 -0
- package/public/sandbox/chunks/chunk-VKZIJERL.js +1114 -0
- package/public/sandbox/chunks/chunk-VQQEAGID.js +372 -0
- package/public/sandbox/chunks/{chunk-3LX3KIQQ.js → chunk-W365QUZ5.js} +3 -5
- package/public/sandbox/chunks/chunk-WJY2LSWG.js +1052 -0
- package/public/sandbox/chunks/chunk-WNOBN3DX.js +391 -0
- package/public/sandbox/chunks/chunk-X2Z5VYG3.js +245 -0
- package/public/sandbox/chunks/chunk-X74KU74D.js +959 -0
- package/public/sandbox/chunks/chunk-XE7ULSGQ.js +46 -0
- package/public/sandbox/chunks/chunk-XRXUJZ3X.js +431 -0
- package/public/sandbox/chunks/chunk-XWHIN7CC.js +85 -0
- package/public/sandbox/chunks/chunk-Y2TVGGVL.js +527 -0
- package/public/sandbox/chunks/chunk-YMVMZA3U.js +1395 -0
- package/public/sandbox/chunks/chunk-YOBLFWDV.js +431 -0
- package/public/sandbox/chunks/chunk-YR2RFEZA.js +11 -0
- package/public/sandbox/chunks/chunk-YTD6A35P.js +836 -0
- package/public/sandbox/chunks/chunk-Z5L7EZXS.js +81 -0
- package/public/sandbox/chunks/chunk-Z65I5ET2.js +108 -0
- package/public/sandbox/chunks/chunk-Z6LV34RO.js +390 -0
- package/public/sandbox/chunks/chunk-ZAKUP6QG.js +1634 -0
- package/public/sandbox/chunks/chunk-ZHNYE2YH.js +731 -0
- package/public/sandbox/chunks/chunk-ZHQX3B3Y.js +867 -0
- package/public/sandbox/chunks/chunk-ZIXDFRHJ.js +731 -0
- package/public/sandbox/chunks/chunk-ZPZ2MZ4D.js +528 -0
- package/public/sandbox/chunks/chunk-ZQD6NZXB.js +373 -0
- package/public/sandbox/chunks/chunk-ZVVBP7ON.js +16 -0
- package/public/sandbox/chunks/chunk-ZWE3P6X2.js +11 -0
- package/public/sandbox/logix-core/Bound.js +14 -14
- package/public/sandbox/logix-core/Debug.js +12 -10
- package/public/sandbox/logix-core/EffectOp.js +3 -4
- package/public/sandbox/logix-core/Env.js +5 -2
- package/public/sandbox/logix-core/ExternalStore.js +239 -0
- package/public/sandbox/logix-core/Flow.js +7 -8
- package/public/sandbox/logix-core/Kernel.js +7 -4
- package/public/sandbox/logix-core/Link.js +33 -25
- package/public/sandbox/logix-core/Middleware.js +13 -11
- package/public/sandbox/logix-core/Module.js +93 -30
- package/public/sandbox/logix-core/ModuleTag.js +28 -25
- package/public/sandbox/logix-core/Observability.js +21 -19
- package/public/sandbox/logix-core/Process.js +27 -22
- package/public/sandbox/logix-core/ReadQuery.js +7 -11
- package/public/sandbox/logix-core/Reflection.js +173 -53
- package/public/sandbox/logix-core/Resource.js +6 -3
- package/public/sandbox/logix-core/Root.js +7 -3
- package/public/sandbox/logix-core/Runtime.js +54 -40
- package/public/sandbox/logix-core/ScopeRegistry.js +6 -3
- package/public/sandbox/logix-core/StateTrait.js +17 -14
- package/public/sandbox/logix-core/TraitLifecycle.js +8 -8
- package/public/sandbox/logix-core/Workflow.js +332 -0
- package/public/sandbox/logix-core.js +11133 -6622
- package/public/sandbox/logix-core.manifest.json +4 -2
- package/public/sandbox/worker.js +3 -3
- package/public/sandbox/chunks/chunk-4LRLOTMA.js +0 -1698
- package/public/sandbox/chunks/chunk-CDLXJHXY.js +0 -120
- package/public/sandbox/chunks/chunk-CZRI7MHA.js +0 -46
- package/public/sandbox/chunks/chunk-EJDFUZ4B.js +0 -408
- package/public/sandbox/chunks/chunk-IP63FME6.js +0 -282
- package/public/sandbox/chunks/chunk-JIXTOQXJ.js +0 -1103
- package/public/sandbox/chunks/chunk-MPUSOFJ3.js +0 -1928
- package/public/sandbox/chunks/chunk-ON2LY6HJ.js +0 -135
- package/public/sandbox/chunks/chunk-POIBXAH5.js +0 -995
- package/public/sandbox/chunks/chunk-PQ652ULI.js +0 -6359
- package/public/sandbox/chunks/chunk-RJQ4PG2F.js +0 -77
- package/public/sandbox/chunks/chunk-S4EXG3OS.js +0 -533
- package/public/sandbox/chunks/chunk-SUXDGXVE.js +0 -390
- package/public/sandbox/chunks/chunk-TOQ6SJ6O.js +0 -244
- package/public/sandbox/chunks/chunk-UKYAF3NL.js +0 -1036
- package/public/sandbox/chunks/chunk-UMVN3AWO.js +0 -395
- package/public/sandbox/chunks/chunk-WFV5PPWJ.js +0 -194
- package/public/sandbox/chunks/chunk-YF6IO732.js +0 -206
- package/public/sandbox/chunks/chunk-ZUBABAAO.js +0 -86
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
isDevEnv
|
|
5
|
+
} from "./chunk-GP37MEGJ.js";
|
|
6
|
+
|
|
7
|
+
// ../logix-core/src/internal/runtime/core/runtimeInternalsAccessor.ts
|
|
8
|
+
var RUNTIME_INTERNALS = /* @__PURE__ */ Symbol.for("@logix/core/runtimeInternals");
|
|
9
|
+
var BOUND_INTERNALS = /* @__PURE__ */ Symbol.for("@logix/core/boundInternals");
|
|
10
|
+
var MODULE_TRAITS_PROGRAM = /* @__PURE__ */ Symbol.for("@logix/core/moduleTraitsProgram");
|
|
11
|
+
var defineHidden = (target, key, value) => {
|
|
12
|
+
Object.defineProperty(target, key, {
|
|
13
|
+
value,
|
|
14
|
+
enumerable: false,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: false
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
var setRuntimeInternals = (runtime, internals) => {
|
|
20
|
+
defineHidden(runtime, RUNTIME_INTERNALS, internals);
|
|
21
|
+
};
|
|
22
|
+
var setBoundInternals = (bound, internals) => {
|
|
23
|
+
defineHidden(bound, BOUND_INTERNALS, internals);
|
|
24
|
+
};
|
|
25
|
+
var setModuleTraitsProgram = (module, program) => {
|
|
26
|
+
defineHidden(module, MODULE_TRAITS_PROGRAM, program);
|
|
27
|
+
};
|
|
28
|
+
var getModuleTraitsProgram = (module) => {
|
|
29
|
+
if (!module) return void 0;
|
|
30
|
+
if (typeof module !== "object" && typeof module !== "function") return void 0;
|
|
31
|
+
return module[MODULE_TRAITS_PROGRAM];
|
|
32
|
+
};
|
|
33
|
+
var formatScope = (moduleId, instanceId) => {
|
|
34
|
+
const m = typeof moduleId === "string" && moduleId.length > 0 ? moduleId : "unknown";
|
|
35
|
+
const i = typeof instanceId === "string" && instanceId.length > 0 ? instanceId : "unknown";
|
|
36
|
+
return `moduleId=${m}, instanceId=${i}`;
|
|
37
|
+
};
|
|
38
|
+
var getRuntimeInternals = (runtime) => {
|
|
39
|
+
const scope = runtime;
|
|
40
|
+
const internals = runtime[RUNTIME_INTERNALS];
|
|
41
|
+
if (!internals) {
|
|
42
|
+
const msg = isDevEnv() ? [
|
|
43
|
+
"[MissingRuntimeInternals] Runtime internals not installed on ModuleRuntime instance.",
|
|
44
|
+
`scope: ${formatScope(scope.moduleId, scope.instanceId)}`,
|
|
45
|
+
"fix:",
|
|
46
|
+
"- Ensure ModuleRuntime.make calls internalHooks.installInternalHooks (020 foundation).",
|
|
47
|
+
"- If you created a mock runtime for tests, attach internals or avoid calling internal-only APIs."
|
|
48
|
+
].join("\n") : "Runtime internals not installed";
|
|
49
|
+
throw new Error(msg);
|
|
50
|
+
}
|
|
51
|
+
const runtimeInstanceId = scope.instanceId;
|
|
52
|
+
if (typeof runtimeInstanceId === "string" && runtimeInstanceId.length > 0 && runtimeInstanceId !== internals.instanceId) {
|
|
53
|
+
throw new Error(
|
|
54
|
+
isDevEnv() ? [
|
|
55
|
+
"[InconsistentRuntimeInternals] Runtime internals instanceId mismatch.",
|
|
56
|
+
`runtime: ${formatScope(scope.moduleId, runtimeInstanceId)}`,
|
|
57
|
+
`internals: ${formatScope(internals.moduleId, internals.instanceId)}`
|
|
58
|
+
].join("\n") : "Runtime internals mismatch"
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
return internals;
|
|
62
|
+
};
|
|
63
|
+
var getBoundInternals = (bound) => {
|
|
64
|
+
const internals = bound[BOUND_INTERNALS];
|
|
65
|
+
if (!internals) {
|
|
66
|
+
const msg = isDevEnv() ? [
|
|
67
|
+
"[MissingBoundInternals] Bound internals not installed on Bound API instance.",
|
|
68
|
+
"fix:",
|
|
69
|
+
"- Ensure BoundApiRuntime attaches internals (020 foundation).",
|
|
70
|
+
"- If you created a mock bound for tests, attach internals or avoid calling internal-only APIs."
|
|
71
|
+
].join("\n") : "Bound internals not installed";
|
|
72
|
+
throw new Error(msg);
|
|
73
|
+
}
|
|
74
|
+
return internals;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export {
|
|
78
|
+
setRuntimeInternals,
|
|
79
|
+
setBoundInternals,
|
|
80
|
+
setModuleTraitsProgram,
|
|
81
|
+
getModuleTraitsProgram,
|
|
82
|
+
getRuntimeInternals,
|
|
83
|
+
getBoundInternals
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvcnVudGltZS9jb3JlL3J1bnRpbWVJbnRlcm5hbHNBY2Nlc3Nvci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgaXNEZXZFbnYgfSBmcm9tIFwiLi9lbnYuanNcIlxuaW1wb3J0IHR5cGUgeyBSdW50aW1lSW50ZXJuYWxzIH0gZnJvbSBcIi4vUnVudGltZUludGVybmFscy5qc1wiXG5cbmNvbnN0IFJVTlRJTUVfSU5URVJOQUxTID0gU3ltYm9sLmZvcihcIkBsb2dpeC9jb3JlL3J1bnRpbWVJbnRlcm5hbHNcIilcbmNvbnN0IEJPVU5EX0lOVEVSTkFMUyA9IFN5bWJvbC5mb3IoXCJAbG9naXgvY29yZS9ib3VuZEludGVybmFsc1wiKVxuY29uc3QgTU9EVUxFX1RSQUlUU19QUk9HUkFNID0gU3ltYm9sLmZvcihcIkBsb2dpeC9jb3JlL21vZHVsZVRyYWl0c1Byb2dyYW1cIilcblxuY29uc3QgZGVmaW5lSGlkZGVuID0gKHRhcmdldDogb2JqZWN0LCBrZXk6IHN5bWJvbCwgdmFsdWU6IHVua25vd24pOiB2b2lkID0+IHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgdmFsdWUsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IHNldFJ1bnRpbWVJbnRlcm5hbHMgPSAocnVudGltZTogb2JqZWN0LCBpbnRlcm5hbHM6IFJ1bnRpbWVJbnRlcm5hbHMpOiB2b2lkID0+IHtcbiAgZGVmaW5lSGlkZGVuKHJ1bnRpbWUsIFJVTlRJTUVfSU5URVJOQUxTLCBpbnRlcm5hbHMpXG59XG5cbmV4cG9ydCBjb25zdCBzZXRCb3VuZEludGVybmFscyA9IChib3VuZDogb2JqZWN0LCBpbnRlcm5hbHM6IFJ1bnRpbWVJbnRlcm5hbHMpOiB2b2lkID0+IHtcbiAgZGVmaW5lSGlkZGVuKGJvdW5kLCBCT1VORF9JTlRFUk5BTFMsIGludGVybmFscylcbn1cblxuLyoqXG4gKiBNb2R1bGVUcmFpdHNQcm9ncmFtXHVGRjA4U3RhdGVUcmFpdFByb2dyYW1cdUZGMDlcdUZGMUFcbiAqIC0gXHU3NTI4XHU0RThFXHU1NzI4IE1vZHVsZSBcdTVCOUFcdTRFNDlcdTVCRjlcdThDNjFcdTRFMEFcdTYzMDJcdThGN0QgdHJhaXRzIFByb2dyYW1cdUZGMDhcdTRGOUIgVHJhaXRMaWZlY3ljbGUvRGVidWcgXHU0RjdGXHU3NTI4XHVGRjA5XHVGRjFCXG4gKiAtIFx1NEY3Rlx1NzUyOCBTeW1ib2wgKyBub24tZW51bWVyYWJsZSBwcm9wZXJ0eVx1RkYwQ1x1OTA3Rlx1NTE0RCBgLl9fKmAgbWFnaWMgZmllbGQgXHU2MjY5XHU2NTYzXHUzMDAyXG4gKlxuICogXHU2Q0U4XHU2MTBGXHVGRjFBXHU4RkQ5XHU2NjJGXHUyMDFDXHU2QTIxXHU1NzU3XHU1QjlBXHU0RTQ5XHU0RkE3XHUyMDFEXHU3Njg0XHU1MTg1XHU5MEU4XHU2OUZEXHU0RjREXHVGRjBDXHU0RTBEXHU1QzVFXHU0RThFIFJ1bnRpbWVJbnRlcm5hbHNcdUZGMDhcdTVCOUVcdTRGOEJcdTdFQTdcdUZGMDlcdUZGMUJcdTRFMjRcdTgwMDVcdThCRURcdTRFNDlcdTRFMERcdTU0MENcdTMwMDJcbiAqL1xuZXhwb3J0IGNvbnN0IHNldE1vZHVsZVRyYWl0c1Byb2dyYW0gPSAobW9kdWxlOiBvYmplY3QsIHByb2dyYW06IHVua25vd24pOiB2b2lkID0+IHtcbiAgZGVmaW5lSGlkZGVuKG1vZHVsZSwgTU9EVUxFX1RSQUlUU19QUk9HUkFNLCBwcm9ncmFtKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0TW9kdWxlVHJhaXRzUHJvZ3JhbSA9IChtb2R1bGU6IHVua25vd24pOiB1bmtub3duIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFtb2R1bGUpIHJldHVybiB1bmRlZmluZWRcbiAgaWYgKHR5cGVvZiBtb2R1bGUgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG1vZHVsZSAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdW5kZWZpbmVkXG4gIHJldHVybiAobW9kdWxlIGFzIGFueSlbTU9EVUxFX1RSQUlUU19QUk9HUkFNXSBhcyB1bmtub3duIHwgdW5kZWZpbmVkXG59XG5cbmNvbnN0IGZvcm1hdFNjb3BlID0gKG1vZHVsZUlkOiB1bmtub3duLCBpbnN0YW5jZUlkOiB1bmtub3duKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbSA9IHR5cGVvZiBtb2R1bGVJZCA9PT0gXCJzdHJpbmdcIiAmJiBtb2R1bGVJZC5sZW5ndGggPiAwID8gbW9kdWxlSWQgOiBcInVua25vd25cIlxuICBjb25zdCBpID0gdHlwZW9mIGluc3RhbmNlSWQgPT09IFwic3RyaW5nXCIgJiYgaW5zdGFuY2VJZC5sZW5ndGggPiAwID8gaW5zdGFuY2VJZCA6IFwidW5rbm93blwiXG4gIHJldHVybiBgbW9kdWxlSWQ9JHttfSwgaW5zdGFuY2VJZD0ke2l9YFxufVxuXG5leHBvcnQgY29uc3QgZ2V0UnVudGltZUludGVybmFscyA9IChydW50aW1lOiBvYmplY3QpOiBSdW50aW1lSW50ZXJuYWxzID0+IHtcbiAgY29uc3Qgc2NvcGUgPSBydW50aW1lIGFzIHsgcmVhZG9ubHkgbW9kdWxlSWQ/OiB1bmtub3duOyByZWFkb25seSBpbnN0YW5jZUlkPzogdW5rbm93biB9XG4gIGNvbnN0IGludGVybmFscyA9IChydW50aW1lIGFzIGFueSlbUlVOVElNRV9JTlRFUk5BTFNdIGFzIFJ1bnRpbWVJbnRlcm5hbHMgfCB1bmRlZmluZWRcbiAgaWYgKCFpbnRlcm5hbHMpIHtcbiAgICBjb25zdCBtc2cgPSBpc0RldkVudigpXG4gICAgICA/IFtcbiAgICAgICAgICBcIltNaXNzaW5nUnVudGltZUludGVybmFsc10gUnVudGltZSBpbnRlcm5hbHMgbm90IGluc3RhbGxlZCBvbiBNb2R1bGVSdW50aW1lIGluc3RhbmNlLlwiLFxuICAgICAgICAgIGBzY29wZTogJHtmb3JtYXRTY29wZShzY29wZS5tb2R1bGVJZCwgc2NvcGUuaW5zdGFuY2VJZCl9YCxcbiAgICAgICAgICBcImZpeDpcIixcbiAgICAgICAgICBcIi0gRW5zdXJlIE1vZHVsZVJ1bnRpbWUubWFrZSBjYWxscyBpbnRlcm5hbEhvb2tzLmluc3RhbGxJbnRlcm5hbEhvb2tzICgwMjAgZm91bmRhdGlvbikuXCIsXG4gICAgICAgICAgXCItIElmIHlvdSBjcmVhdGVkIGEgbW9jayBydW50aW1lIGZvciB0ZXN0cywgYXR0YWNoIGludGVybmFscyBvciBhdm9pZCBjYWxsaW5nIGludGVybmFsLW9ubHkgQVBJcy5cIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpXG4gICAgICA6IFwiUnVudGltZSBpbnRlcm5hbHMgbm90IGluc3RhbGxlZFwiXG4gICAgdGhyb3cgbmV3IEVycm9yKG1zZylcbiAgfVxuXG4gIGNvbnN0IHJ1bnRpbWVJbnN0YW5jZUlkID0gc2NvcGUuaW5zdGFuY2VJZFxuICBpZiAoXG4gICAgdHlwZW9mIHJ1bnRpbWVJbnN0YW5jZUlkID09PSBcInN0cmluZ1wiICYmXG4gICAgcnVudGltZUluc3RhbmNlSWQubGVuZ3RoID4gMCAmJlxuICAgIHJ1bnRpbWVJbnN0YW5jZUlkICE9PSBpbnRlcm5hbHMuaW5zdGFuY2VJZFxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBpc0RldkVudigpXG4gICAgICAgID8gW1xuICAgICAgICAgICAgXCJbSW5jb25zaXN0ZW50UnVudGltZUludGVybmFsc10gUnVudGltZSBpbnRlcm5hbHMgaW5zdGFuY2VJZCBtaXNtYXRjaC5cIixcbiAgICAgICAgICAgIGBydW50aW1lOiAke2Zvcm1hdFNjb3BlKHNjb3BlLm1vZHVsZUlkLCBydW50aW1lSW5zdGFuY2VJZCl9YCxcbiAgICAgICAgICAgIGBpbnRlcm5hbHM6ICR7Zm9ybWF0U2NvcGUoaW50ZXJuYWxzLm1vZHVsZUlkLCBpbnRlcm5hbHMuaW5zdGFuY2VJZCl9YCxcbiAgICAgICAgICBdLmpvaW4oXCJcXG5cIilcbiAgICAgICAgOiBcIlJ1bnRpbWUgaW50ZXJuYWxzIG1pc21hdGNoXCIsXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIGludGVybmFsc1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Qm91bmRJbnRlcm5hbHMgPSAoYm91bmQ6IG9iamVjdCk6IFJ1bnRpbWVJbnRlcm5hbHMgPT4ge1xuICBjb25zdCBpbnRlcm5hbHMgPSAoYm91bmQgYXMgYW55KVtCT1VORF9JTlRFUk5BTFNdIGFzIFJ1bnRpbWVJbnRlcm5hbHMgfCB1bmRlZmluZWRcbiAgaWYgKCFpbnRlcm5hbHMpIHtcbiAgICBjb25zdCBtc2cgPSBpc0RldkVudigpXG4gICAgICA/IFtcbiAgICAgICAgICBcIltNaXNzaW5nQm91bmRJbnRlcm5hbHNdIEJvdW5kIGludGVybmFscyBub3QgaW5zdGFsbGVkIG9uIEJvdW5kIEFQSSBpbnN0YW5jZS5cIixcbiAgICAgICAgICBcImZpeDpcIixcbiAgICAgICAgICBcIi0gRW5zdXJlIEJvdW5kQXBpUnVudGltZSBhdHRhY2hlcyBpbnRlcm5hbHMgKDAyMCBmb3VuZGF0aW9uKS5cIixcbiAgICAgICAgICBcIi0gSWYgeW91IGNyZWF0ZWQgYSBtb2NrIGJvdW5kIGZvciB0ZXN0cywgYXR0YWNoIGludGVybmFscyBvciBhdm9pZCBjYWxsaW5nIGludGVybmFsLW9ubHkgQVBJcy5cIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpXG4gICAgICA6IFwiQm91bmQgaW50ZXJuYWxzIG5vdCBpbnN0YWxsZWRcIlxuICAgIHRocm93IG5ldyBFcnJvcihtc2cpXG4gIH1cblxuICByZXR1cm4gaW50ZXJuYWxzXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBR0EsSUFBTSxvQkFBb0IsdUJBQU8sSUFBSSw4QkFBOEI7QUFDbkUsSUFBTSxrQkFBa0IsdUJBQU8sSUFBSSw0QkFBNEI7QUFDL0QsSUFBTSx3QkFBd0IsdUJBQU8sSUFBSSxpQ0FBaUM7QUFFMUUsSUFBTSxlQUFlLENBQUMsUUFBZ0IsS0FBYSxVQUF5QjtBQUMxRSxTQUFPLGVBQWUsUUFBUSxLQUFLO0FBQUEsSUFDakM7QUFBQSxJQUNBLFlBQVk7QUFBQSxJQUNaLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxFQUNaLENBQUM7QUFDSDtBQUVPLElBQU0sc0JBQXNCLENBQUMsU0FBaUIsY0FBc0M7QUFDekYsZUFBYSxTQUFTLG1CQUFtQixTQUFTO0FBQ3BEO0FBRU8sSUFBTSxvQkFBb0IsQ0FBQyxPQUFlLGNBQXNDO0FBQ3JGLGVBQWEsT0FBTyxpQkFBaUIsU0FBUztBQUNoRDtBQVNPLElBQU0seUJBQXlCLENBQUMsUUFBZ0IsWUFBMkI7QUFDaEYsZUFBYSxRQUFRLHVCQUF1QixPQUFPO0FBQ3JEO0FBRU8sSUFBTSx5QkFBeUIsQ0FBQyxXQUF5QztBQUM5RSxNQUFJLENBQUMsT0FBUSxRQUFPO0FBQ3BCLE1BQUksT0FBTyxXQUFXLFlBQVksT0FBTyxXQUFXLFdBQVksUUFBTztBQUN2RSxTQUFRLE9BQWUscUJBQXFCO0FBQzlDO0FBRUEsSUFBTSxjQUFjLENBQUMsVUFBbUIsZUFBZ0M7QUFDdEUsUUFBTSxJQUFJLE9BQU8sYUFBYSxZQUFZLFNBQVMsU0FBUyxJQUFJLFdBQVc7QUFDM0UsUUFBTSxJQUFJLE9BQU8sZUFBZSxZQUFZLFdBQVcsU0FBUyxJQUFJLGFBQWE7QUFDakYsU0FBTyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7QUFDdkM7QUFFTyxJQUFNLHNCQUFzQixDQUFDLFlBQXNDO0FBQ3hFLFFBQU0sUUFBUTtBQUNkLFFBQU0sWUFBYSxRQUFnQixpQkFBaUI7QUFDcEQsTUFBSSxDQUFDLFdBQVc7QUFDZCxVQUFNLE1BQU0sU0FBUyxJQUNqQjtBQUFBLE1BQ0U7QUFBQSxNQUNBLFVBQVUsWUFBWSxNQUFNLFVBQVUsTUFBTSxVQUFVLENBQUM7QUFBQSxNQUN2RDtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsSUFDRixFQUFFLEtBQUssSUFBSSxJQUNYO0FBQ0osVUFBTSxJQUFJLE1BQU0sR0FBRztBQUFBLEVBQ3JCO0FBRUEsUUFBTSxvQkFBb0IsTUFBTTtBQUNoQyxNQUNFLE9BQU8sc0JBQXNCLFlBQzdCLGtCQUFrQixTQUFTLEtBQzNCLHNCQUFzQixVQUFVLFlBQ2hDO0FBQ0EsVUFBTSxJQUFJO0FBQUEsTUFDUixTQUFTLElBQ0w7QUFBQSxRQUNFO0FBQUEsUUFDQSxZQUFZLFlBQVksTUFBTSxVQUFVLGlCQUFpQixDQUFDO0FBQUEsUUFDMUQsY0FBYyxZQUFZLFVBQVUsVUFBVSxVQUFVLFVBQVUsQ0FBQztBQUFBLE1BQ3JFLEVBQUUsS0FBSyxJQUFJLElBQ1g7QUFBQSxJQUNOO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQUVPLElBQU0sb0JBQW9CLENBQUMsVUFBb0M7QUFDcEUsUUFBTSxZQUFhLE1BQWMsZUFBZTtBQUNoRCxNQUFJLENBQUMsV0FBVztBQUNkLFVBQU0sTUFBTSxTQUFTLElBQ2pCO0FBQUEsTUFDRTtBQUFBLE1BQ0E7QUFBQSxNQUNBO0FBQUEsTUFDQTtBQUFBLElBQ0YsRUFBRSxLQUFLLElBQUksSUFDWDtBQUNKLFVBQU0sSUFBSSxNQUFNLEdBQUc7QUFBQSxFQUNyQjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// ../logix-core/src/internal/digest.ts
|
|
5
|
+
var stableStringify = (value) => {
|
|
6
|
+
if (value === null) return "null";
|
|
7
|
+
const t = typeof value;
|
|
8
|
+
if (t === "string") return JSON.stringify(value);
|
|
9
|
+
if (t === "number") return Number.isFinite(value) ? String(value) : "null";
|
|
10
|
+
if (t === "boolean") return value ? "true" : "false";
|
|
11
|
+
if (Array.isArray(value)) {
|
|
12
|
+
return `[${value.map(stableStringify).join(",")}]`;
|
|
13
|
+
}
|
|
14
|
+
if (t === "object") {
|
|
15
|
+
const record = value;
|
|
16
|
+
const keys = Object.keys(record).sort((a, b) => a.localeCompare(b));
|
|
17
|
+
return `{${keys.map((k) => `${JSON.stringify(k)}:${stableStringify(record[k])}`).join(",")}}`;
|
|
18
|
+
}
|
|
19
|
+
return "null";
|
|
20
|
+
};
|
|
21
|
+
var fnv1a32 = (input) => {
|
|
22
|
+
let hash = 2166136261;
|
|
23
|
+
for (let i = 0; i < input.length; i++) {
|
|
24
|
+
hash ^= input.charCodeAt(i);
|
|
25
|
+
hash = hash * 16777619 >>> 0;
|
|
26
|
+
}
|
|
27
|
+
return hash.toString(16).padStart(8, "0");
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export {
|
|
31
|
+
stableStringify,
|
|
32
|
+
fnv1a32
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvZGlnZXN0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIGludGVybmFsL2RpZ2VzdFx1RkYxQVxuICogLSBcdTRFM0EgUnVudGltZSAvIFN0YXRpYyBJUiAvIFRyYWl0cyBcdTdCNDlcdTYzRDBcdTRGOUJcdTY3MDBcdTVDMEZcdTc2ODRcdTIwMUNcdTdBMzNcdTVCOUFcdTY0NThcdTg5ODFcdTIwMURcdTVERTVcdTUxNzdcdUZGMUJcbiAqIC0gXHU3NkVFXHU2ODA3XHU2NjJGXHVGRjFBXHU4REU4XHU4RkQwXHU4ODRDL1x1OERFOFx1OEZEQlx1N0EwQlx1OEY5M1x1NTFGQVx1N0EzM1x1NUI5QVx1MzAwMVx1NEUxNFx1NUI5RVx1NzNCMFx1OERCM1x1NTkxRlx1OEY3Qlx1OTFDRlx1RkYwOFx1OTA3Rlx1NTE0RFx1NUYxNVx1NTE2NVx1NEY5RFx1OEQ1Nlx1RkYwOVx1MzAwMlxuICpcbiAqIFx1NkNFOFx1NjEwRlx1RkYxQVx1OEZEOVx1OTFDQ1x1NzY4NCBzdGFibGVTdHJpbmdpZnkgXHU1RTc2XHU0RTBEXHU4RkZEXHU2QzQyXHU1QjhDXHU2NTc0IEpTT04gXHU3QjQ5XHU0RUY3XHVGRjBDXHU0RUM1XHU4OTg2XHU3NkQ2XHU2NzJDXHU0RUQzXHU5NzAwXHU4OTgxXHU3Njg0XHU1QjUwXHU5NkM2XHVGRjFBXG4gKiAtIGtleSBcdTYzOTJcdTVFOEZcdTdBMzNcdTVCOUFcdUZGMDhcdTVCRjlcdThDNjFcdTVCNTdcdTZCQjVcdTYzMDlcdTVCNTdcdTUxNzhcdTVFOEZcdUZGMDlcdUZGMUJcbiAqIC0gbnVtYmVyIFx1OTc1RVx1NjcwOVx1OTY1MFx1NTAzQ1x1RkYwOE5hTi9cdTAwQjFJbmZpbml0eVx1RkYwOVx1OTY0RFx1N0VBN1x1NEUzQSBudWxsXHVGRjFCXG4gKiAtIFx1NTE3Nlx1NEVENlx1NjVFMFx1NkNENVx1ODg2OFx1OEZCRVx1NzY4NFx1NTAzQ1x1RkYwOHVuZGVmaW5lZC9mdW5jdGlvbi9zeW1ib2wgXHU3QjQ5XHVGRjA5XHU5NjREXHU3RUE3XHU0RTNBIG51bGxcdUZGMUJcbiAqIC0gb2JqZWN0IFx1NTE4NSB1bmRlZmluZWQgXHU0RTBEXHU0RjFBXHU4OEFCXHU3NzAxXHU3NTY1XHVGRjBDXHU4MDBDXHU2NjJGXHU3RjE2XHU3ODAxXHU0RTNBIG51bGxcdUZGMDhcdTRFMEUgSlNPTi5zdHJpbmdpZnkgXHU4ODRDXHU0RTNBXHU0RTBEXHU1NDBDXHVGRjA5XHUzMDAyXG4gKi9cblxuZXhwb3J0IGNvbnN0IHN0YWJsZVN0cmluZ2lmeSA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuICdudWxsJ1xuICBjb25zdCB0ID0gdHlwZW9mIHZhbHVlXG4gIGlmICh0ID09PSAnc3RyaW5nJykgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICBpZiAodCA9PT0gJ251bWJlcicpIHJldHVybiBOdW1iZXIuaXNGaW5pdGUodmFsdWUpID8gU3RyaW5nKHZhbHVlKSA6ICdudWxsJ1xuICBpZiAodCA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gdmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoc3RhYmxlU3RyaW5naWZ5KS5qb2luKCcsJyl9XWBcbiAgfVxuXG4gIGlmICh0ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbnN0IHJlY29yZCA9IHZhbHVlIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlY29yZCkuc29ydCgoYSwgYikgPT4gYS5sb2NhbGVDb21wYXJlKGIpKVxuICAgIHJldHVybiBgeyR7a2V5cy5tYXAoKGspID0+IGAke0pTT04uc3RyaW5naWZ5KGspfToke3N0YWJsZVN0cmluZ2lmeShyZWNvcmRba10pfWApLmpvaW4oJywnKX19YFxuICB9XG5cbiAgcmV0dXJuICdudWxsJ1xufVxuXG4vKipcbiAqIGZudjFhMzJcdUZGMUFcbiAqIC0gMzItYml0IEZOVi0xYSBoYXNoXHVGRjA4XHU3NTI4XHU0RThFXHU3N0VEXHU2NDU4XHU4OTgxXHVGRjA5XHVGRjFCXHU4RjkzXHU1MUZBXHU1NkZBXHU1QjlBIDggXHU0RjREIGhleFx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgZm52MWEzMiA9IChpbnB1dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgbGV0IGhhc2ggPSAweDgxMWM5ZGM1XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpKyspIHtcbiAgICBoYXNoIF49IGlucHV0LmNoYXJDb2RlQXQoaSlcbiAgICBoYXNoID0gKGhhc2ggKiAweDAxMDAwMTkzKSA+Pj4gMFxuICB9XG4gIHJldHVybiBoYXNoLnRvU3RyaW5nKDE2KS5wYWRTdGFydCg4LCAnMCcpXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBWU8sSUFBTSxrQkFBa0IsQ0FBQyxVQUEyQjtBQUN6RCxNQUFJLFVBQVUsS0FBTSxRQUFPO0FBQzNCLFFBQU0sSUFBSSxPQUFPO0FBQ2pCLE1BQUksTUFBTSxTQUFVLFFBQU8sS0FBSyxVQUFVLEtBQUs7QUFDL0MsTUFBSSxNQUFNLFNBQVUsUUFBTyxPQUFPLFNBQVMsS0FBSyxJQUFJLE9BQU8sS0FBSyxJQUFJO0FBQ3BFLE1BQUksTUFBTSxVQUFXLFFBQU8sUUFBUSxTQUFTO0FBRTdDLE1BQUksTUFBTSxRQUFRLEtBQUssR0FBRztBQUN4QixXQUFPLElBQUksTUFBTSxJQUFJLGVBQWUsRUFBRSxLQUFLLEdBQUcsQ0FBQztBQUFBLEVBQ2pEO0FBRUEsTUFBSSxNQUFNLFVBQVU7QUFDbEIsVUFBTSxTQUFTO0FBQ2YsVUFBTSxPQUFPLE9BQU8sS0FBSyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ2xFLFdBQU8sSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxVQUFVLENBQUMsQ0FBQyxJQUFJLGdCQUFnQixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEdBQUcsQ0FBQztBQUFBLEVBQzVGO0FBRUEsU0FBTztBQUNUO0FBTU8sSUFBTSxVQUFVLENBQUMsVUFBMEI7QUFDaEQsTUFBSSxPQUFPO0FBQ1gsV0FBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUNyQyxZQUFRLE1BQU0sV0FBVyxDQUFDO0FBQzFCLFdBQVEsT0FBTyxhQUFnQjtBQUFBLEVBQ2pDO0FBQ0EsU0FBTyxLQUFLLFNBQVMsRUFBRSxFQUFFLFNBQVMsR0FBRyxHQUFHO0FBQzFDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
exportStaticIr
|
|
5
|
+
} from "./chunk-QGIM3FQK.js";
|
|
6
|
+
import {
|
|
7
|
+
isDevEnv
|
|
8
|
+
} from "./chunk-GP37MEGJ.js";
|
|
9
|
+
|
|
10
|
+
// ../logix-core/src/internal/debug/ModuleTraitsRegistry.ts
|
|
11
|
+
var programsByIdAndDigest = /* @__PURE__ */ new Map();
|
|
12
|
+
var latestDigestById = /* @__PURE__ */ new Map();
|
|
13
|
+
var MAX_VERSIONS_PER_MODULE = 8;
|
|
14
|
+
var registerModuleProgram = (moduleId, program) => {
|
|
15
|
+
if (!isDevEnv()) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const ir = exportStaticIr({ program, moduleId, version: "009" });
|
|
19
|
+
const digest = ir.digest;
|
|
20
|
+
let versions = programsByIdAndDigest.get(moduleId);
|
|
21
|
+
if (!versions) {
|
|
22
|
+
versions = /* @__PURE__ */ new Map();
|
|
23
|
+
programsByIdAndDigest.set(moduleId, versions);
|
|
24
|
+
}
|
|
25
|
+
versions.set(digest, program);
|
|
26
|
+
latestDigestById.set(moduleId, digest);
|
|
27
|
+
if (versions.size > MAX_VERSIONS_PER_MODULE) {
|
|
28
|
+
const oldest = versions.keys().next().value;
|
|
29
|
+
if (oldest) versions.delete(oldest);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var getModuleProgramById = (moduleId) => {
|
|
33
|
+
const latestDigest = latestDigestById.get(moduleId);
|
|
34
|
+
if (!latestDigest) return void 0;
|
|
35
|
+
return programsByIdAndDigest.get(moduleId)?.get(latestDigest);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
registerModuleProgram,
|
|
40
|
+
getModuleProgramById
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvZGVidWcvTW9kdWxlVHJhaXRzUmVnaXN0cnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgU3RhdGVUcmFpdFByb2dyYW0gfSBmcm9tIFwiLi4vLi4vU3RhdGVUcmFpdC5qc1wiXG5pbXBvcnQgeyBpc0RldkVudiB9IGZyb20gXCIuLi9ydW50aW1lL2NvcmUvZW52LmpzXCJcbmltcG9ydCB7IGV4cG9ydFN0YXRpY0lyIH0gZnJvbSBcIi4uL3N0YXRlLXRyYWl0L2lyLmpzXCJcblxuLy8gXHU0RUM1XHU3NTI4XHU0RThFIERlYnVnL0RldnRvb2xzXHVGRjFBXHU2MzA5IG1vZHVsZUlkIFx1OEJCMFx1NUY1NSBTdGF0ZVRyYWl0UHJvZ3JhbVx1MzAwMlxuLy8gLSBcdTRFMERcdTUzQzJcdTRFMEVcdThGRDBcdTg4NENcdTY1RjZcdTg4NENcdTRFM0FcdTUxQjNcdTdCNTZcdUZGMUJcbi8vIC0gXHU5RUQ4XHU4QkE0XHU1NzI4XHU3NTFGXHU0RUE3XHU3M0FGXHU1ODgzXHU0RTJEXHU0RTBEXHU1QjU4XHU1MEE4XHU0RUZCXHU0RjU1IFByb2dyYW1cdUZGMENcdTkwN0ZcdTUxNERcdTk4OURcdTU5MTZcdTUxODVcdTVCNThcdTUzNjBcdTc1MjhcdTMwMDJcblxuY29uc3QgcHJvZ3JhbXNCeUlkQW5kRGlnZXN0ID0gbmV3IE1hcDxcbiAgc3RyaW5nLFxuICBNYXA8c3RyaW5nLCBTdGF0ZVRyYWl0UHJvZ3JhbTxhbnk+PlxuPigpXG5cbmNvbnN0IGxhdGVzdERpZ2VzdEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpXG5cbi8vIERldnRvb2xzLW9ubHlcdUZGMUFcdTkwN0ZcdTUxNERcdTU3MjhcdTY3ODRcdTVFRkEvXHU1M0NEXHU1QzA0XHU5NjM2XHU2QkI1XHU5ODkxXHU3RTQxXHU3NTFGXHU2MjEwXHU0RTBEXHU1NDBDIFByb2dyYW0gXHU2NUY2XHU2NUUwXHU3NTRDXHU1ODlFXHU5NTdGXHUzMDAyXG5jb25zdCBNQVhfVkVSU0lPTlNfUEVSX01PRFVMRSA9IDhcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTW9kdWxlUHJvZ3JhbSA9IChcbiAgbW9kdWxlSWQ6IHN0cmluZyxcbiAgcHJvZ3JhbTogU3RhdGVUcmFpdFByb2dyYW08YW55Pixcbik6IHZvaWQgPT4ge1xuICBpZiAoIWlzRGV2RW52KCkpIHtcbiAgICAvLyBcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdTlFRDhcdThCQTRcdTRFMERcdTUwNUFcdTZDRThcdTUxOENcdUZGMENcdTkwN0ZcdTUxNERcdTk1N0ZcdTc1MUZcdTU0N0RcdTU0NjhcdTY3MUZcdTc2ODQgUHJvZ3JhbSBcdTdEMjJcdTVGMTVcdUZGMUJcbiAgICAvLyBcdTU5ODJcdTk3MDBcdTU3MjhcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdTU0MkZcdTc1MjggRGV2dG9vbHNcdUZGMENcdTUzRUZcdTU0MEVcdTdFRURcdTkwMUFcdThGQzdcdTczQUZcdTU4ODNcdTUzRDhcdTkxQ0ZcdTYyMTZcdTdGMTZcdThCRDFcdTkxNERcdTdGNkVcdThDMDNcdTY1NzRcdTdCNTZcdTc1NjVcdTMwMDJcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IGlyID0gZXhwb3J0U3RhdGljSXIoeyBwcm9ncmFtLCBtb2R1bGVJZCwgdmVyc2lvbjogXCIwMDlcIiB9KVxuICBjb25zdCBkaWdlc3QgPSBpci5kaWdlc3RcblxuICBsZXQgdmVyc2lvbnMgPSBwcm9ncmFtc0J5SWRBbmREaWdlc3QuZ2V0KG1vZHVsZUlkKVxuICBpZiAoIXZlcnNpb25zKSB7XG4gICAgdmVyc2lvbnMgPSBuZXcgTWFwKClcbiAgICBwcm9ncmFtc0J5SWRBbmREaWdlc3Quc2V0KG1vZHVsZUlkLCB2ZXJzaW9ucylcbiAgfVxuXG4gIHZlcnNpb25zLnNldChkaWdlc3QsIHByb2dyYW0pXG4gIGxhdGVzdERpZ2VzdEJ5SWQuc2V0KG1vZHVsZUlkLCBkaWdlc3QpXG5cbiAgaWYgKHZlcnNpb25zLnNpemUgPiBNQVhfVkVSU0lPTlNfUEVSX01PRFVMRSkge1xuICAgIGNvbnN0IG9sZGVzdCA9IHZlcnNpb25zLmtleXMoKS5uZXh0KCkudmFsdWUgYXMgc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgaWYgKG9sZGVzdCkgdmVyc2lvbnMuZGVsZXRlKG9sZGVzdClcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ2V0TW9kdWxlUHJvZ3JhbUJ5SWQgPSAoXG4gIG1vZHVsZUlkOiBzdHJpbmcsXG4pOiBTdGF0ZVRyYWl0UHJvZ3JhbTxhbnk+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgbGF0ZXN0RGlnZXN0ID0gbGF0ZXN0RGlnZXN0QnlJZC5nZXQobW9kdWxlSWQpXG4gIGlmICghbGF0ZXN0RGlnZXN0KSByZXR1cm4gdW5kZWZpbmVkXG4gIHJldHVybiBwcm9ncmFtc0J5SWRBbmREaWdlc3QuZ2V0KG1vZHVsZUlkKT8uZ2V0KGxhdGVzdERpZ2VzdClcbn1cblxuZXhwb3J0IGNvbnN0IGdldE1vZHVsZVByb2dyYW1CeUlkQW5kRGlnZXN0ID0gKFxuICBtb2R1bGVJZDogc3RyaW5nLFxuICBkaWdlc3Q6IHN0cmluZyxcbik6IFN0YXRlVHJhaXRQcm9ncmFtPGFueT4gfCB1bmRlZmluZWQgPT5cbiAgcHJvZ3JhbXNCeUlkQW5kRGlnZXN0LmdldChtb2R1bGVJZCk/LmdldChkaWdlc3QpXG5cbmV4cG9ydCBjb25zdCBnZXRNb2R1bGVQcm9ncmFtRGlnZXN0c0J5SWQgPSAoXG4gIG1vZHVsZUlkOiBzdHJpbmcsXG4pOiBSZWFkb25seUFycmF5PHN0cmluZz4gPT5cbiAgQXJyYXkuZnJvbShwcm9ncmFtc0J5SWRBbmREaWdlc3QuZ2V0KG1vZHVsZUlkKT8ua2V5cygpID8/IFtdKVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7OztBQVFBLElBQU0sd0JBQXdCLG9CQUFJLElBR2hDO0FBRUYsSUFBTSxtQkFBbUIsb0JBQUksSUFBb0I7QUFHakQsSUFBTSwwQkFBMEI7QUFFekIsSUFBTSx3QkFBd0IsQ0FDbkMsVUFDQSxZQUNTO0FBQ1QsTUFBSSxDQUFDLFNBQVMsR0FBRztBQUdmO0FBQUEsRUFDRjtBQUVBLFFBQU0sS0FBSyxlQUFlLEVBQUUsU0FBUyxVQUFVLFNBQVMsTUFBTSxDQUFDO0FBQy9ELFFBQU0sU0FBUyxHQUFHO0FBRWxCLE1BQUksV0FBVyxzQkFBc0IsSUFBSSxRQUFRO0FBQ2pELE1BQUksQ0FBQyxVQUFVO0FBQ2IsZUFBVyxvQkFBSSxJQUFJO0FBQ25CLDBCQUFzQixJQUFJLFVBQVUsUUFBUTtBQUFBLEVBQzlDO0FBRUEsV0FBUyxJQUFJLFFBQVEsT0FBTztBQUM1QixtQkFBaUIsSUFBSSxVQUFVLE1BQU07QUFFckMsTUFBSSxTQUFTLE9BQU8seUJBQXlCO0FBQzNDLFVBQU0sU0FBUyxTQUFTLEtBQUssRUFBRSxLQUFLLEVBQUU7QUFDdEMsUUFBSSxPQUFRLFVBQVMsT0FBTyxNQUFNO0FBQUEsRUFDcEM7QUFDRjtBQUVPLElBQU0sdUJBQXVCLENBQ2xDLGFBQ3VDO0FBQ3ZDLFFBQU0sZUFBZSxpQkFBaUIsSUFBSSxRQUFRO0FBQ2xELE1BQUksQ0FBQyxhQUFjLFFBQU87QUFDMUIsU0FBTyxzQkFBc0IsSUFBSSxRQUFRLEdBQUcsSUFBSSxZQUFZO0FBQzlEOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// @logixjs/core subpath bundles for @logixjs/sandbox
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// ../logix-core/src/internal/runtime/core/FullCutoverGate.ts
|
|
5
|
+
var CutoverCoverageMatrix = {
|
|
6
|
+
version: "v1",
|
|
7
|
+
requiredServiceIds: ["txnQueue", "operationRunner", "transaction", "dispatch"]
|
|
8
|
+
};
|
|
9
|
+
var expectedImplIdForKernel = (kernelId) => kernelId === "core" ? "builtin" : kernelId;
|
|
10
|
+
var parseFallbackServiceIds = (overridesApplied) => {
|
|
11
|
+
const out = /* @__PURE__ */ new Set();
|
|
12
|
+
for (const entry of overridesApplied) {
|
|
13
|
+
if (!entry.includes("(fallback=")) continue;
|
|
14
|
+
const colon = entry.indexOf(":");
|
|
15
|
+
if (colon < 0) continue;
|
|
16
|
+
const eq = entry.indexOf("=", colon + 1);
|
|
17
|
+
if (eq < 0) continue;
|
|
18
|
+
const serviceId = entry.slice(colon + 1, eq);
|
|
19
|
+
if (serviceId.length > 0) out.add(serviceId);
|
|
20
|
+
}
|
|
21
|
+
return Array.from(out).sort();
|
|
22
|
+
};
|
|
23
|
+
var collectMissingServiceIds = (args) => {
|
|
24
|
+
const bindingByServiceId = /* @__PURE__ */ new Map();
|
|
25
|
+
for (const b of args.bindings) {
|
|
26
|
+
bindingByServiceId.set(b.serviceId, b);
|
|
27
|
+
}
|
|
28
|
+
const missing = [];
|
|
29
|
+
for (const serviceId of args.requiredServiceIds) {
|
|
30
|
+
const binding = bindingByServiceId.get(serviceId);
|
|
31
|
+
const implId = binding?.implId;
|
|
32
|
+
if (!implId || implId !== args.expectedImplId) {
|
|
33
|
+
missing.push(serviceId);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return missing;
|
|
37
|
+
};
|
|
38
|
+
var evaluateFullCutoverGate = (args) => {
|
|
39
|
+
const expectedImplId = expectedImplIdForKernel(args.requestedKernelId);
|
|
40
|
+
const matrix = args.coverageMatrix ?? CutoverCoverageMatrix;
|
|
41
|
+
const fallbackServiceIds = parseFallbackServiceIds(args.runtimeServicesEvidence.overridesApplied);
|
|
42
|
+
const missingServiceIds = collectMissingServiceIds({
|
|
43
|
+
expectedImplId,
|
|
44
|
+
requiredServiceIds: matrix.requiredServiceIds,
|
|
45
|
+
bindings: args.runtimeServicesEvidence.bindings
|
|
46
|
+
});
|
|
47
|
+
const fullyActivated = missingServiceIds.length === 0 && fallbackServiceIds.length === 0;
|
|
48
|
+
const verdict = args.mode === "fullCutover" ? fullyActivated ? "PASS" : "FAIL" : "PASS";
|
|
49
|
+
const moduleIdRaw = args.runtimeServicesEvidence.moduleId;
|
|
50
|
+
const moduleId = typeof moduleIdRaw === "string" && moduleIdRaw.length > 0 ? moduleIdRaw : "unknown";
|
|
51
|
+
const anchor = {
|
|
52
|
+
moduleId,
|
|
53
|
+
instanceId: args.runtimeServicesEvidence.instanceId,
|
|
54
|
+
txnSeq: 0
|
|
55
|
+
};
|
|
56
|
+
const level = args.diagnosticsLevel ?? "off";
|
|
57
|
+
return {
|
|
58
|
+
version: "v1",
|
|
59
|
+
mode: args.mode,
|
|
60
|
+
requestedKernelId: args.requestedKernelId,
|
|
61
|
+
verdict,
|
|
62
|
+
fullyActivated,
|
|
63
|
+
missingServiceIds,
|
|
64
|
+
fallbackServiceIds,
|
|
65
|
+
anchor,
|
|
66
|
+
...level === "off" ? {} : {
|
|
67
|
+
details: {
|
|
68
|
+
expectedImplId,
|
|
69
|
+
bindings: args.runtimeServicesEvidence.bindings,
|
|
70
|
+
overridesApplied: args.runtimeServicesEvidence.overridesApplied
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// ../logix-core/src/internal/runtime/core/RuntimeServiceBuiltins.ts
|
|
77
|
+
import { Context } from "../effect.js";
|
|
78
|
+
var RuntimeServiceBuiltinsTag = class extends Context.Tag("@logixjs/core/RuntimeServiceBuiltins")() {
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
CutoverCoverageMatrix,
|
|
83
|
+
evaluateFullCutoverGate,
|
|
84
|
+
RuntimeServiceBuiltinsTag
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvcnVudGltZS9jb3JlL0Z1bGxDdXRvdmVyR2F0ZS50cyIsICIuLi8uLi8uLi8uLi9sb2dpeC1jb3JlL3NyYy9pbnRlcm5hbC9ydW50aW1lL2NvcmUvUnVudGltZVNlcnZpY2VCdWlsdGlucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHR5cGUgeyBLZXJuZWxJZCB9IGZyb20gJy4vS2VybmVsUmVmLmpzJ1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lU2VydmljZUJpbmRpbmcsIFJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlIH0gZnJvbSAnLi9SdW50aW1lS2VybmVsLmpzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1dG92ZXJDb3ZlcmFnZU1hdHJpeCB7XG4gIHJlYWRvbmx5IHZlcnNpb246ICd2MSdcbiAgcmVhZG9ubHkgcmVxdWlyZWRTZXJ2aWNlSWRzOiBSZWFkb25seUFycmF5PHN0cmluZz5cbn1cblxuZXhwb3J0IGNvbnN0IEN1dG92ZXJDb3ZlcmFnZU1hdHJpeCA9IHtcbiAgdmVyc2lvbjogJ3YxJyxcbiAgcmVxdWlyZWRTZXJ2aWNlSWRzOiBbJ3R4blF1ZXVlJywgJ29wZXJhdGlvblJ1bm5lcicsICd0cmFuc2FjdGlvbicsICdkaXNwYXRjaCddLFxufSBhcyBjb25zdCBzYXRpc2ZpZXMgQ3V0b3ZlckNvdmVyYWdlTWF0cml4XG5cbmV4cG9ydCB0eXBlIEZ1bGxDdXRvdmVyR2F0ZU1vZGUgPSAndHJpYWwnIHwgJ2Z1bGxDdXRvdmVyJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bGxDdXRvdmVyR2F0ZUFuY2hvciB7XG4gIHJlYWRvbmx5IG1vZHVsZUlkOiBzdHJpbmdcbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nXG4gIC8qKlxuICAgKiBDb252ZW50aW9uOiB0eG5TZXE9MCBkZW5vdGVzIGFzc2VtYmx5IChhIHdpcmluZy10aW1lIGZhaWx1cmUgYW5jaG9yKS5cbiAgICogRnVsbCBDdXRvdmVyIEdhdGUgaXMgZXZhbHVhdGVkIGR1cmluZyBhc3NlbWJseSBieSBkZWZhdWx0LCBzbyBpdCBkb2VzIG5vdCBkZXBlbmQgb24gYSByZWFsIHR4bi5cbiAgICovXG4gIHJlYWRvbmx5IHR4blNlcTogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIEZ1bGxDdXRvdmVyR2F0ZVZlcmRpY3QgPSAnUEFTUycgfCAnRkFJTCdcblxuZXhwb3J0IGludGVyZmFjZSBGdWxsQ3V0b3ZlckdhdGVSZXN1bHQge1xuICByZWFkb25seSB2ZXJzaW9uOiAndjEnXG4gIHJlYWRvbmx5IG1vZGU6IEZ1bGxDdXRvdmVyR2F0ZU1vZGVcbiAgcmVhZG9ubHkgcmVxdWVzdGVkS2VybmVsSWQ6IEtlcm5lbElkXG4gIHJlYWRvbmx5IHZlcmRpY3Q6IEZ1bGxDdXRvdmVyR2F0ZVZlcmRpY3RcbiAgLyoqXG4gICAqIGZ1bGx5QWN0aXZhdGVkOiBhIHN0cmljdGVyIFwiZnVsbCBjdXRvdmVyXCIgdHJ1dGggdmFsdWUuXG4gICAqIC0gUmVxdWlyZXMgZXZlcnkgc2VydmljZUlkIGluIHRoZSBjb3ZlcmFnZSBtYXRyaXggdG8gYmUgYm91bmQgdG8gdGhlIGV4cGVjdGVkIGltcGxJZC5cbiAgICogLSBSZXF1aXJlcyBubyBmYWxsYmFjayAoYW55IGBmYWxsYmFjaz1gIGluIG92ZXJyaWRlc0FwcGxpZWQgbWVhbnMgbm90IGZ1bGx5IGFjdGl2YXRlZCkuXG4gICAqXG4gICAqIE5vdGU6IGluIHRyaWFsIG1vZGUgdGhlIHZlcmRpY3QgbWF5IGJlIFBBU1Mgd2hpbGUgZnVsbHlBY3RpdmF0ZWQgY2FuIHN0aWxsIGJlIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVsbHlBY3RpdmF0ZWQ6IGJvb2xlYW5cbiAgcmVhZG9ubHkgbWlzc2luZ1NlcnZpY2VJZHM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICByZWFkb25seSBmYWxsYmFja1NlcnZpY2VJZHM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICByZWFkb25seSBhbmNob3I6IEZ1bGxDdXRvdmVyR2F0ZUFuY2hvclxuICAvKipcbiAgICogV2hlbiBkaWFnbm9zdGljcz1vZmYsIGl0IG11c3Qgc3RheSBzbGltIChhdm9pZCBwZXJtYW5lbnQgb3ZlcmhlYWQpLlxuICAgKiBJbiBsaWdodC9mdWxsLCBhZGRpdGlvbmFsIGV4cGxhaW5hYmxlIGluZm8gaXMgYWxsb3dlZCAoc3RpbGwgbXVzdCBiZSBzZXJpYWxpemFibGUpLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0YWlscz86IHtcbiAgICByZWFkb25seSBleHBlY3RlZEltcGxJZDogc3RyaW5nXG4gICAgcmVhZG9ubHkgYmluZGluZ3M6IFJlYWRvbmx5QXJyYXk8UnVudGltZVNlcnZpY2VCaW5kaW5nPlxuICAgIHJlYWRvbmx5IG92ZXJyaWRlc0FwcGxpZWQ6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICB9XG59XG5cbmNvbnN0IGV4cGVjdGVkSW1wbElkRm9yS2VybmVsID0gKGtlcm5lbElkOiBLZXJuZWxJZCk6IHN0cmluZyA9PiAoa2VybmVsSWQgPT09ICdjb3JlJyA/ICdidWlsdGluJyA6IGtlcm5lbElkKVxuXG5jb25zdCBwYXJzZUZhbGxiYWNrU2VydmljZUlkcyA9IChvdmVycmlkZXNBcHBsaWVkOiBSZWFkb25seUFycmF5PHN0cmluZz4pOiBSZWFkb25seUFycmF5PHN0cmluZz4gPT4ge1xuICBjb25zdCBvdXQgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBmb3IgKGNvbnN0IGVudHJ5IG9mIG92ZXJyaWRlc0FwcGxpZWQpIHtcbiAgICBpZiAoIWVudHJ5LmluY2x1ZGVzKCcoZmFsbGJhY2s9JykpIGNvbnRpbnVlXG4gICAgY29uc3QgY29sb24gPSBlbnRyeS5pbmRleE9mKCc6JylcbiAgICBpZiAoY29sb24gPCAwKSBjb250aW51ZVxuICAgIGNvbnN0IGVxID0gZW50cnkuaW5kZXhPZignPScsIGNvbG9uICsgMSlcbiAgICBpZiAoZXEgPCAwKSBjb250aW51ZVxuICAgIGNvbnN0IHNlcnZpY2VJZCA9IGVudHJ5LnNsaWNlKGNvbG9uICsgMSwgZXEpXG4gICAgaWYgKHNlcnZpY2VJZC5sZW5ndGggPiAwKSBvdXQuYWRkKHNlcnZpY2VJZClcbiAgfVxuICByZXR1cm4gQXJyYXkuZnJvbShvdXQpLnNvcnQoKVxufVxuXG5jb25zdCBjb2xsZWN0TWlzc2luZ1NlcnZpY2VJZHMgPSAoYXJnczoge1xuICByZWFkb25seSBleHBlY3RlZEltcGxJZDogc3RyaW5nXG4gIHJlYWRvbmx5IHJlcXVpcmVkU2VydmljZUlkczogUmVhZG9ubHlBcnJheTxzdHJpbmc+XG4gIHJlYWRvbmx5IGJpbmRpbmdzOiBSZWFkb25seUFycmF5PFJ1bnRpbWVTZXJ2aWNlQmluZGluZz5cbn0pOiBSZWFkb25seUFycmF5PHN0cmluZz4gPT4ge1xuICBjb25zdCBiaW5kaW5nQnlTZXJ2aWNlSWQgPSBuZXcgTWFwPHN0cmluZywgUnVudGltZVNlcnZpY2VCaW5kaW5nPigpXG4gIGZvciAoY29uc3QgYiBvZiBhcmdzLmJpbmRpbmdzKSB7XG4gICAgYmluZGluZ0J5U2VydmljZUlkLnNldChiLnNlcnZpY2VJZCwgYilcbiAgfVxuXG4gIGNvbnN0IG1pc3Npbmc6IHN0cmluZ1tdID0gW11cbiAgZm9yIChjb25zdCBzZXJ2aWNlSWQgb2YgYXJncy5yZXF1aXJlZFNlcnZpY2VJZHMpIHtcbiAgICBjb25zdCBiaW5kaW5nID0gYmluZGluZ0J5U2VydmljZUlkLmdldChzZXJ2aWNlSWQpXG4gICAgY29uc3QgaW1wbElkID0gYmluZGluZz8uaW1wbElkXG4gICAgaWYgKCFpbXBsSWQgfHwgaW1wbElkICE9PSBhcmdzLmV4cGVjdGVkSW1wbElkKSB7XG4gICAgICBtaXNzaW5nLnB1c2goc2VydmljZUlkKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtaXNzaW5nXG59XG5cbmV4cG9ydCBjb25zdCBldmFsdWF0ZUZ1bGxDdXRvdmVyR2F0ZSA9IChhcmdzOiB7XG4gIHJlYWRvbmx5IG1vZGU6IEZ1bGxDdXRvdmVyR2F0ZU1vZGVcbiAgcmVhZG9ubHkgcmVxdWVzdGVkS2VybmVsSWQ6IEtlcm5lbElkXG4gIHJlYWRvbmx5IHJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlOiBSdW50aW1lU2VydmljZXNFdmlkZW5jZVxuICByZWFkb25seSBjb3ZlcmFnZU1hdHJpeD86IEN1dG92ZXJDb3ZlcmFnZU1hdHJpeFxuICByZWFkb25seSBkaWFnbm9zdGljc0xldmVsPzogJ29mZicgfCAnbGlnaHQnIHwgJ2Z1bGwnIHwgJ3NhbXBsZWQnXG59KTogRnVsbEN1dG92ZXJHYXRlUmVzdWx0ID0+IHtcbiAgY29uc3QgZXhwZWN0ZWRJbXBsSWQgPSBleHBlY3RlZEltcGxJZEZvcktlcm5lbChhcmdzLnJlcXVlc3RlZEtlcm5lbElkKVxuICBjb25zdCBtYXRyaXggPSBhcmdzLmNvdmVyYWdlTWF0cml4ID8/IEN1dG92ZXJDb3ZlcmFnZU1hdHJpeFxuXG4gIGNvbnN0IGZhbGxiYWNrU2VydmljZUlkcyA9IHBhcnNlRmFsbGJhY2tTZXJ2aWNlSWRzKGFyZ3MucnVudGltZVNlcnZpY2VzRXZpZGVuY2Uub3ZlcnJpZGVzQXBwbGllZClcbiAgY29uc3QgbWlzc2luZ1NlcnZpY2VJZHMgPSBjb2xsZWN0TWlzc2luZ1NlcnZpY2VJZHMoe1xuICAgIGV4cGVjdGVkSW1wbElkLFxuICAgIHJlcXVpcmVkU2VydmljZUlkczogbWF0cml4LnJlcXVpcmVkU2VydmljZUlkcyxcbiAgICBiaW5kaW5nczogYXJncy5ydW50aW1lU2VydmljZXNFdmlkZW5jZS5iaW5kaW5ncyxcbiAgfSlcblxuICBjb25zdCBmdWxseUFjdGl2YXRlZCA9IG1pc3NpbmdTZXJ2aWNlSWRzLmxlbmd0aCA9PT0gMCAmJiBmYWxsYmFja1NlcnZpY2VJZHMubGVuZ3RoID09PSAwXG5cbiAgY29uc3QgdmVyZGljdDogRnVsbEN1dG92ZXJHYXRlVmVyZGljdCA9IGFyZ3MubW9kZSA9PT0gJ2Z1bGxDdXRvdmVyJyA/IChmdWxseUFjdGl2YXRlZCA/ICdQQVNTJyA6ICdGQUlMJykgOiAnUEFTUydcblxuICBjb25zdCBtb2R1bGVJZFJhdyA9IGFyZ3MucnVudGltZVNlcnZpY2VzRXZpZGVuY2UubW9kdWxlSWRcbiAgY29uc3QgbW9kdWxlSWQgPSB0eXBlb2YgbW9kdWxlSWRSYXcgPT09ICdzdHJpbmcnICYmIG1vZHVsZUlkUmF3Lmxlbmd0aCA+IDAgPyBtb2R1bGVJZFJhdyA6ICd1bmtub3duJ1xuXG4gIGNvbnN0IGFuY2hvcjogRnVsbEN1dG92ZXJHYXRlQW5jaG9yID0ge1xuICAgIG1vZHVsZUlkLFxuICAgIGluc3RhbmNlSWQ6IGFyZ3MucnVudGltZVNlcnZpY2VzRXZpZGVuY2UuaW5zdGFuY2VJZCxcbiAgICB0eG5TZXE6IDAsXG4gIH1cblxuICBjb25zdCBsZXZlbCA9IGFyZ3MuZGlhZ25vc3RpY3NMZXZlbCA/PyAnb2ZmJ1xuXG4gIHJldHVybiB7XG4gICAgdmVyc2lvbjogJ3YxJyxcbiAgICBtb2RlOiBhcmdzLm1vZGUsXG4gICAgcmVxdWVzdGVkS2VybmVsSWQ6IGFyZ3MucmVxdWVzdGVkS2VybmVsSWQsXG4gICAgdmVyZGljdCxcbiAgICBmdWxseUFjdGl2YXRlZCxcbiAgICBtaXNzaW5nU2VydmljZUlkcyxcbiAgICBmYWxsYmFja1NlcnZpY2VJZHMsXG4gICAgYW5jaG9yLFxuICAgIC4uLihsZXZlbCA9PT0gJ29mZidcbiAgICAgID8ge31cbiAgICAgIDoge1xuICAgICAgICAgIGRldGFpbHM6IHtcbiAgICAgICAgICAgIGV4cGVjdGVkSW1wbElkLFxuICAgICAgICAgICAgYmluZGluZ3M6IGFyZ3MucnVudGltZVNlcnZpY2VzRXZpZGVuY2UuYmluZGluZ3MsXG4gICAgICAgICAgICBvdmVycmlkZXNBcHBsaWVkOiBhcmdzLnJ1bnRpbWVTZXJ2aWNlc0V2aWRlbmNlLm92ZXJyaWRlc0FwcGxpZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gIH1cbn1cbiIsICJpbXBvcnQgeyBDb250ZXh0LCBFZmZlY3QgfSBmcm9tICdlZmZlY3QnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVudGltZVNlcnZpY2VCdWlsdGlucyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBtYWtlIEVmZmVjdCBvZiBhIGJ1aWx0aW4gaW1wbGVtZW50YXRpb24gKHByb3ZpZGVkIGJ5IE1vZHVsZVJ1bnRpbWUgZHVyaW5nIGFzc2VtYmx5LCBhdm9pZGluZyBleHRlcm5hbCBjb2RlXG4gICAqIGNhcHR1cmluZyBpbnRlcm5hbCBjbG9zdXJlcy9zdGF0ZSkuXG4gICAqIC0gRm9yIGtlcm5lbCBpbXBsZW1lbnRvcnMgb25seSAoZS5nLiBjb3JlLW5nKSB0byBpbXBsZW1lbnQgYmVoYXZpb3ItZXF1aXZhbGVudCByZXBsYWNlbWVudHMgb3IgdGhpbiB3cmFwcGVycy5cbiAgICogLSBOb3QgYW4gYXBwLWZhY2luZyBjb250cmFjdDsgbXVzdCBub3QgYmUgZGVwZW5kZWQgb24gZnJvbSBidXNpbmVzcyBGbG93L0xvZ2ljLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2V0QnVpbHRpbk1ha2U6IChzZXJ2aWNlSWQ6IHN0cmluZykgPT4gRWZmZWN0LkVmZmVjdDx1bmtub3duLCBuZXZlciwgYW55PlxufVxuXG5leHBvcnQgY2xhc3MgUnVudGltZVNlcnZpY2VCdWlsdGluc1RhZyBleHRlbmRzIENvbnRleHQuVGFnKCdAbG9naXhqcy9jb3JlL1J1bnRpbWVTZXJ2aWNlQnVpbHRpbnMnKTxcbiAgUnVudGltZVNlcnZpY2VCdWlsdGluc1RhZyxcbiAgUnVudGltZVNlcnZpY2VCdWlsdGluc1xuPigpIHt9XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBUU8sSUFBTSx3QkFBd0I7QUFBQSxFQUNuQyxTQUFTO0FBQUEsRUFDVCxvQkFBb0IsQ0FBQyxZQUFZLG1CQUFtQixlQUFlLFVBQVU7QUFDL0U7QUEyQ0EsSUFBTSwwQkFBMEIsQ0FBQyxhQUFnQyxhQUFhLFNBQVMsWUFBWTtBQUVuRyxJQUFNLDBCQUEwQixDQUFDLHFCQUFtRTtBQUNsRyxRQUFNLE1BQU0sb0JBQUksSUFBWTtBQUM1QixhQUFXLFNBQVMsa0JBQWtCO0FBQ3BDLFFBQUksQ0FBQyxNQUFNLFNBQVMsWUFBWSxFQUFHO0FBQ25DLFVBQU0sUUFBUSxNQUFNLFFBQVEsR0FBRztBQUMvQixRQUFJLFFBQVEsRUFBRztBQUNmLFVBQU0sS0FBSyxNQUFNLFFBQVEsS0FBSyxRQUFRLENBQUM7QUFDdkMsUUFBSSxLQUFLLEVBQUc7QUFDWixVQUFNLFlBQVksTUFBTSxNQUFNLFFBQVEsR0FBRyxFQUFFO0FBQzNDLFFBQUksVUFBVSxTQUFTLEVBQUcsS0FBSSxJQUFJLFNBQVM7QUFBQSxFQUM3QztBQUNBLFNBQU8sTUFBTSxLQUFLLEdBQUcsRUFBRSxLQUFLO0FBQzlCO0FBRUEsSUFBTSwyQkFBMkIsQ0FBQyxTQUlMO0FBQzNCLFFBQU0scUJBQXFCLG9CQUFJLElBQW1DO0FBQ2xFLGFBQVcsS0FBSyxLQUFLLFVBQVU7QUFDN0IsdUJBQW1CLElBQUksRUFBRSxXQUFXLENBQUM7QUFBQSxFQUN2QztBQUVBLFFBQU0sVUFBb0IsQ0FBQztBQUMzQixhQUFXLGFBQWEsS0FBSyxvQkFBb0I7QUFDL0MsVUFBTSxVQUFVLG1CQUFtQixJQUFJLFNBQVM7QUFDaEQsVUFBTSxTQUFTLFNBQVM7QUFDeEIsUUFBSSxDQUFDLFVBQVUsV0FBVyxLQUFLLGdCQUFnQjtBQUM3QyxjQUFRLEtBQUssU0FBUztBQUFBLElBQ3hCO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQUVPLElBQU0sMEJBQTBCLENBQUMsU0FNWDtBQUMzQixRQUFNLGlCQUFpQix3QkFBd0IsS0FBSyxpQkFBaUI7QUFDckUsUUFBTSxTQUFTLEtBQUssa0JBQWtCO0FBRXRDLFFBQU0scUJBQXFCLHdCQUF3QixLQUFLLHdCQUF3QixnQkFBZ0I7QUFDaEcsUUFBTSxvQkFBb0IseUJBQXlCO0FBQUEsSUFDakQ7QUFBQSxJQUNBLG9CQUFvQixPQUFPO0FBQUEsSUFDM0IsVUFBVSxLQUFLLHdCQUF3QjtBQUFBLEVBQ3pDLENBQUM7QUFFRCxRQUFNLGlCQUFpQixrQkFBa0IsV0FBVyxLQUFLLG1CQUFtQixXQUFXO0FBRXZGLFFBQU0sVUFBa0MsS0FBSyxTQUFTLGdCQUFpQixpQkFBaUIsU0FBUyxTQUFVO0FBRTNHLFFBQU0sY0FBYyxLQUFLLHdCQUF3QjtBQUNqRCxRQUFNLFdBQVcsT0FBTyxnQkFBZ0IsWUFBWSxZQUFZLFNBQVMsSUFBSSxjQUFjO0FBRTNGLFFBQU0sU0FBZ0M7QUFBQSxJQUNwQztBQUFBLElBQ0EsWUFBWSxLQUFLLHdCQUF3QjtBQUFBLElBQ3pDLFFBQVE7QUFBQSxFQUNWO0FBRUEsUUFBTSxRQUFRLEtBQUssb0JBQW9CO0FBRXZDLFNBQU87QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULE1BQU0sS0FBSztBQUFBLElBQ1gsbUJBQW1CLEtBQUs7QUFBQSxJQUN4QjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLEdBQUksVUFBVSxRQUNWLENBQUMsSUFDRDtBQUFBLE1BQ0UsU0FBUztBQUFBLFFBQ1A7QUFBQSxRQUNBLFVBQVUsS0FBSyx3QkFBd0I7QUFBQSxRQUN2QyxrQkFBa0IsS0FBSyx3QkFBd0I7QUFBQSxNQUNqRDtBQUFBLElBQ0Y7QUFBQSxFQUNOO0FBQ0Y7OztBQy9JQSxTQUFTLGVBQXVCO0FBWXpCLElBQU0sNEJBQU4sY0FBd0MsUUFBUSxJQUFJLHNDQUFzQyxFQUcvRixFQUFFO0FBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
exportStaticIr
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4MY35XR3.js";
|
|
6
6
|
import {
|
|
7
7
|
isDevEnv
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YMVMZA3U.js";
|
|
9
9
|
|
|
10
10
|
// ../logix-core/src/internal/debug/ModuleTraitsRegistry.ts
|
|
11
11
|
var programsByIdAndDigest = /* @__PURE__ */ new Map();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
// ../logix-core/src/internal/runtime/core/ConvergeStaticIrCollector.ts
|
|
5
|
+
import { FiberRef, Layer } from "../effect.js";
|
|
6
|
+
var currentConvergeStaticIrCollectors = FiberRef.unsafeMake([]);
|
|
7
|
+
var appendConvergeStaticIrCollectors = (collectors) => Layer.fiberRefLocallyScopedWith(
|
|
8
|
+
currentConvergeStaticIrCollectors,
|
|
9
|
+
(current) => [...current, ...collectors]
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
currentConvergeStaticIrCollectors,
|
|
14
|
+
appendConvergeStaticIrCollectors
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvcnVudGltZS9jb3JlL0NvbnZlcmdlU3RhdGljSXJDb2xsZWN0b3IudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IEZpYmVyUmVmLCBMYXllciB9IGZyb20gXCJlZmZlY3RcIlxuaW1wb3J0IHR5cGUgeyBDb252ZXJnZVN0YXRpY0lyRXhwb3J0IH0gZnJvbSBcIi4uLy4uL3N0YXRlLXRyYWl0L2NvbnZlcmdlLWlyLmpzXCJcblxuLyoqXG4gKiBDb252ZXJnZVN0YXRpY0lyQ29sbGVjdG9yXHVGRjFBXG4gKiAtIFx1NzUyOFx1NEU4RVx1NjUzNlx1OTZDNiBDb252ZXJnZVN0YXRpY0lyRXhwb3J0XHVGRjA4XHU2MzA5IHN0YXRpY0lyRGlnZXN0IFx1NTNCQlx1OTFDRC9cdTdEMjJcdTVGMTVcdUZGMDlcdTc2ODQgY29uc3VtZXIgXHU2M0E1XHU1M0UzXHVGRjFCXHU1QzVFXHU0RThFXHU1MTg1XHU5MEU4XHU1M0VGXHU2Q0U4XHU1MTY1XHU4MEZEXHU1MjlCXHUzMDAyXG4gKiAtIFx1NTE3OFx1NTc4Qlx1NUI5RVx1NzNCMFx1RkYxQURldnRvb2xzSHViXHVGRjA4XHU4RkRCXHU3QTBCXHU3RUE3XHVGRjA5LyBFdmlkZW5jZUNvbGxlY3Rvclx1RkYwOFJ1blNlc3Npb24gXHU3RUE3XHVGRjA5XHUzMDAyXG4gKlxuICogXHU4QkY0XHU2NjBFXHVGRjFBXG4gKiAtIFx1OTFDN1x1NzUyOCBGaWJlclJlZjxSZWFkb25seUFycmF5PC4uLj4+IFx1NEVFNVx1NjUyRlx1NjMwMVx1NTcyOFx1NTQwQ1x1NEUwMFx1NEY1Q1x1NzUyOFx1NTdERlx1NTE4NVx1OEZGRFx1NTJBMFx1NTkxQVx1NEUyQSBjb2xsZWN0b3JcdUZGMDhcdTdDN0JcdTRGM0MgRGVidWcgc2lua3NcdUZGMDlcdTMwMDJcbiAqIC0gTW9kdWxlUnVudGltZSBcdTU3MjhcdTVCOUVcdTRGOEJcdTVCODlcdTg4QzVcdTk2MzZcdTZCQjVcdTRGMUFcdThCRkJcdTUzRDZcdTVGNTNcdTUyNEQgRmliZXJSZWYgXHU1MDNDXHU1RTc2XHU5NUVEXHU1MzA1XHU2MzU1XHU4M0I3XHVGRjBDXHU5MDdGXHU1MTREXHU3MEVEXHU4REVGXHU1Rjg0XHU2QkNGXHU2QjIxIEVudiBcdTY3RTVcdTYyN0VcdTMwMDJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJnZVN0YXRpY0lyQ29sbGVjdG9yIHtcbiAgcmVhZG9ubHkgcmVnaXN0ZXI6IChpcjogQ29udmVyZ2VTdGF0aWNJckV4cG9ydCkgPT4gdm9pZFxufVxuXG5leHBvcnQgY29uc3QgY3VycmVudENvbnZlcmdlU3RhdGljSXJDb2xsZWN0b3JzID0gRmliZXJSZWYudW5zYWZlTWFrZTxcbiAgUmVhZG9ubHlBcnJheTxDb252ZXJnZVN0YXRpY0lyQ29sbGVjdG9yPlxuPihbXSlcblxuZXhwb3J0IGNvbnN0IGFwcGVuZENvbnZlcmdlU3RhdGljSXJDb2xsZWN0b3JzID0gKFxuICBjb2xsZWN0b3JzOiBSZWFkb25seUFycmF5PENvbnZlcmdlU3RhdGljSXJDb2xsZWN0b3I+LFxuKTogTGF5ZXIuTGF5ZXI8YW55LCBuZXZlciwgbmV2ZXI+ID0+XG4gIExheWVyLmZpYmVyUmVmTG9jYWxseVNjb3BlZFdpdGgoXG4gICAgY3VycmVudENvbnZlcmdlU3RhdGljSXJDb2xsZWN0b3JzLFxuICAgIChjdXJyZW50KSA9PiBbLi4uY3VycmVudCwgLi4uY29sbGVjdG9yc10sXG4gICkgYXMgTGF5ZXIuTGF5ZXI8YW55LCBuZXZlciwgbmV2ZXI+XG5cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7QUFBQSxTQUFTLFVBQVUsYUFBYTtBQWdCekIsSUFBTSxvQ0FBb0MsU0FBUyxXQUV4RCxDQUFDLENBQUM7QUFFRyxJQUFNLG1DQUFtQyxDQUM5QyxlQUVBLE1BQU07QUFBQSxFQUNKO0FBQUEsRUFDQSxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsR0FBRyxVQUFVO0FBQ3pDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
normalizeFieldPath
|
|
5
|
+
} from "./chunk-BCEO3MGD.js";
|
|
6
|
+
import {
|
|
7
|
+
fnv1a32,
|
|
8
|
+
stableStringify
|
|
9
|
+
} from "./chunk-6JRP52YT.js";
|
|
10
|
+
|
|
11
|
+
// ../logix-core/src/internal/state-trait/ir.ts
|
|
12
|
+
var normalizeFieldPaths = (paths) => {
|
|
13
|
+
if (!paths || paths.length === 0) return [];
|
|
14
|
+
const out = [];
|
|
15
|
+
for (const path of paths) {
|
|
16
|
+
const normalized = normalizeFieldPath(path);
|
|
17
|
+
if (normalized) out.push(normalized);
|
|
18
|
+
}
|
|
19
|
+
return out;
|
|
20
|
+
};
|
|
21
|
+
var normalizeFieldPath2 = (path) => path ? normalizeFieldPath(path) : void 0;
|
|
22
|
+
var toNodeKind = (step) => {
|
|
23
|
+
switch (step.kind) {
|
|
24
|
+
case "computed-update":
|
|
25
|
+
return "computed";
|
|
26
|
+
case "link-propagate":
|
|
27
|
+
return "link";
|
|
28
|
+
case "source-refresh":
|
|
29
|
+
return "source";
|
|
30
|
+
case "check-validate":
|
|
31
|
+
return "check";
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var findEntryForStep = (program, step) => {
|
|
35
|
+
const fieldPath = step.targetFieldPath;
|
|
36
|
+
if (!fieldPath) return void 0;
|
|
37
|
+
const kind = toNodeKind(step);
|
|
38
|
+
return program.entries.find(
|
|
39
|
+
(e) => e.fieldPath === fieldPath && (e.kind === kind || kind === "check" && e.kind === "check" || kind === "source" && e.kind === "source" || kind === "link" && e.kind === "link" || kind === "computed" && e.kind === "computed")
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
var getReadsForEntry = (entry) => {
|
|
43
|
+
if (!entry) return void 0;
|
|
44
|
+
if (entry.kind === "computed") {
|
|
45
|
+
return entry.meta.deps;
|
|
46
|
+
}
|
|
47
|
+
if (entry.kind === "source") {
|
|
48
|
+
return entry.meta.deps;
|
|
49
|
+
}
|
|
50
|
+
if (entry.kind === "link") {
|
|
51
|
+
const from = entry.meta.from;
|
|
52
|
+
return from ? [from] : [];
|
|
53
|
+
}
|
|
54
|
+
if (entry.kind === "check") {
|
|
55
|
+
const rules = entry.meta?.rules ?? {};
|
|
56
|
+
const out = [];
|
|
57
|
+
for (const name of Object.keys(rules)) {
|
|
58
|
+
const rule = rules[name];
|
|
59
|
+
const deps = rule?.deps;
|
|
60
|
+
if (deps) out.push(...deps);
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
return void 0;
|
|
65
|
+
};
|
|
66
|
+
var exportStaticIr = (params) => {
|
|
67
|
+
const moduleId = params.moduleId;
|
|
68
|
+
const version = params.version ?? "009";
|
|
69
|
+
const metaByField = /* @__PURE__ */ new Map();
|
|
70
|
+
for (const node of params.program.graph.nodes) {
|
|
71
|
+
const meta = node.meta;
|
|
72
|
+
if (!meta || typeof meta !== "object") continue;
|
|
73
|
+
const label = typeof meta.label === "string" ? meta.label : void 0;
|
|
74
|
+
const description = typeof meta.description === "string" ? meta.description : void 0;
|
|
75
|
+
const tags = Array.isArray(meta.tags) && meta.tags.every((t) => typeof t === "string") ? meta.tags : void 0;
|
|
76
|
+
const group = typeof meta.group === "string" ? meta.group : void 0;
|
|
77
|
+
const docsUrl = typeof meta.docsUrl === "string" ? meta.docsUrl : void 0;
|
|
78
|
+
const cacheGroup = typeof meta.cacheGroup === "string" ? meta.cacheGroup : void 0;
|
|
79
|
+
const annotationsRaw = meta.annotations;
|
|
80
|
+
const annotations = annotationsRaw && typeof annotationsRaw === "object" && !Array.isArray(annotationsRaw) ? annotationsRaw : void 0;
|
|
81
|
+
if (label || description || tags || group || docsUrl || cacheGroup || annotations) {
|
|
82
|
+
metaByField.set(node.id, {
|
|
83
|
+
label,
|
|
84
|
+
description,
|
|
85
|
+
tags,
|
|
86
|
+
group,
|
|
87
|
+
docsUrl,
|
|
88
|
+
cacheGroup,
|
|
89
|
+
annotations
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const nodes = params.program.plan.steps.map((step) => {
|
|
94
|
+
const kind = toNodeKind(step);
|
|
95
|
+
const entry = findEntryForStep(params.program, step);
|
|
96
|
+
const reads = normalizeFieldPaths(getReadsForEntry(entry));
|
|
97
|
+
const target = step.targetFieldPath;
|
|
98
|
+
const write = normalizeFieldPath2(target);
|
|
99
|
+
const writes = write ? [write] : [];
|
|
100
|
+
const meta = target ? metaByField.get(target) : void 0;
|
|
101
|
+
const base2 = {
|
|
102
|
+
nodeId: step.id,
|
|
103
|
+
kind,
|
|
104
|
+
reads,
|
|
105
|
+
writes: kind === "check" ? [] : writes,
|
|
106
|
+
meta
|
|
107
|
+
};
|
|
108
|
+
if (kind !== "check" && target && !write) {
|
|
109
|
+
return { ...base2, writesUnknown: true };
|
|
110
|
+
}
|
|
111
|
+
return base2;
|
|
112
|
+
});
|
|
113
|
+
const edges = params.program.graph.edges.map((edge) => ({
|
|
114
|
+
edgeId: edge.id,
|
|
115
|
+
from: edge.from,
|
|
116
|
+
to: edge.to,
|
|
117
|
+
kind: edge.kind
|
|
118
|
+
}));
|
|
119
|
+
const base = {
|
|
120
|
+
version,
|
|
121
|
+
moduleId,
|
|
122
|
+
nodes,
|
|
123
|
+
edges
|
|
124
|
+
};
|
|
125
|
+
const digest = `stir:${version}:${fnv1a32(stableStringify(base))}`;
|
|
126
|
+
return {
|
|
127
|
+
...base,
|
|
128
|
+
digest
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export {
|
|
133
|
+
exportStaticIr
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvaW50ZXJuYWwvc3RhdGUtdHJhaXQvaXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgU3RhdGVUcmFpdEVudHJ5LCBTdGF0ZVRyYWl0UGxhblN0ZXAsIFN0YXRlVHJhaXRQcm9ncmFtIH0gZnJvbSAnLi9tb2RlbC5qcydcbmltcG9ydCAqIGFzIENhbm9uaWNhbEZpZWxkUGF0aCBmcm9tICcuLi9maWVsZC1wYXRoLmpzJ1xuaW1wb3J0IHsgZm52MWEzMiwgc3RhYmxlU3RyaW5naWZ5IH0gZnJvbSAnLi4vZGlnZXN0LmpzJ1xuXG5leHBvcnQgdHlwZSBGaWVsZFBhdGggPSBDYW5vbmljYWxGaWVsZFBhdGguRmllbGRQYXRoXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGljSXJOb2RlIHtcbiAgcmVhZG9ubHkgbm9kZUlkOiBzdHJpbmdcbiAgcmVhZG9ubHkga2luZDogc3RyaW5nXG4gIHJlYWRvbmx5IHJlYWRzOiBSZWFkb25seUFycmF5PEZpZWxkUGF0aD5cbiAgcmVhZG9ubHkgd3JpdGVzOiBSZWFkb25seUFycmF5PEZpZWxkUGF0aD5cbiAgcmVhZG9ubHkgd3JpdGVzVW5rbm93bj86IGJvb2xlYW5cbiAgcmVhZG9ubHkgcG9saWN5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgcmVhZG9ubHkgbWV0YT86IHtcbiAgICByZWFkb25seSBsYWJlbD86IHN0cmluZ1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgcmVhZG9ubHkgdGFncz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICAgIHJlYWRvbmx5IGdyb3VwPzogc3RyaW5nXG4gICAgcmVhZG9ubHkgZG9jc1VybD86IHN0cmluZ1xuICAgIHJlYWRvbmx5IGNhY2hlR3JvdXA/OiBzdHJpbmdcbiAgICByZWFkb25seSBhbm5vdGF0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNJckVkZ2Uge1xuICByZWFkb25seSBlZGdlSWQ6IHN0cmluZ1xuICByZWFkb25seSBmcm9tOiBzdHJpbmdcbiAgcmVhZG9ubHkgdG86IHN0cmluZ1xuICByZWFkb25seSBraW5kOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNJciB7XG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZ1xuICByZWFkb25seSBtb2R1bGVJZDogc3RyaW5nXG4gIC8qKlxuICAgKiBcdTdBMzNcdTVCOUFcdTY0NThcdTg5ODFcdUZGMDhcdTc1MjhcdTRFOEUgZHJpZnQgZGV0ZWN0aW9uIC8gXHU1QkY5XHU2QkQ0XHVGRjA5XHVGRjFBXHU0RUM1XHU3NTMxXHU1RjUzXHU1MjREXHU1QkZDXHU1MUZBXHU3RUQzXHU2Nzg0XHU1MUIzXHU1QjlBXHUzMDAyXG4gICAqL1xuICByZWFkb25seSBkaWdlc3Q6IHN0cmluZ1xuICByZWFkb25seSBub2RlczogUmVhZG9ubHlBcnJheTxTdGF0aWNJck5vZGU+XG4gIHJlYWRvbmx5IGVkZ2VzOiBSZWFkb25seUFycmF5PFN0YXRpY0lyRWRnZT5cbiAgcmVhZG9ubHkgY29uZmxpY3RzPzogUmVhZG9ubHlBcnJheTx1bmtub3duPlxufVxuXG5jb25zdCBub3JtYWxpemVGaWVsZFBhdGhzID0gKHBhdGhzOiBSZWFkb25seUFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQpOiBSZWFkb25seUFycmF5PEZpZWxkUGF0aD4gPT4ge1xuICBpZiAoIXBhdGhzIHx8IHBhdGhzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFtdXG4gIGNvbnN0IG91dDogQXJyYXk8RmllbGRQYXRoPiA9IFtdXG4gIGZvciAoY29uc3QgcGF0aCBvZiBwYXRocykge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSBDYW5vbmljYWxGaWVsZFBhdGgubm9ybWFsaXplRmllbGRQYXRoKHBhdGgpXG4gICAgaWYgKG5vcm1hbGl6ZWQpIG91dC5wdXNoKG5vcm1hbGl6ZWQpXG4gIH1cbiAgcmV0dXJuIG91dFxufVxuXG5jb25zdCBub3JtYWxpemVGaWVsZFBhdGggPSAocGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogRmllbGRQYXRoIHwgdW5kZWZpbmVkID0+XG4gIHBhdGggPyBDYW5vbmljYWxGaWVsZFBhdGgubm9ybWFsaXplRmllbGRQYXRoKHBhdGgpIDogdW5kZWZpbmVkXG5cbmNvbnN0IHRvTm9kZUtpbmQgPSAoc3RlcDogU3RhdGVUcmFpdFBsYW5TdGVwKTogc3RyaW5nID0+IHtcbiAgc3dpdGNoIChzdGVwLmtpbmQpIHtcbiAgICBjYXNlICdjb21wdXRlZC11cGRhdGUnOlxuICAgICAgcmV0dXJuICdjb21wdXRlZCdcbiAgICBjYXNlICdsaW5rLXByb3BhZ2F0ZSc6XG4gICAgICByZXR1cm4gJ2xpbmsnXG4gICAgY2FzZSAnc291cmNlLXJlZnJlc2gnOlxuICAgICAgcmV0dXJuICdzb3VyY2UnXG4gICAgY2FzZSAnY2hlY2stdmFsaWRhdGUnOlxuICAgICAgcmV0dXJuICdjaGVjaydcbiAgfVxufVxuXG5jb25zdCBmaW5kRW50cnlGb3JTdGVwID0gKFxuICBwcm9ncmFtOiBTdGF0ZVRyYWl0UHJvZ3JhbTxhbnk+LFxuICBzdGVwOiBTdGF0ZVRyYWl0UGxhblN0ZXAsXG4pOiBTdGF0ZVRyYWl0RW50cnk8YW55LCBzdHJpbmc+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgZmllbGRQYXRoID0gc3RlcC50YXJnZXRGaWVsZFBhdGhcbiAgaWYgKCFmaWVsZFBhdGgpIHJldHVybiB1bmRlZmluZWRcbiAgY29uc3Qga2luZCA9IHRvTm9kZUtpbmQoc3RlcClcbiAgcmV0dXJuIHByb2dyYW0uZW50cmllcy5maW5kKFxuICAgIChlKSA9PlxuICAgICAgZS5maWVsZFBhdGggPT09IGZpZWxkUGF0aCAmJlxuICAgICAgKGUua2luZCA9PT0ga2luZCB8fFxuICAgICAgICAoa2luZCA9PT0gJ2NoZWNrJyAmJiBlLmtpbmQgPT09ICdjaGVjaycpIHx8XG4gICAgICAgIChraW5kID09PSAnc291cmNlJyAmJiBlLmtpbmQgPT09ICdzb3VyY2UnKSB8fFxuICAgICAgICAoa2luZCA9PT0gJ2xpbmsnICYmIGUua2luZCA9PT0gJ2xpbmsnKSB8fFxuICAgICAgICAoa2luZCA9PT0gJ2NvbXB1dGVkJyAmJiBlLmtpbmQgPT09ICdjb21wdXRlZCcpKSxcbiAgKVxufVxuXG5jb25zdCBnZXRSZWFkc0ZvckVudHJ5ID0gKGVudHJ5OiBTdGF0ZVRyYWl0RW50cnk8YW55LCBzdHJpbmc+IHwgdW5kZWZpbmVkKTogUmVhZG9ubHlBcnJheTxzdHJpbmc+IHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFlbnRyeSkgcmV0dXJuIHVuZGVmaW5lZFxuICBpZiAoZW50cnkua2luZCA9PT0gJ2NvbXB1dGVkJykge1xuICAgIHJldHVybiAoZW50cnkubWV0YSBhcyBhbnkpLmRlcHMgYXMgUmVhZG9ubHlBcnJheTxzdHJpbmc+IHwgdW5kZWZpbmVkXG4gIH1cbiAgaWYgKGVudHJ5LmtpbmQgPT09ICdzb3VyY2UnKSB7XG4gICAgcmV0dXJuIChlbnRyeS5tZXRhIGFzIGFueSkuZGVwcyBhcyBSZWFkb25seUFycmF5PHN0cmluZz4gfCB1bmRlZmluZWRcbiAgfVxuICBpZiAoZW50cnkua2luZCA9PT0gJ2xpbmsnKSB7XG4gICAgY29uc3QgZnJvbSA9IChlbnRyeS5tZXRhIGFzIGFueSkuZnJvbSBhcyBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICByZXR1cm4gZnJvbSA/IFtmcm9tXSA6IFtdXG4gIH1cbiAgaWYgKGVudHJ5LmtpbmQgPT09ICdjaGVjaycpIHtcbiAgICBjb25zdCBydWxlcyA9ICgoZW50cnkubWV0YSBhcyBhbnkpPy5ydWxlcyA/PyB7fSkgYXMgUmVjb3JkPHN0cmluZywgYW55PlxuICAgIGNvbnN0IG91dDogQXJyYXk8c3RyaW5nPiA9IFtdXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKHJ1bGVzKSkge1xuICAgICAgY29uc3QgcnVsZSA9IHJ1bGVzW25hbWVdXG4gICAgICBjb25zdCBkZXBzID0gcnVsZT8uZGVwcyBhcyBSZWFkb25seUFycmF5PHN0cmluZz4gfCB1bmRlZmluZWRcbiAgICAgIGlmIChkZXBzKSBvdXQucHVzaCguLi5kZXBzKVxuICAgIH1cbiAgICByZXR1cm4gb3V0XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5leHBvcnQgY29uc3QgZXhwb3J0U3RhdGljSXIgPSAocGFyYW1zOiB7XG4gIHJlYWRvbmx5IHByb2dyYW06IFN0YXRlVHJhaXRQcm9ncmFtPGFueT5cbiAgcmVhZG9ubHkgbW9kdWxlSWQ6IHN0cmluZ1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nXG59KTogU3RhdGljSXIgPT4ge1xuICBjb25zdCBtb2R1bGVJZCA9IHBhcmFtcy5tb2R1bGVJZFxuICBjb25zdCB2ZXJzaW9uID0gcGFyYW1zLnZlcnNpb24gPz8gJzAwOSdcblxuICBjb25zdCBtZXRhQnlGaWVsZCA9IG5ldyBNYXA8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nXG4gICAgICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgICAgcmVhZG9ubHkgdGFncz86IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICAgICAgcmVhZG9ubHkgZ3JvdXA/OiBzdHJpbmdcbiAgICAgIHJlYWRvbmx5IGRvY3NVcmw/OiBzdHJpbmdcbiAgICAgIHJlYWRvbmx5IGNhY2hlR3JvdXA/OiBzdHJpbmdcbiAgICAgIHJlYWRvbmx5IGFubm90YXRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgICB9XG4gID4oKVxuICBmb3IgKGNvbnN0IG5vZGUgb2YgcGFyYW1zLnByb2dyYW0uZ3JhcGgubm9kZXMpIHtcbiAgICBjb25zdCBtZXRhID0gbm9kZS5tZXRhIGFzIGFueVxuICAgIGlmICghbWV0YSB8fCB0eXBlb2YgbWV0YSAhPT0gJ29iamVjdCcpIGNvbnRpbnVlXG4gICAgY29uc3QgbGFiZWwgPSB0eXBlb2YgbWV0YS5sYWJlbCA9PT0gJ3N0cmluZycgPyBtZXRhLmxhYmVsIDogdW5kZWZpbmVkXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSB0eXBlb2YgbWV0YS5kZXNjcmlwdGlvbiA9PT0gJ3N0cmluZycgPyBtZXRhLmRlc2NyaXB0aW9uIDogdW5kZWZpbmVkXG4gICAgY29uc3QgdGFncyA9XG4gICAgICBBcnJheS5pc0FycmF5KG1ldGEudGFncykgJiYgbWV0YS50YWdzLmV2ZXJ5KCh0OiB1bmtub3duKSA9PiB0eXBlb2YgdCA9PT0gJ3N0cmluZycpXG4gICAgICAgID8gKG1ldGEudGFncyBhcyBSZWFkb25seUFycmF5PHN0cmluZz4pXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgY29uc3QgZ3JvdXAgPSB0eXBlb2YgbWV0YS5ncm91cCA9PT0gJ3N0cmluZycgPyBtZXRhLmdyb3VwIDogdW5kZWZpbmVkXG4gICAgY29uc3QgZG9jc1VybCA9IHR5cGVvZiBtZXRhLmRvY3NVcmwgPT09ICdzdHJpbmcnID8gbWV0YS5kb2NzVXJsIDogdW5kZWZpbmVkXG4gICAgY29uc3QgY2FjaGVHcm91cCA9IHR5cGVvZiBtZXRhLmNhY2hlR3JvdXAgPT09ICdzdHJpbmcnID8gbWV0YS5jYWNoZUdyb3VwIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBhbm5vdGF0aW9uc1JhdyA9IG1ldGEuYW5ub3RhdGlvbnNcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9XG4gICAgICBhbm5vdGF0aW9uc1JhdyAmJiB0eXBlb2YgYW5ub3RhdGlvbnNSYXcgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGFubm90YXRpb25zUmF3KVxuICAgICAgICA/IChhbm5vdGF0aW9uc1JhdyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgICAgOiB1bmRlZmluZWRcblxuICAgIGlmIChsYWJlbCB8fCBkZXNjcmlwdGlvbiB8fCB0YWdzIHx8IGdyb3VwIHx8IGRvY3NVcmwgfHwgY2FjaGVHcm91cCB8fCBhbm5vdGF0aW9ucykge1xuICAgICAgbWV0YUJ5RmllbGQuc2V0KG5vZGUuaWQsIHtcbiAgICAgICAgbGFiZWwsXG4gICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICB0YWdzLFxuICAgICAgICBncm91cCxcbiAgICAgICAgZG9jc1VybCxcbiAgICAgICAgY2FjaGVHcm91cCxcbiAgICAgICAgYW5ub3RhdGlvbnMsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG5vZGVzOiBBcnJheTxTdGF0aWNJck5vZGU+ID0gcGFyYW1zLnByb2dyYW0ucGxhbi5zdGVwcy5tYXAoKHN0ZXApID0+IHtcbiAgICBjb25zdCBraW5kID0gdG9Ob2RlS2luZChzdGVwKVxuICAgIGNvbnN0IGVudHJ5ID0gZmluZEVudHJ5Rm9yU3RlcChwYXJhbXMucHJvZ3JhbSwgc3RlcClcbiAgICBjb25zdCByZWFkcyA9IG5vcm1hbGl6ZUZpZWxkUGF0aHMoZ2V0UmVhZHNGb3JFbnRyeShlbnRyeSkpXG5cbiAgICBjb25zdCB0YXJnZXQgPSBzdGVwLnRhcmdldEZpZWxkUGF0aFxuICAgIGNvbnN0IHdyaXRlID0gbm9ybWFsaXplRmllbGRQYXRoKHRhcmdldClcbiAgICBjb25zdCB3cml0ZXMgPSB3cml0ZSA/IFt3cml0ZV0gOiBbXVxuXG4gICAgY29uc3QgbWV0YSA9IHRhcmdldCA/IG1ldGFCeUZpZWxkLmdldCh0YXJnZXQpIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBiYXNlOiBTdGF0aWNJck5vZGUgPSB7XG4gICAgICBub2RlSWQ6IHN0ZXAuaWQsXG4gICAgICBraW5kLFxuICAgICAgcmVhZHMsXG4gICAgICB3cml0ZXM6IGtpbmQgPT09ICdjaGVjaycgPyBbXSA6IHdyaXRlcyxcbiAgICAgIG1ldGEsXG4gICAgfVxuXG4gICAgaWYgKGtpbmQgIT09ICdjaGVjaycgJiYgdGFyZ2V0ICYmICF3cml0ZSkge1xuICAgICAgcmV0dXJuIHsgLi4uYmFzZSwgd3JpdGVzVW5rbm93bjogdHJ1ZSB9XG4gICAgfVxuICAgIHJldHVybiBiYXNlXG4gIH0pXG5cbiAgY29uc3QgZWRnZXM6IEFycmF5PFN0YXRpY0lyRWRnZT4gPSBwYXJhbXMucHJvZ3JhbS5ncmFwaC5lZGdlcy5tYXAoKGVkZ2UpID0+ICh7XG4gICAgZWRnZUlkOiBlZGdlLmlkLFxuICAgIGZyb206IGVkZ2UuZnJvbSxcbiAgICB0bzogZWRnZS50byxcbiAgICBraW5kOiBlZGdlLmtpbmQsXG4gIH0pKVxuXG4gIGNvbnN0IGJhc2UgPSB7XG4gICAgdmVyc2lvbixcbiAgICBtb2R1bGVJZCxcbiAgICBub2RlcyxcbiAgICBlZGdlcyxcbiAgfSBhcyBjb25zdFxuXG4gIGNvbnN0IGRpZ2VzdCA9IGBzdGlyOiR7dmVyc2lvbn06JHtmbnYxYTMyKHN0YWJsZVN0cmluZ2lmeShiYXNlKSl9YFxuXG4gIHJldHVybiB7XG4gICAgLi4uYmFzZSxcbiAgICBkaWdlc3QsXG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7O0FBMkNBLElBQU0sc0JBQXNCLENBQUMsVUFBdUU7QUFDbEcsTUFBSSxDQUFDLFNBQVMsTUFBTSxXQUFXLEVBQUcsUUFBTyxDQUFDO0FBQzFDLFFBQU0sTUFBd0IsQ0FBQztBQUMvQixhQUFXLFFBQVEsT0FBTztBQUN4QixVQUFNLGFBQWdDLG1CQUFtQixJQUFJO0FBQzdELFFBQUksV0FBWSxLQUFJLEtBQUssVUFBVTtBQUFBLEVBQ3JDO0FBQ0EsU0FBTztBQUNUO0FBRUEsSUFBTUEsc0JBQXFCLENBQUMsU0FDMUIsT0FBMEIsbUJBQW1CLElBQUksSUFBSTtBQUV2RCxJQUFNLGFBQWEsQ0FBQyxTQUFxQztBQUN2RCxVQUFRLEtBQUssTUFBTTtBQUFBLElBQ2pCLEtBQUs7QUFDSCxhQUFPO0FBQUEsSUFDVCxLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1QsS0FBSztBQUNILGFBQU87QUFBQSxJQUNULEtBQUs7QUFDSCxhQUFPO0FBQUEsRUFDWDtBQUNGO0FBRUEsSUFBTSxtQkFBbUIsQ0FDdkIsU0FDQSxTQUM2QztBQUM3QyxRQUFNLFlBQVksS0FBSztBQUN2QixNQUFJLENB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
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// @logix/core subpath bundles for @logix/sandbox
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
isDevEnv
|
|
5
|
+
} from "./chunk-GP37MEGJ.js";
|
|
6
|
+
|
|
7
|
+
// ../logix-core/src/Resource.ts
|
|
8
|
+
import { Context, Layer } from "../effect.js";
|
|
9
|
+
var stableStringify = (value) => {
|
|
10
|
+
const seen = /* @__PURE__ */ new WeakSet();
|
|
11
|
+
const encode = (input) => {
|
|
12
|
+
if (input === null) return null;
|
|
13
|
+
if (typeof input === "string" || typeof input === "number" || typeof input === "boolean") {
|
|
14
|
+
return input;
|
|
15
|
+
}
|
|
16
|
+
if (typeof input === "bigint") return input.toString();
|
|
17
|
+
if (typeof input === "undefined") return "__undefined__";
|
|
18
|
+
if (typeof input === "symbol") return `__symbol__:${String(input)}`;
|
|
19
|
+
if (typeof input === "function") return "__function__";
|
|
20
|
+
if (Array.isArray(input)) {
|
|
21
|
+
return input.map((v) => encode(v));
|
|
22
|
+
}
|
|
23
|
+
if (input instanceof Date) {
|
|
24
|
+
return `__date__:${input.toISOString()}`;
|
|
25
|
+
}
|
|
26
|
+
if (input instanceof Error) {
|
|
27
|
+
return {
|
|
28
|
+
_tag: "Error",
|
|
29
|
+
name: input.name,
|
|
30
|
+
message: input.message
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
if (input && typeof input === "object") {
|
|
34
|
+
const obj = input;
|
|
35
|
+
if (seen.has(obj)) return "__cycle__";
|
|
36
|
+
seen.add(obj);
|
|
37
|
+
const record = input;
|
|
38
|
+
const keys = Object.keys(record).sort();
|
|
39
|
+
const out = {};
|
|
40
|
+
for (const k of keys) {
|
|
41
|
+
out[k] = encode(record[k]);
|
|
42
|
+
}
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
return String(input);
|
|
46
|
+
};
|
|
47
|
+
try {
|
|
48
|
+
return JSON.stringify(encode(value));
|
|
49
|
+
} catch {
|
|
50
|
+
return String(value);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var keyHash = (key) => stableStringify(key);
|
|
54
|
+
var Snapshot = {
|
|
55
|
+
idle: () => ({
|
|
56
|
+
status: "idle",
|
|
57
|
+
keyHash: void 0,
|
|
58
|
+
data: void 0,
|
|
59
|
+
error: void 0
|
|
60
|
+
}),
|
|
61
|
+
loading: (params) => ({
|
|
62
|
+
status: "loading",
|
|
63
|
+
keyHash: params.keyHash,
|
|
64
|
+
data: void 0,
|
|
65
|
+
error: void 0
|
|
66
|
+
}),
|
|
67
|
+
success: (params) => ({
|
|
68
|
+
status: "success",
|
|
69
|
+
keyHash: params.keyHash,
|
|
70
|
+
data: params.data,
|
|
71
|
+
error: void 0
|
|
72
|
+
}),
|
|
73
|
+
error: (params) => ({
|
|
74
|
+
status: "error",
|
|
75
|
+
keyHash: params.keyHash,
|
|
76
|
+
data: void 0,
|
|
77
|
+
error: params.error
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
var ResourceRegistryTag = class extends Context.Tag(
|
|
81
|
+
"@logix/core/ResourceRegistry"
|
|
82
|
+
)() {
|
|
83
|
+
};
|
|
84
|
+
var internal = {
|
|
85
|
+
ResourceRegistryTag
|
|
86
|
+
};
|
|
87
|
+
var make = (spec) => spec;
|
|
88
|
+
var layer = (specs) => Layer.succeed(
|
|
89
|
+
ResourceRegistryTag,
|
|
90
|
+
(() => {
|
|
91
|
+
const map = /* @__PURE__ */ new Map();
|
|
92
|
+
for (const spec of specs) {
|
|
93
|
+
if (isDevEnv() && map.has(spec.id) && map.get(spec.id) !== spec) {
|
|
94
|
+
throw new Error(
|
|
95
|
+
`[Resource.layer] Duplicate resource id "${spec.id}" detected in the same runtime scope`
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
map.set(spec.id, spec);
|
|
99
|
+
}
|
|
100
|
+
return { specs: map };
|
|
101
|
+
})()
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
export {
|
|
105
|
+
keyHash,
|
|
106
|
+
Snapshot,
|
|
107
|
+
ResourceRegistryTag,
|
|
108
|
+
internal,
|
|
109
|
+
make,
|
|
110
|
+
layer
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vbG9naXgtY29yZS9zcmMvUmVzb3VyY2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8vIFJlc291cmNlIFx1NkEyMVx1NTc1N1x1RkYxQVxuLy8gLSBcdTVCOUFcdTRFNDlcdTkwM0JcdThGOTFcdThENDRcdTZFOTBcdTg5QzRcdTY4M0MgUmVzb3VyY2VTcGVjXHVGRjFCXG4vLyAtIFx1OTAxQVx1OEZDNyBSZXNvdXJjZS5sYXllciBcdTU3MjggUnVudGltZSBFbnYgXHU0RTJEXHU2Q0U4XHU1MThDXHU4RDQ0XHU2RTkwXHU4ODY4XHVGRjFCXG4vLyAtIFx1NTE4NVx1OTBFOFx1OTAxQVx1OEZDNyBSZXNvdXJjZVJlZ2lzdHJ5VGFnIFx1NjI3Rlx1OEY3RFx1NUY1M1x1NTI0RFx1NEY1Q1x1NzUyOFx1NTdERlx1NTE4NVx1NTNFRlx1NzUyOFx1NzY4NFx1OEQ0NFx1NkU5MFx1OTZDNlx1NTQwOFx1MzAwMlxuLy9cbi8vIFx1OEJCRVx1OEJBMVx1N0VBNlx1Njc1Rlx1RkYwOFx1ODlDMSBzcGVjcy8wMDAtbW9kdWxlLXRyYWl0cy1ydW50aW1lL3JlZmVyZW5jZXMvcmVzb3VyY2UtYW5kLXF1ZXJ5Lm1kXHVGRjA5XHVGRjFBXG4vLyAtIFN0YXRlVHJhaXQgLyBNb2R1bGUgXHU1NkZFXHU3RUI4XHU1QzQyXHU1M0VBXHU3N0U1XHU5MDUzIHJlc291cmNlSWQgKyBrZXkgXHU4OUM0XHU1MjE5XHVGRjBDXHU0RTBEXHU3NkY0XHU2M0E1XHU2M0E1XHU4OUU2IFJlc291cmNlU3BlYyBcdTdDN0JcdTU3OEJcdUZGMUJcbi8vIC0gUmVzb3VyY2VTcGVjIFx1NEZERFx1NjMwMSBFZmZlY3QtTmF0aXZlXHVGRjFBbG9hZCBcdTRGN0ZcdTc1MjggRWZmZWN0LkVmZmVjdCBcdTg4NjhcdThGQkVcdUZGMUJcbi8vIC0gUmVzb3VyY2UubGF5ZXIgXHU1NzI4XHU1MzU1XHU0RTJBIFJ1bnRpbWUgXHU0RjVDXHU3NTI4XHU1N0RGXHU1MTg1XHU2Q0U4XHU1MThDXHU0RTAwXHU3RUM0XHU4RDQ0XHU2RTkwXHVGRjBDXHU1RTc2XHU1NzI4IGRldiBcdTRFMEJcdTVCRjlcdTkxQ0RcdTU5MEQgaWQgXHU1MDVBXHU1N0ZBXHU2NzJDXHU2ODIxXHU5QThDXHUzMDAyXG5cbmltcG9ydCB7IENvbnRleHQsIEVmZmVjdCwgTGF5ZXIsIFNjaGVtYSB9IGZyb20gXCJlZmZlY3RcIlxuaW1wb3J0IHsgaXNEZXZFbnYgfSBmcm9tIFwiLi9pbnRlcm5hbC9ydW50aW1lL2NvcmUvZW52LmpzXCJcblxuLyoqXG4gKiBSZXNvdXJjZVNwZWMgXHU2M0NGXHU4RkYwXHUyMDFDXHU0RTAwXHU0RTJBXHU5MDNCXHU4RjkxXHU4RDQ0XHU2RTkwXHU5NTdGXHU0RUMwXHU0RTQ4XHU2ODM3XHUzMDAxXHU1OTgyXHU0RjU1XHU4QkJGXHU5NUVFXHUyMDFEXHUzMDAyXG4gKlxuICogLSBLZXk6IFx1NzUyOCBTY2hlbWEgXHU2M0NGXHU4RkYwXHU3Njg0IGtleSBcdTVGNjJcdTcyQjZcdUZGMDhcdTdDN0JcdTRGM0NcdTVGM0FcdTdDN0JcdTU3OEIgcXVlcnlLZXlcdUZGMDlcdUZGMUJcbiAqIC0gbG9hZDogXHU1N0ZBXHU0RThFIGtleSBcdThCQkZcdTk1RUVcdThENDRcdTZFOTBcdTc2ODQgRWZmZWN0XHVGRjFCXG4gKiAtIG1ldGE6IFx1OTg4NFx1NzU1OVx1NjI2OVx1NUM1NVx1NEY0RFx1RkYwOGNhY2hlR3JvdXAvXHU2M0NGXHU4RkYwXHU0RkUxXHU2MDZGXHU3QjQ5XHVGRjA5XHUzMDAyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VTcGVjPEtleSwgT3V0LCBFcnIsIEVudj4ge1xuICByZWFkb25seSBpZDogc3RyaW5nXG4gIHJlYWRvbmx5IGtleVNjaGVtYTogU2NoZW1hLlNjaGVtYTxLZXksIGFueT5cbiAgcmVhZG9ubHkgbG9hZDogKGtleTogS2V5KSA9PiBFZmZlY3QuRWZmZWN0PE91dCwgRXJyLCBFbnY+XG4gIHJlYWRvbmx5IG1ldGE/OiB7XG4gICAgcmVhZG9ubHkgY2FjaGVHcm91cD86IHN0cmluZ1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgcmVhZG9ubHkgW2s6IHN0cmluZ106IHVua25vd25cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBBbnlSZXNvdXJjZVNwZWMgPSBSZXNvdXJjZVNwZWM8YW55LCBhbnksIGFueSwgYW55PlxuXG5leHBvcnQgdHlwZSBSZXNvdXJjZVN0YXR1cyA9IFwiaWRsZVwiIHwgXCJsb2FkaW5nXCIgfCBcInN1Y2Nlc3NcIiB8IFwiZXJyb3JcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlU25hcHNob3Q8RGF0YSA9IHVua25vd24sIEVyciA9IHVua25vd24+IHtcbiAgcmVhZG9ubHkgc3RhdHVzOiBSZXNvdXJjZVN0YXR1c1xuICByZWFkb25seSBrZXlIYXNoPzogc3RyaW5nXG4gIHJlYWRvbmx5IGRhdGE/OiBEYXRhXG4gIHJlYWRvbmx5IGVycm9yPzogRXJyXG59XG5cbmNvbnN0IHN0YWJsZVN0cmluZ2lmeSA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHNlZW4gPSBuZXcgV2Vha1NldDxvYmplY3Q+KClcbiAgY29uc3QgZW5jb2RlID0gKGlucHV0OiB1bmtub3duKTogdW5rbm93biA9PiB7XG4gICAgaWYgKGlucHV0ID09PSBudWxsKSByZXR1cm4gbnVsbFxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBpbnB1dCA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgdHlwZW9mIGlucHV0ID09PSBcIm51bWJlclwiIHx8XG4gICAgICB0eXBlb2YgaW5wdXQgPT09IFwiYm9vbGVhblwiXG4gICAgKSB7XG4gICAgICByZXR1cm4gaW5wdXRcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJiaWdpbnRcIikgcmV0dXJuIGlucHV0LnRvU3RyaW5nKClcbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gXCJfX3VuZGVmaW5lZF9fXCJcbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcInN5bWJvbFwiKSByZXR1cm4gYF9fc3ltYm9sX186JHtTdHJpbmcoaW5wdXQpfWBcbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBcIl9fZnVuY3Rpb25fX1wiXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBpbnB1dC5tYXAoKHYpID0+IGVuY29kZSh2KSlcbiAgICB9XG4gICAgaWYgKGlucHV0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIGBfX2RhdGVfXzoke2lucHV0LnRvSVNPU3RyaW5nKCl9YFxuICAgIH1cbiAgICBpZiAoaW5wdXQgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgX3RhZzogXCJFcnJvclwiLFxuICAgICAgICBuYW1lOiBpbnB1dC5uYW1lLFxuICAgICAgICBtZXNzYWdlOiBpbnB1dC5tZXNzYWdlLFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW5wdXQgJiYgdHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBjb25zdCBvYmogPSBpbnB1dCBhcyBvYmplY3RcbiAgICAgIGlmIChzZWVuLmhhcyhvYmopKSByZXR1cm4gXCJfX2N5Y2xlX19cIlxuICAgICAgc2Vlbi5hZGQob2JqKVxuXG4gICAgICBjb25zdCByZWNvcmQgPSBpbnB1dCBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlY29yZCkuc29ydCgpXG4gICAgICBjb25zdCBvdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cbiAgICAgIGZvciAoY29uc3QgayBvZiBrZXlzKSB7XG4gICAgICAgIG91dFtrXSA9IGVuY29kZShyZWNvcmRba10pXG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0XG4gICAgfVxuICAgIHJldHVybiBTdHJpbmcoaW5wdXQpXG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShlbmNvZGUodmFsdWUpKVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBrZXlIYXNoID0gKGtleTogdW5rbm93bik6IHN0cmluZyA9PiBzdGFibGVTdHJpbmdpZnkoa2V5KVxuXG5leHBvcnQgY29uc3QgU25hcHNob3QgPSB7XG4gIGlkbGU6IDxEYXRhID0gbmV2ZXIsIEVyciA9IG5ldmVyPigpOiBSZXNvdXJjZVNuYXBzaG90PERhdGEsIEVycj4gPT4gKHtcbiAgICBzdGF0dXM6IFwiaWRsZVwiLFxuICAgIGtleUhhc2g6IHVuZGVmaW5lZCxcbiAgICBkYXRhOiB1bmRlZmluZWQsXG4gICAgZXJyb3I6IHVuZGVmaW5lZCxcbiAgfSksXG4gIGxvYWRpbmc6IDxEYXRhID0gbmV2ZXIsIEVyciA9IG5ldmVyPihwYXJhbXM6IHtcbiAgICByZWFkb25seSBrZXlIYXNoOiBzdHJpbmdcbiAgfSk6IFJlc291cmNlU25hcHNob3Q8RGF0YSwgRXJyPiA9PiAoe1xuICAgIHN0YXR1czogXCJsb2FkaW5nXCIsXG4gICAga2V5SGFzaDogcGFyYW1zLmtleUhhc2gsXG4gICAgZGF0YTogdW5kZWZpbmVkLFxuICAgIGVycm9yOiB1bmRlZmluZWQsXG4gIH0pLFxuICBzdWNjZXNzOiA8RGF0YT4ocGFyYW1zOiB7XG4gICAgcmVhZG9ubHkga2V5SGFzaDogc3RyaW5nXG4gICAgcmVhZG9ubHkgZGF0YTogRGF0YVxuICB9KTogUmVzb3VyY2VTbmFwc2hvdDxEYXRhLCBuZXZlcj4gPT4gKHtcbiAgICBzdGF0dXM6IFwic3VjY2Vzc1wiLFxuICAgIGtleUhhc2g6IHBhcmFtcy5rZXlIYXNoLFxuICAgIGRhdGE6IHBhcmFtcy5kYXRhLFxuICAgIGVycm9yOiB1bmRlZmluZWQsXG4gIH0pLFxuICBlcnJvcjogPEVycj4ocGFyYW1zOiB7XG4gICAgcmVhZG9ubHkga2V5SGFzaDogc3RyaW5nXG4gICAgcmVhZG9ubHkgZXJyb3I6IEVyclxuICB9KTogUmVzb3VyY2VTbmFwc2hvdDxuZXZlciwgRXJyPiA9PiAoe1xuICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgIGtleUhhc2g6IHBhcmFtcy5rZXlIYXNoLFxuICAgIGRhdGE6IHVuZGVmaW5lZCxcbiAgICBlcnJvcjogcGFyYW1zLmVycm9yLFxuICB9KSxcbn0gYXMgY29uc3RcblxuLyoqXG4gKiBSZXNvdXJjZVJlZ2lzdHJ5XHVGRjFBXG4gKiAtIFx1NEY1Q1x1NEUzQSBFbnYgXHU0RTJEXHU3Njg0XHU0RTAwXHU5ODc5IFNlcnZpY2VcdUZGMENcdTdFRjRcdTYyQTRcdTVGNTNcdTUyNERcdTRGNUNcdTc1MjhcdTU3REZcdTUxODVcdTc2ODRcdThENDRcdTZFOTBcdTg5QzRcdTY4M0NcdTg4NjhcdUZGMUJcbiAqIC0ga2V5IFx1NEUzQVx1OTAzQlx1OEY5MVx1OEQ0NFx1NkU5MCBJRFx1RkYwOFx1NTk4MiBcInVzZXIvcHJvZmlsZVwiXHVGRjA5XHUzMDAyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VSZWdpc3RyeSB7XG4gIHJlYWRvbmx5IHNwZWNzOiBSZWFkb25seU1hcDxzdHJpbmcsIEFueVJlc291cmNlU3BlYz5cbn1cblxuZXhwb3J0IGNsYXNzIFJlc291cmNlUmVnaXN0cnlUYWcgZXh0ZW5kcyBDb250ZXh0LlRhZyhcbiAgXCJAbG9naXgvY29yZS9SZXNvdXJjZVJlZ2lzdHJ5XCIsXG4pPFJlc291cmNlUmVnaXN0cnlUYWcsIFJlc291cmNlUmVnaXN0cnk+KCkge31cblxuLyoqXG4gKiBpbnRlcm5hbFx1RkYxQVx1NEVDNVx1NEY5Qlx1NTE4NVx1OTBFOFx1NkEyMVx1NTc1N1x1RkYwOFx1NTk4MiBRdWVyeSBcdTRFMkRcdTk1RjRcdTRFRjZcdUZGMDlcdTRGN0ZcdTc1MjhcdTc2ODQgVGFnIFx1NUJGQ1x1NTFGQVx1MzAwMlxuICogLSBcdTRFMERcdTU3MjggaW5kZXgudHMgXHU1MDVBXHU1MThEXHU2QjIxIHJlLWV4cG9ydFx1RkYwQ1x1OTA3Rlx1NTE0RFx1NzZGNFx1NjNBNVx1NjZCNFx1OTczMlx1N0VEOVx1NjcwMFx1N0VDOFx1NzUyOFx1NjIzN1x1RkYxQlxuICogLSBcdTZENEJcdThCRDVcdTRFMEVcdTUxODVcdTkwRThcdThGRDBcdTg4NENcdTY1RjZcdTRFRTNcdTc4MDFcdTUzRUZcdTkwMUFcdThGQzcgYFJlc291cmNlLmludGVybmFsLlJlc291cmNlUmVnaXN0cnlUYWdgIFx1OEJCRlx1OTVFRVx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgaW50ZXJuYWwgPSB7XG4gIFJlc291cmNlUmVnaXN0cnlUYWcsXG59XG5cbi8qKlxuICogUmVzb3VyY2UuU3BlY1x1RkYxQVxuICogLSBSZXNvdXJjZVNwZWMgXHU3Njg0XHU3QzdCXHU1NzhCXHU1MjJCXHU1NDBEXHVGRjBDXHU2NUI5XHU0RkJGXHU1NzI4XHU4QzAzXHU3NTI4XHU2NUI5XHU0RUUzXHU3ODAxXHU0RTJEXHU1RjE1XHU3NTI4XHVGRjFCXG4gKiAtIFx1NUU5NVx1NUM0Mlx1NEVDRFx1NzEzNlx1NEY3Rlx1NzUyOCBSZXNvdXJjZVNwZWMgXHU2M0E1XHU1M0UzXHUzMDAyXG4gKi9cbmV4cG9ydCB0eXBlIFNwZWM8S2V5LCBPdXQsIEVyciwgRW52PiA9IFJlc291cmNlU3BlYzxLZXksIE91dCwgRXJyLCBFbnY+XG5cbi8qKlxuICogbWFrZVx1RkYxQVxuICogLSBcdTc1MjhcdTRFOEVcdTVCOUFcdTRFNDlcdTRFMDBcdTY3NjFcdTkwM0JcdThGOTFcdThENDRcdTZFOTBcdTg5QzRcdTY4M0NcdUZGMUJcbiAqIC0gXHU3NkVFXHU1MjREXHU0RUM1XHU1MDVBXHU3QjgwXHU1MzU1IGlkZW50aXR5XHVGRjBDXHU0RTNCXHU4OTgxXHU2MjdGXHU4RjdEXHU3QzdCXHU1NzhCXHU2M0E4XHU1QkZDXHU0RTBFXHU4QkVEXHU0RTQ5XHU2ODA3XHU4QkIwXHUzMDAyXG4gKi9cbmV4cG9ydCBjb25zdCBtYWtlID0gPEtleSwgT3V0LCBFcnIsIEVudj4oXG4gIHNwZWM6IFJlc291cmNlU3BlYzxLZXksIE91dCwgRXJyLCBFbnY+LFxuKTogUmVzb3VyY2VTcGVjPEtleSwgT3V0LCBFcnIsIEVudj4gPT4gc3BlY1xuXG4vKipcbiAqIGxheWVyXHVGRjFBXG4gKiAtIFx1NTcyOFx1NUY1M1x1NTI0RCBSdW50aW1lIFx1NEY1Q1x1NzUyOFx1NTdERlx1NTE4NVx1NkNFOFx1NTE4Q1x1NEUwMFx1N0VDNCBSZXNvdXJjZVNwZWNcdUZGMUJcbiAqIC0gXHU4MkU1IEVudiBcdTRFMkRcdTVERjJcdTVCNThcdTU3MjggUmVzb3VyY2VSZWdpc3RyeVx1RkYwQ1x1NTIxOVx1NTcyOFx1NTE3Nlx1NTdGQVx1Nzg0MFx1NEUwQVx1NTNFMFx1NTJBMFx1RkYxQlxuICogLSBcdTU3MjggZGV2IFx1NzNBRlx1NTg4M1x1NEUwQlx1NUJGOVx1OTFDRFx1NTkwRCBpZCBcdTUwNUFcdTU3RkFcdTY3MkNcdTY4MjFcdTlBOENcdUZGMDhcdTkwN0ZcdTUxNERcdTY1RTBcdTU4RjBcdTg5ODZcdTc2RDZcdUZGMDlcdTMwMDJcbiAqXG4gKiBcdThCRjRcdTY2MEVcdUZGMUFcbiAqIC0gXHU0RTBEXHU4RDFGXHU4RDIzXHU4REU4XHU0RjVDXHU3NTI4XHU1N0RGXHU1MUIyXHU3QTgxXHU1OTA0XHU3NDA2XHVGRjFBXHU0RTBEXHU1NDBDIFJ1bnRpbWVQcm92aWRlciBcdTVCNTBcdTY4MTFcdTUzRUZcdTRFRTVcdTRFM0FcdTU0MENcdTRFMDAgaWQgXHU2M0QwXHU0RjlCXHU0RTBEXHU1NDBDXHU1QjlFXHU3M0IwXHVGRjFCXG4gKiAtIFx1ODJFNVx1NTcyOFx1NTQwQ1x1NEUwMFx1NEY1Q1x1NzUyOFx1NTdERlx1NTE4NVx1OTFDRFx1NTkwRFx1NkNFOFx1NTE4Q1x1NTQwQ1x1NEUwMCBpZCBcdTRFMTRcdTVCOUVcdTczQjBcdTRFMERcdTRFMDBcdTgxRjRcdUZGMENcdTU3MjggZGV2IFx1NEUwQlx1NEYxQVx1NjI5Qlx1OTUxOVx1MzAwMlxuICovXG5leHBvcnQgY29uc3QgbGF5ZXIgPSAoXG4gIHNwZWNzOiBSZWFkb25seUFycmF5PEFueVJlc291cmNlU3BlYz4sXG4pOiBMYXllci5MYXllcjxSZXNvdXJjZVJlZ2lzdHJ5VGFnLCBuZXZlciwgbmV2ZXI+ID0+XG4gIExheWVyLnN1Y2NlZWQoXG4gICAgUmVzb3VyY2VSZWdpc3RyeVRhZyxcbiAgICAoKCkgPT4ge1xuICAgICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIEFueVJlc291cmNlU3BlYz4oKVxuICAgICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICAgIGlmIChpc0RldkVudigpICYmIG1hcC5oYXMoc3BlYy5pZCkgJiYgbWFwLmdldChzcGVjLmlkKSAhPT0gc3BlYykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBbUmVzb3VyY2UubGF5ZXJdIER1cGxpY2F0ZSByZXNvdXJjZSBpZCBcIiR7c3BlYy5pZH1cIiBkZXRlY3RlZCBpbiB0aGUgc2FtZSBydW50aW1lIHNjb3BlYCxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgbWFwLnNldChzcGVjLmlkLCBzcGVjKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgc3BlY3M6IG1hcCB9XG4gICAgfSkoKSxcbiAgKVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVVBLFNBQVMsU0FBaUIsYUFBcUI7QUFnQy9DLElBQU0sa0JBQWtCLENBQUMsVUFBMkI7QUFDbEQsUUFBTSxPQUFPLG9CQUFJLFFBQWdCO0FBQ2pDLFFBQU0sU0FBUyxDQUFDLFVBQTRCO0FBQzFDLFFBQUksVUFBVSxLQUFNLFFBQU87QUFDM0IsUUFDRSxPQUFPLFVBQVUsWUFDakIsT0FBTyxVQUFVLFlBQ2pCLE9BQU8sVUFBVSxXQUNqQjtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxPQUFPLFVBQVUsU0FBVSxRQUFPLE1BQU0sU0FBUztBQUNyRCxRQUFJLE9BQU8sVUFBVSxZQUFhLFFBQU87QUFDekMsUUFBSSxPQUFPLFVBQVUs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
|