@holoscript/core 8.0.13 → 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 (191) hide show
  1. package/README.md +20 -13
  2. package/bin/holo-decision.mjs +133 -0
  3. package/bin/holoscript.cjs +0 -0
  4. package/dist/{GLTFPipeline-L76YTXKA.js → GLTFPipeline-FRBZIATS.js} +7 -7
  5. package/dist/{GLTFPipeline-ZWJN7GI6.cjs → GLTFPipeline-MTPP444P.cjs} +11 -11
  6. package/dist/{HoloCompositionParser-P4Y3CXKQ.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-63KA3M2F.js → SceneIRCompiler-BJQMKLWL.js} +7 -7
  13. package/dist/{SceneIRCompiler-KWUFHZ4O.cjs → SceneIRCompiler-RTPPDQAV.cjs} +12 -12
  14. package/dist/{chunk-FWCHPCD4.js → chunk-22AULOAL.js} +5 -5
  15. package/dist/{chunk-G35CAQ7I.cjs → chunk-2DJIS7TH.cjs} +5 -5
  16. package/dist/{chunk-LHUDAJQT.cjs → chunk-2PVEXEOL.cjs} +5 -5
  17. package/dist/{chunk-WWNCM473.js → chunk-2UP2J3OK.js} +4 -4
  18. package/dist/{chunk-HVX7QQYK.js → chunk-3AUYBQ5I.js} +3 -3
  19. package/dist/{chunk-TSTFYGGX.js → chunk-3MQAOMKD.js} +3 -3
  20. package/dist/{chunk-FWKEY4LD.js → chunk-4AGNARX6.js} +3 -3
  21. package/dist/{chunk-WNYXT4TE.cjs → chunk-4CQ7ULXZ.cjs} +3 -3
  22. package/dist/{chunk-U3D4SYQ5.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-77QI552M.js → chunk-7AY66PZP.js} +3 -3
  26. package/dist/{chunk-7IDJDMPU.cjs → chunk-7FYSSI3C.cjs} +27 -2
  27. package/dist/{chunk-BP4KTMLY.js → chunk-7HDRN5BW.js} +4 -4
  28. package/dist/{chunk-SQAAWO4V.cjs → chunk-7YKNV2BE.cjs} +5 -5
  29. package/dist/{chunk-WTH23ISI.js → chunk-AAUQTR7I.js} +4 -4
  30. package/dist/{chunk-OC6GV5QH.cjs → chunk-AN3ZH7M7.cjs} +38 -38
  31. package/dist/{chunk-YW3I2FQL.js → chunk-ANMME7XT.js} +4 -2
  32. package/dist/{chunk-A4OOLBZD.js → chunk-ATRAK4RC.js} +5 -5
  33. package/dist/{chunk-BQJ3YBF3.js → chunk-AUF7HFOO.js} +724 -647
  34. package/dist/{chunk-2X3IPCBK.cjs → chunk-AUMTQV64.cjs} +7 -7
  35. package/dist/chunk-AUU4ACJP.cjs +1605 -0
  36. package/dist/{chunk-QQFB4RT2.cjs → chunk-BTVHY3UB.cjs} +2 -2
  37. package/dist/{chunk-ZK7KX5CD.cjs → chunk-CMEINO5I.cjs} +190 -74
  38. package/dist/{chunk-BCP4E7MD.cjs → chunk-CRUIGXF7.cjs} +26 -10
  39. package/dist/{chunk-2E6PP5UE.cjs → chunk-E2SNPMBO.cjs} +11 -11
  40. package/dist/{chunk-2BYAUHBO.js → chunk-E4YS5SIZ.js} +90 -25
  41. package/dist/{chunk-KFVNCW4Q.js → chunk-EKNWUSGW.js} +3 -3
  42. package/dist/{chunk-JEJ7TT54.js → chunk-ETIJOUIO.js} +4 -4
  43. package/dist/{chunk-FRSKLX6I.js → chunk-F33KLYOS.js} +12 -9
  44. package/dist/{chunk-GGR7QUKK.cjs → chunk-F47FEV4X.cjs} +40 -40
  45. package/dist/{chunk-J3UHV5T4.cjs → chunk-FCGTI7FO.cjs} +4 -4
  46. package/dist/{chunk-RRQIAJLQ.cjs → chunk-FGTXAVKG.cjs} +5 -5
  47. package/dist/{chunk-2KKOYZYI.cjs → chunk-FPGYWNNA.cjs} +5 -5
  48. package/dist/{chunk-65S62L4D.cjs → chunk-FQ4MYZYU.cjs} +20 -20
  49. package/dist/{chunk-UGQ3QNV6.js → chunk-FT4FGTR6.js} +24 -8
  50. package/dist/{chunk-Q4K2GEMW.cjs → chunk-FVNV4WHQ.cjs} +20 -17
  51. package/dist/{chunk-SJIRCTIS.cjs → chunk-HSGJFCVJ.cjs} +2 -2
  52. package/dist/{chunk-B3CWTCK2.js → chunk-IA7FCSRY.js} +27 -2
  53. package/dist/{chunk-OIBRWLPY.cjs → chunk-ILO2KMER.cjs} +55 -4
  54. package/dist/{chunk-ZRPALBQB.cjs → chunk-IPBSNGAN.cjs} +92 -27
  55. package/dist/{chunk-FHVPN7BN.js → chunk-IX2U3RQT.js} +3 -3
  56. package/dist/{chunk-QEDMOGF3.cjs → chunk-IYK6LMQ7.cjs} +7 -7
  57. package/dist/{chunk-G6EKZHXY.js → chunk-J3VVM6GV.js} +4 -4
  58. package/dist/{chunk-LMB555QB.cjs → chunk-J74S4ZMF.cjs} +18 -18
  59. package/dist/{chunk-36NPLOI4.cjs → chunk-JERWCCEJ.cjs} +4 -2
  60. package/dist/{chunk-RVNXBF2M.js → chunk-JTDDLCSP.js} +4 -4
  61. package/dist/{chunk-VTEXJOSD.cjs → chunk-K53L47NH.cjs} +30 -30
  62. package/dist/{chunk-IJU6AS67.cjs → chunk-LJTM5ONX.cjs} +23 -23
  63. package/dist/{chunk-G6KACNMO.js → chunk-LJVVOVA6.js} +4 -4
  64. package/dist/{chunk-PDXX5UI4.cjs → chunk-LNJKBQ2B.cjs} +38 -38
  65. package/dist/{chunk-EM2OGPYE.js → chunk-M2GDE3NV.js} +3 -3
  66. package/dist/{chunk-CP7V3ATL.js → chunk-MSZNGI5P.js} +52 -5
  67. package/dist/{chunk-P7JEKJTZ.cjs → chunk-N2BOTBPG.cjs} +27 -16
  68. package/dist/{chunk-LB3ZZMKT.cjs → chunk-NFALJJCH.cjs} +12 -12
  69. package/dist/{chunk-XF63CZ7E.cjs → chunk-NRZRBK25.cjs} +6 -6
  70. package/dist/{chunk-GZPUA2TL.cjs → chunk-NTSLNIY7.cjs} +10 -10
  71. package/dist/{chunk-Y57AVOM2.cjs → chunk-NZJOAWJM.cjs} +4 -4
  72. package/dist/{chunk-RXQNRZ5F.js → chunk-OG7RKWWX.js} +3 -3
  73. package/dist/{chunk-VVAAZITA.cjs → chunk-OQVHCYY4.cjs} +5 -5
  74. package/dist/{chunk-PJFTTSKE.js → chunk-PFZ5WLIP.js} +4 -4
  75. package/dist/{chunk-PXVAPGTR.cjs → chunk-PHLNABJD.cjs} +3788 -1138
  76. package/dist/{chunk-SQXAZHDG.js → chunk-PLK3DLTF.js} +3 -3
  77. package/dist/{chunk-QBY7LRN2.js → chunk-PMACVMHL.js} +3 -3
  78. package/dist/{chunk-DJ5BNRIS.js → chunk-PV2OXNP5.js} +3684 -1041
  79. package/dist/{chunk-F3YT6GUF.cjs → chunk-Q6VW7MGX.cjs} +14 -14
  80. package/dist/{chunk-DUG3OQAS.js → chunk-QC3CAVFN.js} +187 -70
  81. package/dist/{chunk-NQN5LFN4.cjs → chunk-QKLEDRHN.cjs} +19 -19
  82. package/dist/{chunk-2EGGAZT3.js → chunk-QS27OYBU.js} +3 -3
  83. package/dist/{chunk-4376VHNJ.js → chunk-RUB7WL6C.js} +3 -3
  84. package/dist/{chunk-5LVFTGKH.js → chunk-TW2AH2ZS.js} +3 -3
  85. package/dist/{chunk-AATYYLYK.js → chunk-TZM6DKSJ.js} +18 -7
  86. package/dist/{chunk-ESSEF6U2.js → chunk-U227RWXB.js} +3 -3
  87. package/dist/{chunk-TC7JEO6R.cjs → chunk-U6CQOM5Q.cjs} +711 -52
  88. package/dist/{chunk-Z557DVYN.js → chunk-ULT2QAV5.js} +4 -4
  89. package/dist/{chunk-S4O7CFHQ.cjs → chunk-VSO6HPDZ.cjs} +7 -7
  90. package/dist/{chunk-ONPVM4IV.js → chunk-WQJMSSJT.js} +698 -45
  91. package/dist/{chunk-GILYQ5VH.cjs → chunk-WXSDBWGM.cjs} +4 -4
  92. package/dist/{chunk-UTUD6GJI.js → chunk-X5PMMK7H.js} +3 -3
  93. package/dist/{chunk-IFW5IW4L.cjs → chunk-X5ZLSPU2.cjs} +742 -657
  94. package/dist/{chunk-QM7FJB5W.js → chunk-X727CQ7X.js} +5 -5
  95. package/dist/{chunk-566ZB4LZ.cjs → chunk-XHZYS4QO.cjs} +5 -5
  96. package/dist/{chunk-RZ2EPXO3.cjs → chunk-XRQCTTDC.cjs} +8 -8
  97. package/dist/{chunk-5FYMCVBY.js → chunk-YBIHSN55.js} +4 -4
  98. package/dist/{chunk-FG6PYGIZ.js → chunk-Z574GVI3.js} +4 -4
  99. package/dist/{chunk-ZVQMKUGJ.js → chunk-Z5V3KA7L.js} +2 -2
  100. package/dist/chunk-ZGDEOXGU.js +1571 -0
  101. package/dist/{chunk-IS7NTKY5.cjs → chunk-ZHW6TDZ6.cjs} +14 -14
  102. package/dist/{chunk-CKV5NYAE.js → chunk-ZPHCTPR6.js} +4 -4
  103. package/dist/{chunk-3IUHTGDD.cjs → chunk-ZXXC2GXB.cjs} +38 -38
  104. package/dist/cli/holoscript-runner.cjs +169 -20
  105. package/dist/cli/holoscript-runner.js +163 -14
  106. package/dist/compiler/agent-inference.cjs +8 -8
  107. package/dist/compiler/agent-inference.js +4 -4
  108. package/dist/compiler/android-xr.cjs +7 -7
  109. package/dist/compiler/android-xr.js +5 -5
  110. package/dist/compiler/android.cjs +6 -6
  111. package/dist/compiler/android.js +4 -4
  112. package/dist/compiler/context.cjs +6 -6
  113. package/dist/compiler/context.js +3 -3
  114. package/dist/compiler/daimon-seed.cjs +9 -9
  115. package/dist/compiler/daimon-seed.js +4 -4
  116. package/dist/compiler/domain-block-utils.cjs +165 -165
  117. package/dist/compiler/domain-block-utils.js +4 -4
  118. package/dist/compiler/dtdl.cjs +7 -7
  119. package/dist/compiler/dtdl.js +4 -4
  120. package/dist/compiler/gltf-pipeline.cjs +8 -8
  121. package/dist/compiler/gltf-pipeline.js +1 -1
  122. package/dist/compiler/godot.cjs +6 -6
  123. package/dist/compiler/godot.js +5 -5
  124. package/dist/compiler/incremental.cjs +8 -8
  125. package/dist/compiler/incremental.js +3 -3
  126. package/dist/compiler/index.cjs +2275 -212
  127. package/dist/compiler/index.d.ts +29 -1
  128. package/dist/compiler/index.js +2078 -66
  129. package/dist/compiler/ios.cjs +6 -6
  130. package/dist/compiler/ios.js +4 -4
  131. package/dist/compiler/llm-provider-capabilities.cjs +6 -6
  132. package/dist/compiler/llm-provider-capabilities.js +3 -3
  133. package/dist/compiler/openxr.cjs +6 -6
  134. package/dist/compiler/openxr.js +5 -5
  135. package/dist/compiler/sdf.cjs +7 -7
  136. package/dist/compiler/sdf.js +5 -5
  137. package/dist/compiler/state.cjs +6 -6
  138. package/dist/compiler/state.js +4 -4
  139. package/dist/compiler/trait-composition.cjs +7 -7
  140. package/dist/compiler/trait-composition.js +3 -3
  141. package/dist/compiler/unity.cjs +6 -6
  142. package/dist/compiler/unity.js +5 -5
  143. package/dist/compiler/unreal.cjs +7 -7
  144. package/dist/compiler/unreal.js +5 -5
  145. package/dist/compiler/urdf.cjs +14 -14
  146. package/dist/compiler/urdf.js +5 -5
  147. package/dist/compiler/usd-physics.cjs +7 -7
  148. package/dist/compiler/usd-physics.js +4 -4
  149. package/dist/compiler/visionos.cjs +6 -6
  150. package/dist/compiler/visionos.js +5 -5
  151. package/dist/compiler/vrchat.cjs +7 -7
  152. package/dist/compiler/vrchat.js +5 -5
  153. package/dist/compiler/wasm.cjs +10 -10
  154. package/dist/compiler/wasm.js +5 -5
  155. package/dist/compiler/webgpu.cjs +6 -6
  156. package/dist/compiler/webgpu.js +5 -5
  157. package/dist/constants.cjs +99 -99
  158. package/dist/constants.js +3 -3
  159. package/dist/debugger.cjs +5 -5
  160. package/dist/debugger.js +3 -3
  161. package/dist/{dist-GRMOP2UL.cjs → dist-YGATNURH.cjs} +705 -9
  162. package/dist/{dist-ZBUKU2JG.js → dist-ZEZXRCBG.js} +701 -10
  163. package/dist/entries/scripting.cjs +8 -8
  164. package/dist/entries/scripting.js +4 -4
  165. package/dist/evolution/index.cjs +20 -20
  166. package/dist/evolution/index.js +8 -8
  167. package/dist/index.cjs +1099 -826
  168. package/dist/index.d.ts +78 -5
  169. package/dist/index.js +265 -120
  170. package/dist/parser/HoloCompositionTypes.d.ts +1 -1
  171. package/dist/parser.cjs +21 -21
  172. package/dist/parser.js +7 -7
  173. package/dist/reconstruction/index.cjs +127 -38
  174. package/dist/reconstruction/index.d.ts +159 -0
  175. package/dist/reconstruction/index.js +11 -2
  176. package/dist/runtime.cjs +9 -9
  177. package/dist/runtime.d.ts +1 -0
  178. package/dist/runtime.js +3 -3
  179. package/dist/traitDocs/traitDocs.cjs +8 -8
  180. package/dist/traitDocs/traitDocs.js +2 -2
  181. package/dist/traits/botanical-lotus.d.ts +61 -0
  182. package/dist/traits/index.cjs +761 -673
  183. package/dist/traits/index.d.ts +65 -0
  184. package/dist/traits/index.js +102 -27
  185. package/dist/types/HoloScriptPlus.d.ts +1 -1
  186. package/package.json +71 -65
  187. package/dist/HoloCompositionParser-6GW2BZID.cjs +0 -45
  188. package/dist/HoloScriptPlusParser-HQV6IJAH.js +0 -13
  189. package/dist/HoloScriptPlusParser-RFNHRMPE.cjs +0 -30
  190. package/dist/chunk-DVHZD5HV.cjs +0 -639
  191. package/dist/chunk-G72754QB.js +0 -625
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkCFVK26P4_cjs = require('./chunk-CFVK26P4.cjs');
4
- var chunkZK7KX5CD_cjs = require('./chunk-ZK7KX5CD.cjs');
4
+ var chunkCMEINO5I_cjs = require('./chunk-CMEINO5I.cjs');
5
5
  var chunkAWXFEAQL_cjs = require('./chunk-AWXFEAQL.cjs');
