@holoscript/core 8.0.14 → 8.0.15

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 (183) hide show
  1. package/README.md +6 -13
  2. package/bin/holo-decision.mjs +0 -0
  3. package/bin/holoscript.cjs +0 -0
  4. package/dist/{GLTFPipeline-6LS3UDYX.js → GLTFPipeline-FRBZIATS.js} +6 -6
  5. package/dist/{GLTFPipeline-VTI6PRRQ.cjs → GLTFPipeline-MTPP444P.cjs} +10 -10
  6. package/dist/{HoloCompositionParser-GILABNN3.js → HoloCompositionParser-2GVQAZ2X.js} +7 -7
  7. package/dist/HoloCompositionParser-3NDF6BMX.cjs +45 -0
  8. package/dist/HoloScriptPlusParser-URSIBEAW.cjs +30 -0
  9. package/dist/HoloScriptPlusParser-YCV6L7GI.js +13 -0
  10. package/dist/{HoloScriptRuntime-YBYXJHJN.cjs → HoloScriptRuntime-CRWI6C3P.cjs} +5 -5
  11. package/dist/{HoloScriptRuntime-UTRLJI5L.js → HoloScriptRuntime-IAZGHPFP.js} +4 -4
  12. package/dist/{SceneIRCompiler-VX75RB6H.js → SceneIRCompiler-BJQMKLWL.js} +6 -6
  13. package/dist/{SceneIRCompiler-7KQ5NKAU.cjs → SceneIRCompiler-RTPPDQAV.cjs} +11 -11
  14. package/dist/{chunk-Y2OCKXVD.js → chunk-22AULOAL.js} +5 -5
  15. package/dist/{chunk-D44CEFY4.cjs → chunk-2DJIS7TH.cjs} +5 -5
  16. package/dist/{chunk-LHUDAJQT.cjs → chunk-2PVEXEOL.cjs} +5 -5
  17. package/dist/{chunk-M7XR3F53.js → chunk-2UP2J3OK.js} +4 -4
  18. package/dist/{chunk-3KHRZTNW.js → chunk-3AUYBQ5I.js} +3 -3
  19. package/dist/{chunk-UKEK2NZJ.js → chunk-3MQAOMKD.js} +3 -3
  20. package/dist/{chunk-FWKEY4LD.js → chunk-4AGNARX6.js} +3 -3
  21. package/dist/{chunk-7ITJP33Q.cjs → chunk-4CQ7ULXZ.cjs} +3 -3
  22. package/dist/{chunk-ORBVCOTC.js → chunk-5LCJDX5A.js} +3 -3
  23. package/dist/{chunk-IK6Z2HNC.js → chunk-6OQHLNTT.js} +2 -2
  24. package/dist/{chunk-EI3J6LTW.cjs → chunk-6RDHWSZM.cjs} +217 -217
  25. package/dist/{chunk-73EDVY5D.js → chunk-7AY66PZP.js} +3 -3
  26. package/dist/{chunk-6FCNMTL5.js → chunk-7HDRN5BW.js} +4 -4
  27. package/dist/{chunk-TMNAKNV2.cjs → chunk-7YKNV2BE.cjs} +5 -5
  28. package/dist/{chunk-R5VKLUMR.js → chunk-AAUQTR7I.js} +4 -4
  29. package/dist/{chunk-HCONR4J6.cjs → chunk-AN3ZH7M7.cjs} +38 -38
  30. package/dist/{chunk-YW3I2FQL.js → chunk-ANMME7XT.js} +4 -2
  31. package/dist/{chunk-47XZ62KM.js → chunk-ATRAK4RC.js} +5 -5
  32. package/dist/{chunk-W4AJMMQR.js → chunk-AUF7HFOO.js} +60 -22
  33. package/dist/{chunk-SKVBUGMC.cjs → chunk-AUMTQV64.cjs} +7 -7
  34. package/dist/{chunk-N7MIIDLI.cjs → chunk-AUU4ACJP.cjs} +8 -8
  35. package/dist/{chunk-QQFB4RT2.cjs → chunk-BTVHY3UB.cjs} +2 -2
  36. package/dist/{chunk-SE2Y5BSL.cjs → chunk-CMEINO5I.cjs} +186 -70
  37. package/dist/{chunk-YMI3ED3B.cjs → chunk-CRUIGXF7.cjs} +5 -5
  38. package/dist/{chunk-2E6PP5UE.cjs → chunk-E2SNPMBO.cjs} +11 -11
  39. package/dist/{chunk-GI5YYZH6.js → chunk-E4YS5SIZ.js} +90 -25
  40. package/dist/{chunk-62OYZT6Q.js → chunk-EKNWUSGW.js} +3 -3
  41. package/dist/{chunk-RVN7OPCP.js → chunk-ETIJOUIO.js} +4 -4
  42. package/dist/{chunk-C73GVAYC.js → chunk-F33KLYOS.js} +5 -5
  43. package/dist/{chunk-4CRMVEON.cjs → chunk-F47FEV4X.cjs} +40 -40
  44. package/dist/{chunk-FGXJPJ3W.cjs → chunk-FCGTI7FO.cjs} +4 -4
  45. package/dist/{chunk-OSKGCXAQ.cjs → chunk-FGTXAVKG.cjs} +5 -5
  46. package/dist/{chunk-XZC75AJ4.cjs → chunk-FPGYWNNA.cjs} +5 -5
  47. package/dist/{chunk-5B2AJKA5.cjs → chunk-FQ4MYZYU.cjs} +20 -20
  48. package/dist/{chunk-KOGPVAP6.js → chunk-FT4FGTR6.js} +3 -3
  49. package/dist/{chunk-N7IYRAFG.cjs → chunk-FVNV4WHQ.cjs} +14 -14
  50. package/dist/{chunk-SJIRCTIS.cjs → chunk-HSGJFCVJ.cjs} +2 -2
  51. package/dist/{chunk-TKDDIE3T.cjs → chunk-ILO2KMER.cjs} +4 -4
  52. package/dist/{chunk-GGH3ZYDB.cjs → chunk-IPBSNGAN.cjs} +92 -27
  53. package/dist/{chunk-JQCXLKAU.js → chunk-IX2U3RQT.js} +3 -3
  54. package/dist/{chunk-P65OIMJT.cjs → chunk-IYK6LMQ7.cjs} +7 -7
  55. package/dist/{chunk-NWKARJM2.js → chunk-J3VVM6GV.js} +4 -4
  56. package/dist/{chunk-FOM36K5I.cjs → chunk-J74S4ZMF.cjs} +18 -18
  57. package/dist/{chunk-36NPLOI4.cjs → chunk-JERWCCEJ.cjs} +4 -2
  58. package/dist/{chunk-VXHB6ZHY.js → chunk-JTDDLCSP.js} +4 -4
  59. package/dist/{chunk-GYJLP4BO.cjs → chunk-K53L47NH.cjs} +30 -30
  60. package/dist/{chunk-FHR2AVMA.cjs → chunk-LJTM5ONX.cjs} +23 -23
  61. package/dist/{chunk-JCVSCKUH.js → chunk-LJVVOVA6.js} +4 -4
  62. package/dist/{chunk-LQNL3IYV.cjs → chunk-LNJKBQ2B.cjs} +38 -38
  63. package/dist/{chunk-2GKF7JQ6.js → chunk-M2GDE3NV.js} +3 -3
  64. package/dist/{chunk-Z7NUL73U.js → chunk-MSZNGI5P.js} +3 -3
  65. package/dist/{chunk-B6JHTTMR.cjs → chunk-N2BOTBPG.cjs} +15 -15
  66. package/dist/{chunk-L4DBUX3N.cjs → chunk-NFALJJCH.cjs} +12 -12
  67. package/dist/{chunk-YBM34FUJ.cjs → chunk-NRZRBK25.cjs} +6 -6
  68. package/dist/{chunk-SNMQUWIO.cjs → chunk-NTSLNIY7.cjs} +10 -10
  69. package/dist/{chunk-645EWDZW.cjs → chunk-NZJOAWJM.cjs} +4 -4
  70. package/dist/{chunk-LGRKBTPM.js → chunk-OG7RKWWX.js} +3 -3
  71. package/dist/{chunk-OOP4S3GU.cjs → chunk-OQVHCYY4.cjs} +5 -5
  72. package/dist/{chunk-5T6BWIB7.js → chunk-PFZ5WLIP.js} +4 -4
  73. package/dist/{chunk-CESMPUEZ.cjs → chunk-PHLNABJD.cjs} +159 -145
  74. package/dist/{chunk-CHIZSMWD.js → chunk-PLK3DLTF.js} +3 -3
  75. package/dist/{chunk-4NEPHK2K.js → chunk-PMACVMHL.js} +3 -3
  76. package/dist/{chunk-EYHPTJ3F.js → chunk-PV2OXNP5.js} +40 -26
  77. package/dist/{chunk-KLM6QD6D.cjs → chunk-Q6VW7MGX.cjs} +14 -14
  78. package/dist/{chunk-YDSNDCV3.js → chunk-QC3CAVFN.js} +186 -69
  79. package/dist/{chunk-REN3LHO6.cjs → chunk-QKLEDRHN.cjs} +19 -19
  80. package/dist/{chunk-2EGGAZT3.js → chunk-QS27OYBU.js} +3 -3
  81. package/dist/{chunk-4376VHNJ.js → chunk-RUB7WL6C.js} +3 -3
  82. package/dist/{chunk-TZQKJOPC.js → chunk-TW2AH2ZS.js} +3 -3
  83. package/dist/{chunk-Q4J2K7FI.js → chunk-TZM6DKSJ.js} +6 -6
  84. package/dist/{chunk-ESSEF6U2.js → chunk-U227RWXB.js} +3 -3
  85. package/dist/{chunk-ERYKKPHW.cjs → chunk-U6CQOM5Q.cjs} +13 -13
  86. package/dist/{chunk-VMCR5QVI.js → chunk-ULT2QAV5.js} +4 -4
  87. package/dist/{chunk-VZI7S7P6.cjs → chunk-VSO6HPDZ.cjs} +7 -7
  88. package/dist/{chunk-QLPRI3QW.js → chunk-WQJMSSJT.js} +4 -4
  89. package/dist/{chunk-GILYQ5VH.cjs → chunk-WXSDBWGM.cjs} +4 -4
  90. package/dist/{chunk-42Z3SVHQ.js → chunk-X5PMMK7H.js} +3 -3
  91. package/dist/{chunk-ML4V5PVU.cjs → chunk-X5ZLSPU2.cjs} +74 -32
  92. package/dist/{chunk-PSWCJQS4.js → chunk-X727CQ7X.js} +5 -5
  93. package/dist/{chunk-YM7UUYR5.cjs → chunk-XHZYS4QO.cjs} +5 -5
  94. package/dist/{chunk-PZ46WRHX.cjs → chunk-XRQCTTDC.cjs} +8 -8
  95. package/dist/{chunk-IXFNA5TT.js → chunk-YBIHSN55.js} +4 -4
  96. package/dist/{chunk-BLCWQ225.js → chunk-Z574GVI3.js} +4 -4
  97. package/dist/{chunk-ZVQMKUGJ.js → chunk-Z5V3KA7L.js} +2 -2
  98. package/dist/{chunk-7ZKQ32XK.js → chunk-ZGDEOXGU.js} +4 -4
  99. package/dist/{chunk-VTFLKSJL.cjs → chunk-ZHW6TDZ6.cjs} +14 -14
  100. package/dist/{chunk-KYJD2UMV.js → chunk-ZPHCTPR6.js} +4 -4
  101. package/dist/{chunk-VA7THINF.cjs → chunk-ZXXC2GXB.cjs} +38 -38
  102. package/dist/cli/holoscript-runner.cjs +168 -19
  103. package/dist/cli/holoscript-runner.js +162 -13
  104. package/dist/compiler/agent-inference.cjs +7 -7
  105. package/dist/compiler/agent-inference.js +3 -3
  106. package/dist/compiler/android-xr.cjs +6 -6
  107. package/dist/compiler/android-xr.js +4 -4
  108. package/dist/compiler/android.cjs +5 -5
  109. package/dist/compiler/android.js +3 -3
  110. package/dist/compiler/context.cjs +5 -5
  111. package/dist/compiler/context.js +2 -2
  112. package/dist/compiler/daimon-seed.cjs +8 -8
  113. package/dist/compiler/daimon-seed.js +3 -3
  114. package/dist/compiler/domain-block-utils.cjs +164 -164
  115. package/dist/compiler/domain-block-utils.js +3 -3
  116. package/dist/compiler/dtdl.cjs +6 -6
  117. package/dist/compiler/dtdl.js +3 -3
  118. package/dist/compiler/gltf-pipeline.cjs +8 -8
  119. package/dist/compiler/gltf-pipeline.js +1 -1
  120. package/dist/compiler/godot.cjs +5 -5
  121. package/dist/compiler/godot.js +4 -4
  122. package/dist/compiler/incremental.cjs +7 -7
  123. package/dist/compiler/incremental.js +2 -2
  124. package/dist/compiler/index.cjs +1603 -204
  125. package/dist/compiler/index.d.ts +8 -0
  126. package/dist/compiler/index.js +1431 -55
  127. package/dist/compiler/ios.cjs +5 -5
  128. package/dist/compiler/ios.js +3 -3
  129. package/dist/compiler/llm-provider-capabilities.cjs +5 -5
  130. package/dist/compiler/llm-provider-capabilities.js +2 -2
  131. package/dist/compiler/openxr.cjs +5 -5
  132. package/dist/compiler/openxr.js +4 -4
  133. package/dist/compiler/sdf.cjs +6 -6
  134. package/dist/compiler/sdf.js +4 -4
  135. package/dist/compiler/state.cjs +5 -5
  136. package/dist/compiler/state.js +3 -3
  137. package/dist/compiler/trait-composition.cjs +6 -6
  138. package/dist/compiler/trait-composition.js +2 -2
  139. package/dist/compiler/unity.cjs +5 -5
  140. package/dist/compiler/unity.js +4 -4
  141. package/dist/compiler/unreal.cjs +6 -6
  142. package/dist/compiler/unreal.js +4 -4
  143. package/dist/compiler/urdf.cjs +13 -13
  144. package/dist/compiler/urdf.js +4 -4
  145. package/dist/compiler/usd-physics.cjs +6 -6
  146. package/dist/compiler/usd-physics.js +3 -3
  147. package/dist/compiler/visionos.cjs +5 -5
  148. package/dist/compiler/visionos.js +4 -4
  149. package/dist/compiler/vrchat.cjs +6 -6
  150. package/dist/compiler/vrchat.js +4 -4
  151. package/dist/compiler/wasm.cjs +9 -9
  152. package/dist/compiler/wasm.js +4 -4
  153. package/dist/compiler/webgpu.cjs +5 -5
  154. package/dist/compiler/webgpu.js +4 -4
  155. package/dist/constants.cjs +99 -99
  156. package/dist/constants.js +3 -3
  157. package/dist/debugger.cjs +5 -5
  158. package/dist/debugger.js +3 -3
  159. package/dist/{dist-GRMOP2UL.cjs → dist-YGATNURH.cjs} +705 -9
  160. package/dist/{dist-ZBUKU2JG.js → dist-ZEZXRCBG.js} +701 -10
  161. package/dist/entries/scripting.cjs +8 -8
  162. package/dist/entries/scripting.js +4 -4
  163. package/dist/evolution/index.cjs +20 -20
  164. package/dist/evolution/index.js +8 -8
  165. package/dist/index.cjs +871 -809
  166. package/dist/index.d.ts +8 -0
  167. package/dist/index.js +132 -70
  168. package/dist/parser/HoloCompositionTypes.d.ts +1 -1
  169. package/dist/parser.cjs +21 -21
  170. package/dist/parser.js +7 -7
  171. package/dist/reconstruction/index.cjs +63 -63
  172. package/dist/reconstruction/index.js +7 -7
  173. package/dist/runtime.cjs +9 -9
  174. package/dist/runtime.js +3 -3
  175. package/dist/traits/botanical-lotus.d.ts +61 -0
  176. package/dist/traits/index.cjs +664 -671
  177. package/dist/traits/index.d.ts +65 -0
  178. package/dist/traits/index.js +14 -21
  179. package/dist/types/HoloScriptPlus.d.ts +1 -1
  180. package/package.json +66 -64
  181. package/dist/HoloCompositionParser-ZVRYVEA5.cjs +0 -45
  182. package/dist/HoloScriptPlusParser-WTPRPRPR.cjs +0 -30
  183. package/dist/HoloScriptPlusParser-ZP53ECSL.js +0 -13
@@ -1,71 +1,71 @@
1
1
  'use strict';
2
2
 
3
- var chunkYM7UUYR5_cjs = require('../chunk-YM7UUYR5.cjs');
4
- var chunkD44CEFY4_cjs = require('../chunk-D44CEFY4.cjs');
5
- var chunk7ITJP33Q_cjs = require('../chunk-7ITJP33Q.cjs');
3
+ var chunkXHZYS4QO_cjs = require('../chunk-XHZYS4QO.cjs');
4
+ var chunk2DJIS7TH_cjs = require('../chunk-2DJIS7TH.cjs');
5
+ var chunk4CQ7ULXZ_cjs = require('../chunk-4CQ7ULXZ.cjs');
6
6
  var chunkOV46CCA2_cjs = require('../chunk-OV46CCA2.cjs');
7
7
  var chunkS6YWHCKV_cjs = require('../chunk-S6YWHCKV.cjs');
8
8
  var chunkVJ3L7CHT_cjs = require('../chunk-VJ3L7CHT.cjs');
9
- var chunkGGH3ZYDB_cjs = require('../chunk-GGH3ZYDB.cjs');
10
- var chunkCESMPUEZ_cjs = require('../chunk-CESMPUEZ.cjs');
9
+ var chunkIPBSNGAN_cjs = require('../chunk-IPBSNGAN.cjs');
10
+ var chunkPHLNABJD_cjs = require('../chunk-PHLNABJD.cjs');
11
11
  var chunkFT6TDR2O_cjs = require('../chunk-FT6TDR2O.cjs');
12
12
  require('../chunk-LDYZWNJW.cjs');
13
- var chunk4CRMVEON_cjs = require('../chunk-4CRMVEON.cjs');
13
+ var chunkF47FEV4X_cjs = require('../chunk-F47FEV4X.cjs');
14
14
  require('../chunk-KROXXBK5.cjs');
15
- var chunkOOP4S3GU_cjs = require('../chunk-OOP4S3GU.cjs');
15
+ var chunkOQVHCYY4_cjs = require('../chunk-OQVHCYY4.cjs');
16
16
  var chunkGKFCHGCM_cjs = require('../chunk-GKFCHGCM.cjs');
17
17
  var chunkI6XZ5DZF_cjs = require('../chunk-I6XZ5DZF.cjs');
18
18
  var chunkXUILI4KB_cjs = require('../chunk-XUILI4KB.cjs');
19
19
  var chunkQHSAVOOL_cjs = require('../chunk-QHSAVOOL.cjs');
