@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
- 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 chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
6
6
  var ans = require('@holoscript/core-types/ans');
7
7
 
@@ -14,9 +14,9 @@ chunkZHPMP447_cjs.__export(SDFCompiler_exports, {
14
14
  exports.SDFCompiler = void 0; exports.SDFCompiler_default = void 0;
15
15
  var init_SDFCompiler = chunkZHPMP447_cjs.__esm({
16
16
  "src/compiler/SDFCompiler.ts"() {
17
- chunkZK7KX5CD_cjs.init_CompilerBase();
18
- chunkQEDMOGF3_cjs.init_DomainBlockCompilerMixin();
19
- exports.SDFCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
17
+ chunkCMEINO5I_cjs.init_CompilerBase();
18
+ chunkIYK6LMQ7_cjs.init_DomainBlockCompilerMixin();
19
+ exports.SDFCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
20
20
  constructor(options = {}) {
21
21
  super();
22
22
  this.compilerName = "SDFCompiler";
@@ -96,23 +96,23 @@ var init_SDFCompiler = chunkZHPMP447_cjs.__esm({
96
96
  if (domainBlocks.length === 0) return;
97
97
  this.emit("");
98
98
  this.emit("<!-- v4.2 Domain Blocks -->");
99
- const compiled = chunkQEDMOGF3_cjs.compileDomainBlocks(
99
+ const compiled = chunkIYK6LMQ7_cjs.compileDomainBlocks(
100
100
  domainBlocks,
101
101
  {
102
102
  material: (block) => {
103
- const mat = chunkQEDMOGF3_cjs.compileMaterialBlock(block);
104
- return chunkQEDMOGF3_cjs.materialToSDF(mat);
103
+ const mat = chunkIYK6LMQ7_cjs.compileMaterialBlock(block);
104
+ return chunkIYK6LMQ7_cjs.materialToSDF(mat);
105
105
  },
106
106
  physics: (block) => {
107
- const phys = chunkQEDMOGF3_cjs.compilePhysicsBlock(block);
108
- return chunkQEDMOGF3_cjs.physicsToSDF(phys);
107
+ const phys = chunkIYK6LMQ7_cjs.compilePhysicsBlock(block);
108
+ return chunkIYK6LMQ7_cjs.physicsToSDF(phys);
109
109
  },
110
110
  audio: (block) => {
111
- const audio = chunkQEDMOGF3_cjs.compileAudioSourceBlock(block);
111
+ const audio = chunkIYK6LMQ7_cjs.compileAudioSourceBlock(block);
112
112
  return `<!-- Audio: ${this.escapeStringValue(audio.name, "TypeScript")} (${audio.keyword}) clip="${audio.properties.clip || ""}" -->`;
113
113
  },
114
114
  weather: (block) => {
115
- const weather = chunkQEDMOGF3_cjs.compileWeatherBlock(block);
115
+ const weather = chunkIYK6LMQ7_cjs.compileWeatherBlock(block);
116
116
  const layers = weather.layers.map((l) => `<!-- ${l.type}: ${JSON.stringify(l.properties)} -->`).join("\n");
117
117
  return `<!-- Weather: ${weather.keyword} "${weather.name || ""}" -->
118
118
  ${layers}`;
@@ -611,5 +611,5 @@ ${layers}`;
611
611
 
612
612
  exports.SDFCompiler_exports = SDFCompiler_exports;
613
613
  exports.init_SDFCompiler = init_SDFCompiler;
614
- //# sourceMappingURL=chunk-F3YT6GUF.cjs.map
615
- //# sourceMappingURL=chunk-F3YT6GUF.cjs.map
614
+ //# sourceMappingURL=chunk-Q6VW7MGX.cjs.map
615
+ //# sourceMappingURL=chunk-Q6VW7MGX.cjs.map
@@ -1,4 +1,4 @@
1
- import { init_traitDocs, getTraitDoc, formatTraitDocCompact } from './chunk-B3CWTCK2.js';
1
+ import { init_traitDocs, getTraitDoc, formatTraitDocCompact } from './chunk-IA7FCSRY.js';
2
2
  import { init_AgentRiskRegistry, getAgentRiskRegistry, TIER_COMPOSITION_RISK_CAP, isDangerousOperation } from './chunk-5CURIYGT.js';
3
3
  import { init_safeJsonParse, safeJsonParse, readJson } from './chunk-RAN3ECAS.js';
4
4
  import { __esm } from './chunk-W4GABFCR.js';
@@ -6,7 +6,6 @@ import * as crypto3 from 'crypto';
6
6
  import { createHash } from 'crypto';
7
7
  import { promisify } from 'util';
8
8
  import { z } from 'zod';
9
- import jwt from 'jsonwebtoken';
10
9
  import path from 'path';
11
10
 
12
11
  function calculateJwkThumbprint(publicKeyPem) {
@@ -1237,16 +1236,42 @@ var init_CapabilityTokenIssuer = __esm({
1237
1236
  globalCapabilityIssuer = null;
1238
1237
  }
1239
1238
  });
1239
+ function sha256Hex(value) {
1240
+ return crypto3.createHash("sha256").update(value, "utf8").digest("hex");
1241
+ }
1242
+ function decodeJsonSegment(segment) {
1243
+ try {
1244
+ const parsed = JSON.parse(Buffer.from(segment, "base64url").toString("utf8"));
1245
+ if (parsed !== null && typeof parsed === "object" && !Array.isArray(parsed)) {
1246
+ return parsed;
1247
+ }
1248
+ return void 0;
1249
+ } catch {
1250
+ return void 0;
1251
+ }
1252
+ }
1253
+ function asRecord(value) {
1254
+ if (value !== null && typeof value === "object" && !Array.isArray(value)) {
1255
+ return value;
1256
+ }
1257
+ return void 0;
1258
+ }
1259
+ function asString(value) {
1260
+ return typeof value === "string" && value.length > 0 ? value : void 0;
1261
+ }
1262
+ function isIntentTokenPayload(value) {
1263
+ const record = asRecord(value);
1264
+ if (!record) return false;
1265
+ const intent = asRecord(record.intent);
1266
+ return typeof record.iss === "string" && typeof record.sub === "string" && typeof record.aud === "string" && typeof record.exp === "number" && typeof record.agent_role === "string" && asRecord(record.agent_checksum) !== void 0 && Array.isArray(record.permissions) && intent !== void 0 && typeof intent.workflow_id === "string" && typeof intent.workflow_step === "string";
1267
+ }
1240
1268
  function getTokenIssuer(config) {
1241
1269
  if (!globalIssuer) {
1242
- globalIssuer = new AgentTokenIssuer({
1243
- ...config,
1244
- jwtSecret: process.env.AGENT_JWT_SECRET
1245
- });
1270
+ globalIssuer = new AgentTokenIssuer(config);
1246
1271
  }
1247
1272
  return globalIssuer;
1248
1273
  }
1249
- var DEFAULT_ISSUER, DEFAULT_JWT_SECRET, DEFAULT_TOKEN_EXPIRATION, AgentTokenIssuer, globalIssuer;
1274
+ var DEFAULT_ISSUER, DEFAULT_TOKEN_EXPIRATION, LEGACY_AUDIENCE, intentPresentationCache, AgentTokenIssuer, globalIssuer;
1250
1275
  var init_AgentTokenIssuer = __esm({
1251
1276
  "src/compiler/identity/AgentTokenIssuer.ts"() {
1252
1277
  init_AgentIdentity();
@@ -1254,31 +1279,25 @@ var init_AgentTokenIssuer = __esm({
1254
1279
  init_CapabilityToken();
1255
1280
  init_CapabilityTokenIssuer();
1256
1281
  DEFAULT_ISSUER = "holoscript-orchestrator";
1257
- DEFAULT_JWT_SECRET = process.env.AGENT_JWT_SECRET || "dev-secret-change-in-production";
1258
1282
  DEFAULT_TOKEN_EXPIRATION = "24h";
1283
+ LEGACY_AUDIENCE = "holoscript-compiler";
1284
+ intentPresentationCache = /* @__PURE__ */ new Map();
1259
1285
  AgentTokenIssuer = class {
1260
1286
  constructor(config = {}) {
1261
1287
  /** Active workflow state (for validation) */
1262
1288
  this.workflowState = /* @__PURE__ */ new Map();
1263
1289
  this.issuer = config.issuer || DEFAULT_ISSUER;
1264
- this.jwtSecret = config.jwtSecret || DEFAULT_JWT_SECRET;
1265
1290
  this.tokenExpiration = config.tokenExpiration || DEFAULT_TOKEN_EXPIRATION;
1266
1291
  this.strictWorkflowValidation = config.strictWorkflowValidation ?? true;
1267
- if (this.jwtSecret === DEFAULT_JWT_SECRET && process.env.NODE_ENV === "production") {
1268
- console.error(
1269
- "[TOKEN_ISSUER] Using default JWT secret in production! Set AGENT_JWT_SECRET environment variable."
1270
- );
1271
- }
1272
1292
  }
1273
1293
  /**
1274
- * Issue intent token for agent
1294
+ * Issue an intent token for an agent.
1275
1295
  *
1276
- * Creates a signed JWT with:
1277
- * - Standard claims (iss, sub, aud, exp, iat, jti)
1278
- * - Agent identity (role, checksum)
1279
- * - Permissions (RBAC)
1280
- * - Intent metadata (workflow context)
1281
- * - PoP binding (JWK thumbprint)
1296
+ * SOVEREIGN PATH: the token on the wire is an EdDSA UCAN capability token
1297
+ * signed with the request's Ed25519 key pair via `CapabilityTokenIssuer`.
1298
+ * The full legacy `IntentTokenPayload` view (standard claims, agent
1299
+ * identity/checksum, permissions, intent metadata, PoP binding) travels in
1300
+ * the token facts and is reconstructed verbatim by `verifyToken`.
1282
1301
  */
1283
1302
  async issueToken(request) {
1284
1303
  const {
@@ -1302,12 +1321,13 @@ var init_AgentTokenIssuer = __esm({
1302
1321
  const permissions = getDefaultPermissions(agentConfig.role);
1303
1322
  const updatedDelegationChain = [...delegationChain, agentConfig.role];
1304
1323
  const now = Math.floor(Date.now() / 1e3);
1324
+ const lifetimeSec = typeof this.tokenExpiration === "string" ? this.parseExpiration(this.tokenExpiration) : this.tokenExpiration;
1305
1325
  const payload = {
1306
- // Standard JWT claims
1326
+ // Standard claims
1307
1327
  iss: this.issuer,
1308
1328
  sub: `agent:${agentConfig.role}:${agentConfig.name}`,
1309
- aud: "holoscript-compiler",
1310
- exp: typeof this.tokenExpiration === "string" ? now + this.parseExpiration(this.tokenExpiration) : now + this.tokenExpiration,
1329
+ aud: LEGACY_AUDIENCE,
1330
+ exp: now + lifetimeSec,
1311
1331
  iat: now,
1312
1332
  jti: crypto3.randomUUID(),
1313
1333
  // Agent-specific claims
@@ -1331,70 +1351,131 @@ var init_AgentTokenIssuer = __esm({
1331
1351
  // Ed25519 public key for HTTP Message Signature verification
1332
1352
  publicKey: keyPair.publicKey
1333
1353
  };
1334
- const token = jwt.sign(payload, this.jwtSecret, {
1335
- algorithm: "HS256"
1336
- });
1354
+ const resource = agentConfig.scope ? `${HOLOSCRIPT_RESOURCE_SCHEME}${agentConfig.scope}` : HOLOSCRIPT_RESOURCE_ALL;
1355
+ const capabilities = permissions.map((perm) => ({
1356
+ with: resource,
1357
+ can: PERMISSION_TO_ACTION[perm] || perm
1358
+ }));
1359
+ const capToken = await this.getCapabilityTokenIssuer().issueRoot(
1360
+ {
1361
+ issuer: payload.sub,
1362
+ audience: LEGACY_AUDIENCE,
1363
+ capabilities,
1364
+ lifetimeSec,
1365
+ facts: {
1366
+ intent_payload: payload,
1367
+ publicKey: keyPair.publicKey
1368
+ }
1369
+ },
1370
+ keyPair
1371
+ );
1337
1372
  this.workflowState.set(workflowId, workflowStep);
1338
1373
  const keystore = getKeystore();
1339
1374
  await keystore.storeCredential({
1340
1375
  role: agentConfig.role,
1341
- token,
1376
+ token: capToken.raw,
1342
1377
  keyPair,
1343
1378
  createdAt: new Date(now * 1e3),
1344
- expiresAt: new Date(payload.exp * 1e3)
1379
+ expiresAt: new Date(capToken.payload.exp * 1e3)
1345
1380
  });
1346
- return token;
1381
+ return capToken.raw;
1347
1382
  }
1348
1383
  /**
1349
- * Verify agent token
1384
+ * Verify an agent token — FAIL CLOSED.
1350
1385
  *
1351
1386
  * Validates:
1352
- * - Signature authenticity
1353
- * - Token expiration
1354
- * - Claims structure
1387
+ * - EdDSA capability-token structure (legacy HS256 jsonwebtoken envelopes
1388
+ * are rejected with `LEGACY_JWT_REJECTED`, never verified)
1389
+ * - Ed25519 signature against the embedded verification key
1390
+ * - Expiration
1391
+ * - Issuer / audience claims
1392
+ * - Required legacy claims structure
1355
1393
  * - Workflow step sequence (if strict mode)
1394
+ *
1395
+ * Never throws — every failure mode maps to a rejected result.
1356
1396
  */
1357
1397
  verifyToken(token) {
1358
1398
  try {
1359
- const decoded = jwt.verify(token, this.jwtSecret, {
1360
- issuer: this.issuer,
1361
- audience: "holoscript-compiler"
1362
- });
1363
- if (!decoded.agent_role || !decoded.agent_checksum || !decoded.intent) {
1399
+ if (typeof token !== "string" || token.length === 0) {
1364
1400
  return {
1365
1401
  valid: false,
1366
- error: "Missing required claims",
1367
- errorCode: "INVALID_CLAIMS"
1402
+ error: "Invalid signature or malformed token",
1403
+ errorCode: "INVALID_SIGNATURE"
1368
1404
  };
1369
1405
  }
1370
- if (this.strictWorkflowValidation) {
1371
- const currentStep = this.workflowState.get(decoded.intent.workflow_id);
1372
- if (currentStep && currentStep !== decoded.intent.workflow_step) {
1373
- return {
1374
- valid: false,
1375
- error: `Workflow step mismatch: expected ${currentStep}, got ${decoded.intent.workflow_step}`,
1376
- errorCode: "WORKFLOW_VIOLATION"
1377
- };
1406
+ const tokenSha256 = sha256Hex(token);
1407
+ const cached = intentPresentationCache.get(tokenSha256);
1408
+ if (cached) {
1409
+ const now = Math.floor(Date.now() / 1e3);
1410
+ if (cached.exp <= now) {
1411
+ intentPresentationCache.delete(tokenSha256);
1412
+ return { valid: false, error: "Token expired", errorCode: "EXPIRED" };
1378
1413
  }
1414
+ return this.checkClaimsAndWorkflow(structuredClone(cached));
1379
1415
  }
1380
- return {
1381
- valid: true,
1382
- payload: decoded
1383
- };
1384
- } catch (error) {
1385
- if (error instanceof Error && error.name === "TokenExpiredError") {
1416
+ const parts = token.split(".");
1417
+ if (parts.length !== 3 || parts.some((part) => part.length === 0)) {
1386
1418
  return {
1387
1419
  valid: false,
1388
- error: "Token expired",
1389
- errorCode: "EXPIRED"
1420
+ error: "Invalid signature or malformed token",
1421
+ errorCode: "INVALID_SIGNATURE"
1390
1422
  };
1391
- } else if (error instanceof Error && error.name === "JsonWebTokenError") {
1423
+ }
1424
+ const header = decodeJsonSegment(parts[0]);
1425
+ if (!header || typeof header.alg !== "string") {
1392
1426
  return {
1393
1427
  valid: false,
1394
- error: "Invalid signature or malformed token",
1428
+ error: "Malformed token: header segment is not decodable JSON with an alg claim.",
1429
+ errorCode: "INVALID_SIGNATURE"
1430
+ };
1431
+ }
1432
+ if (header.alg !== "EdDSA") {
1433
+ return {
1434
+ valid: false,
1435
+ error: `Legacy ${header.alg} jsonwebtoken envelope is no longer accepted. Reissue a sovereign capability token via issueToken.`,
1436
+ errorCode: "LEGACY_JWT_REJECTED"
1437
+ };
1438
+ }
1439
+ const rawPayload = decodeJsonSegment(parts[1]);
1440
+ if (!rawPayload) {
1441
+ return {
1442
+ valid: false,
1443
+ error: "Malformed token: payload segment is not decodable JSON.",
1444
+ errorCode: "INVALID_SIGNATURE"
1445
+ };
1446
+ }
1447
+ const facts = asRecord(rawPayload.fct);
1448
+ const verificationKey = asString(facts?.publicKey);
1449
+ if (!verificationKey) {
1450
+ return {
1451
+ valid: false,
1452
+ error: "Capability token does not embed its Ed25519 verification key (fct.publicKey). Fail closed.",
1453
+ errorCode: "INVALID_CLAIMS"
1454
+ };
1455
+ }
1456
+ const verification = this.getCapabilityTokenIssuer().verify(token, verificationKey);
1457
+ if (!verification.valid || !verification.payload) {
1458
+ if (verification.errorCode === "EXPIRED") {
1459
+ return { valid: false, error: "Token expired", errorCode: "EXPIRED" };
1460
+ }
1461
+ return {
1462
+ valid: false,
1463
+ error: verification.error ?? "Invalid signature or malformed token",
1395
1464
  errorCode: "INVALID_SIGNATURE"
1396
1465
  };
1397
1466
  }
1467
+ const verifiedFacts = asRecord(verification.payload.fct);
1468
+ const intentPayload = verifiedFacts?.intent_payload;
1469
+ if (!isIntentTokenPayload(intentPayload)) {
1470
+ return {
1471
+ valid: false,
1472
+ error: "Missing required claims",
1473
+ errorCode: "INVALID_CLAIMS"
1474
+ };
1475
+ }
1476
+ intentPresentationCache.set(tokenSha256, intentPayload);
1477
+ return this.checkClaimsAndWorkflow(structuredClone(intentPayload));
1478
+ } catch (error) {
1398
1479
  return {
1399
1480
  valid: false,
1400
1481
  error: error instanceof Error ? error.message : String(error),
@@ -1402,6 +1483,37 @@ var init_AgentTokenIssuer = __esm({
1402
1483
  };
1403
1484
  }
1404
1485
  }
1486
+ /**
1487
+ * Issuer/audience claim checks + strict workflow sequencing — run on both
1488
+ * the fresh-verification and presentation-cache paths.
1489
+ */
1490
+ checkClaimsAndWorkflow(payload) {
1491
+ if (payload.iss !== this.issuer || payload.aud !== LEGACY_AUDIENCE) {
1492
+ return {
1493
+ valid: false,
1494
+ error: `Token issuer/audience mismatch: expected ${this.issuer}/${LEGACY_AUDIENCE}`,
1495
+ errorCode: "INVALID_CLAIMS"
1496
+ };
1497
+ }
1498
+ if (!payload.agent_role || !payload.agent_checksum || !payload.intent) {
1499
+ return {
1500
+ valid: false,
1501
+ error: "Missing required claims",
1502
+ errorCode: "INVALID_CLAIMS"
1503
+ };
1504
+ }
1505
+ if (this.strictWorkflowValidation) {
1506
+ const currentStep = this.workflowState.get(payload.intent.workflow_id);
1507
+ if (currentStep && currentStep !== payload.intent.workflow_step) {
1508
+ return {
1509
+ valid: false,
1510
+ error: `Workflow step mismatch: expected ${currentStep}, got ${payload.intent.workflow_step}`,
1511
+ errorCode: "WORKFLOW_VIOLATION"
1512
+ };
1513
+ }
1514
+ }
1515
+ return { valid: true, payload };
1516
+ }
1405
1517
  /**
1406
1518
  * Extract token from Authorization header
1407
1519
  */
@@ -1442,8 +1554,8 @@ var init_AgentTokenIssuer = __esm({
1442
1554
  *
1443
1555
  * Maps the agent's role to capabilities using the PERMISSION_TO_ACTION bridge
1444
1556
  * constants defined in CapabilityToken.ts. This enables agents that currently
1445
- * use JWT tokens to obtain equivalent UCAN capability tokens for the gradual
1446
- * migration to capability-based authorization.
1557
+ * use legacy tokens to obtain equivalent UCAN capability tokens for the
1558
+ * gradual migration to capability-based authorization.
1447
1559
  *
1448
1560
  * @param options Capability token issuance options
1449
1561
  * @returns Signed UCAN CapabilityToken
@@ -1474,21 +1586,22 @@ var init_AgentTokenIssuer = __esm({
1474
1586
  );
1475
1587
  }
1476
1588
  /**
1477
- * Issue both a JWT token and a UCAN capability token for the same agent
1478
- * and intent context.
1589
+ * Issue both a legacy-view token and a UCAN capability token for the same
1590
+ * agent and intent context.
1479
1591
  *
1480
- * This method enables gradual migration from JWT-only authorization to
1481
- * UCAN capability-based authorization. Consuming services can validate
1482
- * either token during the transition period.
1592
+ * This method enables gradual migration from `IntentTokenPayload`-view
1593
+ * authorization to UCAN capability-based authorization. Consuming services
1594
+ * can validate either token during the transition period. Both members are
1595
+ * EdDSA-signed on the sovereign path.
1483
1596
  *
1484
- * @param request Standard JWT token request parameters
1597
+ * @param request Standard token request parameters
1485
1598
  * @param capabilityOptions Additional options for the capability token
1486
1599
  * (audience defaults to 'holoscript-compiler')
1487
1600
  * @returns HybridTokenResult with both tokens
1488
1601
  */
1489
1602
  async issueHybridToken(request, capabilityOptions) {
1490
1603
  const jwtToken = await this.issueToken(request);
1491
- const audience = capabilityOptions?.audience ?? "holoscript-compiler";
1604
+ const audience = capabilityOptions?.audience ?? LEGACY_AUDIENCE;
1492
1605
  const capabilityToken = await this.issueCapabilityToken({
1493
1606
  agentConfig: request.agentConfig,
1494
1607
  audience,
@@ -3953,6 +4066,7 @@ var init_ANSNamespace = __esm({
3953
4066
  AGENT_INFERENCE: "/compile/ai/agent-inference",
3954
4067
  OMNIGENT_AGENT_YAML: "/compile/ai/omnigent-agent-yaml",
3955
4068
  DAIMON_SEED: "/compile/ai/daimon-seed",
4069
+ HSI_IR: "/compile/ai/hsi-ir",
3956
4070
  MCP_CONFIG: "/compile/ai/mcp-config",
3957
4071
  MCP_SERVER: "/compile/ai/mcp-server",
3958
4072
  // ── neuromorphic ─────────────────────────────────────────────────────
@@ -4017,6 +4131,7 @@ var init_ANSNamespace = __esm({
4017
4131
  "agent-inference": ANSDomain.AI,
4018
4132
  "omnigent-agent-yaml": ANSDomain.AI,
4019
4133
  "daimon-seed": ANSDomain.AI,
4134
+ "hsi-ir": ANSDomain.AI,
4020
4135
  "mcp-config": ANSDomain.AI,
4021
4136
  "mcp-server": ANSDomain.AI,
4022
4137
  // neuromorphic
@@ -4072,6 +4187,7 @@ var init_ANSNamespace = __esm({
4072
4187
  "agent-inference": ANSCapabilityPath.AGENT_INFERENCE,
4073
4188
  "omnigent-agent-yaml": ANSCapabilityPath.OMNIGENT_AGENT_YAML,
4074
4189
  "daimon-seed": ANSCapabilityPath.DAIMON_SEED,
4190
+ "hsi-ir": ANSCapabilityPath.HSI_IR,
4075
4191
  "mcp-config": ANSCapabilityPath.MCP_CONFIG,
4076
4192
  "mcp-server": ANSCapabilityPath.MCP_SERVER,
4077
4193
  nir: ANSCapabilityPath.NIR,
@@ -5530,6 +5646,7 @@ var init_CompilerBase = __esm({
5530
5646
  AgentInferenceCompiler: "agent-inference",
5531
5647
  OmnigentAgentYamlCompiler: "omnigent-agent-yaml",
5532
5648
  DaimonSeedCompiler: "daimon-seed",
5649
+ HSIIRCompiler: "hsi-ir",
5533
5650
  CodeEditorCompiler: "code-editor",
5534
5651
  SVGCompiler: "svg"
5535
5652
  };
@@ -6028,5 +6145,5 @@ Required Permission: ${decision.requiredPermission || "unknown"}`
6028
6145
  });
6029
6146
 
6030
6147
  export { ANSCapabilityPath, BUILTIN_NORMS, BUILTIN_NORM_PROVENANCE, CompilerBase, CompilerDocumentationGenerator, UNKNOWN_NORM_PROVENANCE, UnauthorizedCompilerAccessError, createTestCompilerToken, criticalMassForChange, deserializeNormProvenance, escapeStringValue, getBuiltinNorm, getRBAC, init_ANSNamespace, init_AgentRBAC, init_CompilerBase, init_CompilerDocumentationGenerator, init_CultureTraits, isCapabilityTokenCredential, normalizeNormProvenance, normsByCategory, serializeNormProvenance };
6031
- //# sourceMappingURL=chunk-DUG3OQAS.js.map
6032
- //# sourceMappingURL=chunk-DUG3OQAS.js.map
6148
+ //# sourceMappingURL=chunk-QC3CAVFN.js.map
6149
+ //# sourceMappingURL=chunk-QC3CAVFN.js.map
@@ -2,8 +2,8 @@
2
2
 
3
3
  var chunkCFVK26P4_cjs = require('./chunk-CFVK26P4.cjs');
4
4
  var chunkTZCFKZ6Z_cjs = require('./chunk-TZCFKZ6Z.cjs');
5
- var chunkQEDMOGF3_cjs = require('./chunk-QEDMOGF3.cjs');
6
- var chunkZK7KX5CD_cjs = require('./chunk-ZK7KX5CD.cjs');
5
+ var chunkIYK6LMQ7_cjs = require('./chunk-IYK6LMQ7.cjs');
6
+ var chunkCMEINO5I_cjs = require('./chunk-CMEINO5I.cjs');
7
7
  var chunkZHPMP447_cjs = require('./chunk-ZHPMP447.cjs');
8
8
  var ans = require('@holoscript/core-types/ans');
9
9
 
@@ -4908,36 +4908,36 @@ function compileAndroidXRDomainBlocks(compiler, composition) {
4908
4908
  compiler.emit("");
4909
4909
  compiler.emit("// === v4.2 Domain Blocks ===");
4910
4910
  let blockIdx = 0;
4911
- const compiled = chunkQEDMOGF3_cjs.compileDomainBlocks(
4911
+ const compiled = chunkIYK6LMQ7_cjs.compileDomainBlocks(
4912
4912
  // @ts-expect-error During migration
4913
4913
  domainBlocks,
4914
4914
  {
4915
4915
  material: (block) => {
4916
- const mat = chunkQEDMOGF3_cjs.compileMaterialBlock(block);
4917
- return chunkQEDMOGF3_cjs.materialToAndroidXR(mat, `db${blockIdx++}`);
4916
+ const mat = chunkIYK6LMQ7_cjs.compileMaterialBlock(block);
4917
+ return chunkIYK6LMQ7_cjs.materialToAndroidXR(mat, `db${blockIdx++}`);
4918
4918
  },
4919
4919
  physics: (block) => {
4920
- const phys = chunkQEDMOGF3_cjs.compilePhysicsBlock(block);
4921
- return chunkQEDMOGF3_cjs.physicsToAndroidXR(phys, `db${blockIdx++}`);
4920
+ const phys = chunkIYK6LMQ7_cjs.compilePhysicsBlock(block);
4921
+ return chunkIYK6LMQ7_cjs.physicsToAndroidXR(phys, `db${blockIdx++}`);
4922
4922
  },
4923
4923
  vfx: (block) => {
4924
- const ps = chunkQEDMOGF3_cjs.compileParticleBlock(block);
4925
- return chunkQEDMOGF3_cjs.particlesToAndroidXR(ps, `db${blockIdx++}`);
4924
+ const ps = chunkIYK6LMQ7_cjs.compileParticleBlock(block);
4925
+ return chunkIYK6LMQ7_cjs.particlesToAndroidXR(ps, `db${blockIdx++}`);
4926
4926
  },
4927
4927
  postfx: (block) => {
4928
- const pp = chunkQEDMOGF3_cjs.compilePostProcessingBlock(block);
4928
+ const pp = chunkIYK6LMQ7_cjs.compilePostProcessingBlock(block);
4929
4929
  const postfx = pp;
4930
4930
  const effects = postfx.effects.map((e) => `// Effect: ${e.type} \u2014 ${JSON.stringify(e.properties)}`).join("\n");
4931
4931
  return `// Post-Processing: ${postfx.keyword} \u2014 configure via Filament Renderer post-processing
4932
4932
  ${effects}`;
4933
4933
  },
4934
4934
  audio: (block) => {
4935
- const audio = chunkQEDMOGF3_cjs.compileAudioSourceBlock(block);
4936
- return chunkQEDMOGF3_cjs.audioSourceToAndroidXR(audio, `db${blockIdx++}`);
4935
+ const audio = chunkIYK6LMQ7_cjs.compileAudioSourceBlock(block);
4936
+ return chunkIYK6LMQ7_cjs.audioSourceToAndroidXR(audio, `db${blockIdx++}`);
4937
4937
  },
4938
4938
  weather: (block) => {
4939
- const weather = chunkQEDMOGF3_cjs.compileWeatherBlock(block);
4940
- return chunkQEDMOGF3_cjs.weatherToAndroidXR(weather);
4939
+ const weather = chunkIYK6LMQ7_cjs.compileWeatherBlock(block);
4940
+ return chunkIYK6LMQ7_cjs.weatherToAndroidXR(weather);
4941
4941
  }
4942
4942
  },
4943
4943
  (block) => `// Domain block: ${block.domain}/${block.keyword} "${compiler.escapeStringValue(block.name, "Kotlin")}"`
@@ -4964,7 +4964,7 @@ function emitTransition(compiler, tr) {
4964
4964
  }
4965
4965
  var init_AndroidXRGenerators = chunkZHPMP447_cjs.__esm({
4966
4966
  "src/compiler/AndroidXRGenerators.ts"() {
4967
- chunkQEDMOGF3_cjs.init_DomainBlockCompilerMixin();
4967
+ chunkIYK6LMQ7_cjs.init_DomainBlockCompilerMixin();
4968
4968
  init_AndroidXRTraitMap();
4969
4969
  }
4970
4970
  });
@@ -5566,12 +5566,12 @@ function compileToAndroidXR(composition, options) {
5566
5566
  exports.AndroidXRCompiler = void 0;
5567
5567
  var init_AndroidXRCompiler = chunkZHPMP447_cjs.__esm({
5568
5568
  "src/compiler/AndroidXRCompiler.ts"() {
5569
- chunkZK7KX5CD_cjs.init_CompilerBase();
5569
+ chunkCMEINO5I_cjs.init_CompilerBase();
5570
5570
  chunkTZCFKZ6Z_cjs.init_PlatformConditionalCompilerMixin();
5571
5571
  chunkCFVK26P4_cjs.init_AndroidKotlinHelpers();
5572
5572
  init_AndroidXRGenerators();
5573
5573
  init_AndroidXRGlassesGenerators();
5574
- exports.AndroidXRCompiler = class extends chunkZK7KX5CD_cjs.CompilerBase {
5574
+ exports.AndroidXRCompiler = class extends chunkCMEINO5I_cjs.CompilerBase {
5575
5575
  constructor(options = {}) {
5576
5576
  super();
5577
5577
  this.compilerName = "AndroidXRCompiler";
@@ -5693,5 +5693,5 @@ exports.compileToAndroidXR = compileToAndroidXR;
5693
5693
  exports.getTraitMapping = getTraitMapping;
5694
5694
  exports.init_AndroidXRCompiler = init_AndroidXRCompiler;
5695
5695
  exports.init_AndroidXRTraitMap = init_AndroidXRTraitMap;
5696
- //# sourceMappingURL=chunk-NQN5LFN4.cjs.map
5697
- //# sourceMappingURL=chunk-NQN5LFN4.cjs.map
5696
+ //# sourceMappingURL=chunk-QKLEDRHN.cjs.map
5697
+ //# sourceMappingURL=chunk-QKLEDRHN.cjs.map
@@ -1,4 +1,4 @@
1
- import { init_core_vr_interaction, init_humanoid_avatar, init_networking_ai, init_media_analytics, init_social_effects, init_audio, init_environment_input, init_accessibility, init_volumetric_webgpu, init_iot_autonomous_agents, init_interop_copresence, init_geospatial_web3, init_physics_expansion, init_simple_modifiers, init_parser_core_ui, init_locomotion_movement, init_object_interaction, init_resource_gathering, init_game_mechanics, init_visual_effects, init_environmental_biome, init_social_commerce, init_intelligence_behavior, init_state_persistence, init_safety_boundaries, init_musical_sound, init_measurement_sensing, init_narrative_storytelling, init_weather_particles, init_transportation_vehicles, init_construction_building, init_nature_life, init_magic_fantasy, init_scifi_technology, init_emotion_mood, init_multisensory_haptic, init_physical_affordances, init_procedural_generation, init_npc_roles, init_xr_platform, init_data_visualization, init_accessibility_extended, init_sports_fitness, init_education_learning, init_healthcare_medical, init_architecture_realestate, init_music_performance, init_cooking_food, init_water_fluid, init_size_scale, init_age_condition, init_shape_form, init_surface_texture, init_lighting, init_containers_storage, init_fabric_cloth, init_creatures_mythical, init_animals, init_signs_communication, init_gems_minerals, init_weather_phenomena, init_maritime_naval, init_furniture_decor, init_time_period, init_material_properties, init_fabrication_devices, init_robotics_industrial, init_scientific_computing, init_v43_ai_xr, init_enterprise_multitenancy, init_analytics_observability, init_security_crypto, init_rendering, init_holomap_reconstruction, CORE_VR_INTERACTION_TRAITS, HUMANOID_AVATAR_TRAITS, NETWORKING_AI_TRAITS, MEDIA_ANALYTICS_TRAITS, SOCIAL_EFFECTS_TRAITS, AUDIO_TRAITS, ENVIRONMENT_INPUT_TRAITS, ACCESSIBILITY_TRAITS, VOLUMETRIC_WEBGPU_TRAITS, IOT_AUTONOMOUS_AGENTS_TRAITS, INTEROP_COPRESENCE_TRAITS, GEOSPATIAL_WEB3_TRAITS, PHYSICS_EXPANSION_TRAITS, SIMPLE_MODIFIER_TRAITS, PARSER_CORE_UI_TRAITS, LOCOMOTION_MOVEMENT_TRAITS, OBJECT_INTERACTION_TRAITS, RESOURCE_GATHERING_TRAITS, GAME_MECHANICS_TRAITS, VISUAL_EFFECTS_TRAITS, ENVIRONMENTAL_BIOME_TRAITS, SOCIAL_COMMERCE_TRAITS, INTELLIGENCE_BEHAVIOR_TRAITS, STATE_PERSISTENCE_TRAITS, SAFETY_BOUNDARIES_TRAITS, MUSICAL_SOUND_TRAITS, MEASUREMENT_SENSING_TRAITS, NARRATIVE_STORYTELLING_TRAITS, WEATHER_PARTICLES_TRAITS, TRANSPORTATION_VEHICLES_TRAITS, CONSTRUCTION_BUILDING_TRAITS, NATURE_LIFE_TRAITS, MAGIC_FANTASY_TRAITS, SCIFI_TECHNOLOGY_TRAITS, EMOTION_MOOD_TRAITS, MULTISENSORY_HAPTIC_TRAITS, PHYSICAL_AFFORDANCES_TRAITS, PROCEDURAL_GENERATION_TRAITS, NPC_ROLES_TRAITS, XR_PLATFORM_TRAITS, DATA_VISUALIZATION_TRAITS, ACCESSIBILITY_EXTENDED_TRAITS, SPORTS_FITNESS_TRAITS, EDUCATION_LEARNING_TRAITS, HEALTHCARE_MEDICAL_TRAITS, ARCHITECTURE_REALESTATE_TRAITS, MUSIC_PERFORMANCE_TRAITS, COOKING_FOOD_TRAITS, WATER_FLUID_TRAITS, SIZE_SCALE_TRAITS, AGE_CONDITION_TRAITS, SHAPE_FORM_TRAITS, SURFACE_TEXTURE_TRAITS, LIGHTING_TRAITS, CONTAINERS_STORAGE_TRAITS, FABRIC_CLOTH_TRAITS, CREATURES_MYTHICAL_TRAITS, ANIMALS_TRAITS, SIGNS_COMMUNICATION_TRAITS, GEMS_MINERALS_TRAITS, WEATHER_PHENOMENA_TRAITS, MARITIME_NAVAL_TRAITS, FURNITURE_DECOR_TRAITS, TIME_PERIOD_TRAITS, MATERIAL_PROPERTIES_TRAITS, FABRICATION_DEVICES_TRAITS, ROBOTICS_INDUSTRIAL_TRAITS, SCIENTIFIC_COMPUTING_TRAITS, V43_AI_XR_TRAITS, ENTERPRISE_MULTITENANCY_TRAITS, ANALYTICS_OBSERVABILITY_TRAITS, SECURITY_CRYPTO_TRAITS, RENDERING_TRAITS, HOLOMAP_RECONSTRUCTION_TRAITS } from './chunk-YW3I2FQL.js';
1
+ import { init_core_vr_interaction, init_humanoid_avatar, init_networking_ai, init_media_analytics, init_social_effects, init_audio, init_environment_input, init_accessibility, init_volumetric_webgpu, init_iot_autonomous_agents, init_interop_copresence, init_geospatial_web3, init_physics_expansion, init_simple_modifiers, init_parser_core_ui, init_locomotion_movement, init_object_interaction, init_resource_gathering, init_game_mechanics, init_visual_effects, init_environmental_biome, init_social_commerce, init_intelligence_behavior, init_state_persistence, init_safety_boundaries, init_musical_sound, init_measurement_sensing, init_narrative_storytelling, init_weather_particles, init_transportation_vehicles, init_construction_building, init_nature_life, init_magic_fantasy, init_scifi_technology, init_emotion_mood, init_multisensory_haptic, init_physical_affordances, init_procedural_generation, init_npc_roles, init_xr_platform, init_data_visualization, init_accessibility_extended, init_sports_fitness, init_education_learning, init_healthcare_medical, init_architecture_realestate, init_music_performance, init_cooking_food, init_water_fluid, init_size_scale, init_age_condition, init_shape_form, init_surface_texture, init_lighting, init_containers_storage, init_fabric_cloth, init_creatures_mythical, init_animals, init_signs_communication, init_gems_minerals, init_weather_phenomena, init_maritime_naval, init_furniture_decor, init_time_period, init_material_properties, init_fabrication_devices, init_robotics_industrial, init_scientific_computing, init_v43_ai_xr, init_enterprise_multitenancy, init_analytics_observability, init_security_crypto, init_rendering, init_holomap_reconstruction, CORE_VR_INTERACTION_TRAITS, HUMANOID_AVATAR_TRAITS, NETWORKING_AI_TRAITS, MEDIA_ANALYTICS_TRAITS, SOCIAL_EFFECTS_TRAITS, AUDIO_TRAITS, ENVIRONMENT_INPUT_TRAITS, ACCESSIBILITY_TRAITS, VOLUMETRIC_WEBGPU_TRAITS, IOT_AUTONOMOUS_AGENTS_TRAITS, INTEROP_COPRESENCE_TRAITS, GEOSPATIAL_WEB3_TRAITS, PHYSICS_EXPANSION_TRAITS, SIMPLE_MODIFIER_TRAITS, PARSER_CORE_UI_TRAITS, LOCOMOTION_MOVEMENT_TRAITS, OBJECT_INTERACTION_TRAITS, RESOURCE_GATHERING_TRAITS, GAME_MECHANICS_TRAITS, VISUAL_EFFECTS_TRAITS, ENVIRONMENTAL_BIOME_TRAITS, SOCIAL_COMMERCE_TRAITS, INTELLIGENCE_BEHAVIOR_TRAITS, STATE_PERSISTENCE_TRAITS, SAFETY_BOUNDARIES_TRAITS, MUSICAL_SOUND_TRAITS, MEASUREMENT_SENSING_TRAITS, NARRATIVE_STORYTELLING_TRAITS, WEATHER_PARTICLES_TRAITS, TRANSPORTATION_VEHICLES_TRAITS, CONSTRUCTION_BUILDING_TRAITS, NATURE_LIFE_TRAITS, MAGIC_FANTASY_TRAITS, SCIFI_TECHNOLOGY_TRAITS, EMOTION_MOOD_TRAITS, MULTISENSORY_HAPTIC_TRAITS, PHYSICAL_AFFORDANCES_TRAITS, PROCEDURAL_GENERATION_TRAITS, NPC_ROLES_TRAITS, XR_PLATFORM_TRAITS, DATA_VISUALIZATION_TRAITS, ACCESSIBILITY_EXTENDED_TRAITS, SPORTS_FITNESS_TRAITS, EDUCATION_LEARNING_TRAITS, HEALTHCARE_MEDICAL_TRAITS, ARCHITECTURE_REALESTATE_TRAITS, MUSIC_PERFORMANCE_TRAITS, COOKING_FOOD_TRAITS, WATER_FLUID_TRAITS, SIZE_SCALE_TRAITS, AGE_CONDITION_TRAITS, SHAPE_FORM_TRAITS, SURFACE_TEXTURE_TRAITS, LIGHTING_TRAITS, CONTAINERS_STORAGE_TRAITS, FABRIC_CLOTH_TRAITS, CREATURES_MYTHICAL_TRAITS, ANIMALS_TRAITS, SIGNS_COMMUNICATION_TRAITS, GEMS_MINERALS_TRAITS, WEATHER_PHENOMENA_TRAITS, MARITIME_NAVAL_TRAITS, FURNITURE_DECOR_TRAITS, TIME_PERIOD_TRAITS, MATERIAL_PROPERTIES_TRAITS, FABRICATION_DEVICES_TRAITS, ROBOTICS_INDUSTRIAL_TRAITS, SCIENTIFIC_COMPUTING_TRAITS, V43_AI_XR_TRAITS, ENTERPRISE_MULTITENANCY_TRAITS, ANALYTICS_OBSERVABILITY_TRAITS, SECURITY_CRYPTO_TRAITS, RENDERING_TRAITS, HOLOMAP_RECONSTRUCTION_TRAITS } from './chunk-ANMME7XT.js';
2
2
  import { init_geospatial, init_spatial_authoring, init_haptic_feedback, init_nearby_connections, init_foldable_display, init_samsung_dex, init_webxr, init_google_lens, init_depth_scanner, GEOSPATIAL_ARCORE_TRAITS, DEPTH_SCANNER_TRAITS, SPATIAL_AUTHORING_TRAITS, HAPTIC_FEEDBACK_TRAITS, NEARBY_CONNECTIONS_TRAITS, FOLDABLE_DISPLAY_TRAITS, SAMSUNG_DEX_TRAITS, WEBXR_TRAITS, GOOGLE_LENS_TRAITS } from './chunk-7I74JWPW.js';
3
3
  import { init_ios_object_capture, init_airpods_spatial_audio, init_shareplay, init_uwb_positioning, init_face_tracking, init_lidar_scanner, init_roomplan, LIDAR_SCANNER_TRAITS, ROOMPLAN_TRAITS, IOS_OBJECT_CAPTURE_TRAITS, AIRPODS_SPATIAL_AUDIO_TRAITS, SHAREPLAY_TRAITS, UWB_POSITIONING_TRAITS, FACE_TRACKING_TRAITS } from './chunk-2I3XAGMF.js';
4
4
  import { init_npu_scene, init_camera_hand_tracking, init_portal_ar, NPU_SCENE_TRAITS, CAMERA_HAND_TRACKING_TRAITS, PORTAL_AR_TRAITS } from './chunk-MD4IVS42.js';
@@ -1715,5 +1715,5 @@ var init_constants = __esm({
1715
1715
  });
1716
1716
 
1717
1717
  export { CONNECTOR_ENV_REQUIREMENTS, CONNECTOR_PACKAGES, KNOWN_CONNECTORS, SPATIAL_AUDIO_EXTENSION_TRAITS, VFX_AUDIO_TRAITS, VFX_PARTICLE_TRAITS, VR_TRAITS, init_constants };
1718
- //# sourceMappingURL=chunk-2EGGAZT3.js.map
1719
- //# sourceMappingURL=chunk-2EGGAZT3.js.map
1718
+ //# sourceMappingURL=chunk-QS27OYBU.js.map
1719
+ //# sourceMappingURL=chunk-QS27OYBU.js.map
@@ -2,7 +2,7 @@ import { ReactiveState, ExpressionEvaluator, createState } from './chunk-XL6INWK
2
2
  import { coronaSimulationHandler } from './chunk-D3HSRXYB.js';
3
3
  import { lazyPeerSymbol, definePeerNamespace, telemetry } from './chunk-H4LJ4HEA.js';
4
4
  import { HoloScriptCodeParser } from './chunk-734OB5SK.js';
5
- import { JEPAPredictor, jepObjectiveHandler, mitosisHandler, orbitalHandler, getSharedEventBus, applyEasing } from './chunk-IK6Z2HNC.js';
5
+ import { JEPAPredictor, jepObjectiveHandler, mitosisHandler, orbitalHandler, getSharedEventBus, applyEasing } from './chunk-6OQHLNTT.js';
6
6
  import { logger } from './chunk-PHENW4MQ.js';
7
7
  import { init_safeJsonParse, readJson } from './chunk-RAN3ECAS.js';
8
8
 
@@ -4342,5 +4342,5 @@ var HoloScriptRuntime = class {
4342
4342
  };
4343
4343
 
4344
4344
  export { HoloScriptAgentRuntime, HoloScriptRuntime, TRAIT_OWNER_KEY, registerPluginTraits };
4345
- //# sourceMappingURL=chunk-4376VHNJ.js.map
4346
- //# sourceMappingURL=chunk-4376VHNJ.js.map
4345
+ //# sourceMappingURL=chunk-RUB7WL6C.js.map
4346
+ //# sourceMappingURL=chunk-RUB7WL6C.js.map
@@ -1,5 +1,5 @@
1
1
  import { init_PerceptualColorPass, applyPerceptualColorPass } from './chunk-UCVZXQ63.js';
2
- import { init_CompilerBase, init_ANSNamespace, ANSCapabilityPath, escapeStringValue } from './chunk-DUG3OQAS.js';
2
+ import { init_CompilerBase, init_ANSNamespace, ANSCapabilityPath, escapeStringValue } from './chunk-QC3CAVFN.js';
3
3
  import { __esm } from './chunk-W4GABFCR.js';
4
4
 
5
5
  // src/compiler/DomainBlockCompilerMixin.ts
@@ -4673,5 +4673,5 @@ var init_DomainBlockCompilerMixin = __esm({
4673
4673
  });
4674
4674
 
4675
4675
  export { DOMAIN_BLOCK_COMPILER_MIXIN_CAPABILITY, architectureToGodot, architectureToR3F, architectureToUSDA, architectureToUnity, architectureToVRChat, audioSourceToAndroidXR, audioSourceToBabylon, audioSourceToGodot, audioSourceToPlayCanvas, audioSourceToR3F, audioSourceToUSD, audioSourceToUnity, audioSourceToUnreal, audioSourceToVisionOS, compileArchitectureBlock, compileAudioSourceBlock, compileDataVizBlock, compileDomainBlocks, compileEducationBlock, compileHealthcareBlock, compileInputBlock, compileIoTBlock, compileLightFieldBlock, compileMaterialBlock, compileMaterialGraphBlock, compileMusicBlock, compileNarrativeBlock, compileNavFieldBlock, compileNavigationBlock, compileParticleBlock, compileParticleFieldBlock, compilePaymentBlock, compilePhysicsBlock, compilePhysicsContractBlock, compilePostProcessingBlock, compileProceduralBlock, compileRenderingBlock, compileRoboticsBlock, compileSimulationBlock, compileWeatherBlock, compileWeb3Block, datavizToGodot, datavizToR3F, datavizToUSDA, datavizToUnity, datavizToUnreal, datavizToVRChat, datavizToWebGPU, educationToGodot, educationToR3F, educationToUSDA, educationToUnity, educationToVRChat, getRequiredCapability, healthcareToGodot, healthcareToR3F, healthcareToUSDA, healthcareToUnity, healthcareToVRChat, init_DomainBlockCompilerMixin, inputToGodot, inputToR3F, inputToUSDA, inputToUnity, inputToVRChat, iotToGodot, iotToR3F, iotToUSDA, iotToUnity, iotToVRChat, isPhysicalMaterial, lightFieldToWGSL, materialGraphToWGSL, materialToAndroidXR, materialToBabylon, materialToGLTF, materialToGodot, materialToPlayCanvas, materialToR3F, materialToSDF, materialToUSD, materialToUnity, materialToUnreal, materialToVRChat, materialToVisionOS, materialToWebGPU, musicToGodot, musicToR3F, musicToUSDA, musicToUnity, musicToVRChat, narrativeToGodot, narrativeToR3F, narrativeToUSDA, narrativeToUnity, narrativeToVRChat, navFieldToWGSL, navigationToGodot, navigationToR3F, navigationToUSDA, navigationToUnity, navigationToVRChat, particleFieldToWGSL, particlesToAndroidXR, particlesToBabylon, particlesToGodot, particlesToPlayCanvas, particlesToR3F, particlesToUSD, particlesToUnity, particlesToUnreal, particlesToVisionOS, paymentToGodot, paymentToR3F, paymentToUSDA, paymentToUnity, paymentToVRChat, physicsContractToWGSL, physicsToAndroidXR, physicsToBabylon, physicsToGodot, physicsToPlayCanvas, physicsToR3F, physicsToSDF, physicsToURDF, physicsToUnity, physicsToUnreal, physicsToVisionOS, postProcessingToBabylon, postProcessingToGodot, postProcessingToR3F, postProcessingToUSD, postProcessingToUnity, postProcessingToUnreal, proceduralToGodot, proceduralToR3F, proceduralToUSDA, proceduralToUnity, proceduralToVRChat, renderingToGodot, renderingToR3F, renderingToUSDA, renderingToUnity, renderingToVRChat, roboticsToGodot, roboticsToR3F, roboticsToUSDA, roboticsToUnity, roboticsToVRChat, simulationToR3F, weatherToAndroidXR, weatherToGodot, weatherToR3F, weatherToUSD, weatherToUnity, weatherToUnreal, web3ToGodot, web3ToR3F, web3ToUSDA, web3ToUnity, web3ToVRChat };
4676
- //# sourceMappingURL=chunk-5LVFTGKH.js.map
4677
- //# sourceMappingURL=chunk-5LVFTGKH.js.map
4676
+ //# sourceMappingURL=chunk-TW2AH2ZS.js.map
4677
+ //# sourceMappingURL=chunk-TW2AH2ZS.js.map