6
6
  var chunkN74QRJGP_cjs = require('./chunk-N74QRJGP.cjs');
7
7
  var chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
@@ -2305,13 +2305,13 @@ function compileToAndroid(composition, options) {
2305
2305
  exports.AndroidCompiler = void 0;
2306
2306
  var init_AndroidCompiler = chunkZHPMP447_cjs.__esm({
2307
2307
  "src/compiler/AndroidCompiler.ts"() {
2308
- chunkZK7KX5CD_cjs.init_CompilerBase();
2308
+ chunkCMEINO5I_cjs.init_CompilerBase();
2309
2309
  init_AndroidARGenerators();
2310
2310
  init_AndroidFeatureGenerators();
2311
2311
  init_AndroidSceneViewFeatureGenerators();
2312
2312
  init_AndroidPeripheralGenerators();
2313
2313
  chunkCFVK26P4_cjs.init_AndroidKotlinHelpers();
2314
- exports.AndroidCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
2314
+ exports.AndroidCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
2315
2315
  constructor(options = {}) {
2316
2316
  super();
2317
2317
  this.compilerName = "AndroidCompiler";
@@ -2465,5 +2465,5 @@ var init_AndroidCompiler = chunkZHPMP447_cjs.__esm({
2465
2465
  exports.AndroidCompiler_exports = AndroidCompiler_exports;
2466
2466
  exports.compileToAndroid = compileToAndroid;
2467
2467
  exports.init_AndroidCompiler = init_AndroidCompiler;
2468
- //# sourceMappingURL=chunk-2KKOYZYI.cjs.map
2469
- //# sourceMappingURL=chunk-2KKOYZYI.cjs.map
2468
+ //# sourceMappingURL=chunk-FPGYWNNA.cjs.map
2469
+ //# sourceMappingURL=chunk-FPGYWNNA.cjs.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkQEDMOGF3_cjs = require('./chunk-QEDMOGF3.cjs');
4
- var chunkZK7KX5CD_cjs = require('./chunk-ZK7KX5CD.cjs');
3
+ var chunkIYK6LMQ7_cjs = require('./chunk-IYK6LMQ7.cjs');
4
+ var chunkCMEINO5I_cjs = require('./chunk-CMEINO5I.cjs');
5
5
  var ans = require('@holoscript/core-types/ans');
6
6
 
7
7
  // src/compiler/USDPhysicsCompiler.ts
8
- chunkZK7KX5CD_cjs.init_CompilerBase();
9
- chunkQEDMOGF3_cjs.init_DomainBlockCompilerMixin();
10
- var USDPhysicsCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
8
+ chunkCMEINO5I_cjs.init_CompilerBase();
9
+ chunkIYK6LMQ7_cjs.init_DomainBlockCompilerMixin();
10
+ var USDPhysicsCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
11
11
  constructor(options = {}) {
12
12
  super();
13
13
  this.compilerName = "USDPhysicsCompiler";
@@ -264,34 +264,34 @@ var USDPhysicsCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
264
264
  if (domainBlocks.length > 0) {
265
265
  this.emitBlank();
266
266
  this.emit(`# === v4.2 Domain Blocks ===`);
267
- const compiled = chunkQEDMOGF3_cjs.compileDomainBlocks(
267
+ const compiled = chunkIYK6LMQ7_cjs.compileDomainBlocks(
268
268
  domainBlocks,
269
269
  {
270
270
  material: (block) => {
271
- const mat = chunkQEDMOGF3_cjs.compileMaterialBlock(block);
272
- return chunkQEDMOGF3_cjs.materialToUSD(mat);
271
+ const mat = chunkIYK6LMQ7_cjs.compileMaterialBlock(block);
272
+ return chunkIYK6LMQ7_cjs.materialToUSD(mat);
273
273
  },
274
274
  physics: (block) => {
275
- const phys = chunkQEDMOGF3_cjs.compilePhysicsBlock(block);
276
- const urdf = chunkQEDMOGF3_cjs.physicsToURDF(phys);
275
+ const phys = chunkIYK6LMQ7_cjs.compilePhysicsBlock(block);
276
+ const urdf = chunkIYK6LMQ7_cjs.physicsToURDF(phys);
277
277
  return `# Physics: ${phys.keyword} "${phys.name || ""}"
278
278
  ` + urdf.split("\n").map((l) => `# URDF: ${l}`).join("\n");
279
279
  },
280
280
  vfx: (block) => {
281
- const ps = chunkQEDMOGF3_cjs.compileParticleBlock(block);
282
- return chunkQEDMOGF3_cjs.particlesToUSD(ps);
281
+ const ps = chunkIYK6LMQ7_cjs.compileParticleBlock(block);
282
+ return chunkIYK6LMQ7_cjs.particlesToUSD(ps);
283
283
  },
284
284
  postfx: (block) => {
285
- const pp = chunkQEDMOGF3_cjs.compilePostProcessingBlock(block);
286
- return chunkQEDMOGF3_cjs.postProcessingToUSD(pp);
285
+ const pp = chunkIYK6LMQ7_cjs.compilePostProcessingBlock(block);
286
+ return chunkIYK6LMQ7_cjs.postProcessingToUSD(pp);
287
287
  },
288
288
  audio: (block) => {
289
- const audio = chunkQEDMOGF3_cjs.compileAudioSourceBlock(block);
290
- return chunkQEDMOGF3_cjs.audioSourceToUSD(audio);
289
+ const audio = chunkIYK6LMQ7_cjs.compileAudioSourceBlock(block);
290
+ return chunkIYK6LMQ7_cjs.audioSourceToUSD(audio);
291
291
  },
292
292
  weather: (block) => {
293
- const weather = chunkQEDMOGF3_cjs.compileWeatherBlock(block);
294
- return chunkQEDMOGF3_cjs.weatherToUSD(weather);
293
+ const weather = chunkIYK6LMQ7_cjs.compileWeatherBlock(block);
294
+ return chunkIYK6LMQ7_cjs.weatherToUSD(weather);
295
295
  }
296
296
  },
297
297
  (block) => `# Domain block: ${block.domain}/${block.keyword} "${this.escapeStringValue(block.name, "TypeScript")}"`
@@ -890,5 +890,5 @@ function compileForIsaacSim(composition, options) {
890
890
  exports.USDPhysicsCompiler = USDPhysicsCompiler;
891
891
  exports.compileForIsaacSim = compileForIsaacSim;
892
892
  exports.compileToUSDPhysics = compileToUSDPhysics;
893
- //# sourceMappingURL=chunk-65S62L4D.cjs.map
894
- //# sourceMappingURL=chunk-65S62L4D.cjs.map
893
+ //# sourceMappingURL=chunk-FQ4MYZYU.cjs.map
894
+ //# sourceMappingURL=chunk-FQ4MYZYU.cjs.map
@@ -1,4 +1,4 @@
1
- import { init_CompilerBase, CompilerBase } from './chunk-DUG3OQAS.js';
1
+ import { init_CompilerBase, CompilerBase } from './chunk-QC3CAVFN.js';
2
2
  import { __export, __esm } from './chunk-W4GABFCR.js';
3
3
  import { ANSCapabilityPath } from '@holoscript/core-types/ans';
4
4
 
@@ -99,7 +99,7 @@ var init_AgentInferenceExportTarget = __esm({
99
99
  if (allTools.length > 0) {
100
100
  output[`tools.${ext}`] = this.emitToolDefinitions(allTools);
101
101
  }
102
- output["config.json"] = this.emitConfigJson();
102
+ output["config.json"] = this.emitConfigJson(composition.name);
103
103
  if (this.options.language === "typescript") {
104
104
  output["package.json"] = this.emitPackageJson(composition.name);
105
105
  if (this.options.includeTypes) {
@@ -319,12 +319,14 @@ var init_AgentInferenceExportTarget = __esm({
319
319
  }
320
320
  }
321
321
  }
322
+ const target = this.extractStringValue(trait.config["target"]);
322
323
  return {
323
324
  name,
324
325
  description,
325
326
  parameters,
326
327
  returnType: this.extractStringValue(trait.config["returns"]) ?? "string",
327
- source: "trait"
328
+ source: "trait",
329
+ ...target ? { target } : {}
328
330
  };
329
331
  }
330
332
  parseBehaviorAsTool(behavior) {
@@ -798,7 +800,7 @@ var init_AgentInferenceExportTarget = __esm({
798
800
  return lines.join("\n");
799
801
  }
800
802
  // ─── Config & Package Files ─────────────────────────────────────────
801
- emitConfigJson() {
803
+ emitConfigJson(compositionName) {
802
804
  const configs = this.agents.map((a) => ({
803
805
  name: a.name,
804
806
  role: a.role,
@@ -811,9 +813,23 @@ var init_AgentInferenceExportTarget = __esm({
811
813
  top_k: a.modelConfig.topK
812
814
  },
813
815
  system_prompt: a.modelConfig.systemPrompt,
814
- tools: a.tools.map((t) => t.name)
816
+ tools: a.tools.map((t) => t.name),
817
+ // Structured facts an independent consumer can re-derive without parsing
818
+ // generated code: full tool descriptors (incl. the optional world-model
819
+ // `target` binding) and the agent's state fields. `tools` stays a name
820
+ // array for backward compatibility.
821
+ tool_details: a.tools.map((t) => ({
822
+ name: t.name,
823
+ description: t.description,
824
+ ...t.target ? { target: t.target } : {}
825
+ })),
826
+ state: a.stateProperties.map((s) => ({
827
+ key: s.key,
828
+ type: s.type,
829
+ default: s.defaultValue
830
+ }))
815
831
  }));
816
- return JSON.stringify({ agents: configs }, null, 2);
832
+ return JSON.stringify({ source: compositionName, agents: configs }, null, 2);
817
833
  }
818
834
  emitPackageJson(compositionName) {
819
835
  const pkg = {
@@ -988,5 +1004,5 @@ export interface ToolResult {
988
1004
  });
989
1005
 
990
1006
  export { AgentInferenceCompiler, AgentInferenceExportTarget_default, AgentInferenceExportTarget_exports, createAgentInferenceCompiler, createPythonAgentInferenceCompiler, init_AgentInferenceExportTarget };
991
- //# sourceMappingURL=chunk-UGQ3QNV6.js.map
992
- //# sourceMappingURL=chunk-UGQ3QNV6.js.map
1007
+ //# sourceMappingURL=chunk-FT4FGTR6.js.map
1008
+ //# sourceMappingURL=chunk-FT4FGTR6.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkOIBRWLPY_cjs = require('./chunk-OIBRWLPY.cjs');
3
+ var chunkILO2KMER_cjs = require('./chunk-ILO2KMER.cjs');
4
4
  var chunkYP5CHEYU_cjs = require('./chunk-YP5CHEYU.cjs');
5
- var chunkLHUDAJQT_cjs = require('./chunk-LHUDAJQT.cjs');
6
- var chunkEI3J6LTW_cjs = require('./chunk-EI3J6LTW.cjs');
5
+ var chunk2PVEXEOL_cjs = require('./chunk-2PVEXEOL.cjs');
6
+ var chunk6RDHWSZM_cjs = require('./chunk-6RDHWSZM.cjs');
7
7
  var chunkNTQRFOPP_cjs = require('./chunk-NTQRFOPP.cjs');
8
8
  var crypto = require('crypto');
9
9
 
@@ -1010,7 +1010,7 @@ function similarity(a, b) {
1010
1010
  function findSimilarTrait(input, threshold = 0.5) {
1011
1011
  let bestMatch;
1012
1012
  let bestScore = threshold;
1013
- for (const trait of chunkEI3J6LTW_cjs.VR_TRAITS) {
1013
+ for (const trait of chunk6RDHWSZM_cjs.VR_TRAITS) {
1014
1014
  const score = similarity(input, trait);
1015
1015
  if (score > bestScore) {
1016
1016
  bestScore = score;
@@ -1822,7 +1822,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
1822
1822
  this.hasVRTraits = false;
1823
1823
  this.hasControlFlow = false;
1824
1824
  this.compiledExpressions = /* @__PURE__ */ new Map();
1825
- this.errorRecovery = new chunkOIBRWLPY_cjs.ErrorRecovery();
1825
+ this.errorRecovery = new chunkILO2KMER_cjs.ErrorRecovery();
1826
1826
  /**
1827
1827
  * Internal incremental parser for parseIncremental.
1828
1828
  * Uses ChunkBasedIncrementalParser with AST-aware chunking and
@@ -1848,7 +1848,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
1848
1848
  getQuickFixes() {
1849
1849
  const fixes = /* @__PURE__ */ new Map();
1850
1850
  for (const error of this.errors) {
1851
- const errorFixes = chunkOIBRWLPY_cjs.generateQuickFixes(
1851
+ const errorFixes = chunkILO2KMER_cjs.generateQuickFixes(
1852
1852
  {
1853
1853
  code: error.code,
1854
1854
  message: error.message,
@@ -1869,7 +1869,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
1869
1869
  */
1870
1870
  getEnrichedErrors() {
1871
1871
  return this.errors.map(
1872
- (error) => chunkOIBRWLPY_cjs.enrichErrorWithSuggestions(
1872
+ (error) => chunkILO2KMER_cjs.enrichErrorWithSuggestions(
1873
1873
  {
1874
1874
  code: error.code,
1875
1875
  message: error.message,
@@ -2939,7 +2939,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
2939
2939
  }
2940
2940
  return { type: "waypoints", points };
2941
2941
  }
2942
- if (chunkEI3J6LTW_cjs.VR_TRAITS.includes(name)) {
2942
+ if (chunk6RDHWSZM_cjs.VR_TRAITS.includes(name)) {
2943
2943
  if (!this.options.enableVRTraits) {
2944
2944
  this.warn(`VR trait @${name} is disabled`);
2945
2945
  return null;
@@ -2969,7 +2969,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
2969
2969
  }
2970
2970
  return this.parseTraitSumTail(directive2);
2971
2971
  }
2972
- if (chunkLHUDAJQT_cjs.LIFECYCLE_HOOKS.includes(name)) {
2972
+ if (chunk2PVEXEOL_cjs.LIFECYCLE_HOOKS.includes(name)) {
2973
2973
  const params = [];
2974
2974
  if (this.check("LPAREN")) {
2975
2975
  this.advance();
@@ -3285,7 +3285,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
3285
3285
  return { type: "hololand_event", event: eventName, params };
3286
3286
  }
3287
3287
  }
3288
- if (chunkLHUDAJQT_cjs.STRUCTURAL_DIRECTIVES.includes(name)) {
3288
+ if (chunk2PVEXEOL_cjs.STRUCTURAL_DIRECTIVES.includes(name)) {
3289
3289
  let nodeName;
3290
3290
  if (this.check("STRING")) {
3291
3291
  nodeName = this.advance().value;
@@ -3293,10 +3293,13 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
3293
3293
  const config2 = this.check("LBRACE") ? this.parseBlockContent() : this.parseTraitConfig();
3294
3294
  return { ...config2, type: name, name: nodeName };
3295
3295
  }
3296
- if (this.options.strict) {
3297
- this.traitError(name);
3298
- } else {
3299
- this.warn(`Unknown directive @${name}`);
3296
+ const isKnownRuntimeDirective = chunkILO2KMER_cjs.RUNTIME_DIRECTIVE_TRAITS.includes(name);
3297
+ if (!isKnownRuntimeDirective) {
3298
+ if (this.options.strict) {
3299
+ this.traitError(name);
3300
+ } else {
3301
+ this.warn(`Unknown directive @${name}`);
3302
+ }
3300
3303
  }
3301
3304
  let config = {};
3302
3305
  let configStyle = "none";
@@ -6063,7 +6066,7 @@ var HoloScriptPlusParser = class _HoloScriptPlusParser {
6063
6066
  code: "HSP001"
6064
6067
  };
6065
6068
  }
6066
- if (current.type === "IDENTIFIER" && chunkEI3J6LTW_cjs.VR_TRAITS.includes(current.value)) {
6069
+ if (current.type === "IDENTIFIER" && chunk6RDHWSZM_cjs.VR_TRAITS.includes(current.value)) {
6067
6070
  if (prev?.type !== "AT") {
6068
6071
  return {
6069
6072
  message: `'${current.value}' is a trait and requires '@' prefix`,
@@ -6289,5 +6292,5 @@ exports.getSourceContext = getSourceContext;
6289
6292
  exports.globalParseCache = globalParseCache;
6290
6293
  exports.parse = parse;
6291
6294
  exports.parseIncrementalChunks = parseIncrementalChunks;
6292
- //# sourceMappingURL=chunk-Q4K2GEMW.cjs.map
6293
- //# sourceMappingURL=chunk-Q4K2GEMW.cjs.map
6295
+ //# sourceMappingURL=chunk-FVNV4WHQ.cjs.map
6296
+ //# sourceMappingURL=chunk-FVNV4WHQ.cjs.map
@@ -783,5 +783,5 @@ exports.jepObjectiveHandler = jepObjectiveHandler;
783
783
  exports.mitosisHandler = mitosisHandler;
784
784
  exports.orbitalHandler = orbitalHandler;
785
785
  exports.setSharedEventBus = setSharedEventBus;
786
- //# sourceMappingURL=chunk-SJIRCTIS.cjs.map
787
- //# sourceMappingURL=chunk-SJIRCTIS.cjs.map
786
+ //# sourceMappingURL=chunk-HSGJFCVJ.cjs.map
787
+ //# sourceMappingURL=chunk-HSGJFCVJ.cjs.map
@@ -118,6 +118,31 @@ var TRAIT_DOCS;
118
118
  var init_traitDocs = __esm({
119
119
  "src/traitDocs/traitDocs.ts"() {
120
120
  TRAIT_DOCS = {
121
+ // ============================================================================
122
+ // Governance Traits
123
+ // ============================================================================
124
+ freeze_when: {
125
+ name: "FreezeWhenTrait",
126
+ annotation: "@freeze_when",
127
+ description: 'Declares a self-controlling Freeze RULE: gate `scope` WHEN `signal` trips, and auto-lift the moment it clears. The freeze is DERIVED from a live signal, never a stored "FROZEN" flag, so it cannot go stale. Native/fix/infra work is always exempt. Projected to a freeze-registry.json rule that a controller evaluates on a cadence.',
128
+ category: "utility",
129
+ properties: [
130
+ { name: "id", type: "string", description: "Stable rule id \u2014 the registry key.", required: true },
131
+ { name: "scope", type: "string", description: 'The change-class this freeze gates (e.g. "new-feature-work").', required: true },
132
+ { name: "signal", type: "string", description: 'Live trigger: "required-gate:red" (a gate command fails) or "surface-absent:<path>" (a consume surface is missing).', required: true },
133
+ { name: "unfreeze", type: "string", description: "Human-readable lift condition; the derived state auto-lifts when the signal clears.", required: true },
134
+ { name: "exempt", type: "string[]", description: "Labels always allowed even under this freeze \u2014 the native-first guarantee.", default: '["fix", "native-format", "infra-repair"]' },
135
+ { name: "severity", type: '"advisory" | "blocking"', description: "advisory surfaces the freeze; blocking gates the scope.", default: '"advisory"' },
136
+ { name: "reason", type: "string", description: "Why the freeze exists (shown only while active).", default: '""' },
137
+ { name: "repair", type: "string", description: "Optional self-heal repair routed while the freeze is active.", default: '""' }
138
+ ],
139
+ methods: [],
140
+ events: [
141
+ { name: "freeze_declared", description: "Emitted onAttach with the derived rule.", payload: "{ rule, derived: true, nativeExempt: true }" }
142
+ ],
143
+ example: '@freeze_when(id: "features-on-red-gate", scope: "new-feature-work", signal: "required-gate:red", unfreeze: "gate passes")',
144
+ since: "6.0"
145
+ },
121
146
  // ============================================================================
122
147
  // Physics Traits
123
148
  // ============================================================================
@@ -2309,5 +2334,5 @@ orb rune_loom_tapestry {
2309
2334
  });
2310
2335
 
2311
2336
  export { TRAIT_DOCS, formatTraitDocAsMarkdown, formatTraitDocCompact, getAllTraitNames, getTraitDoc, getTraitsByCategory, init_traitDocs };
2312
- //# sourceMappingURL=chunk-B3CWTCK2.js.map
2313
- //# sourceMappingURL=chunk-B3CWTCK2.js.map
2337
+ //# sourceMappingURL=chunk-IA7FCSRY.js.map
2338
+ //# sourceMappingURL=chunk-IA7FCSRY.js.map
@@ -1,6 +1,53 @@
1
1
  'use strict';
2
2
 
3
- var chunkEI3J6LTW_cjs = require('./chunk-EI3J6LTW.cjs');
3
+ var chunk6RDHWSZM_cjs = require('./chunk-6RDHWSZM.cjs');
4
+
5
+ // src/traits/knownTraitSet.ts
6
+ var NATIVE2D_TRAITS = [
7
+ "text",
8
+ "fetch",
9
+ "bind",
10
+ "hook",
11
+ "theme",
12
+ "panel",
13
+ "slot",
14
+ "link",
15
+ "button",
16
+ "image",
17
+ "input",
18
+ "icon",
19
+ "when",
20
+ "each",
21
+ "count_of",
22
+ "form",
23
+ "semantic_layout",
24
+ "semantic_entity",
25
+ "color",
26
+ "content",
27
+ "layout",
28
+ "native_panel",
29
+ "view",
30
+ "page",
31
+ "route",
32
+ "metadata"
33
+ ];
34
+ var CODE_GRAPH_TRAITS = ["route", "file", "reused_in", "uses_stores", "calls_apis"];
35
+ var RUNTIME_DIRECTIVE_TRAITS = [
36
+ "llama_serve",
37
+ "model_fleet",
38
+ "provider_policy",
39
+ "freeze_when",
40
+ "evolve_program"
41
+ ];
42
+ function buildKnownTraitSet(extras = []) {
43
+ return /* @__PURE__ */ new Set([
44
+ ...chunk6RDHWSZM_cjs.VR_TRAITS,
45
+ ...NATIVE2D_TRAITS,
46
+ ...CODE_GRAPH_TRAITS,
47
+ ...RUNTIME_DIRECTIVE_TRAITS,
48
+ ...extras.flat()
49
+ ]);
50
+ }
4
51
 
5
52
  // src/parser/ErrorRecovery.ts
6
53
  var VALID_KEYWORDS = [
@@ -49,7 +96,7 @@ var VALID_GEOMETRIES = [
49
96
  "particles"
50
97
  ];
51
98
  function validTraits() {
52
- return [...chunkEI3J6LTW_cjs.VR_TRAITS];
99
+ return [...buildKnownTraitSet()];
53
100
  }
54
101
  var COMMON_PROPERTIES = [
55
102
  "position",
@@ -525,11 +572,15 @@ var HOLOSCHEMA_KEYWORDS = VALID_KEYWORDS;
525
572
  var HOLOSCHEMA_GEOMETRIES = VALID_GEOMETRIES;
526
573
  var HOLOSCHEMA_PROPERTIES = COMMON_PROPERTIES;
527
574
 
575
+ exports.CODE_GRAPH_TRAITS = CODE_GRAPH_TRAITS;
528
576
  exports.ErrorRecovery = ErrorRecovery;
529
577
  exports.HOLOSCHEMA_GEOMETRIES = HOLOSCHEMA_GEOMETRIES;
530
578
  exports.HOLOSCHEMA_KEYWORDS = HOLOSCHEMA_KEYWORDS;
531
579
  exports.HOLOSCHEMA_PROPERTIES = HOLOSCHEMA_PROPERTIES;
580
+ exports.NATIVE2D_TRAITS = NATIVE2D_TRAITS;
581
+ exports.RUNTIME_DIRECTIVE_TRAITS = RUNTIME_DIRECTIVE_TRAITS;
582
+ exports.buildKnownTraitSet = buildKnownTraitSet;
532
583
  exports.enrichErrorWithSuggestions = enrichErrorWithSuggestions;
533
584
  exports.generateQuickFixes = generateQuickFixes;
534
- //# sourceMappingURL=chunk-OIBRWLPY.cjs.map
535
- //# sourceMappingURL=chunk-OIBRWLPY.cjs.map
585
+ //# sourceMappingURL=chunk-ILO2KMER.cjs.map
586
+ //# sourceMappingURL=chunk-ILO2KMER.cjs.map