20
- var chunkYMI3ED3B_cjs = require('../chunk-YMI3ED3B.cjs');
21
- var chunkML4V5PVU_cjs = require('../chunk-ML4V5PVU.cjs');
20
+ var chunkCRUIGXF7_cjs = require('../chunk-CRUIGXF7.cjs');
21
+ var chunkX5ZLSPU2_cjs = require('../chunk-X5ZLSPU2.cjs');
22
22
  require('../chunk-YKY2JBER.cjs');
23
- require('../chunk-QQFB4RT2.cjs');
23
+ require('../chunk-BTVHY3UB.cjs');
24
24
  var chunkN2ILK7BF_cjs = require('../chunk-N2ILK7BF.cjs');
25
25
  require('../chunk-DN6F4DHH.cjs');
26
26
  require('../chunk-XHIV6326.cjs');
27
27
  require('../chunk-3FOKASKO.cjs');
28
28
  require('../chunk-ENZCIQZC.cjs');
29
29
  require('../chunk-4PDEPEQW.cjs');
30
- var chunk5B2AJKA5_cjs = require('../chunk-5B2AJKA5.cjs');
31
- var chunkKLM6QD6D_cjs = require('../chunk-KLM6QD6D.cjs');
32
- var chunkSKVBUGMC_cjs = require('../chunk-SKVBUGMC.cjs');
33
- var chunkVZI7S7P6_cjs = require('../chunk-VZI7S7P6.cjs');
30
+ var chunkFQ4MYZYU_cjs = require('../chunk-FQ4MYZYU.cjs');
31
+ var chunkQ6VW7MGX_cjs = require('../chunk-Q6VW7MGX.cjs');
32
+ var chunkAUMTQV64_cjs = require('../chunk-AUMTQV64.cjs');
33
+ var chunkVSO6HPDZ_cjs = require('../chunk-VSO6HPDZ.cjs');
34
34
  require('../chunk-V6GXFSK7.cjs');
35
- var chunkPZ46WRHX_cjs = require('../chunk-PZ46WRHX.cjs');
35
+ var chunkXRQCTTDC_cjs = require('../chunk-XRQCTTDC.cjs');
36
36
  require('../chunk-R75BSDH7.cjs');
37
- var chunkXZC75AJ4_cjs = require('../chunk-XZC75AJ4.cjs');
38
- var chunkREN3LHO6_cjs = require('../chunk-REN3LHO6.cjs');
37
+ var chunkFPGYWNNA_cjs = require('../chunk-FPGYWNNA.cjs');
38
+ var chunkQKLEDRHN_cjs = require('../chunk-QKLEDRHN.cjs');
39
39
  require('../chunk-CFVK26P4.cjs');
40
- var chunkGYJLP4BO_cjs = require('../chunk-GYJLP4BO.cjs');
41
- var chunkFOM36K5I_cjs = require('../chunk-FOM36K5I.cjs');
42
- var chunkSNMQUWIO_cjs = require('../chunk-SNMQUWIO.cjs');
43
- var chunkERYKKPHW_cjs = require('../chunk-ERYKKPHW.cjs');
44
- var chunkOSKGCXAQ_cjs = require('../chunk-OSKGCXAQ.cjs');
45
- var chunkB6JHTTMR_cjs = require('../chunk-B6JHTTMR.cjs');
40
+ var chunkK53L47NH_cjs = require('../chunk-K53L47NH.cjs');
41
+ var chunkJ74S4ZMF_cjs = require('../chunk-J74S4ZMF.cjs');
42
+ var chunkNTSLNIY7_cjs = require('../chunk-NTSLNIY7.cjs');
43
+ var chunkU6CQOM5Q_cjs = require('../chunk-U6CQOM5Q.cjs');
44
+ var chunkFGTXAVKG_cjs = require('../chunk-FGTXAVKG.cjs');
45
+ var chunkN2BOTBPG_cjs = require('../chunk-N2BOTBPG.cjs');
46
46
  require('../chunk-356N4NPM.cjs');
47
- var chunkVTFLKSJL_cjs = require('../chunk-VTFLKSJL.cjs');
48
- var chunkVA7THINF_cjs = require('../chunk-VA7THINF.cjs');
49
- var chunkLQNL3IYV_cjs = require('../chunk-LQNL3IYV.cjs');
50
- require('../chunk-FHR2AVMA.cjs');
47
+ var chunkZHW6TDZ6_cjs = require('../chunk-ZHW6TDZ6.cjs');
48
+ var chunkZXXC2GXB_cjs = require('../chunk-ZXXC2GXB.cjs');
49
+ var chunkLNJKBQ2B_cjs = require('../chunk-LNJKBQ2B.cjs');
50
+ require('../chunk-LJTM5ONX.cjs');
51
51
  var chunkTZCFKZ6Z_cjs = require('../chunk-TZCFKZ6Z.cjs');
52
- var chunkHCONR4J6_cjs = require('../chunk-HCONR4J6.cjs');
53
- require('../chunk-P65OIMJT.cjs');
52
+ var chunkAN3ZH7M7_cjs = require('../chunk-AN3ZH7M7.cjs');
53
+ require('../chunk-IYK6LMQ7.cjs');
54
54
  var chunkVHORVGCG_cjs = require('../chunk-VHORVGCG.cjs');
55
- var chunkSE2Y5BSL_cjs = require('../chunk-SE2Y5BSL.cjs');
55
+ var chunkCMEINO5I_cjs = require('../chunk-CMEINO5I.cjs');
56
56
  var chunk7FYSSI3C_cjs = require('../chunk-7FYSSI3C.cjs');
57
57
  require('../chunk-CI33NINL.cjs');
58
58
  require('../chunk-VW5CRJBE.cjs');
59
59
  require('../chunk-HCX4SMFK.cjs');
60
60
  require('../chunk-3VBO3IYQ.cjs');
61
61
  require('../chunk-YP5CHEYU.cjs');
62
- require('../chunk-EI3J6LTW.cjs');
63
- require('../chunk-36NPLOI4.cjs');
62
+ require('../chunk-6RDHWSZM.cjs');
63
+ require('../chunk-JERWCCEJ.cjs');
64
64
  require('../chunk-AWXFEAQL.cjs');
65
65
  require('../chunk-4FIBOJW6.cjs');
66
66
  require('../chunk-N74QRJGP.cjs');
67
67
  var chunkGJNCFRJU_cjs = require('../chunk-GJNCFRJU.cjs');
68
- require('../chunk-SJIRCTIS.cjs');
68
+ require('../chunk-HSGJFCVJ.cjs');
69
69
  require('../chunk-ILRBGFVD.cjs');
70
70
  require('../chunk-ESBXUYOC.cjs');
71
71
  var chunkQ47JEE2C_cjs = require('../chunk-Q47JEE2C.cjs');
@@ -74,28 +74,102 @@ var ans = require('@holoscript/core-types/ans');
74
74
  var crypto = require('crypto');
75
75
 
76
76
  // src/compiler/index.ts
77
- chunkSE2Y5BSL_cjs.init_CompilerBase();
78
- chunkSE2Y5BSL_cjs.init_CompilerDocumentationGenerator();
77
+ chunkCMEINO5I_cjs.init_CompilerBase();
78
+ chunkCMEINO5I_cjs.init_CompilerDocumentationGenerator();
79
+
80
+ // src/compiler/SceneIRTsxEmitter.ts
81
+ var GENERATED_HEADER = "// @generated by HoloScript SceneIRTsxEmitter -- DO NOT EDIT";
82
+ function emitSceneIRTsx(root, options = {}) {
83
+ const componentName = sanitizeComponentName(options.componentName ?? root.id ?? "HoloScene");
84
+ const sceneConstName = `${componentName}SceneIR`;
85
+ const imports = [
86
+ options.includeCanvas ?? true ? "import { Canvas } from '@react-three/fiber';" : "",
87
+ "import { HoloSceneIRRenderer } from '@holoscript/r3f-renderer';"
88
+ ].filter(Boolean);
89
+ const source = options.sourcePath ? `// source: ${options.sourcePath}
90
+ ` : "";
91
+ if (options.includeCanvas === false) {
92
+ return [
93
+ GENERATED_HEADER,
94
+ source.trimEnd(),
95
+ ...imports,
96
+ "",
97
+ `const ${sceneConstName} = ${json(root)};`,
98
+ "",
99
+ `export function ${componentName}() {`,
100
+ ` return <HoloSceneIRRenderer node={${sceneConstName}} />;`,
101
+ "}",
102
+ "",
103
+ `export default ${componentName};`,
104
+ ""
105
+ ].filter((line, idx) => line !== "" || idx !== 1).join("\n");
106
+ }
107
+ return [
108
+ GENERATED_HEADER,
109
+ source.trimEnd(),
110
+ ...imports,
111
+ "",
112
+ `const ${sceneConstName} = ${json(root)};`,
113
+ "",
114
+ `export function ${componentName}() {`,
115
+ " return (",
116
+ " <Canvas>",
117
+ ` <HoloSceneIRRenderer node={${sceneConstName}} />`,
118
+ " </Canvas>",
119
+ " );",
120
+ "}",
121
+ "",
122
+ `export default ${componentName};`,
123
+ ""
124
+ ].filter((line, idx) => line !== "" || idx !== 1).join("\n");
125
+ }
126
+ function sanitizeComponentName(name) {
127
+ const words = name.replace(/[^A-Za-z0-9_$]+/g, " ").trim().split(/\s+/).filter(Boolean);
128
+ const joined = words.map((word) => word[0].toUpperCase() + word.slice(1)).join("");
129
+ const candidate = joined || "HoloScene";
130
+ return /^[A-Za-z_$]/.test(candidate) ? candidate : `HoloScene${candidate}`;
131
+ }
132
+ function json(value) {
133
+ return JSON.stringify(normalizeValue(value), null, 2).replace(/</g, "\\u003c");
134
+ }
135
+ function normalizeValue(value) {
136
+ if (ArrayBuffer.isView(value) && !(value instanceof DataView)) {
137
+ return Array.from(value);
138
+ }
139
+ if (Array.isArray(value)) {
140
+ return value.map((entry) => normalizeValue(entry));
141
+ }
142
+ if (value && typeof value === "object") {
143
+ const out = {};
144
+ for (const [key, entry] of Object.entries(value)) {
145
+ out[key] = normalizeValue(entry);
146
+ }
147
+ return out;
148
+ }
149
+ return value;
150
+ }
151
+
152
+ // src/compiler/index.ts
79
153
  chunkVHORVGCG_cjs.init_PerceptualColorPass();
80
- chunkLQNL3IYV_cjs.init_UnityCompiler();
81
- chunkHCONR4J6_cjs.init_GodotCompiler();
82
- chunkVTFLKSJL_cjs.init_OpenXRCompiler();
83
- chunkVA7THINF_cjs.init_VRChatCompiler();
84
- chunkFOM36K5I_cjs.init_VisionOSCompiler();
85
- chunkXZC75AJ4_cjs.init_AndroidCompiler();
86
- chunkREN3LHO6_cjs.init_AndroidXRCompiler();
87
- chunkGYJLP4BO_cjs.init_IOSCompiler();
88
- chunkSNMQUWIO_cjs.init_WASMCompiler();
89
- chunkERYKKPHW_cjs.init_WebGPUCompiler();
154
+ chunkLNJKBQ2B_cjs.init_UnityCompiler();
155
+ chunkAN3ZH7M7_cjs.init_GodotCompiler();
156
+ chunkZHW6TDZ6_cjs.init_OpenXRCompiler();
157
+ chunkZXXC2GXB_cjs.init_VRChatCompiler();
158
+ chunkJ74S4ZMF_cjs.init_VisionOSCompiler();
159
+ chunkFPGYWNNA_cjs.init_AndroidCompiler();
160
+ chunkQKLEDRHN_cjs.init_AndroidXRCompiler();
161
+ chunkK53L47NH_cjs.init_IOSCompiler();
162
+ chunkNTSLNIY7_cjs.init_WASMCompiler();
163
+ chunkU6CQOM5Q_cjs.init_WebGPUCompiler();
90
164
  chunkTZCFKZ6Z_cjs.init_PlatformConditionalCompilerMixin();
91
- chunkKLM6QD6D_cjs.init_SDFCompiler();
92
- chunkOSKGCXAQ_cjs.init_DTDLCompiler();
93
- chunkB6JHTTMR_cjs.init_URDFCompiler();
94
- chunkSKVBUGMC_cjs.init_StateCompiler();
165
+ chunkQ6VW7MGX_cjs.init_SDFCompiler();
166
+ chunkFGTXAVKG_cjs.init_DTDLCompiler();
167
+ chunkN2BOTBPG_cjs.init_URDFCompiler();
168
+ chunkAUMTQV64_cjs.init_StateCompiler();
95
169
 
96
170
  // src/compiler/MultiLayerCompiler.ts
97
- chunkSE2Y5BSL_cjs.init_CompilerBase();
98
- var MultiLayerCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
171
+ chunkCMEINO5I_cjs.init_CompilerBase();
172
+ var MultiLayerCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
99
173
  constructor(_options) {
100
174
  super();
101
175
  this.compilerName = "MultiLayerCompiler";
@@ -111,12 +185,12 @@ var MultiLayerCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
111
185
  };
112
186
 
113
187
  // src/compiler/NextJSCompiler.ts
114
- chunkSE2Y5BSL_cjs.init_CompilerBase();
188
+ chunkCMEINO5I_cjs.init_CompilerBase();
115
189
 
116
190
  // src/compiler/Native2DCompiler.ts
117
- chunkSE2Y5BSL_cjs.init_CompilerBase();
191
+ chunkCMEINO5I_cjs.init_CompilerBase();
118
192
  chunkQ47JEE2C_cjs.init_safeJsonParse();
119
- var _Native2DCompiler = class _Native2DCompiler extends chunkSE2Y5BSL_cjs.CompilerBase {
193
+ var _Native2DCompiler = class _Native2DCompiler extends chunkCMEINO5I_cjs.CompilerBase {
120
194
  constructor() {
121
195
  super(...arguments);
122
196
  this.compilerName = "Native2DCompiler";
@@ -1810,7 +1884,7 @@ function findTrait(composition, traitName2) {
1810
1884
  const found = traits.find((t) => t.name === traitName2);
1811
1885
  return found?.config || null;
1812
1886
  }
1813
- var NextJSCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
1887
+ var NextJSCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
1814
1888
  constructor(options = {}) {
1815
1889
  super();
1816
1890
  this.options = options;
@@ -1914,12 +1988,12 @@ var NextJSCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
1914
1988
  };
1915
1989
 
1916
1990
  // src/compiler/index.ts
1917
- chunkCESMPUEZ_cjs.init_NextJSAPICompiler();
1991
+ chunkPHLNABJD_cjs.init_NextJSAPICompiler();
1918
1992
 
1919
1993
  // src/compiler/MCPConfigCompiler.ts
1920
- chunkSE2Y5BSL_cjs.init_CompilerBase();
1921
- chunkCESMPUEZ_cjs.init_DialectRegistry();
1922
- var MCPConfigCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
1994
+ chunkCMEINO5I_cjs.init_CompilerBase();
1995
+ chunkPHLNABJD_cjs.init_DialectRegistry();
1996
+ var MCPConfigCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
1923
1997
  constructor(options = {}) {
1924
1998
  super();
1925
1999
  this.compilerName = "MCPConfigCompiler";
@@ -2115,7 +2189,7 @@ var MCPConfigCompiler = class extends chunkSE2Y5BSL_cjs.CompilerBase {
2115
2189
  return void 0;
2116
2190
  }
2117
2191
  };
2118
- chunkCESMPUEZ_cjs.DialectRegistry.register({
2192
+ chunkPHLNABJD_cjs.DialectRegistry.register({
2119
2193
  name: "mcp-config",
2120
2194
  domain: "configuration",
2121
2195
  description: "Compiles .holo MCP server connection definitions to IDE-specific client config JSON",
@@ -2126,10 +2200,1310 @@ chunkCESMPUEZ_cjs.DialectRegistry.register({
2126
2200
  });
2127
2201
 
2128
2202
  // src/compiler/index.ts
2129
- chunkCESMPUEZ_cjs.init_HoloMCPCompiler();
2130
- chunkYMI3ED3B_cjs.init_AgentInferenceExportTarget();
2131
- chunkCESMPUEZ_cjs.init_OmnigentAgentYamlCompiler();
2132
- chunkOOP4S3GU_cjs.init_DaimonSeedCompiler();
2203
+ chunkPHLNABJD_cjs.init_HoloMCPCompiler();
2204
+ chunkCRUIGXF7_cjs.init_AgentInferenceExportTarget();
2205
+ chunkPHLNABJD_cjs.init_OmnigentAgentYamlCompiler();
2206
+ chunkOQVHCYY4_cjs.init_DaimonSeedCompiler();
2207
+
2208
+ // src/compiler/HSIIRCompiler.ts
2209
+ chunkCMEINO5I_cjs.init_CompilerBase();
2210
+ var HSI_IR_SCHEMA_VERSION = "holoscript.hsi-ir.v0.1.0";
2211
+ var HSI_TRACE_SCHEMA_VERSION = "holoscript.hsi-trace.v0.1.0";
2212
+ var HSI_LEARNING_GRAPH_SCHEMA_VERSION = "holoscript.learning-graph.v0.1.0";
2213
+ var HSI_AUDIT_SCHEMA_VERSION = "holoscript.hsi-audit.v0.1.0";
2214
+ var HSIAdmissionError = class extends Error {
2215
+ constructor(code, message) {
2216
+ super(`[${code}] ${message}`);
2217
+ this.name = "HSIAdmissionError";
2218
+ this.code = code;
2219
+ }
2220
+ };
2221
+ function hsiStableStringify(value) {
2222
+ if (value === null || typeof value !== "object") {
2223
+ return JSON.stringify(value) ?? "null";
2224
+ }
2225
+ if (Array.isArray(value)) {
2226
+ return `[${value.map((item) => hsiStableStringify(item)).join(",")}]`;
2227
+ }
2228
+ const record = value;
2229
+ const keys = Object.keys(record).filter((key) => record[key] !== void 0).sort();
2230
+ return `{${keys.map((key) => `${JSON.stringify(key)}:${hsiStableStringify(record[key])}`).join(",")}}`;
2231
+ }
2232
+ function hsiSha256(value) {
2233
+ return `sha256:${crypto.createHash("sha256").update(hsiStableStringify(value)).digest("hex")}`;
2234
+ }
2235
+ function hsiSourceTextDigest(source) {
2236
+ return `sha256:${crypto.createHash("sha256").update(source.replace(/\r\n/g, "\n")).digest("hex")}`;
2237
+ }
2238
+
2239
+ // src/compiler/HSIIRCompiler.ts
2240
+ var HSI_OBSERVATION_MEDIATOR_EDGE = "shields";
2241
+ var ASSIGN_OPERATORS = /* @__PURE__ */ new Set(["=", "+=", "-=", "*=", "/="]);
2242
+ var BINARY_OPERATORS = /* @__PURE__ */ new Set([
2243
+ "+",
2244
+ "-",
2245
+ "*",
2246
+ "/",
2247
+ "%",
2248
+ "===",
2249
+ "!==",
2250
+ "==",
2251
+ "!=",
2252
+ "<",
2253
+ ">",
2254
+ "<=",
2255
+ ">=",
2256
+ "&&",
2257
+ "||"
2258
+ ]);
2259
+ function spanOf(node) {
2260
+ const loc = node?.loc;
2261
+ if (!loc) return void 0;
2262
+ return {
2263
+ line: loc.start.line,
2264
+ column: loc.start.column,
2265
+ endLine: loc.end.line,
2266
+ endColumn: loc.end.column
2267
+ };
2268
+ }
2269
+ function scalarType(value) {
2270
+ if (value === null) return "null";
2271
+ return typeof value;
2272
+ }
2273
+ function asScalar(value, where) {
2274
+ if (value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
2275
+ return value;
2276
+ }
2277
+ throw new HSIAdmissionError(
2278
+ "unsupported-value",
2279
+ `${where}: HS-Core v0 admits scalar values only, got ${Array.isArray(value) ? "array" : typeof value}`
2280
+ );
2281
+ }
2282
+ function asTriple(value, where) {
2283
+ let arr;
2284
+ if (Array.isArray(value)) {
2285
+ arr = value;
2286
+ } else if (typeof value === "object" && value !== null && "x" in value) {
2287
+ const vec = value;
2288
+ arr = [vec["x"], vec["y"], vec["z"]];
2289
+ }
2290
+ if (!arr || arr.length !== 3 || !arr.every((n) => typeof n === "number" && Number.isFinite(n))) {
2291
+ throw new HSIAdmissionError("invalid-spatial", `${where}: position/scale must be a finite numeric triple`);
2292
+ }
2293
+ return [arr[0], arr[1], arr[2]];
2294
+ }
2295
+ function collectSlots(ir, into) {
2296
+ switch (ir.kind) {
2297
+ case "Identifier":
2298
+ into.add(ir.name);
2299
+ return;
2300
+ case "BinaryExpression":
2301
+ collectSlots(ir.left, into);
2302
+ collectSlots(ir.right, into);
2303
+ return;
2304
+ case "UnaryExpression":
2305
+ collectSlots(ir.argument, into);
2306
+ return;
2307
+ case "MemberExpression":
2308
+ collectSlots(ir.object, into);
2309
+ return;
2310
+ case "CallExpression":
2311
+ for (const arg of ir.arguments) collectSlots(arg, into);
2312
+ return;
2313
+ case "Literal":
2314
+ return;
2315
+ }
2316
+ }
2317
+ function assertSlots(ir, allowed, where) {
2318
+ const used = /* @__PURE__ */ new Set();
2319
+ collectSlots(ir, used);
2320
+ for (const name of used) {
2321
+ if (!allowed.has(name)) {
2322
+ throw new HSIAdmissionError("unknown-slot", `${where}: expression reads undeclared slot "${name}"`);
2323
+ }
2324
+ }
2325
+ return [...used].sort();
2326
+ }
2327
+ function lowerHoloExpression(expr, where) {
2328
+ switch (expr.type) {
2329
+ case "Literal":
2330
+ return { kind: "Literal", value: expr.value };
2331
+ case "Identifier":
2332
+ return { kind: "Identifier", name: expr.name };
2333
+ case "BinaryExpression": {
2334
+ if (!BINARY_OPERATORS.has(expr.operator)) {
2335
+ throw new HSIAdmissionError("unsupported-operator", `${where}: operator "${expr.operator}"`);
2336
+ }
2337
+ return {
2338
+ kind: "BinaryExpression",
2339
+ operator: expr.operator,
2340
+ left: lowerHoloExpression(expr.left, where),
2341
+ right: lowerHoloExpression(expr.right, where)
2342
+ };
2343
+ }
2344
+ case "UnaryExpression":
2345
+ return {
2346
+ kind: "UnaryExpression",
2347
+ operator: expr.operator,
2348
+ argument: lowerHoloExpression(expr.argument, where)
2349
+ };
2350
+ case "MemberExpression": {
2351
+ if (expr.computed) {
2352
+ throw new HSIAdmissionError("unsupported-expression", `${where}: computed member access`);
2353
+ }
2354
+ return {
2355
+ kind: "MemberExpression",
2356
+ object: lowerHoloExpression(expr.object, where),
2357
+ property: expr.property
2358
+ };
2359
+ }
2360
+ default:
2361
+ throw new HSIAdmissionError("unsupported-expression", `${where}: ${expr.type} is outside HS-Core v0`);
2362
+ }
2363
+ }
2364
+ function lowerEntities(composition) {
2365
+ const templates = /* @__PURE__ */ new Map();
2366
+ for (const template of composition.templates ?? []) {
2367
+ if (templates.has(template.name)) {
2368
+ throw new HSIAdmissionError("duplicate-template", `template "${template.name}" declared twice`);
2369
+ }
2370
+ templates.set(template.name, template);
2371
+ }
2372
+ const entities = /* @__PURE__ */ new Map();
2373
+ for (const obj of composition.objects ?? []) {
2374
+ if (entities.has(obj.name)) {
2375
+ throw new HSIAdmissionError("duplicate-entity", `entity "${obj.name}" declared twice`);
2376
+ }
2377
+ if ((obj.children ?? []).length > 0) {
2378
+ throw new HSIAdmissionError("unsupported-value", `entity "${obj.name}": nested children are outside HS-Core v0`);
2379
+ }
2380
+ const components = {};
2381
+ const traitNames = /* @__PURE__ */ new Set();
2382
+ let template;
2383
+ if (obj.template !== void 0) {
2384
+ template = templates.get(obj.template);
2385
+ if (!template) {
2386
+ throw new HSIAdmissionError("unknown-archetype", `entity "${obj.name}" uses missing template "${obj.template}"`);
2387
+ }
2388
+ for (const prop of template.properties ?? []) {
2389
+ if (prop.key === "position" || prop.key === "scale") continue;
2390
+ components[prop.key] = asScalar(prop.value, `template "${template.name}".${prop.key}`);
2391
+ }
2392
+ for (const trait of template.traits ?? []) traitNames.add(trait.name);
2393
+ }
2394
+ let position;
2395
+ let scale;
2396
+ for (const prop of obj.properties ?? []) {
2397
+ if (prop.key === "position") {
2398
+ position = asTriple(prop.value, `entity "${obj.name}".position`);
2399
+ continue;
2400
+ }
2401
+ if (prop.key === "scale") {
2402
+ scale = asTriple(prop.value, `entity "${obj.name}".scale`);
2403
+ continue;
2404
+ }
2405
+ components[prop.key] = asScalar(prop.value, `entity "${obj.name}".${prop.key}`);
2406
+ }
2407
+ for (const trait of obj.traits ?? []) traitNames.add(trait.name);
2408
+ const opaqueValue = components["opaque"];
2409
+ const opacity = opaqueValue === void 0 ? "unknown" : opaqueValue === true ? "opaque" : "transparent";
2410
+ delete components["opaque"];
2411
+ const role = typeof components["role"] === "string" ? components["role"] : void 0;
2412
+ const entity = {
2413
+ id: `entity:${obj.name}`,
2414
+ name: obj.name,
2415
+ opacity,
2416
+ components,
2417
+ traits: [...traitNames].sort(),
2418
+ sourceSpan: spanOf(obj)
2419
+ };
2420
+ if (obj.template !== void 0) entity.archetype = obj.template;
2421
+ if (role !== void 0) entity.role = role;
2422
+ if (position === void 0 && obj.position !== void 0) {
2423
+ position = asTriple(obj.position, `entity "${obj.name}".position`);
2424
+ }
2425
+ if (scale === void 0 && obj.scale !== void 0) {
2426
+ scale = asTriple(obj.scale, `entity "${obj.name}".scale`);
2427
+ }
2428
+ if (position !== void 0) entity.position = position;
2429
+ if (scale !== void 0) entity.scale = scale;
2430
+ entities.set(obj.name, entity);
2431
+ }
2432
+ return { templates, entities };
2433
+ }
2434
+ function lowerRelations(composition, entities) {
2435
+ const relations = [];
2436
+ const connections = composition.connections ?? [];
2437
+ for (const conn of connections) {
2438
+ for (const endpoint of [conn.from, conn.to]) {
2439
+ if (!entities.has(endpoint)) {
2440
+ throw new HSIAdmissionError(
2441
+ "unknown-relation-endpoint",
2442
+ `connection ${conn.from} -> ${conn.to} references undeclared entity "${endpoint}"`
2443
+ );
2444
+ }
2445
+ }
2446
+ const edgeType = conn.edgeType ?? "connects";
2447
+ relations.push({
2448
+ id: `relation:${conn.from}->${conn.to}:${edgeType}`,
2449
+ from: conn.from,
2450
+ to: conn.to,
2451
+ edgeType,
2452
+ sourceSpan: spanOf(conn)
2453
+ });
2454
+ }
2455
+ return relations;
2456
+ }
2457
+ function lowerState(composition) {
2458
+ const fields = [];
2459
+ const seen = /* @__PURE__ */ new Set();
2460
+ for (const prop of composition.state?.properties ?? []) {
2461
+ if (seen.has(prop.key)) {
2462
+ throw new HSIAdmissionError("duplicate-state-key", `state key "${prop.key}" declared twice`);
2463
+ }
2464
+ seen.add(prop.key);
2465
+ const baseline = asScalar(prop.value, `state.${prop.key}`);
2466
+ fields.push({
2467
+ id: `state:world.${prop.key}`,
2468
+ key: prop.key,
2469
+ baseline,
2470
+ valueType: scalarType(baseline),
2471
+ reactive: prop.reactive === true,
2472
+ sourceSpan: spanOf(prop)
2473
+ });
2474
+ }
2475
+ return fields;
2476
+ }
2477
+ function deriveObservationPolicy(entities, relations) {
2478
+ const rules = [];
2479
+ const observers = [...entities.values()].filter((e) => e.role === "agent");
2480
+ const mediatorsByTarget = /* @__PURE__ */ new Map();
2481
+ for (const rel of relations) {
2482
+ if (rel.edgeType !== HSI_OBSERVATION_MEDIATOR_EDGE) continue;
2483
+ const list = mediatorsByTarget.get(rel.to) ?? [];
2484
+ list.push(entities.get(rel.from));
2485
+ mediatorsByTarget.set(rel.to, list);
2486
+ }
2487
+ for (const observer of observers) {
2488
+ for (const observed of entities.values()) {
2489
+ if (observed.name === observer.name) continue;
2490
+ if (observed.role === "barrier") continue;
2491
+ const mediators = (mediatorsByTarget.get(observed.name) ?? []).slice().sort((a, b) => a.name.localeCompare(b.name));
2492
+ const access = mediators.some((m) => m.opacity === "opaque") ? "blocked" : mediators.some((m) => m.opacity === "unknown") ? "unknown" : "visible";
2493
+ rules.push({
2494
+ id: `obs:${observer.name}->${observed.name}`,
2495
+ observer: observer.name,
2496
+ observed: observed.name,
2497
+ access,
2498
+ mediators: mediators.map((m) => m.name)
2499
+ });
2500
+ }
2501
+ }
2502
+ return rules;
2503
+ }
2504
+ function lowerStatements(statements, handlerEvent, stateSlots, counter) {
2505
+ const effects = [];
2506
+ for (const stmt of statements) {
2507
+ const ordinal = counter.n++;
2508
+ const id = `effect:${handlerEvent}#${ordinal}`;
2509
+ switch (stmt.type) {
2510
+ case "Assignment": {
2511
+ if (!ASSIGN_OPERATORS.has(stmt.operator)) {
2512
+ throw new HSIAdmissionError("unsupported-operator", `${id}: assignment operator "${stmt.operator}"`);
2513
+ }
2514
+ const target = stmt.target.startsWith("state.") ? stmt.target.slice("state.".length) : stmt.target;
2515
+ if (!stateSlots.has(target)) {
2516
+ throw new HSIAdmissionError("unknown-assignment-target", `${id}: "${stmt.target}" is not a declared state key`);
2517
+ }
2518
+ const value = lowerHoloExpression(stmt.value, id);
2519
+ assertSlots(value, stateSlots, id);
2520
+ effects.push({ kind: "assign", id, target, operator: stmt.operator, value, sourceSpan: spanOf(stmt) });
2521
+ break;
2522
+ }
2523
+ case "EmitStatement": {
2524
+ effects.push({ kind: "emit", id, event: stmt.event, sourceSpan: spanOf(stmt) });
2525
+ break;
2526
+ }
2527
+ case "IfStatement": {
2528
+ const condition = lowerHoloExpression(stmt.condition, id);
2529
+ assertSlots(condition, stateSlots, id);
2530
+ effects.push({
2531
+ kind: "branch",
2532
+ id,
2533
+ condition,
2534
+ then: lowerStatements(stmt.consequent, handlerEvent, stateSlots, counter),
2535
+ else: lowerStatements(stmt.alternate ?? [], handlerEvent, stateSlots, counter),
2536
+ sourceSpan: spanOf(stmt)
2537
+ });
2538
+ break;
2539
+ }
2540
+ default:
2541
+ throw new HSIAdmissionError("unsupported-statement", `${id}: ${stmt.type} is outside HS-Core v0`);
2542
+ }
2543
+ }
2544
+ return effects;
2545
+ }
2546
+ function lowerEventHandlers(composition, stateSlots) {
2547
+ const logic = composition.logic;
2548
+ const handlers = [];
2549
+ const seen = /* @__PURE__ */ new Set();
2550
+ for (const handler of logic?.handlers ?? []) {
2551
+ if (seen.has(handler.event)) {
2552
+ throw new HSIAdmissionError("duplicate-handler", `handler "${handler.event}" declared twice`);
2553
+ }
2554
+ seen.add(handler.event);
2555
+ handlers.push({
2556
+ id: `event:${handler.event}`,
2557
+ event: handler.event,
2558
+ effects: lowerStatements(handler.body, handler.event, stateSlots, { n: 0 }),
2559
+ sourceSpan: spanOf(handler)
2560
+ });
2561
+ }
2562
+ return handlers;
2563
+ }
2564
+ function lowerMachine(machine) {
2565
+ const stateNames = Object.keys(machine.states ?? {});
2566
+ if (stateNames.length === 0) {
2567
+ throw new HSIAdmissionError("admission-skewed", `state machine "${machine.name}" declares no states`);
2568
+ }
2569
+ if (!stateNames.includes(machine.initialState)) {
2570
+ throw new HSIAdmissionError(
2571
+ "unknown-initial-state",
2572
+ `state machine "${machine.name}": initial state "${machine.initialState}" is not declared`
2573
+ );
2574
+ }
2575
+ const inputs = (machine.inputs ?? []).map((input) => ({
2576
+ id: `input:${machine.name}.${input.name}`,
2577
+ name: input.name,
2578
+ inputType: input.inputType,
2579
+ baseline: input.default !== void 0 ? input.default : input.inputType === "bool" || input.inputType === "trigger" ? false : 0
2580
+ }));
2581
+ const inputSlots = new Set(inputs.map((i) => i.name));
2582
+ const allTransitions = [];
2583
+ for (const t of machine.transitions ?? []) {
2584
+ allTransitions.push({ from: t.from && t.from !== "any" ? t.from : t.from ?? "any", t });
2585
+ }
2586
+ for (const stateName of stateNames) {
2587
+ for (const t of machine.states[stateName]?.transitions ?? []) {
2588
+ allTransitions.push({ from: t.from ?? stateName, t });
2589
+ }
2590
+ }
2591
+ const ordinals = /* @__PURE__ */ new Map();
2592
+ const transitions = allTransitions.map(({ from, t }, declarationOrdinal) => {
2593
+ if (from !== "any" && !stateNames.includes(from)) {
2594
+ throw new HSIAdmissionError(
2595
+ "unknown-transition-endpoint",
2596
+ `state machine "${machine.name}": transition from undeclared state "${from}"`
2597
+ );
2598
+ }
2599
+ if (!stateNames.includes(t.target)) {
2600
+ throw new HSIAdmissionError(
2601
+ "unknown-transition-endpoint",
2602
+ `state machine "${machine.name}": transition to undeclared state "${t.target}"`
2603
+ );
2604
+ }
2605
+ const baseId = `transition:${machine.name}.${from}->${t.target}`;
2606
+ const ordinal = ordinals.get(baseId) ?? 0;
2607
+ ordinals.set(baseId, ordinal + 1);
2608
+ const id = `${baseId}#${ordinal}`;
2609
+ let guard;
2610
+ if (t.condition) {
2611
+ guard = lowerHoloExpression(t.condition, id);
2612
+ } else if ((t.conditions ?? []).length > 0) {
2613
+ for (const cond of t.conditions) {
2614
+ const clause = {
2615
+ kind: "BinaryExpression",
2616
+ operator: cond.operator,
2617
+ left: { kind: "Identifier", name: cond.parameter },
2618
+ right: { kind: "Literal", value: cond.value }
2619
+ };
2620
+ guard = guard ? { kind: "BinaryExpression", operator: cond.chain === "or" ? "||" : "&&", left: guard, right: clause } : clause;
2621
+ }
2622
+ }
2623
+ if (!guard) {
2624
+ throw new HSIAdmissionError("admission-skewed", `${id}: transition has neither guard nor trigger condition`);
2625
+ }
2626
+ const reads = assertSlots(guard, inputSlots, id);
2627
+ const transition = {
2628
+ id,
2629
+ from,
2630
+ target: t.target,
2631
+ priority: declarationOrdinal,
2632
+ guard,
2633
+ reads,
2634
+ sourceSpan: spanOf(t)
2635
+ };
2636
+ if (t.event !== void 0) transition.event = t.event;
2637
+ return transition;
2638
+ });
2639
+ return {
2640
+ id: `machine:${machine.name}`,
2641
+ name: machine.name,
2642
+ initialState: machine.initialState,
2643
+ states: [...stateNames].sort(),
2644
+ inputs,
2645
+ transitions,
2646
+ sourceSpan: spanOf(machine)
2647
+ };
2648
+ }
2649
+ function lowerPredicates(composition, stateSlots) {
2650
+ const predicates = [];
2651
+ const slotList = [...stateSlots];
2652
+ const lowerClause = (kind, name, expr) => {
2653
+ const id = `${kind}:${name}`;
2654
+ let ir;
2655
+ try {
2656
+ ir = chunkX5ZLSPU2_cjs.parseExpressionToIR(expr, slotList);
2657
+ } catch (error) {
2658
+ if (error instanceof chunkX5ZLSPU2_cjs.ExpressionParseError) {
2659
+ throw new HSIAdmissionError("unparseable-clause", `${id}: ${error.message}`);
2660
+ }
2661
+ throw error;
2662
+ }
2663
+ return { id, name, kind, expression: ir, reads: assertSlots(ir, stateSlots, id), sourceSpan: spanOf(composition.contract) };
2664
+ };
2665
+ for (const clause of composition.contract?.preconditions ?? []) {
2666
+ predicates.push(lowerClause("precondition", clause.name, clause.expr));
2667
+ }
2668
+ for (const clause of composition.contract?.invariants ?? []) {
2669
+ predicates.push(lowerClause("invariant", clause.name, clause.expr));
2670
+ }
2671
+ for (const achievement of composition.achievements ?? []) {
2672
+ const id = `goal:${achievement.name}`;
2673
+ const ir = lowerHoloExpression(achievement.condition, id);
2674
+ predicates.push({
2675
+ id,
2676
+ name: achievement.name,
2677
+ kind: "goal",
2678
+ expression: ir,
2679
+ reads: assertSlots(ir, stateSlots, id),
2680
+ sourceSpan: spanOf(achievement)
2681
+ });
2682
+ }
2683
+ return predicates;
2684
+ }
2685
+ function lowerCompositionToHSIIR(composition, options = {}) {
2686
+ if (!composition || composition.type !== "Composition" || typeof composition.name !== "string" || composition.name.length === 0) {
2687
+ throw new HSIAdmissionError("empty-world", "input is not a named HoloComposition");
2688
+ }
2689
+ const { entities } = lowerEntities(composition);
2690
+ const stateFields = lowerState(composition);
2691
+ if (entities.size === 0 && stateFields.length === 0) {
2692
+ throw new HSIAdmissionError("empty-world", `composition "${composition.name}" declares no entities and no state`);
2693
+ }
2694
+ const relations = lowerRelations(composition, entities);
2695
+ const observationPolicy = deriveObservationPolicy(entities, relations);
2696
+ const stateSlots = new Set(stateFields.map((f) => f.key));
2697
+ const eventHandlers = lowerEventHandlers(composition, stateSlots);
2698
+ const machines = (composition.stateMachines ?? []).map(lowerMachine);
2699
+ const predicates = lowerPredicates(composition, stateSlots);
2700
+ const sourceDigest = options.sourceText !== void 0 ? hsiSourceTextDigest(options.sourceText) : hsiSha256({ compositionName: composition.name, note: "no-source-text-provided" });
2701
+ const byId = (items) => [...items].sort((a, b) => a.id.localeCompare(b.id));
2702
+ const docWithoutDigest = {
2703
+ schemaVersion: HSI_IR_SCHEMA_VERSION,
2704
+ kind: "HSIIR",
2705
+ world: { name: composition.name, sourceDigest },
2706
+ entities: byId([...entities.values()]),
2707
+ relations: byId(relations),
2708
+ state: byId(stateFields),
2709
+ observationPolicy: byId(observationPolicy),
2710
+ eventHandlers: byId(eventHandlers),
2711
+ machines: byId(machines),
2712
+ predicates: byId(predicates),
2713
+ declaredUnknowns: [
2714
+ "action-capabilities",
2715
+ "action-costs",
2716
+ "beliefs",
2717
+ "first-class-observations",
2718
+ "memory-events",
2719
+ "receipt-shape"
2720
+ ],
2721
+ provenance: { compiler: "HSIIRCompiler" }
2722
+ };
2723
+ const deterministicDigest = hsiSha256(docWithoutDigest);
2724
+ return {
2725
+ ...docWithoutDigest,
2726
+ provenance: { compiler: "HSIIRCompiler", deterministicDigest }
2727
+ };
2728
+ }
2729
+ var HSIIRCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
2730
+ constructor(options = {}) {
2731
+ super();
2732
+ this.compilerName = "HSIIRCompiler";
2733
+ this.options = options;
2734
+ }
2735
+ getRequiredCapability() {
2736
+ return ans.ANSCapabilityPath.HSI_IR;
2737
+ }
2738
+ compile(composition, agentToken, outputPath) {
2739
+ this.validateCompilerAccess(agentToken, outputPath);
2740
+ return JSON.stringify(lowerCompositionToHSIIR(composition, this.options), null, 2);
2741
+ }
2742
+ compileToFiles(composition, agentToken = "") {
2743
+ return { [this.defaultOutputFileName()]: this.compile(composition, agentToken) };
2744
+ }
2745
+ defaultOutputFileName() {
2746
+ return "hsi-ir.json";
2747
+ }
2748
+ };
2749
+ function createHSIIRCompiler(options) {
2750
+ return new HSIIRCompiler(options);
2751
+ }
2752
+
2753
+ // src/compiler/HSIExactTrace.ts
2754
+ function snapshot(world) {
2755
+ const state = {};
2756
+ for (const key of Object.keys(world.state).sort()) state[key] = world.state[key];
2757
+ const machineStates = {};
2758
+ for (const name of [...world.machines.keys()].sort()) {
2759
+ machineStates[name] = world.machines.get(name).current;
2760
+ }
2761
+ return { state, machineStates, stateDigest: hsiSha256({ state, machineStates }) };
2762
+ }
2763
+ function evaluateGuard(guard, context) {
2764
+ return chunkX5ZLSPU2_cjs.evaluateExpressionIR(guard, context) === true;
2765
+ }
2766
+ function applyOperator(operator, before, operand, where) {
2767
+ if (operator === "=") {
2768
+ if (operand === null || typeof operand === "string" || typeof operand === "number" || typeof operand === "boolean") {
2769
+ return operand;
2770
+ }
2771
+ throw new HSIAdmissionError("unsupported-value", `${where}: assignment produced a non-scalar value`);
2772
+ }
2773
+ if (typeof before !== "number" || typeof operand !== "number" || !Number.isFinite(operand)) {
2774
+ throw new HSIAdmissionError(
2775
+ "unsupported-value",
2776
+ `${where}: compound assignment requires numeric operands (got ${typeof before} ${operator} ${typeof operand})`
2777
+ );
2778
+ }
2779
+ switch (operator) {
2780
+ case "+=":
2781
+ return before + operand;
2782
+ case "-=":
2783
+ return before - operand;
2784
+ case "*=":
2785
+ return before * operand;
2786
+ case "/=": {
2787
+ if (operand === 0) {
2788
+ throw new HSIAdmissionError("unsupported-value", `${where}: division by zero`);
2789
+ }
2790
+ return before / operand;
2791
+ }
2792
+ }
2793
+ }
2794
+ function runEffects(effects, world, records, emitted) {
2795
+ for (const effect of effects) {
2796
+ switch (effect.kind) {
2797
+ case "assign": {
2798
+ const before = world.state[effect.target];
2799
+ const operand = chunkX5ZLSPU2_cjs.evaluateExpressionIR(effect.value, world.state);
2800
+ const after = applyOperator(effect.operator, before, operand, effect.id);
2801
+ world.state[effect.target] = after;
2802
+ records.push({ sourceId: effect.id, target: effect.target, before, after });
2803
+ break;
2804
+ }
2805
+ case "emit": {
2806
+ emitted.push(effect.event);
2807
+ break;
2808
+ }
2809
+ case "branch": {
2810
+ const taken = evaluateGuard(effect.condition, world.state);
2811
+ runEffects(taken ? effect.then : effect.else, world, records, emitted);
2812
+ break;
2813
+ }
2814
+ }
2815
+ }
2816
+ }
2817
+ function evaluateTransitions(world, ir) {
2818
+ const fired = [];
2819
+ for (const machineIR of ir.machines) {
2820
+ const runtime = world.machines.get(machineIR.name);
2821
+ const context = { ...runtime.inputs };
2822
+ for (const trigger of runtime.triggers) context[trigger] = true;
2823
+ const candidates = [...machineIR.transitions].sort((a, b) => a.priority - b.priority);
2824
+ for (const transition of candidates) {
2825
+ if (transition.from !== "any" && transition.from !== runtime.current) continue;
2826
+ if (!transition.guard) continue;
2827
+ if (evaluateGuard(transition.guard, context)) {
2828
+ fired.push({
2829
+ machine: machineIR.name,
2830
+ transitionId: transition.id,
2831
+ from: runtime.current,
2832
+ to: transition.target
2833
+ });
2834
+ runtime.current = transition.target;
2835
+ break;
2836
+ }
2837
+ }
2838
+ runtime.triggers.clear();
2839
+ }
2840
+ return fired;
2841
+ }
2842
+ function checkInvariants(world, ir) {
2843
+ const violations = [];
2844
+ for (const predicate of ir.predicates) {
2845
+ if (predicate.kind !== "invariant") continue;
2846
+ if (!evaluateGuard(predicate.expression, world.state)) violations.push(predicate.id);
2847
+ }
2848
+ return violations;
2849
+ }
2850
+ function runExactTrace(ir, scenario) {
2851
+ const world = { state: {}, machines: /* @__PURE__ */ new Map() };
2852
+ for (const field of ir.state) world.state[field.key] = field.baseline;
2853
+ for (const machine of ir.machines) {
2854
+ const inputs = {};
2855
+ for (const input of machine.inputs) {
2856
+ inputs[input.name] = input.inputType === "trigger" ? false : input.baseline;
2857
+ }
2858
+ world.machines.set(machine.name, {
2859
+ name: machine.name,
2860
+ current: machine.initialState,
2861
+ inputs,
2862
+ triggers: /* @__PURE__ */ new Set()
2863
+ });
2864
+ }
2865
+ const preconditionResults = ir.predicates.filter((p) => p.kind === "precondition").map((p) => ({ id: p.id, holds: evaluateGuard(p.expression, world.state) }));
2866
+ const initial = snapshot(world);
2867
+ const steps = [];
2868
+ let valid = preconditionResults.every((r) => r.holds);
2869
+ scenario.forEach((step, ordinal) => {
2870
+ const effects = [];
2871
+ const emitted = [];
2872
+ let transitions = [];
2873
+ switch (step.kind) {
2874
+ case "set-input": {
2875
+ const machine = world.machines.get(step.machine);
2876
+ if (!machine || !(step.input in machine.inputs)) {
2877
+ throw new HSIAdmissionError(
2878
+ "unknown-slot",
2879
+ `scenario step ${ordinal}: unknown machine input ${step.machine}.${step.input}`
2880
+ );
2881
+ }
2882
+ machine.inputs[step.input] = step.value;
2883
+ transitions = evaluateTransitions(world, ir);
2884
+ break;
2885
+ }
2886
+ case "fire-trigger": {
2887
+ const machine = world.machines.get(step.machine);
2888
+ const declared = ir.machines.find((m) => m.name === step.machine)?.inputs.find((i) => i.name === step.input && i.inputType === "trigger");
2889
+ if (!machine || !declared) {
2890
+ throw new HSIAdmissionError(
2891
+ "unknown-slot",
2892
+ `scenario step ${ordinal}: unknown trigger ${step.machine}.${step.input}`
2893
+ );
2894
+ }
2895
+ machine.triggers.add(step.input);
2896
+ transitions = evaluateTransitions(world, ir);
2897
+ break;
2898
+ }
2899
+ case "fire-event": {
2900
+ const handler = ir.eventHandlers.find((h) => h.event === step.event);
2901
+ if (!handler) {
2902
+ throw new HSIAdmissionError(
2903
+ "unknown-slot",
2904
+ `scenario step ${ordinal}: no handler for event "${step.event}"`
2905
+ );
2906
+ }
2907
+ runEffects(handler.effects, world, effects, emitted);
2908
+ break;
2909
+ }
2910
+ }
2911
+ const invariantViolations = checkInvariants(world, ir);
2912
+ if (invariantViolations.length > 0) valid = false;
2913
+ steps.push({
2914
+ ordinal,
2915
+ step,
2916
+ transitions,
2917
+ effects,
2918
+ emitted,
2919
+ invariantViolations,
2920
+ stateDigest: snapshot(world).stateDigest
2921
+ });
2922
+ });
2923
+ const final = snapshot(world);
2924
+ const traceWithoutDigest = {
2925
+ schemaVersion: HSI_TRACE_SCHEMA_VERSION,
2926
+ kind: "HSITrace",
2927
+ worldDigest: ir.provenance.deterministicDigest,
2928
+ preconditionResults,
2929
+ initial,
2930
+ steps,
2931
+ final,
2932
+ valid
2933
+ };
2934
+ return { ...traceWithoutDigest, deterministicDigest: hsiSha256(traceWithoutDigest) };
2935
+ }
2936
+ function splitFor(nodeId, worldDigest) {
2937
+ const digest = crypto.createHash("sha256").update(`${nodeId}|${worldDigest}`).digest();
2938
+ return digest[0] % 4 === 0 ? "eval" : "train";
2939
+ }
2940
+ function collectAssignTargets(effects, into, reads) {
2941
+ for (const effect of effects) {
2942
+ if (effect.kind === "assign") {
2943
+ into.add(effect.target);
2944
+ const stack = [effect.value];
2945
+ while (stack.length > 0) {
2946
+ const node = stack.pop();
2947
+ if (node.kind === "Identifier") reads.add(node.name);
2948
+ else if (node.kind === "BinaryExpression") stack.push(node.left, node.right);
2949
+ else if (node.kind === "UnaryExpression") stack.push(node.argument);
2950
+ else if (node.kind === "MemberExpression") stack.push(node.object);
2951
+ else if (node.kind === "CallExpression") stack.push(...node.arguments);
2952
+ }
2953
+ } else if (effect.kind === "branch") {
2954
+ collectAssignTargets(effect.then, into, reads);
2955
+ collectAssignTargets(effect.else, into, reads);
2956
+ }
2957
+ }
2958
+ }
2959
+ function projectLearningGraph(ir) {
2960
+ const worldDigest = ir.provenance.deterministicDigest;
2961
+ const nodes = [];
2962
+ const edges = [];
2963
+ const addNode = (node) => {
2964
+ nodes.push({ ...node, split: splitFor(node.id, worldDigest) });
2965
+ };
2966
+ const addEdge = (edgeType, from, to, label) => {
2967
+ const edge = { id: `edge:${edgeType}:${from}->${to}`, edgeType, from, to };
2968
+ if (label !== void 0) edge.label = label;
2969
+ edges.push(edge);
2970
+ };
2971
+ const worldId = `entity:${ir.world.name}`;
2972
+ addNode({ id: worldId, nodeType: "entity", baseline: null, unknowns: [] });
2973
+ for (const entity of ir.entities) {
2974
+ addNode({
2975
+ id: entity.id,
2976
+ nodeType: "entity",
2977
+ baseline: null,
2978
+ unknowns: entity.opacity === "unknown" ? ["opacity"] : [],
2979
+ sourceSpan: entity.sourceSpan
2980
+ });
2981
+ addEdge("contains", worldId, entity.id);
2982
+ }
2983
+ for (const field of ir.state) {
2984
+ addNode({
2985
+ id: field.id,
2986
+ nodeType: "state",
2987
+ baseline: field.baseline,
2988
+ unknowns: [],
2989
+ sourceSpan: field.sourceSpan
2990
+ });
2991
+ addEdge("contains", worldId, field.id);
2992
+ }
2993
+ for (const rule of ir.observationPolicy) {
2994
+ addNode({
2995
+ id: rule.id,
2996
+ nodeType: "observation",
2997
+ baseline: null,
2998
+ unknowns: rule.access === "unknown" ? ["access"] : []
2999
+ });
3000
+ addEdge("observes", `entity:${rule.observer}`, rule.id, rule.access);
3001
+ addEdge("refers-to", rule.id, `entity:${rule.observed}`);
3002
+ for (const mediator of rule.mediators) {
3003
+ addEdge("refers-to", rule.id, `entity:${mediator}`, "mediator");
3004
+ }
3005
+ }
3006
+ for (const handler of ir.eventHandlers) {
3007
+ addNode({ id: handler.id, nodeType: "event", baseline: null, unknowns: [], sourceSpan: handler.sourceSpan });
3008
+ const targets = /* @__PURE__ */ new Set();
3009
+ const reads = /* @__PURE__ */ new Set();
3010
+ collectAssignTargets(handler.effects, targets, reads);
3011
+ for (const target of [...targets].sort()) {
3012
+ addEdge("affects", handler.id, `state:world.${target}`);
3013
+ }
3014
+ for (const read of [...reads].sort()) {
3015
+ if (!targets.has(read)) addEdge("requires", handler.id, `state:world.${read}`);
3016
+ }
3017
+ }
3018
+ for (const machine of ir.machines) {
3019
+ for (const transition of machine.transitions) {
3020
+ addNode({
3021
+ id: transition.id,
3022
+ nodeType: "action",
3023
+ baseline: null,
3024
+ unknowns: [],
3025
+ sourceSpan: transition.sourceSpan
3026
+ });
3027
+ for (const read of transition.reads) {
3028
+ addEdge("requires", transition.id, `input:${machine.name}.${read}`);
3029
+ }
3030
+ addEdge("causes", transition.id, `machineState:${machine.name}.${transition.target}`);
3031
+ if (transition.from !== "any") {
3032
+ addEdge("precedes", `machineState:${machine.name}.${transition.from}`, transition.id);
3033
+ }
3034
+ }
3035
+ for (const stateName of machine.states) {
3036
+ addNode({ id: `machineState:${machine.name}.${stateName}`, nodeType: "state", baseline: null, unknowns: [] });
3037
+ addEdge("contains", worldId, `machineState:${machine.name}.${stateName}`);
3038
+ }
3039
+ for (const input of machine.inputs) {
3040
+ addNode({ id: input.id, nodeType: "state", baseline: input.baseline, unknowns: [] });
3041
+ addEdge("contains", worldId, input.id);
3042
+ }
3043
+ }
3044
+ for (const predicate of ir.predicates) {
3045
+ addNode({
3046
+ id: predicate.id,
3047
+ nodeType: "objective",
3048
+ baseline: null,
3049
+ unknowns: [],
3050
+ sourceSpan: predicate.sourceSpan
3051
+ });
3052
+ for (const read of predicate.reads) {
3053
+ addEdge("refers-to", predicate.id, `state:world.${read}`);
3054
+ }
3055
+ }
3056
+ nodes.sort((a, b) => a.id.localeCompare(b.id));
3057
+ edges.sort((a, b) => a.id.localeCompare(b.id));
3058
+ const graphWithoutDigest = {
3059
+ schemaVersion: HSI_LEARNING_GRAPH_SCHEMA_VERSION,
3060
+ kind: "HSILearningGraph",
3061
+ worldDigest,
3062
+ emittedFrom: worldDigest,
3063
+ nodes,
3064
+ edges,
3065
+ interventions: [
3066
+ "intervention:flip-opacity",
3067
+ "intervention:raise-guard-threshold"
3068
+ ]
3069
+ };
3070
+ return { ...graphWithoutDigest, deterministicDigest: hsiSha256(graphWithoutDigest) };
3071
+ }
3072
+
3073
+ // src/compiler/HSIAuditVerifier.ts
3074
+ function renamed(name, map) {
3075
+ return map[name] ?? name;
3076
+ }
3077
+ function renameExpression(expr, map) {
3078
+ switch (expr.type) {
3079
+ case "Identifier":
3080
+ expr.name = renamed(expr.name, map);
3081
+ return;
3082
+ case "BinaryExpression":
3083
+ renameExpression(expr.left, map);
3084
+ renameExpression(expr.right, map);
3085
+ return;
3086
+ case "UnaryExpression":
3087
+ renameExpression(expr.argument, map);
3088
+ return;
3089
+ case "MemberExpression":
3090
+ renameExpression(expr.object, map);
3091
+ return;
3092
+ case "CallExpression":
3093
+ renameExpression(expr.callee, map);
3094
+ for (const arg of expr.arguments) renameExpression(arg, map);
3095
+ return;
3096
+ default:
3097
+ return;
3098
+ }
3099
+ }
3100
+ function renameStatements(statements, map) {
3101
+ for (const stmt of statements) {
3102
+ switch (stmt.type) {
3103
+ case "Assignment": {
3104
+ const target = stmt.target.startsWith("state.") ? stmt.target.slice("state.".length) : stmt.target;
3105
+ const prefix = stmt.target.startsWith("state.") ? "state." : "";
3106
+ stmt.target = `${prefix}${renamed(target, map)}`;
3107
+ renameExpression(stmt.value, map);
3108
+ break;
3109
+ }
3110
+ case "IfStatement":
3111
+ renameExpression(stmt.condition, map);
3112
+ renameStatements(stmt.consequent, map);
3113
+ renameStatements(stmt.alternate ?? [], map);
3114
+ break;
3115
+ }
3116
+ }
3117
+ }
3118
+ function renameRawExpr(expr, map) {
3119
+ return expr.replace(/[A-Za-z_][A-Za-z0-9_]*/g, (token) => renamed(token, map));
3120
+ }
3121
+ function renameComposition(composition, map) {
3122
+ for (const template of composition.templates ?? []) {
3123
+ template.name = renamed(template.name, map);
3124
+ }
3125
+ for (const obj of composition.objects ?? []) {
3126
+ obj.name = renamed(obj.name, map);
3127
+ if (obj.template !== void 0) obj.template = renamed(obj.template, map);
3128
+ }
3129
+ const connections = composition.connections;
3130
+ for (const conn of connections ?? []) {
3131
+ conn.from = renamed(conn.from, map);
3132
+ conn.to = renamed(conn.to, map);
3133
+ }
3134
+ for (const prop of composition.state?.properties ?? []) {
3135
+ prop.key = renamed(prop.key, map);
3136
+ }
3137
+ const logic = composition.logic;
3138
+ for (const handler of logic?.handlers ?? []) {
3139
+ renameStatements(handler.body, map);
3140
+ }
3141
+ for (const machine of composition.stateMachines ?? []) {
3142
+ machine.name = renamed(machine.name, map);
3143
+ machine.initialState = renamed(machine.initialState, map);
3144
+ const renamedStates = {};
3145
+ for (const [stateName, stateNode] of Object.entries(machine.states ?? {})) {
3146
+ stateNode.name = renamed(stateName, map);
3147
+ renamedStates[renamed(stateName, map)] = stateNode;
3148
+ for (const t of stateNode.transitions ?? []) {
3149
+ if (t.from && t.from !== "any") t.from = renamed(t.from, map);
3150
+ t.target = renamed(t.target, map);
3151
+ if (t.condition) renameExpression(t.condition, map);
3152
+ for (const cond of t.conditions ?? []) cond.parameter = renamed(cond.parameter, map);
3153
+ }
3154
+ }
3155
+ machine.states = renamedStates;
3156
+ for (const input of machine.inputs ?? []) {
3157
+ input.name = renamed(input.name, map);
3158
+ }
3159
+ for (const t of machine.transitions ?? []) {
3160
+ if (t.from && t.from !== "any") t.from = renamed(t.from, map);
3161
+ t.target = renamed(t.target, map);
3162
+ if (t.condition) renameExpression(t.condition, map);
3163
+ for (const cond of t.conditions ?? []) cond.parameter = renamed(cond.parameter, map);
3164
+ }
3165
+ }
3166
+ if (composition.contract) {
3167
+ for (const clause of [...composition.contract.preconditions, ...composition.contract.invariants]) {
3168
+ clause.expr = renameRawExpr(clause.expr, map);
3169
+ }
3170
+ }
3171
+ for (const achievement of composition.achievements ?? []) {
3172
+ renameExpression(achievement.condition, map);
3173
+ }
3174
+ }
3175
+ var ID_TOKEN_PATTERN = /[A-Za-z_][A-Za-z0-9_]*/g;
3176
+ function renameIdString(id, map) {
3177
+ return id.replace(ID_TOKEN_PATTERN, (token) => renamed(token, map));
3178
+ }
3179
+ function renameTrace(trace, map) {
3180
+ const renameSnapshot = (snap) => {
3181
+ const state = {};
3182
+ for (const [key, value] of Object.entries(snap.state)) state[renamed(key, map)] = value;
3183
+ const machineStates = {};
3184
+ for (const [machine, current] of Object.entries(snap.machineStates)) {
3185
+ machineStates[renamed(machine, map)] = renamed(current, map);
3186
+ }
3187
+ return { state, machineStates, stateDigest: hsiSha256({ state: sortRecord(state), machineStates: sortRecord(machineStates) }) };
3188
+ };
3189
+ const sortRecord = (record) => {
3190
+ const out = {};
3191
+ for (const key of Object.keys(record).sort()) out[key] = record[key];
3192
+ return out;
3193
+ };
3194
+ const stepsRenamed = trace.steps.map((step) => {
3195
+ const scenario = step.step.kind === "fire-event" ? step.step : step.step.kind === "set-input" ? { kind: "set-input", machine: renamed(step.step.machine, map), input: renamed(step.step.input, map), value: step.step.value } : { kind: "fire-trigger", machine: renamed(step.step.machine, map), input: renamed(step.step.input, map) };
3196
+ return {
3197
+ ...step,
3198
+ step: scenario,
3199
+ transitions: step.transitions.map((t) => ({
3200
+ machine: renamed(t.machine, map),
3201
+ transitionId: renameIdString(t.transitionId, map),
3202
+ from: renamed(t.from, map),
3203
+ to: renamed(t.to, map)
3204
+ })),
3205
+ effects: step.effects.map((e) => ({ ...e, target: renamed(e.target, map), sourceId: renameIdString(e.sourceId, map) })),
3206
+ invariantViolations: step.invariantViolations.map((id) => renameIdString(id, map)),
3207
+ stateDigest: ""
3208
+ };
3209
+ });
3210
+ const initial = renameSnapshot(trace.initial);
3211
+ const final = renameSnapshot(trace.final);
3212
+ const traceWithoutDigest = {
3213
+ schemaVersion: trace.schemaVersion,
3214
+ kind: trace.kind,
3215
+ worldDigest: "",
3216
+ preconditionResults: trace.preconditionResults.map((r) => ({ id: renameIdString(r.id, map), holds: r.holds })),
3217
+ initial,
3218
+ steps: stepsRenamed,
3219
+ final,
3220
+ valid: trace.valid
3221
+ };
3222
+ return { ...traceWithoutDigest, deterministicDigest: "" };
3223
+ }
3224
+ function behavioralProjection(trace) {
3225
+ return {
3226
+ preconditionResults: trace.preconditionResults,
3227
+ initial: { state: trace.initial.state, machineStates: trace.initial.machineStates },
3228
+ steps: trace.steps.map((s) => ({
3229
+ ordinal: s.ordinal,
3230
+ step: s.step,
3231
+ transitions: s.transitions,
3232
+ effects: s.effects,
3233
+ emitted: s.emitted,
3234
+ invariantViolations: s.invariantViolations
3235
+ })),
3236
+ final: { state: trace.final.state, machineStates: trace.final.machineStates },
3237
+ valid: trace.valid
3238
+ };
3239
+ }
3240
+ function reorderComposition(composition) {
3241
+ composition.templates = [...composition.templates ?? []].reverse();
3242
+ composition.objects = [...composition.objects ?? []].reverse();
3243
+ const holder = composition;
3244
+ if (holder.connections) holder.connections = [...holder.connections].reverse();
3245
+ if (composition.state?.properties) {
3246
+ composition.state.properties = [...composition.state.properties].reverse();
3247
+ }
3248
+ if (composition.contract) {
3249
+ composition.contract.invariants = [...composition.contract.invariants].reverse();
3250
+ }
3251
+ }
3252
+ function applyIntervention(composition, intervention) {
3253
+ if (intervention.kind === "set-opacity") {
3254
+ const obj = (composition.objects ?? []).find((o) => o.name === intervention.entity);
3255
+ if (!obj) {
3256
+ throw new HSIAdmissionError("admission-skewed", `intervention targets unknown entity "${intervention.entity}"`);
3257
+ }
3258
+ const existing = obj.properties.findIndex((p) => p.key === "opaque");
3259
+ if (existing >= 0) obj.properties.splice(existing, 1);
3260
+ if (intervention.opaque !== void 0) {
3261
+ obj.properties.push({ type: "ObjectProperty", key: "opaque", value: intervention.opaque });
3262
+ } else {
3263
+ const template = (composition.templates ?? []).find((t) => t.name === obj.template);
3264
+ if (template) {
3265
+ template.properties = (template.properties ?? []).filter((p) => p.key !== "opaque");
3266
+ }
3267
+ }
3268
+ return;
3269
+ }
3270
+ const machine = (composition.stateMachines ?? []).find((m) => m.name === intervention.machine);
3271
+ if (!machine) {
3272
+ throw new HSIAdmissionError("admission-skewed", `intervention targets unknown machine "${intervention.machine}"`);
3273
+ }
3274
+ const transitions = [
3275
+ ...machine.transitions ?? [],
3276
+ ...Object.values(machine.states ?? {}).flatMap((s) => s.transitions ?? [])
3277
+ ];
3278
+ const transition = transitions.find(
3279
+ (t) => (t.from ?? "") === intervention.fromState && t.target === intervention.toState
3280
+ );
3281
+ if (!transition) {
3282
+ throw new HSIAdmissionError(
3283
+ "admission-skewed",
3284
+ `intervention targets unknown transition ${intervention.fromState} -> ${intervention.toState}`
3285
+ );
3286
+ }
3287
+ if (transition.condition?.type === "BinaryExpression" && transition.condition.right.type === "Literal") {
3288
+ transition.condition.right.value = intervention.value;
3289
+ }
3290
+ for (const cond of transition.conditions ?? []) {
3291
+ if (typeof cond.value === "number") cond.value = intervention.value;
3292
+ }
3293
+ }
3294
+ function generateAuditCases(ir) {
3295
+ const cases = [
3296
+ {
3297
+ id: "audit:admission-empty",
3298
+ kind: "admission-empty",
3299
+ description: "An empty composition (no entities, no state) must fail admission.",
3300
+ expectation: "HSIAdmissionError(empty-world)"
3301
+ },
3302
+ {
3303
+ id: "audit:admission-missing-archetype",
3304
+ kind: "admission-skewed",
3305
+ description: "An object using an undeclared template must fail admission.",
3306
+ expectation: "HSIAdmissionError(unknown-archetype)"
3307
+ },
3308
+ {
3309
+ id: "audit:admission-dangling-relation",
3310
+ kind: "admission-skewed",
3311
+ description: "A connection to an undeclared entity must fail admission.",
3312
+ expectation: "HSIAdmissionError(unknown-relation-endpoint)"
3313
+ },
3314
+ {
3315
+ id: "audit:alpha-rename",
3316
+ kind: "alpha-rename",
3317
+ description: "Consistent renaming of declared names preserves behavior (trace modulo names).",
3318
+ expectation: "behavioralProjection(renameTrace(base)) === behavioralProjection(trace(renamed))"
3319
+ },
3320
+ {
3321
+ id: "audit:declaration-reorder",
3322
+ kind: "declaration-reorder",
3323
+ description: "Reordering independent declarations yields a byte-identical IR.",
3324
+ expectation: "deterministicDigest(base) === deterministicDigest(reordered)"
3325
+ },
3326
+ {
3327
+ id: "audit:regenerate-determinism",
3328
+ kind: "regenerate-determinism",
3329
+ description: "Re-lowering and re-tracing from the same source is byte-identical.",
3330
+ expectation: "all artifact digests equal across two independent regenerations"
3331
+ }
3332
+ ];
3333
+ const opaqueMediator = ir.entities.find(
3334
+ (e) => e.opacity === "opaque" && ir.observationPolicy.some((r) => r.mediators.includes(e.name) && r.access === "blocked")
3335
+ );
3336
+ if (opaqueMediator) {
3337
+ cases.push({
3338
+ id: "audit:counterfactual-opacity",
3339
+ kind: "counterfactual-intervention",
3340
+ description: `Making "${opaqueMediator.name}" transparent must change at least one observation access verdict.`,
3341
+ intervention: { kind: "set-opacity", id: "intervention:flip-opacity", entity: opaqueMediator.name, opacity: "transparent" },
3342
+ expectation: "observationPolicy access verdicts differ from base IR"
3343
+ });
3344
+ }
3345
+ const guardedTransition = ir.machines.flatMap((m) => m.transitions.map((t) => ({ machine: m.name, t }))).find(({ t }) => t.guard?.kind === "BinaryExpression" && t.guard.right.kind === "Literal" && typeof t.guard.right.value === "number");
3346
+ if (guardedTransition) {
3347
+ cases.push({
3348
+ id: "audit:counterfactual-guard",
3349
+ kind: "counterfactual-intervention",
3350
+ description: `Raising the numeric guard of ${guardedTransition.t.id} beyond scenario inputs must change the exact trace.`,
3351
+ intervention: {
3352
+ kind: "set-transition-guard-literal",
3353
+ id: "intervention:raise-guard-threshold",
3354
+ machine: guardedTransition.machine,
3355
+ transitionId: guardedTransition.t.id,
3356
+ value: 1e6
3357
+ },
3358
+ expectation: "trace deterministicDigest differs and at least one step fires different transitions"
3359
+ });
3360
+ }
3361
+ return cases;
3362
+ }
3363
+ function clone(value) {
3364
+ return structuredClone(value);
3365
+ }
3366
+ function expectAdmissionFailure(fn, expectedCode) {
3367
+ try {
3368
+ fn();
3369
+ return "fail";
3370
+ } catch (error) {
3371
+ return error instanceof HSIAdmissionError && error.code === expectedCode ? "pass" : "fail";
3372
+ }
3373
+ }
3374
+ function runHSIAudit(input) {
3375
+ const { composition, sourceText, scenario, renameMap } = input;
3376
+ const baseIR = lowerCompositionToHSIIR(clone(composition), { sourceText });
3377
+ const baseTrace = runExactTrace(baseIR, scenario);
3378
+ const cases = generateAuditCases(baseIR);
3379
+ const checks = [];
3380
+ for (const auditCase of cases) {
3381
+ let status = "fail";
3382
+ let detail = auditCase.expectation;
3383
+ try {
3384
+ switch (auditCase.id) {
3385
+ case "audit:admission-empty": {
3386
+ const empty = {
3387
+ ...clone(composition),
3388
+ name: "EmptyWorld",
3389
+ templates: [],
3390
+ objects: [],
3391
+ state: void 0,
3392
+ stateMachines: [],
3393
+ contract: void 0,
3394
+ achievements: []
3395
+ };
3396
+ empty.connections = [];
3397
+ empty.logic = void 0;
3398
+ status = expectAdmissionFailure(() => lowerCompositionToHSIIR(empty), "empty-world");
3399
+ break;
3400
+ }
3401
+ case "audit:admission-missing-archetype": {
3402
+ const skewed = clone(composition);
3403
+ if (skewed.objects.length === 0) throw new Error("fixture has no objects");
3404
+ skewed.objects[0].template = "GhostTemplate";
3405
+ status = expectAdmissionFailure(() => lowerCompositionToHSIIR(skewed), "unknown-archetype");
3406
+ break;
3407
+ }
3408
+ case "audit:admission-dangling-relation": {
3409
+ const skewed = clone(composition);
3410
+ const holder = skewed;
3411
+ holder.connections = [...holder.connections ?? [], { from: "NoSuchEntity", to: "AlsoMissing" }];
3412
+ status = expectAdmissionFailure(() => lowerCompositionToHSIIR(skewed), "unknown-relation-endpoint");
3413
+ break;
3414
+ }
3415
+ case "audit:alpha-rename": {
3416
+ const renamedComposition = clone(composition);
3417
+ renameComposition(renamedComposition, renameMap);
3418
+ const renamedIR = lowerCompositionToHSIIR(renamedComposition);
3419
+ const renamedScenario = scenario.map(
3420
+ (step) => step.kind === "fire-event" ? step : step.kind === "set-input" ? { ...step, machine: renameMap[step.machine] ?? step.machine, input: renameMap[step.input] ?? step.input } : { ...step, machine: renameMap[step.machine] ?? step.machine, input: renameMap[step.input] ?? step.input }
3421
+ );
3422
+ const renamedTrace = runExactTrace(renamedIR, renamedScenario);
3423
+ const expected = hsiStableStringify(behavioralProjection(renameTrace(baseTrace, renameMap)));
3424
+ const actual = hsiStableStringify(behavioralProjection(renamedTrace));
3425
+ status = expected === actual ? "pass" : "fail";
3426
+ if (status === "fail") detail = "renamed trace diverged from rename-projected base trace";
3427
+ break;
3428
+ }
3429
+ case "audit:declaration-reorder": {
3430
+ const reordered = clone(composition);
3431
+ reorderComposition(reordered);
3432
+ const reorderedIR = lowerCompositionToHSIIR(reordered, { sourceText });
3433
+ status = reorderedIR.provenance.deterministicDigest === baseIR.provenance.deterministicDigest ? "pass" : "fail";
3434
+ if (status === "fail") detail = "reordered IR digest differs from base IR digest";
3435
+ break;
3436
+ }
3437
+ case "audit:regenerate-determinism": {
3438
+ const secondIR = lowerCompositionToHSIIR(clone(composition), { sourceText });
3439
+ const secondTrace = runExactTrace(secondIR, scenario);
3440
+ status = secondIR.provenance.deterministicDigest === baseIR.provenance.deterministicDigest && secondTrace.deterministicDigest === baseTrace.deterministicDigest ? "pass" : "fail";
3441
+ if (status === "fail") detail = "regeneration produced different digests";
3442
+ break;
3443
+ }
3444
+ case "audit:counterfactual-opacity": {
3445
+ const intervention = auditCase.intervention;
3446
+ if (intervention.kind !== "set-opacity") throw new Error("case/intervention mismatch");
3447
+ const intervened = clone(composition);
3448
+ applyIntervention(intervened, {
3449
+ id: intervention.id,
3450
+ kind: "set-opacity",
3451
+ entity: intervention.entity,
3452
+ opaque: intervention.opacity === "opaque" ? true : intervention.opacity === "transparent" ? false : void 0
3453
+ });
3454
+ const intervenedIR = lowerCompositionToHSIIR(intervened);
3455
+ const baseAccess = hsiStableStringify(baseIR.observationPolicy);
3456
+ const newAccess = hsiStableStringify(intervenedIR.observationPolicy);
3457
+ status = baseAccess !== newAccess ? "pass" : "fail";
3458
+ if (status === "fail") detail = "opacity intervention did not change any observation verdict";
3459
+ break;
3460
+ }
3461
+ case "audit:counterfactual-guard": {
3462
+ const intervention = auditCase.intervention;
3463
+ if (intervention.kind !== "set-transition-guard-literal") throw new Error("case/intervention mismatch");
3464
+ const parsed = /transition:([^.]+)\.([^-]+)->([^#]+)#/.exec(intervention.transitionId);
3465
+ if (!parsed) throw new Error(`unparseable transition id ${intervention.transitionId}`);
3466
+ const intervened = clone(composition);
3467
+ applyIntervention(intervened, {
3468
+ id: intervention.id,
3469
+ kind: "set-guard-literal",
3470
+ machine: parsed[1],
3471
+ fromState: parsed[2],
3472
+ toState: parsed[3],
3473
+ value: intervention.value
3474
+ });
3475
+ const intervenedIR = lowerCompositionToHSIIR(intervened);
3476
+ const intervenedTrace = runExactTrace(intervenedIR, scenario);
3477
+ const digestDiffers = intervenedTrace.deterministicDigest !== baseTrace.deterministicDigest;
3478
+ const stepDiffers = baseTrace.steps.some(
3479
+ (step, i) => hsiStableStringify(step.transitions) !== hsiStableStringify(intervenedTrace.steps[i]?.transitions)
3480
+ );
3481
+ status = digestDiffers && stepDiffers ? "pass" : "fail";
3482
+ if (status === "fail") detail = "guard intervention did not change the exact trace";
3483
+ break;
3484
+ }
3485
+ default:
3486
+ detail = `unrecognized audit case ${auditCase.id}`;
3487
+ }
3488
+ } catch (error) {
3489
+ status = "fail";
3490
+ detail = `${detail} \u2014 threw: ${error.message}`;
3491
+ }
3492
+ checks.push({ caseId: auditCase.id, status, detail });
3493
+ }
3494
+ const overall = checks.every((c) => c.status === "pass") ? "pass" : "fail";
3495
+ const manifestWithoutDigest = {
3496
+ schemaVersion: HSI_AUDIT_SCHEMA_VERSION,
3497
+ kind: "HSIAuditManifest",
3498
+ worldDigest: baseIR.provenance.deterministicDigest,
3499
+ verifier: "HSIAuditVerifier",
3500
+ checks,
3501
+ overall
3502
+ };
3503
+ return { ...manifestWithoutDigest, deterministicDigest: hsiSha256(manifestWithoutDigest) };
3504
+ }
3505
+
3506
+ // src/compiler/index.ts
2133
3507
  chunkTZCFKZ6Z_cjs.init_PlatformConditionalCompilerMixin();
2134
3508
 
2135
3509
  // src/compiler/authority/AuthoritySymbolGraph.ts
@@ -3346,13 +4720,13 @@ function byzantineResilientMerge(agentDags, ledger, options = {}) {
3346
4720
  }
3347
4721
 
3348
4722
  // src/compiler/index.ts
3349
- chunkCESMPUEZ_cjs.init_NodeServiceCompiler();
3350
- chunkCESMPUEZ_cjs.init_SDKCompiler();
3351
- chunkCESMPUEZ_cjs.init_LlamaServerCompiler();
3352
- chunkCESMPUEZ_cjs.init_holoscript_gbnf();
3353
- chunkCESMPUEZ_cjs.init_DialectRegistry();
3354
- chunkCESMPUEZ_cjs.init_registerBuiltinDialects();
3355
- chunkCESMPUEZ_cjs.init_PCGGraphCompiler();
4723
+ chunkPHLNABJD_cjs.init_NodeServiceCompiler();
4724
+ chunkPHLNABJD_cjs.init_SDKCompiler();
4725
+ chunkPHLNABJD_cjs.init_LlamaServerCompiler();
4726
+ chunkPHLNABJD_cjs.init_holoscript_gbnf();
4727
+ chunkPHLNABJD_cjs.init_DialectRegistry();
4728
+ chunkPHLNABJD_cjs.init_registerBuiltinDialects();
4729
+ chunkPHLNABJD_cjs.init_PCGGraphCompiler();
3356
4730
 
3357
4731
  // src/compiler/dispatch/DispatchPolicy.ts
3358
4732
  var DispatchTier = /* @__PURE__ */ ((DispatchTier2) => {
@@ -3726,7 +5100,7 @@ async function runTier3CpuDirectExecutor(op) {
3726
5100
  }
3727
5101
  async function runTier1BrowserSnn(op) {
3728
5102
  try {
3729
- const snnWebgpu = await import('../dist-GRMOP2UL.cjs');
5103
+ const snnWebgpu = await import('../dist-YGATNURH.cjs');
3730
5104
  const { GPUContext, LIFSimulator, DEFAULT_LIF_PARAMS } = snnWebgpu;
3731
5105
  const ctx = new GPUContext();
3732
5106
  await ctx.initialize();
@@ -3831,8 +5205,8 @@ async function sha256Hex(input) {
3831
5205
  const digest = await subtle.digest("SHA-256", new TextEncoder().encode(input));
3832
5206
  return bytesToHex(new Uint8Array(digest));
3833
5207
  }
3834
- const { createHash: createHash2 } = await import('crypto');
3835
- return createHash2("sha256").update(input).digest("hex");
5208
+ const { createHash: createHash4 } = await import('crypto');
5209
+ return createHash4("sha256").update(input).digest("hex");
3836
5210
  }
3837
5211
  function bytesToHex(bytes) {
3838
5212
  return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
@@ -4179,8 +5553,8 @@ function formatTierCounts(counts) {
4179
5553
  }
4180
5554
 
4181
5555
  // src/compiler/TraitRegistryBridge.ts
4182
- chunkREN3LHO6_cjs.init_AndroidXRTraitMap();
4183
- chunkFOM36K5I_cjs.init_VisionOSTraitMap();
5556
+ chunkQKLEDRHN_cjs.init_AndroidXRTraitMap();
5557
+ chunkJ74S4ZMF_cjs.init_VisionOSTraitMap();
4184
5558
  chunk7FYSSI3C_cjs.init_traitDocs();
4185
5559
  function normaliseTraitName(name) {
4186
5560
  return name.toLowerCase().replace(/^@/, "").replace(/trait$/i, "").replace(/_/g, "-").trim();
@@ -4188,7 +5562,7 @@ function normaliseTraitName(name) {
4188
5562
  function queryTrait(name, opts = {}) {
4189
5563
  const target = opts.target || "core";
4190
5564
  if (target === "android-xr") {
4191
- const map = chunkREN3LHO6_cjs.getTraitMapping(name);
5565
+ const map = chunkQKLEDRHN_cjs.getTraitMapping(name);
4192
5566
  if (map) {
4193
5567
  return {
4194
5568
  name,
@@ -4200,7 +5574,7 @@ function queryTrait(name, opts = {}) {
4200
5574
  }
4201
5575
  }
4202
5576
  if (target === "visionos") {
4203
- const map = chunkFOM36K5I_cjs.getTraitMapping(name);
5577
+ const map = chunkJ74S4ZMF_cjs.getTraitMapping(name);
4204
5578
  if (map) {
4205
5579
  return {
4206
5580
  name,
@@ -4213,8 +5587,8 @@ function queryTrait(name, opts = {}) {
4213
5587
  return { name, exists: false, sourceMap: "VisionOSTraitMap" };
4214
5588
  }
4215
5589
  const normalised = normaliseTraitName(name);
4216
- if (chunkML4V5PVU_cjs.vrTraitRegistry.has(normalised)) {
4217
- const handler = chunkML4V5PVU_cjs.vrTraitRegistry.getHandler(normalised);
5590
+ if (chunkX5ZLSPU2_cjs.vrTraitRegistry.has(normalised)) {
5591
+ const handler = chunkX5ZLSPU2_cjs.vrTraitRegistry.getHandler(normalised);
4218
5592
  const doc2 = chunk7FYSSI3C_cjs.getTraitDoc(name);
4219
5593
  return {
4220
5594
  name,
@@ -4245,12 +5619,12 @@ function queryTrait(name, opts = {}) {
4245
5619
  }
4246
5620
  function generateTraitForTarget(name, target, config = {}) {
4247
5621
  if (target === "android-xr" || target === "android") {
4248
- return chunkREN3LHO6_cjs.getTraitMapping(name)?.generate?.(name, config) ?? [
5622
+ return chunkQKLEDRHN_cjs.getTraitMapping(name)?.generate?.(name, config) ?? [
4249
5623
  `// @${name} not yet mapped for android-xr (see AndroidXRTraitMap)`
4250
5624
  ];
4251
5625
  }
4252
5626
  if (target === "visionos") {
4253
- return chunkFOM36K5I_cjs.generateTraitCode(name, name, config) ?? [
5627
+ return chunkJ74S4ZMF_cjs.generateTraitCode(name, name, config) ?? [
4254
5628
  `// @${name} not yet mapped for visionos (see VisionOSTraitMap)`
4255
5629
  ];
4256
5630
  }
@@ -4265,15 +5639,15 @@ function generateTraitForTarget(name, target, config = {}) {
4265
5639
  }
4266
5640
  function listTraitsForTarget(target) {
4267
5641
  if (target === "android-xr") {
4268
- return Object.keys(chunkREN3LHO6_cjs.ANDROIDXR_TRAIT_MAP);
5642
+ return Object.keys(chunkQKLEDRHN_cjs.ANDROIDXR_TRAIT_MAP);
4269
5643
  }
4270
5644
  if (target === "visionos") {
4271
- return chunkFOM36K5I_cjs.listAllTraits ? chunkFOM36K5I_cjs.listAllTraits() : [];
5645
+ return chunkJ74S4ZMF_cjs.listAllTraits ? chunkJ74S4ZMF_cjs.listAllTraits() : [];
4272
5646
  }
4273
5647
  if (target === "core") {
4274
5648
  const seen = /* @__PURE__ */ new Set();
4275
5649
  const result = [];
4276
- for (const name of chunkML4V5PVU_cjs.vrTraitRegistry.getRegisteredTraits()) {
5650
+ for (const name of chunkX5ZLSPU2_cjs.vrTraitRegistry.getRegisteredTraits()) {
4277
5651
  const norm = normaliseTraitName(name);
4278
5652
  if (!seen.has(norm)) {
4279
5653
  seen.add(norm);
@@ -4293,17 +5667,17 @@ function listTraitsForTarget(target) {
4293
5667
  }
4294
5668
  function traitExists(name) {
4295
5669
  const normalised = normaliseTraitName(name);
4296
- if (chunkML4V5PVU_cjs.vrTraitRegistry.has(normalised)) {
5670
+ if (chunkX5ZLSPU2_cjs.vrTraitRegistry.has(normalised)) {
4297
5671
  return true;
4298
5672
  }
4299
5673
  const doc = chunk7FYSSI3C_cjs.getTraitDoc(name);
4300
5674
  if (doc) {
4301
5675
  return true;
4302
5676
  }
4303
- if (chunkREN3LHO6_cjs.getTraitMapping(name)) {
5677
+ if (chunkQKLEDRHN_cjs.getTraitMapping(name)) {
4304
5678
  return true;
4305
5679
  }
4306
- if (chunkFOM36K5I_cjs.getTraitMapping(name)) {
5680
+ if (chunkJ74S4ZMF_cjs.getTraitMapping(name)) {
4307
5681
  return true;
4308
5682
  }
4309
5683
  return false;
@@ -4391,7 +5765,7 @@ function getAllManifests() {
4391
5765
  }
4392
5766
 
4393
5767
  // src/compiler/platform/plugins/WebGPUWGSLPlugin.ts
4394
- chunkERYKKPHW_cjs.init_WebGPUCompiler();
5768
+ chunkU6CQOM5Q_cjs.init_WebGPUCompiler();
4395
5769
  var WEBGPU_WGSL_METADATA = {
4396
5770
  name: "holoscript-plugin-webgpu-wgsl",
4397
5771
  version: "1.0.0",
@@ -4420,7 +5794,7 @@ var WebGPUWGSLPlugin = class {
4420
5794
  switch (target) {
4421
5795
  case "web": {
4422
5796
  try {
4423
- const compiler = new chunkERYKKPHW_cjs.WebGPUCompiler({ enableCompute: true });
5797
+ const compiler = new chunkU6CQOM5Q_cjs.WebGPUCompiler({ enableCompute: true });
4424
5798
  const result = compiler.compile(ast, "");
4425
5799
  return { type: "text", data: result };
4426
5800
  } catch (err) {
@@ -4514,7 +5888,7 @@ var WebGPUWGSLPlugin = class {
4514
5888
  platformPluginRegistry.register(new WebGPUWGSLPlugin());
4515
5889
 
4516
5890
  // src/compiler/platform/plugins/AndroidARCorePlugin.ts
4517
- chunkREN3LHO6_cjs.init_AndroidXRCompiler();
5891
+ chunkQKLEDRHN_cjs.init_AndroidXRCompiler();
4518
5892
  var ANDROID_ARCORE_METADATA = {
4519
5893
  name: "holoscript-plugin-android-arcore",
4520
5894
  version: "1.0.0",
@@ -4545,7 +5919,7 @@ var AndroidARCorePlugin = class {
4545
5919
  case "android-xr":
4546
5920
  case "android-xr-ar": {
4547
5921
  try {
4548
- const compiler = new chunkREN3LHO6_cjs.AndroidXRCompiler({
5922
+ const compiler = new chunkQKLEDRHN_cjs.AndroidXRCompiler({
4549
5923
  formFactor: target === "android-xr-ar" ? "glasses" : "headset"
4550
5924
  });
4551
5925
  const result = compiler.compile(ast, "apl-plugin-token");
@@ -4698,6 +6072,8 @@ var BRIDGE_TARGETS = [
4698
6072
  // Meta Quest (Horizon OS / Meta Spatial SDK) — emits a native Kotlin app to Meta's runtime
4699
6073
  "ios",
4700
6074
  "visionos",
6075
+ "r3f",
6076
+ // SceneIR -> generated TSX shell consumed by React Three Fiber; HoloScript owns SceneIR, R3F is the host runtime bridge
4701
6077
  "usd",
4702
6078
  "usdz",
4703
6079
  "fmu",
@@ -4943,35 +6319,35 @@ var SOVEREIGN_ENGINES = [
4943
6319
 
4944
6320
  Object.defineProperty(exports, "ContextCompileError", {
4945
6321
  enumerable: true,
4946
- get: function () { return chunkYM7UUYR5_cjs.ContextCompileError; }
6322
+ get: function () { return chunkXHZYS4QO_cjs.ContextCompileError; }
4947
6323
  });
4948
6324
  Object.defineProperty(exports, "ContextCompiler", {
4949
6325
  enumerable: true,
4950
- get: function () { return chunkYM7UUYR5_cjs.ContextCompiler; }
6326
+ get: function () { return chunkXHZYS4QO_cjs.ContextCompiler; }
4951
6327
  });
4952
6328
  Object.defineProperty(exports, "createContextCompiler", {
4953
6329
  enumerable: true,
4954
- get: function () { return chunkYM7UUYR5_cjs.createContextCompiler; }
6330
+ get: function () { return chunkXHZYS4QO_cjs.createContextCompiler; }
4955
6331
  });
4956
6332
  Object.defineProperty(exports, "LLMCapabilityCompileError", {
4957
6333
  enumerable: true,
4958
- get: function () { return chunkD44CEFY4_cjs.LLMCapabilityCompileError; }
6334
+ get: function () { return chunk2DJIS7TH_cjs.LLMCapabilityCompileError; }
4959
6335
  });
4960
6336
  Object.defineProperty(exports, "LLMProviderCapabilitiesCompiler", {
4961
6337
  enumerable: true,
4962
- get: function () { return chunkD44CEFY4_cjs.LLMProviderCapabilitiesCompiler; }
6338
+ get: function () { return chunk2DJIS7TH_cjs.LLMProviderCapabilitiesCompiler; }
4963
6339
  });
4964
6340
  Object.defineProperty(exports, "createLLMProviderCapabilitiesCompiler", {
4965
6341
  enumerable: true,
4966
- get: function () { return chunkD44CEFY4_cjs.createLLMProviderCapabilitiesCompiler; }
6342
+ get: function () { return chunk2DJIS7TH_cjs.createLLMProviderCapabilitiesCompiler; }
4967
6343
  });
4968
6344
  Object.defineProperty(exports, "GLTF_PIPELINE_TOOLS", {
4969
6345
  enumerable: true,
4970
- get: function () { return chunk7ITJP33Q_cjs.GLTF_PIPELINE_TOOLS; }
6346
+ get: function () { return chunk4CQ7ULXZ_cjs.GLTF_PIPELINE_TOOLS; }
4971
6347
  });
4972
6348
  Object.defineProperty(exports, "registerGLTFTools", {
4973
6349
  enumerable: true,
4974
- get: function () { return chunk7ITJP33Q_cjs.registerGLTFTools; }
6350
+ get: function () { return chunk4CQ7ULXZ_cjs.registerGLTFTools; }
4975
6351
  });
4976
6352
  Object.defineProperty(exports, "BUSINESS_QUEST_TOOLS", {
4977
6353
  enumerable: true,
@@ -5019,287 +6395,287 @@ Object.defineProperty(exports, "parseReproducibilityFlags", {
5019
6395
  });
5020
6396
  Object.defineProperty(exports, "QuantumCircuitCompiler", {
5021
6397
  enumerable: true,
5022
- get: function () { return chunkGGH3ZYDB_cjs.QuantumCircuitCompiler; }
6398
+ get: function () { return chunkIPBSNGAN_cjs.QuantumCircuitCompiler; }
5023
6399
  });
5024
6400
  Object.defineProperty(exports, "CodeEditorCompiler", {
5025
6401
  enumerable: true,
5026
- get: function () { return chunkCESMPUEZ_cjs.CodeEditorCompiler; }
6402
+ get: function () { return chunkPHLNABJD_cjs.CodeEditorCompiler; }
5027
6403
  });
5028
6404
  Object.defineProperty(exports, "CompileTimeAuthorityEffectError", {
5029
6405
  enumerable: true,
5030
- get: function () { return chunkCESMPUEZ_cjs.CompileTimeAuthorityEffectError; }
6406
+ get: function () { return chunkPHLNABJD_cjs.CompileTimeAuthorityEffectError; }
5031
6407
  });
5032
6408
  Object.defineProperty(exports, "CompilerBridge", {
5033
6409
  enumerable: true,
5034
- get: function () { return chunkCESMPUEZ_cjs.CompilerBridge; }
6410
+ get: function () { return chunkPHLNABJD_cjs.CompilerBridge; }
5035
6411
  });
5036
6412
  Object.defineProperty(exports, "ComputePhysicsCompiler", {
5037
6413
  enumerable: true,
5038
- get: function () { return chunkCESMPUEZ_cjs.ComputePhysicsCompiler; }
6414
+ get: function () { return chunkPHLNABJD_cjs.ComputePhysicsCompiler; }
5039
6415
  });
5040
6416
  Object.defineProperty(exports, "CpuPathTracer", {
5041
6417
  enumerable: true,
5042
- get: function () { return chunkCESMPUEZ_cjs.CpuPathTracer; }
6418
+ get: function () { return chunkPHLNABJD_cjs.CpuPathTracer; }
5043
6419
  });
5044
6420
  Object.defineProperty(exports, "DEFAULT_MATERIAL_KEYWORDS", {
5045
6421
  enumerable: true,
5046
- get: function () { return chunkCESMPUEZ_cjs.DEFAULT_MATERIAL_KEYWORDS; }
6422
+ get: function () { return chunkPHLNABJD_cjs.DEFAULT_MATERIAL_KEYWORDS; }
5047
6423
  });
5048
6424
  Object.defineProperty(exports, "DEFAULT_OBJECT_KEYWORDS", {
5049
6425
  enumerable: true,
5050
- get: function () { return chunkCESMPUEZ_cjs.DEFAULT_OBJECT_KEYWORDS; }
6426
+ get: function () { return chunkPHLNABJD_cjs.DEFAULT_OBJECT_KEYWORDS; }
5051
6427
  });
5052
6428
  Object.defineProperty(exports, "DEFAULT_PRIMITIVE_SHAPES", {
5053
6429
  enumerable: true,
5054
- get: function () { return chunkCESMPUEZ_cjs.DEFAULT_PRIMITIVE_SHAPES; }
6430
+ get: function () { return chunkPHLNABJD_cjs.DEFAULT_PRIMITIVE_SHAPES; }
5055
6431
  });
5056
6432
  Object.defineProperty(exports, "DesktopGPUCompiler", {
5057
6433
  enumerable: true,
5058
- get: function () { return chunkCESMPUEZ_cjs.DesktopGPUCompiler; }
6434
+ get: function () { return chunkPHLNABJD_cjs.DesktopGPUCompiler; }
5059
6435
  });
5060
6436
  Object.defineProperty(exports, "DialectRegistry", {
5061
6437
  enumerable: true,
5062
- get: function () { return chunkCESMPUEZ_cjs.DialectRegistry; }
6438
+ get: function () { return chunkPHLNABJD_cjs.DialectRegistry; }
5063
6439
  });
5064
6440
  Object.defineProperty(exports, "EdgeCompiler", {
5065
6441
  enumerable: true,
5066
- get: function () { return chunkCESMPUEZ_cjs.EdgeCompiler; }
6442
+ get: function () { return chunkPHLNABJD_cjs.EdgeCompiler; }
5067
6443
  });
5068
6444
  Object.defineProperty(exports, "FMUCompiler", {
5069
6445
  enumerable: true,
5070
- get: function () { return chunkCESMPUEZ_cjs.FMUCompiler; }
6446
+ get: function () { return chunkPHLNABJD_cjs.FMUCompiler; }
5071
6447
  });
5072
6448
  Object.defineProperty(exports, "GaussianSplattingCompiler", {
5073
6449
  enumerable: true,
5074
- get: function () { return chunkCESMPUEZ_cjs.GaussianSplattingCompiler; }
6450
+ get: function () { return chunkPHLNABJD_cjs.GaussianSplattingCompiler; }
5075
6451
  });
5076
6452
  Object.defineProperty(exports, "GaussianTrainCompiler", {
5077
6453
  enumerable: true,
5078
- get: function () { return chunkCESMPUEZ_cjs.GaussianTrainCompiler; }
6454
+ get: function () { return chunkPHLNABJD_cjs.GaussianTrainCompiler; }
5079
6455
  });
5080
6456
  Object.defineProperty(exports, "GaussianTrainConfigError", {
5081
6457
  enumerable: true,
5082
- get: function () { return chunkCESMPUEZ_cjs.GaussianTrainConfigError; }
6458
+ get: function () { return chunkPHLNABJD_cjs.GaussianTrainConfigError; }
5083
6459
  });
5084
6460
  Object.defineProperty(exports, "HOLOSCRIPT_GRAMMAR_PRESETS", {
5085
6461
  enumerable: true,
5086
- get: function () { return chunkCESMPUEZ_cjs.HOLOSCRIPT_GRAMMAR_PRESETS; }
6462
+ get: function () { return chunkPHLNABJD_cjs.HOLOSCRIPT_GRAMMAR_PRESETS; }
5087
6463
  });
5088
6464
  Object.defineProperty(exports, "HoloMCPCompiler", {
5089
6465
  enumerable: true,
5090
- get: function () { return chunkCESMPUEZ_cjs.HoloMCPCompiler; }
6466
+ get: function () { return chunkPHLNABJD_cjs.HoloMCPCompiler; }
5091
6467
  });
5092
6468
  Object.defineProperty(exports, "LlamaServerCompiler", {
5093
6469
  enumerable: true,
5094
- get: function () { return chunkCESMPUEZ_cjs.LlamaServerCompiler; }
6470
+ get: function () { return chunkPHLNABJD_cjs.LlamaServerCompiler; }
5095
6471
  });
5096
6472
  Object.defineProperty(exports, "MediaPipelineCompiler", {
5097
6473
  enumerable: true,
5098
- get: function () { return chunkCESMPUEZ_cjs.MediaPipelineCompiler; }
6474
+ get: function () { return chunkPHLNABJD_cjs.MediaPipelineCompiler; }
5099
6475
  });
5100
6476
  Object.defineProperty(exports, "NextJSAPICompiler", {
5101
6477
  enumerable: true,
5102
- get: function () { return chunkCESMPUEZ_cjs.NextJSAPICompiler; }
6478
+ get: function () { return chunkPHLNABJD_cjs.NextJSAPICompiler; }
5103
6479
  });
5104
6480
  Object.defineProperty(exports, "NodeServiceCompiler", {
5105
6481
  enumerable: true,
5106
- get: function () { return chunkCESMPUEZ_cjs.NodeServiceCompiler; }
6482
+ get: function () { return chunkPHLNABJD_cjs.NodeServiceCompiler; }
5107
6483
  });
5108
6484
  Object.defineProperty(exports, "OmnigentAgentYamlCompiler", {
5109
6485
  enumerable: true,
5110
- get: function () { return chunkCESMPUEZ_cjs.OmnigentAgentYamlCompiler; }
6486
+ get: function () { return chunkPHLNABJD_cjs.OmnigentAgentYamlCompiler; }
5111
6487
  });
5112
6488
  Object.defineProperty(exports, "PCGGraphCompiler", {
5113
6489
  enumerable: true,
5114
- get: function () { return chunkCESMPUEZ_cjs.PCGGraphCompiler; }
6490
+ get: function () { return chunkPHLNABJD_cjs.PCGGraphCompiler; }
5115
6491
  });
5116
6492
  Object.defineProperty(exports, "PCG_GRAPH_SCHEMA", {
5117
6493
  enumerable: true,
5118
- get: function () { return chunkCESMPUEZ_cjs.PCG_GRAPH_SCHEMA; }
6494
+ get: function () { return chunkPHLNABJD_cjs.PCG_GRAPH_SCHEMA; }
5119
6495
  });
5120
6496
  Object.defineProperty(exports, "PathTracerCompiler", {
5121
6497
  enumerable: true,
5122
- get: function () { return chunkCESMPUEZ_cjs.PathTracerCompiler; }
6498
+ get: function () { return chunkPHLNABJD_cjs.PathTracerCompiler; }
5123
6499
  });
5124
6500
  Object.defineProperty(exports, "PhysicsColliderCompiler", {
5125
6501
  enumerable: true,
5126
- get: function () { return chunkCESMPUEZ_cjs.PhysicsColliderCompiler; }
6502
+ get: function () { return chunkPHLNABJD_cjs.PhysicsColliderCompiler; }
5127
6503
  });
5128
6504
  Object.defineProperty(exports, "REMOTE_TRAIN_EXECUTOR", {
5129
6505
  enumerable: true,
5130
- get: function () { return chunkCESMPUEZ_cjs.REMOTE_TRAIN_EXECUTOR; }
6506
+ get: function () { return chunkPHLNABJD_cjs.REMOTE_TRAIN_EXECUTOR; }
5131
6507
  });
5132
6508
  Object.defineProperty(exports, "REQUIRED_SANDBOX_AUTHORITY_EFFECT", {
5133
6509
  enumerable: true,
5134
- get: function () { return chunkCESMPUEZ_cjs.REQUIRED_SANDBOX_AUTHORITY_EFFECT; }
6510
+ get: function () { return chunkPHLNABJD_cjs.REQUIRED_SANDBOX_AUTHORITY_EFFECT; }
5135
6511
  });
5136
6512
  Object.defineProperty(exports, "SANDBOX_AUTHORITY_TRAIT", {
5137
6513
  enumerable: true,
5138
- get: function () { return chunkCESMPUEZ_cjs.SANDBOX_AUTHORITY_TRAIT; }
6514
+ get: function () { return chunkPHLNABJD_cjs.SANDBOX_AUTHORITY_TRAIT; }
5139
6515
  });
5140
6516
  Object.defineProperty(exports, "SCMCompiler", {
5141
6517
  enumerable: true,
5142
- get: function () { return chunkCESMPUEZ_cjs.SCMCompiler; }
6518
+ get: function () { return chunkPHLNABJD_cjs.SCMCompiler; }
5143
6519
  });
5144
6520
  Object.defineProperty(exports, "SDKCompiler", {
5145
6521
  enumerable: true,
5146
- get: function () { return chunkCESMPUEZ_cjs.SDKCompiler; }
6522
+ get: function () { return chunkPHLNABJD_cjs.SDKCompiler; }
5147
6523
  });
5148
6524
  Object.defineProperty(exports, "SHARED_SORT_SHADER_PATH", {
5149
6525
  enumerable: true,
5150
- get: function () { return chunkCESMPUEZ_cjs.SHARED_SORT_SHADER_PATH; }
6526
+ get: function () { return chunkPHLNABJD_cjs.SHARED_SORT_SHADER_PATH; }
5151
6527
  });
5152
6528
  Object.defineProperty(exports, "SOVEREIGN_TRAIN_EXECUTOR", {
5153
6529
  enumerable: true,
5154
- get: function () { return chunkCESMPUEZ_cjs.SOVEREIGN_TRAIN_EXECUTOR; }
6530
+ get: function () { return chunkPHLNABJD_cjs.SOVEREIGN_TRAIN_EXECUTOR; }
5155
6531
  });
5156
6532
  Object.defineProperty(exports, "SVGCompiler", {
5157
6533
  enumerable: true,
5158
- get: function () { return chunkCESMPUEZ_cjs.SVGCompiler; }
6534
+ get: function () { return chunkPHLNABJD_cjs.SVGCompiler; }
5159
6535
  });
5160
6536
  Object.defineProperty(exports, "SpatialAudioCompiler", {
5161
6537
  enumerable: true,
5162
- get: function () { return chunkCESMPUEZ_cjs.SpatialAudioCompiler; }
6538
+ get: function () { return chunkPHLNABJD_cjs.SpatialAudioCompiler; }
5163
6539
  });
5164
6540
  Object.defineProperty(exports, "SpatialPartitionPass", {
5165
6541
  enumerable: true,
5166
- get: function () { return chunkCESMPUEZ_cjs.SpatialPartitionPass; }
6542
+ get: function () { return chunkPHLNABJD_cjs.SpatialPartitionPass; }
5167
6543
  });
5168
6544
  Object.defineProperty(exports, "ThreeDTilesCompiler", {
5169
6545
  enumerable: true,
5170
- get: function () { return chunkCESMPUEZ_cjs.ThreeDTilesCompiler; }
6546
+ get: function () { return chunkPHLNABJD_cjs.ThreeDTilesCompiler; }
5171
6547
  });
5172
6548
  Object.defineProperty(exports, "USDZPipeline", {
5173
6549
  enumerable: true,
5174
- get: function () { return chunkCESMPUEZ_cjs.USDZPipeline; }
6550
+ get: function () { return chunkPHLNABJD_cjs.USDZPipeline; }
5175
6551
  });
5176
6552
  Object.defineProperty(exports, "absorbFMU", {
5177
6553
  enumerable: true,
5178
- get: function () { return chunkCESMPUEZ_cjs.absorbFMU; }
6554
+ get: function () { return chunkPHLNABJD_cjs.absorbFMU; }
5179
6555
  });
5180
6556
  Object.defineProperty(exports, "assertAuthorityEffects", {
5181
6557
  enumerable: true,
5182
- get: function () { return chunkCESMPUEZ_cjs.assertAuthorityEffects; }
6558
+ get: function () { return chunkPHLNABJD_cjs.assertAuthorityEffects; }
5183
6559
  });
5184
6560
  Object.defineProperty(exports, "bestCategoryForTraits", {
5185
6561
  enumerable: true,
5186
- get: function () { return chunkCESMPUEZ_cjs.bestCategoryForTraits; }
6562
+ get: function () { return chunkPHLNABJD_cjs.bestCategoryForTraits; }
5187
6563
  });
5188
6564
  Object.defineProperty(exports, "checkAuthorityEffects", {
5189
6565
  enumerable: true,
5190
- get: function () { return chunkCESMPUEZ_cjs.checkAuthorityEffects; }
6566
+ get: function () { return chunkPHLNABJD_cjs.checkAuthorityEffects; }
5191
6567
  });
5192
6568
  Object.defineProperty(exports, "collectAuthorityEffectNodes", {
5193
6569
  enumerable: true,
5194
- get: function () { return chunkCESMPUEZ_cjs.collectAuthorityEffectNodes; }
6570
+ get: function () { return chunkPHLNABJD_cjs.collectAuthorityEffectNodes; }
5195
6571
  });
5196
6572
  Object.defineProperty(exports, "compileAllToNextJSAPI", {
5197
6573
  enumerable: true,
5198
- get: function () { return chunkCESMPUEZ_cjs.compileAllToNextJSAPI; }
6574
+ get: function () { return chunkPHLNABJD_cjs.compileAllToNextJSAPI; }
5199
6575
  });
5200
6576
  Object.defineProperty(exports, "compilePCGGraphFromBlocks", {
5201
6577
  enumerable: true,
5202
- get: function () { return chunkCESMPUEZ_cjs.compilePCGGraphFromBlocks; }
6578
+ get: function () { return chunkPHLNABJD_cjs.compilePCGGraphFromBlocks; }
5203
6579
  });
5204
6580
  Object.defineProperty(exports, "compilePipelineSource", {
5205
6581
  enumerable: true,
5206
- get: function () { return chunkCESMPUEZ_cjs.compilePipelineSource; }
6582
+ get: function () { return chunkPHLNABJD_cjs.compilePipelineSource; }
5207
6583
  });
5208
6584
  Object.defineProperty(exports, "compilePipelineSourceToNode", {
5209
6585
  enumerable: true,
5210
- get: function () { return chunkCESMPUEZ_cjs.compilePipelineSourceToNode; }
6586
+ get: function () { return chunkPHLNABJD_cjs.compilePipelineSourceToNode; }
5211
6587
  });
5212
6588
  Object.defineProperty(exports, "compilePipelineSourceToPython", {
5213
6589
  enumerable: true,
5214
- get: function () { return chunkCESMPUEZ_cjs.compilePipelineSourceToPython; }
6590
+ get: function () { return chunkPHLNABJD_cjs.compilePipelineSourceToPython; }
5215
6591
  });
5216
6592
  Object.defineProperty(exports, "compilePipelineToNode", {
5217
6593
  enumerable: true,
5218
- get: function () { return chunkCESMPUEZ_cjs.compilePipelineToNode; }
6594
+ get: function () { return chunkPHLNABJD_cjs.compilePipelineToNode; }
5219
6595
  });
5220
6596
  Object.defineProperty(exports, "compilePipelineToPython", {
5221
6597
  enumerable: true,
5222
- get: function () { return chunkCESMPUEZ_cjs.compilePipelineToPython; }
6598
+ get: function () { return chunkPHLNABJD_cjs.compilePipelineToPython; }
5223
6599
  });
5224
6600
  Object.defineProperty(exports, "compileTo3DTiles", {
5225
6601
  enumerable: true,
5226
- get: function () { return chunkCESMPUEZ_cjs.compileTo3DTiles; }
6602
+ get: function () { return chunkPHLNABJD_cjs.compileTo3DTiles; }
5227
6603
  });
5228
6604
  Object.defineProperty(exports, "compileToFMU", {
5229
6605
  enumerable: true,
5230
- get: function () { return chunkCESMPUEZ_cjs.compileToFMU; }
6606
+ get: function () { return chunkPHLNABJD_cjs.compileToFMU; }
5231
6607
  });
5232
6608
  Object.defineProperty(exports, "compileToNextJSAPI", {
5233
6609
  enumerable: true,
5234
- get: function () { return chunkCESMPUEZ_cjs.compileToNextJSAPI; }
6610
+ get: function () { return chunkPHLNABJD_cjs.compileToNextJSAPI; }
5235
6611
  });
5236
6612
  Object.defineProperty(exports, "compileToPCGGraph", {
5237
6613
  enumerable: true,
5238
- get: function () { return chunkCESMPUEZ_cjs.compileToPCGGraph; }
6614
+ get: function () { return chunkPHLNABJD_cjs.compileToPCGGraph; }
5239
6615
  });
5240
6616
  Object.defineProperty(exports, "createGaussianSplattingCompiler", {
5241
6617
  enumerable: true,
5242
- get: function () { return chunkCESMPUEZ_cjs.createGaussianSplattingCompiler; }
6618
+ get: function () { return chunkPHLNABJD_cjs.createGaussianSplattingCompiler; }
5243
6619
  });
5244
6620
  Object.defineProperty(exports, "createGaussianTrainCompiler", {
5245
6621
  enumerable: true,
5246
- get: function () { return chunkCESMPUEZ_cjs.createGaussianTrainCompiler; }
6622
+ get: function () { return chunkPHLNABJD_cjs.createGaussianTrainCompiler; }
5247
6623
  });
5248
6624
  Object.defineProperty(exports, "createOmnigentAgentYamlCompiler", {
5249
6625
  enumerable: true,
5250
- get: function () { return chunkCESMPUEZ_cjs.createOmnigentAgentYamlCompiler; }
6626
+ get: function () { return chunkPHLNABJD_cjs.createOmnigentAgentYamlCompiler; }
5251
6627
  });
5252
6628
  Object.defineProperty(exports, "createThreeDTilesCompiler", {
5253
6629
  enumerable: true,
5254
- get: function () { return chunkCESMPUEZ_cjs.createThreeDTilesCompiler; }
6630
+ get: function () { return chunkPHLNABJD_cjs.createThreeDTilesCompiler; }
5255
6631
  });
5256
6632
  Object.defineProperty(exports, "detectMultiUserSharedSort", {
5257
6633
  enumerable: true,
5258
- get: function () { return chunkCESMPUEZ_cjs.detectMultiUserSharedSort; }
6634
+ get: function () { return chunkPHLNABJD_cjs.detectMultiUserSharedSort; }
5259
6635
  });
5260
6636
  Object.defineProperty(exports, "ensureDialectsBooted", {
5261
6637
  enumerable: true,
5262
- get: function () { return chunkCESMPUEZ_cjs.ensureDialectsBooted; }
6638
+ get: function () { return chunkPHLNABJD_cjs.ensureDialectsBooted; }
5263
6639
  });
5264
6640
  Object.defineProperty(exports, "generateHoloScriptGbnf", {
5265
6641
  enumerable: true,
5266
- get: function () { return chunkCESMPUEZ_cjs.generateHoloScriptGbnf; }
6642
+ get: function () { return chunkPHLNABJD_cjs.generateHoloScriptGbnf; }
5267
6643
  });
5268
6644
  Object.defineProperty(exports, "isHoloScriptGrammarPreset", {
5269
6645
  enumerable: true,
5270
- get: function () { return chunkCESMPUEZ_cjs.isHoloScriptGrammarPreset; }
6646
+ get: function () { return chunkPHLNABJD_cjs.isHoloScriptGrammarPreset; }
5271
6647
  });
5272
6648
  Object.defineProperty(exports, "pcgGraphToUnrealXml", {
5273
6649
  enumerable: true,
5274
- get: function () { return chunkCESMPUEZ_cjs.pcgGraphToUnrealXml; }
6650
+ get: function () { return chunkPHLNABJD_cjs.pcgGraphToUnrealXml; }
5275
6651
  });
5276
6652
  Object.defineProperty(exports, "quickSafetyCheck", {
5277
6653
  enumerable: true,
5278
- get: function () { return chunkCESMPUEZ_cjs.quickSafetyCheck; }
6654
+ get: function () { return chunkPHLNABJD_cjs.quickSafetyCheck; }
5279
6655
  });
5280
6656
  Object.defineProperty(exports, "registerBuiltinDialects", {
5281
6657
  enumerable: true,
5282
- get: function () { return chunkCESMPUEZ_cjs.registerBuiltinDialects; }
6658
+ get: function () { return chunkPHLNABJD_cjs.registerBuiltinDialects; }
5283
6659
  });
5284
6660
  Object.defineProperty(exports, "runSafetyPass", {
5285
6661
  enumerable: true,
5286
- get: function () { return chunkCESMPUEZ_cjs.runSafetyPass; }
6662
+ get: function () { return chunkPHLNABJD_cjs.runSafetyPass; }
5287
6663
  });
5288
6664
  Object.defineProperty(exports, "selectModality", {
5289
6665
  enumerable: true,
5290
- get: function () { return chunkCESMPUEZ_cjs.selectModality; }
6666
+ get: function () { return chunkPHLNABJD_cjs.selectModality; }
5291
6667
  });
5292
6668
  Object.defineProperty(exports, "selectModalityForAll", {
5293
6669
  enumerable: true,
5294
- get: function () { return chunkCESMPUEZ_cjs.selectModalityForAll; }
6670
+ get: function () { return chunkPHLNABJD_cjs.selectModalityForAll; }
5295
6671
  });
5296
6672
  Object.defineProperty(exports, "spatialPartition", {
5297
6673
  enumerable: true,
5298
- get: function () { return chunkCESMPUEZ_cjs.spatialPartition; }
6674
+ get: function () { return chunkPHLNABJD_cjs.spatialPartition; }
5299
6675
  });
5300
6676
  Object.defineProperty(exports, "streamWorldTiles", {
5301
6677
  enumerable: true,
5302
- get: function () { return chunkCESMPUEZ_cjs.streamWorldTiles; }
6678
+ get: function () { return chunkPHLNABJD_cjs.streamWorldTiles; }
5303
6679
  });
5304
6680
  Object.defineProperty(exports, "generateHullGeometry", {
5305
6681
  enumerable: true,
@@ -5315,23 +6691,23 @@ Object.defineProperty(exports, "generateSplineGeometry", {
5315
6691
  });
5316
6692
  Object.defineProperty(exports, "SceneIRCompiler", {
5317
6693
  enumerable: true,
5318
- get: function () { return chunk4CRMVEON_cjs.SceneIRCompiler; }
6694
+ get: function () { return chunkF47FEV4X_cjs.SceneIRCompiler; }
5319
6695
  });
5320
6696
  Object.defineProperty(exports, "DaimonSeedCompiler", {
5321
6697
  enumerable: true,
5322
- get: function () { return chunkOOP4S3GU_cjs.DaimonSeedCompiler; }
6698
+ get: function () { return chunkOQVHCYY4_cjs.DaimonSeedCompiler; }
5323
6699
  });
5324
6700
  Object.defineProperty(exports, "computeExportFidelity", {
5325
6701
  enumerable: true,
5326
- get: function () { return chunkOOP4S3GU_cjs.computeExportFidelity; }
6702
+ get: function () { return chunkOQVHCYY4_cjs.computeExportFidelity; }
5327
6703
  });
5328
6704
  Object.defineProperty(exports, "createDaimonSeedCompiler", {
5329
6705
  enumerable: true,
5330
- get: function () { return chunkOOP4S3GU_cjs.createDaimonSeedCompiler; }
6706
+ get: function () { return chunkOQVHCYY4_cjs.createDaimonSeedCompiler; }
5331
6707
  });
5332
6708
  Object.defineProperty(exports, "runHysteresisExp2", {
5333
6709
  enumerable: true,
5334
- get: function () { return chunkOOP4S3GU_cjs.runHysteresisExp2; }
6710
+ get: function () { return chunkOQVHCYY4_cjs.runHysteresisExp2; }
5335
6711
  });
5336
6712
  Object.defineProperty(exports, "COCOExporter", {
5337
6713
  enumerable: true,
@@ -5347,91 +6723,91 @@ Object.defineProperty(exports, "SemanticSceneGraph", {
5347
6723
  });
5348
6724
  Object.defineProperty(exports, "AgentInferenceCompiler", {
5349
6725
  enumerable: true,
5350
- get: function () { return chunkYMI3ED3B_cjs.AgentInferenceCompiler; }
6726
+ get: function () { return chunkCRUIGXF7_cjs.AgentInferenceCompiler; }
5351
6727
  });
5352
6728
  Object.defineProperty(exports, "AgentInferenceExportTarget", {
5353
6729
  enumerable: true,
5354
- get: function () { return chunkYMI3ED3B_cjs.AgentInferenceExportTarget_default; }
6730
+ get: function () { return chunkCRUIGXF7_cjs.AgentInferenceExportTarget_default; }
5355
6731
  });
5356
6732
  Object.defineProperty(exports, "createAgentInferenceCompiler", {
5357
6733
  enumerable: true,
5358
- get: function () { return chunkYMI3ED3B_cjs.createAgentInferenceCompiler; }
6734
+ get: function () { return chunkCRUIGXF7_cjs.createAgentInferenceCompiler; }
5359
6735
  });
5360
6736
  Object.defineProperty(exports, "createPythonAgentInferenceCompiler", {
5361
6737
  enumerable: true,
5362
- get: function () { return chunkYMI3ED3B_cjs.createPythonAgentInferenceCompiler; }
6738
+ get: function () { return chunkCRUIGXF7_cjs.createPythonAgentInferenceCompiler; }
5363
6739
  });
5364
6740
  Object.defineProperty(exports, "USDPhysicsCompiler", {
5365
6741
  enumerable: true,
5366
- get: function () { return chunk5B2AJKA5_cjs.USDPhysicsCompiler; }
6742
+ get: function () { return chunkFQ4MYZYU_cjs.USDPhysicsCompiler; }
5367
6743
  });
5368
6744
  Object.defineProperty(exports, "SDFCompiler", {
5369
6745
  enumerable: true,
5370
- get: function () { return chunkKLM6QD6D_cjs.SDFCompiler; }
6746
+ get: function () { return chunkQ6VW7MGX_cjs.SDFCompiler; }
5371
6747
  });
5372
6748
  Object.defineProperty(exports, "StateCompiler", {
5373
6749
  enumerable: true,
5374
- get: function () { return chunkSKVBUGMC_cjs.StateCompiler; }
6750
+ get: function () { return chunkAUMTQV64_cjs.StateCompiler; }
5375
6751
  });
5376
6752
  Object.defineProperty(exports, "TraitCompositionCompiler", {
5377
6753
  enumerable: true,
5378
- get: function () { return chunkVZI7S7P6_cjs.TraitCompositionCompiler; }
6754
+ get: function () { return chunkVSO6HPDZ_cjs.TraitCompositionCompiler; }
5379
6755
  });
5380
6756
  Object.defineProperty(exports, "IncrementalCompiler", {
5381
6757
  enumerable: true,
5382
- get: function () { return chunkPZ46WRHX_cjs.IncrementalCompiler; }
6758
+ get: function () { return chunkXRQCTTDC_cjs.IncrementalCompiler; }
5383
6759
  });
5384
6760
  Object.defineProperty(exports, "createIncrementalCompiler", {
5385
6761
  enumerable: true,
5386
- get: function () { return chunkPZ46WRHX_cjs.createIncrementalCompiler; }
6762
+ get: function () { return chunkXRQCTTDC_cjs.createIncrementalCompiler; }
5387
6763
  });
5388
6764
  Object.defineProperty(exports, "AndroidCompiler", {
5389
6765
  enumerable: true,
5390
- get: function () { return chunkXZC75AJ4_cjs.AndroidCompiler; }
6766
+ get: function () { return chunkFPGYWNNA_cjs.AndroidCompiler; }
5391
6767
  });
5392
6768
  Object.defineProperty(exports, "AndroidXRCompiler", {
5393
6769
  enumerable: true,
5394
- get: function () { return chunkREN3LHO6_cjs.AndroidXRCompiler; }
6770
+ get: function () { return chunkQKLEDRHN_cjs.AndroidXRCompiler; }
5395
6771
  });
5396
6772
  Object.defineProperty(exports, "IOSCompiler", {
5397
6773
  enumerable: true,
5398
- get: function () { return chunkGYJLP4BO_cjs.IOSCompiler; }
6774
+ get: function () { return chunkK53L47NH_cjs.IOSCompiler; }
5399
6775
  });
5400
6776
  Object.defineProperty(exports, "VisionOSCompiler", {
5401
6777
  enumerable: true,
5402
- get: function () { return chunkFOM36K5I_cjs.VisionOSCompiler; }
6778
+ get: function () { return chunkJ74S4ZMF_cjs.VisionOSCompiler; }
5403
6779
  });
5404
6780
  Object.defineProperty(exports, "WASMCompiler", {
5405
6781
  enumerable: true,
5406
- get: function () { return chunkSNMQUWIO_cjs.WASMCompiler; }
6782
+ get: function () { return chunkNTSLNIY7_cjs.WASMCompiler; }
5407
6783
  });
5408
6784
  Object.defineProperty(exports, "WebGPUCompiler", {
5409
6785
  enumerable: true,
5410
- get: function () { return chunkERYKKPHW_cjs.WebGPUCompiler; }
6786
+ get: function () { return chunkU6CQOM5Q_cjs.WebGPUCompiler; }
5411
6787
  });
5412
6788
  Object.defineProperty(exports, "DTDLCompiler", {
5413
6789
  enumerable: true,
5414
- get: function () { return chunkOSKGCXAQ_cjs.DTDLCompiler; }
6790
+ get: function () { return chunkFGTXAVKG_cjs.DTDLCompiler; }
5415
6791
  });
5416
6792
  Object.defineProperty(exports, "URDFCompiler", {
5417
6793
  enumerable: true,
5418
- get: function () { return chunkB6JHTTMR_cjs.URDFCompiler; }
6794
+ get: function () { return chunkN2BOTBPG_cjs.URDFCompiler; }
5419
6795
  });
5420
6796
  Object.defineProperty(exports, "createURDFCompiler", {
5421
6797
  enumerable: true,
5422
- get: function () { return chunkB6JHTTMR_cjs.createURDFCompiler; }
6798
+ get: function () { return chunkN2BOTBPG_cjs.createURDFCompiler; }
5423
6799
  });
5424
6800
  Object.defineProperty(exports, "OpenXRCompiler", {
5425
6801
  enumerable: true,
5426
- get: function () { return chunkVTFLKSJL_cjs.OpenXRCompiler; }
6802
+ get: function () { return chunkZHW6TDZ6_cjs.OpenXRCompiler; }
5427
6803
  });
5428
6804
  Object.defineProperty(exports, "VRChatCompiler", {
5429
6805
  enumerable: true,
5430
- get: function () { return chunkVA7THINF_cjs.VRChatCompiler; }
6806
+ get: function () { return chunkZXXC2GXB_cjs.VRChatCompiler; }
5431
6807
  });
5432
6808
  Object.defineProperty(exports, "UnityCompiler", {
5433
6809
  enumerable: true,
5434
- get: function () { return chunkLQNL3IYV_cjs.UnityCompiler; }
6810
+ get: function () { return chunkLNJKBQ2B_cjs.UnityCompiler; }
5435
6811
  });
5436
6812
  Object.defineProperty(exports, "PlatformConditionalCompilerMixin", {
5437
6813
  enumerable: true,
@@ -5455,7 +6831,7 @@ Object.defineProperty(exports, "normalizePlatformName", {
5455
6831
  });
5456
6832
  Object.defineProperty(exports, "GodotCompiler", {
5457
6833
  enumerable: true,
5458
- get: function () { return chunkHCONR4J6_cjs.GodotCompiler; }
6834
+ get: function () { return chunkAN3ZH7M7_cjs.GodotCompiler; }
5459
6835
  });
5460
6836
  Object.defineProperty(exports, "SCIENTIFIC_COLOR_MAPS", {
5461
6837
  enumerable: true,
@@ -5491,23 +6867,23 @@ Object.defineProperty(exports, "srgbToHex", {
5491
6867
  });
5492
6868
  Object.defineProperty(exports, "CompilerBase", {
5493
6869
  enumerable: true,
5494
- get: function () { return chunkSE2Y5BSL_cjs.CompilerBase; }
6870
+ get: function () { return chunkCMEINO5I_cjs.CompilerBase; }
5495
6871
  });
5496
6872
  Object.defineProperty(exports, "CompilerDocumentationGenerator", {
5497
6873
  enumerable: true,
5498
- get: function () { return chunkSE2Y5BSL_cjs.CompilerDocumentationGenerator; }
6874
+ get: function () { return chunkCMEINO5I_cjs.CompilerDocumentationGenerator; }
5499
6875
  });
5500
6876
  Object.defineProperty(exports, "UnauthorizedCompilerAccessError", {
5501
6877
  enumerable: true,
5502
- get: function () { return chunkSE2Y5BSL_cjs.UnauthorizedCompilerAccessError; }
6878
+ get: function () { return chunkCMEINO5I_cjs.UnauthorizedCompilerAccessError; }
5503
6879
  });
5504
6880
  Object.defineProperty(exports, "createTestCompilerToken", {
5505
6881
  enumerable: true,
5506
- get: function () { return chunkSE2Y5BSL_cjs.createTestCompilerToken; }
6882
+ get: function () { return chunkCMEINO5I_cjs.createTestCompilerToken; }
5507
6883
  });
5508
6884
  Object.defineProperty(exports, "isCapabilityTokenCredential", {
5509
6885
  enumerable: true,
5510
- get: function () { return chunkSE2Y5BSL_cjs.isCapabilityTokenCredential; }
6886
+ get: function () { return chunkCMEINO5I_cjs.isCapabilityTokenCredential; }
5511
6887
  });
5512
6888
  exports.AgentTrustLedger = AgentTrustLedger;
5513
6889
  exports.AlphaTracker = AlphaTracker;
@@ -5520,6 +6896,13 @@ exports.COLYSEUS_SCHEMA_FIELD_TIERS = COLYSEUS_SCHEMA_FIELD_TIERS;
5520
6896
  exports.DEFAULT_DISPATCH_LATENCY_OPERATION = DEFAULT_DISPATCH_LATENCY_OPERATION;
5521
6897
  exports.DispatchPolicy = DispatchPolicy;
5522
6898
  exports.DispatchTier = DispatchTier;
6899
+ exports.HSIAdmissionError = HSIAdmissionError;
6900
+ exports.HSIIRCompiler = HSIIRCompiler;
6901
+ exports.HSI_AUDIT_SCHEMA_VERSION = HSI_AUDIT_SCHEMA_VERSION;
6902
+ exports.HSI_IR_SCHEMA_VERSION = HSI_IR_SCHEMA_VERSION;
6903
+ exports.HSI_LEARNING_GRAPH_SCHEMA_VERSION = HSI_LEARNING_GRAPH_SCHEMA_VERSION;
6904
+ exports.HSI_OBSERVATION_MEDIATOR_EDGE = HSI_OBSERVATION_MEDIATOR_EDGE;
6905
+ exports.HSI_TRACE_SCHEMA_VERSION = HSI_TRACE_SCHEMA_VERSION;
5523
6906
  exports.MCPConfigCompiler = MCPConfigCompiler;
5524
6907
  exports.MultiLayerCompiler = MultiLayerCompiler;
5525
6908
  exports.NATIVE_COMPILE_MODES = NATIVE_COMPILE_MODES;
@@ -5529,29 +6912,45 @@ exports.SOVEREIGN_ENGINES = SOVEREIGN_ENGINES;
5529
6912
  exports.SOVEREIGN_TARGETS = SOVEREIGN_TARGETS;
5530
6913
  exports.Vector2DCompiler = Vector2DCompiler;
5531
6914
  exports.WebGPUWGSLPlugin = WebGPUWGSLPlugin;
6915
+ exports.applyIntervention = applyIntervention;
6916
+ exports.behavioralProjection = behavioralProjection;
5532
6917
  exports.buildColyseusAuthorityGraph = buildColyseusAuthorityGraph;
5533
6918
  exports.buildColyseusCrossFileContext = buildColyseusCrossFileContext;
5534
6919
  exports.byzantineResilientMerge = byzantineResilientMerge;
5535
6920
  exports.createAuthoritySymbolGraph = createAuthoritySymbolGraph;
5536
6921
  exports.createDefaultDispatchLatencyScenarios = createDefaultDispatchLatencyScenarios;
6922
+ exports.createHSIIRCompiler = createHSIIRCompiler;
5537
6923
  exports.createProvenanceBoundsChecker = createProvenanceBoundsChecker;
5538
6924
  exports.createTier3CpuDirectOutput = createTier3CpuDirectOutput;
5539
6925
  exports.detectWasmRuntime = detectWasmRuntime;
6926
+ exports.emitSceneIRTsx = emitSceneIRTsx;
5540
6927
  exports.formatDispatchLatencyBenchmarkReport = formatDispatchLatencyBenchmarkReport;
6928
+ exports.generateAuditCases = generateAuditCases;
5541
6929
  exports.generateTraitForTarget = generateTraitForTarget;
5542
6930
  exports.getAllManifests = getAllManifests;
5543
6931
  exports.getTraitInfo = getTraitInfo;
6932
+ exports.hsiSha256 = hsiSha256;
6933
+ exports.hsiSourceTextDigest = hsiSourceTextDigest;
6934
+ exports.hsiStableStringify = hsiStableStringify;
5544
6935
  exports.isBridgeTarget = isBridgeTarget;
5545
6936
  exports.isSovereignTarget = isSovereignTarget;
5546
6937
  exports.listTraitsForTarget = listTraitsForTarget;
6938
+ exports.lowerCompositionToHSIIR = lowerCompositionToHSIIR;
6939
+ exports.lowerHoloExpression = lowerHoloExpression;
5547
6940
  exports.manifestFromPlugin = manifestFromPlugin;
5548
6941
  exports.mergeSocialCausalModels = mergeSocialCausalModels;
5549
6942
  exports.mostRestrictiveTier = mostRestrictiveTier;
5550
6943
  exports.platformPluginRegistry = platformPluginRegistry;
6944
+ exports.projectLearningGraph = projectLearningGraph;
5551
6945
  exports.queryTrait = queryTrait;
5552
6946
  exports.recommendDispatchPolicyDefaults = recommendDispatchPolicyDefaults;
6947
+ exports.renameComposition = renameComposition;
6948
+ exports.renameTrace = renameTrace;
6949
+ exports.reorderComposition = reorderComposition;
5553
6950
  exports.runCompilerWasmSnnEmulator = runCompilerWasmSnnEmulator;
5554
6951
  exports.runDispatchPolicyLatencyBenchmark = runDispatchPolicyLatencyBenchmark;
6952
+ exports.runExactTrace = runExactTrace;
6953
+ exports.runHSIAudit = runHSIAudit;
5555
6954
  exports.splitServerAuthority = splitServerAuthority;
5556
6955
  exports.targetSovereignty = targetSovereignty;
5557
6956
  exports.traitExists = traitExists;