@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.
- package/README.md +20 -13
- package/bin/holo-decision.mjs +133 -0
- package/bin/holoscript.cjs +0 -0
- package/dist/{GLTFPipeline-L76YTXKA.js → GLTFPipeline-FRBZIATS.js} +7 -7
- package/dist/{GLTFPipeline-ZWJN7GI6.cjs → GLTFPipeline-MTPP444P.cjs} +11 -11
- package/dist/{HoloCompositionParser-P4Y3CXKQ.js → HoloCompositionParser-2GVQAZ2X.js} +7 -7
- package/dist/HoloCompositionParser-3NDF6BMX.cjs +45 -0
- package/dist/HoloScriptPlusParser-URSIBEAW.cjs +30 -0
- package/dist/HoloScriptPlusParser-YCV6L7GI.js +13 -0
- package/dist/{HoloScriptRuntime-YBYXJHJN.cjs → HoloScriptRuntime-CRWI6C3P.cjs} +5 -5
- package/dist/{HoloScriptRuntime-UTRLJI5L.js → HoloScriptRuntime-IAZGHPFP.js} +4 -4
- package/dist/{SceneIRCompiler-63KA3M2F.js → SceneIRCompiler-BJQMKLWL.js} +7 -7
- package/dist/{SceneIRCompiler-KWUFHZ4O.cjs → SceneIRCompiler-RTPPDQAV.cjs} +12 -12
- package/dist/{chunk-FWCHPCD4.js → chunk-22AULOAL.js} +5 -5
- package/dist/{chunk-G35CAQ7I.cjs → chunk-2DJIS7TH.cjs} +5 -5
- package/dist/{chunk-LHUDAJQT.cjs → chunk-2PVEXEOL.cjs} +5 -5
- package/dist/{chunk-WWNCM473.js → chunk-2UP2J3OK.js} +4 -4
- package/dist/{chunk-HVX7QQYK.js → chunk-3AUYBQ5I.js} +3 -3
- package/dist/{chunk-TSTFYGGX.js → chunk-3MQAOMKD.js} +3 -3
- package/dist/{chunk-FWKEY4LD.js → chunk-4AGNARX6.js} +3 -3
- package/dist/{chunk-WNYXT4TE.cjs → chunk-4CQ7ULXZ.cjs} +3 -3
- package/dist/{chunk-U3D4SYQ5.js → chunk-5LCJDX5A.js} +3 -3
- package/dist/{chunk-IK6Z2HNC.js → chunk-6OQHLNTT.js} +2 -2
- package/dist/{chunk-EI3J6LTW.cjs → chunk-6RDHWSZM.cjs} +217 -217
- package/dist/{chunk-77QI552M.js → chunk-7AY66PZP.js} +3 -3
- package/dist/{chunk-7IDJDMPU.cjs → chunk-7FYSSI3C.cjs} +27 -2
- package/dist/{chunk-BP4KTMLY.js → chunk-7HDRN5BW.js} +4 -4
- package/dist/{chunk-SQAAWO4V.cjs → chunk-7YKNV2BE.cjs} +5 -5
- package/dist/{chunk-WTH23ISI.js → chunk-AAUQTR7I.js} +4 -4
- package/dist/{chunk-OC6GV5QH.cjs → chunk-AN3ZH7M7.cjs} +38 -38
- package/dist/{chunk-YW3I2FQL.js → chunk-ANMME7XT.js} +4 -2
- package/dist/{chunk-A4OOLBZD.js → chunk-ATRAK4RC.js} +5 -5
- package/dist/{chunk-BQJ3YBF3.js → chunk-AUF7HFOO.js} +724 -647
- package/dist/{chunk-2X3IPCBK.cjs → chunk-AUMTQV64.cjs} +7 -7
- package/dist/chunk-AUU4ACJP.cjs +1605 -0
- package/dist/{chunk-QQFB4RT2.cjs → chunk-BTVHY3UB.cjs} +2 -2
- package/dist/{chunk-ZK7KX5CD.cjs → chunk-CMEINO5I.cjs} +190 -74
- package/dist/{chunk-BCP4E7MD.cjs → chunk-CRUIGXF7.cjs} +26 -10
- package/dist/{chunk-2E6PP5UE.cjs → chunk-E2SNPMBO.cjs} +11 -11
- package/dist/{chunk-2BYAUHBO.js → chunk-E4YS5SIZ.js} +90 -25
- package/dist/{chunk-KFVNCW4Q.js → chunk-EKNWUSGW.js} +3 -3
- package/dist/{chunk-JEJ7TT54.js → chunk-ETIJOUIO.js} +4 -4
- package/dist/{chunk-FRSKLX6I.js → chunk-F33KLYOS.js} +12 -9
- package/dist/{chunk-GGR7QUKK.cjs → chunk-F47FEV4X.cjs} +40 -40
- package/dist/{chunk-J3UHV5T4.cjs → chunk-FCGTI7FO.cjs} +4 -4
- package/dist/{chunk-RRQIAJLQ.cjs → chunk-FGTXAVKG.cjs} +5 -5
- package/dist/{chunk-2KKOYZYI.cjs → chunk-FPGYWNNA.cjs} +5 -5
- package/dist/{chunk-65S62L4D.cjs → chunk-FQ4MYZYU.cjs} +20 -20
- package/dist/{chunk-UGQ3QNV6.js → chunk-FT4FGTR6.js} +24 -8
- package/dist/{chunk-Q4K2GEMW.cjs → chunk-FVNV4WHQ.cjs} +20 -17
- package/dist/{chunk-SJIRCTIS.cjs → chunk-HSGJFCVJ.cjs} +2 -2
- package/dist/{chunk-B3CWTCK2.js → chunk-IA7FCSRY.js} +27 -2
- package/dist/{chunk-OIBRWLPY.cjs → chunk-ILO2KMER.cjs} +55 -4
- package/dist/{chunk-ZRPALBQB.cjs → chunk-IPBSNGAN.cjs} +92 -27
- package/dist/{chunk-FHVPN7BN.js → chunk-IX2U3RQT.js} +3 -3
- package/dist/{chunk-QEDMOGF3.cjs → chunk-IYK6LMQ7.cjs} +7 -7
- package/dist/{chunk-G6EKZHXY.js → chunk-J3VVM6GV.js} +4 -4
- package/dist/{chunk-LMB555QB.cjs → chunk-J74S4ZMF.cjs} +18 -18
- package/dist/{chunk-36NPLOI4.cjs → chunk-JERWCCEJ.cjs} +4 -2
- package/dist/{chunk-RVNXBF2M.js → chunk-JTDDLCSP.js} +4 -4
- package/dist/{chunk-VTEXJOSD.cjs → chunk-K53L47NH.cjs} +30 -30
- package/dist/{chunk-IJU6AS67.cjs → chunk-LJTM5ONX.cjs} +23 -23
- package/dist/{chunk-G6KACNMO.js → chunk-LJVVOVA6.js} +4 -4
- package/dist/{chunk-PDXX5UI4.cjs → chunk-LNJKBQ2B.cjs} +38 -38
- package/dist/{chunk-EM2OGPYE.js → chunk-M2GDE3NV.js} +3 -3
- package/dist/{chunk-CP7V3ATL.js → chunk-MSZNGI5P.js} +52 -5
- package/dist/{chunk-P7JEKJTZ.cjs → chunk-N2BOTBPG.cjs} +27 -16
- package/dist/{chunk-LB3ZZMKT.cjs → chunk-NFALJJCH.cjs} +12 -12
- package/dist/{chunk-XF63CZ7E.cjs → chunk-NRZRBK25.cjs} +6 -6
- package/dist/{chunk-GZPUA2TL.cjs → chunk-NTSLNIY7.cjs} +10 -10
- package/dist/{chunk-Y57AVOM2.cjs → chunk-NZJOAWJM.cjs} +4 -4
- package/dist/{chunk-RXQNRZ5F.js → chunk-OG7RKWWX.js} +3 -3
- package/dist/{chunk-VVAAZITA.cjs → chunk-OQVHCYY4.cjs} +5 -5
- package/dist/{chunk-PJFTTSKE.js → chunk-PFZ5WLIP.js} +4 -4
- package/dist/{chunk-PXVAPGTR.cjs → chunk-PHLNABJD.cjs} +3788 -1138
- package/dist/{chunk-SQXAZHDG.js → chunk-PLK3DLTF.js} +3 -3
- package/dist/{chunk-QBY7LRN2.js → chunk-PMACVMHL.js} +3 -3
- package/dist/{chunk-DJ5BNRIS.js → chunk-PV2OXNP5.js} +3684 -1041
- package/dist/{chunk-F3YT6GUF.cjs → chunk-Q6VW7MGX.cjs} +14 -14
- package/dist/{chunk-DUG3OQAS.js → chunk-QC3CAVFN.js} +187 -70
- package/dist/{chunk-NQN5LFN4.cjs → chunk-QKLEDRHN.cjs} +19 -19
- package/dist/{chunk-2EGGAZT3.js → chunk-QS27OYBU.js} +3 -3
- package/dist/{chunk-4376VHNJ.js → chunk-RUB7WL6C.js} +3 -3
- package/dist/{chunk-5LVFTGKH.js → chunk-TW2AH2ZS.js} +3 -3
- package/dist/{chunk-AATYYLYK.js → chunk-TZM6DKSJ.js} +18 -7
- package/dist/{chunk-ESSEF6U2.js → chunk-U227RWXB.js} +3 -3
- package/dist/{chunk-TC7JEO6R.cjs → chunk-U6CQOM5Q.cjs} +711 -52
- package/dist/{chunk-Z557DVYN.js → chunk-ULT2QAV5.js} +4 -4
- package/dist/{chunk-S4O7CFHQ.cjs → chunk-VSO6HPDZ.cjs} +7 -7
- package/dist/{chunk-ONPVM4IV.js → chunk-WQJMSSJT.js} +698 -45
- package/dist/{chunk-GILYQ5VH.cjs → chunk-WXSDBWGM.cjs} +4 -4
- package/dist/{chunk-UTUD6GJI.js → chunk-X5PMMK7H.js} +3 -3
- package/dist/{chunk-IFW5IW4L.cjs → chunk-X5ZLSPU2.cjs} +742 -657
- package/dist/{chunk-QM7FJB5W.js → chunk-X727CQ7X.js} +5 -5
- package/dist/{chunk-566ZB4LZ.cjs → chunk-XHZYS4QO.cjs} +5 -5
- package/dist/{chunk-RZ2EPXO3.cjs → chunk-XRQCTTDC.cjs} +8 -8
- package/dist/{chunk-5FYMCVBY.js → chunk-YBIHSN55.js} +4 -4
- package/dist/{chunk-FG6PYGIZ.js → chunk-Z574GVI3.js} +4 -4
- package/dist/{chunk-ZVQMKUGJ.js → chunk-Z5V3KA7L.js} +2 -2
- package/dist/chunk-ZGDEOXGU.js +1571 -0
- package/dist/{chunk-IS7NTKY5.cjs → chunk-ZHW6TDZ6.cjs} +14 -14
- package/dist/{chunk-CKV5NYAE.js → chunk-ZPHCTPR6.js} +4 -4
- package/dist/{chunk-3IUHTGDD.cjs → chunk-ZXXC2GXB.cjs} +38 -38
- package/dist/cli/holoscript-runner.cjs +169 -20
- package/dist/cli/holoscript-runner.js +163 -14
- package/dist/compiler/agent-inference.cjs +8 -8
- package/dist/compiler/agent-inference.js +4 -4
- package/dist/compiler/android-xr.cjs +7 -7
- package/dist/compiler/android-xr.js +5 -5
- package/dist/compiler/android.cjs +6 -6
- package/dist/compiler/android.js +4 -4
- package/dist/compiler/context.cjs +6 -6
- package/dist/compiler/context.js +3 -3
- package/dist/compiler/daimon-seed.cjs +9 -9
- package/dist/compiler/daimon-seed.js +4 -4
- package/dist/compiler/domain-block-utils.cjs +165 -165
- package/dist/compiler/domain-block-utils.js +4 -4
- package/dist/compiler/dtdl.cjs +7 -7
- package/dist/compiler/dtdl.js +4 -4
- package/dist/compiler/gltf-pipeline.cjs +8 -8
- package/dist/compiler/gltf-pipeline.js +1 -1
- package/dist/compiler/godot.cjs +6 -6
- package/dist/compiler/godot.js +5 -5
- package/dist/compiler/incremental.cjs +8 -8
- package/dist/compiler/incremental.js +3 -3
- package/dist/compiler/index.cjs +2275 -212
- package/dist/compiler/index.d.ts +29 -1
- package/dist/compiler/index.js +2078 -66
- package/dist/compiler/ios.cjs +6 -6
- package/dist/compiler/ios.js +4 -4
- package/dist/compiler/llm-provider-capabilities.cjs +6 -6
- package/dist/compiler/llm-provider-capabilities.js +3 -3
- package/dist/compiler/openxr.cjs +6 -6
- package/dist/compiler/openxr.js +5 -5
- package/dist/compiler/sdf.cjs +7 -7
- package/dist/compiler/sdf.js +5 -5
- package/dist/compiler/state.cjs +6 -6
- package/dist/compiler/state.js +4 -4
- package/dist/compiler/trait-composition.cjs +7 -7
- package/dist/compiler/trait-composition.js +3 -3
- package/dist/compiler/unity.cjs +6 -6
- package/dist/compiler/unity.js +5 -5
- package/dist/compiler/unreal.cjs +7 -7
- package/dist/compiler/unreal.js +5 -5
- package/dist/compiler/urdf.cjs +14 -14
- package/dist/compiler/urdf.js +5 -5
- package/dist/compiler/usd-physics.cjs +7 -7
- package/dist/compiler/usd-physics.js +4 -4
- package/dist/compiler/visionos.cjs +6 -6
- package/dist/compiler/visionos.js +5 -5
- package/dist/compiler/vrchat.cjs +7 -7
- package/dist/compiler/vrchat.js +5 -5
- package/dist/compiler/wasm.cjs +10 -10
- package/dist/compiler/wasm.js +5 -5
- package/dist/compiler/webgpu.cjs +6 -6
- package/dist/compiler/webgpu.js +5 -5
- package/dist/constants.cjs +99 -99
- package/dist/constants.js +3 -3
- package/dist/debugger.cjs +5 -5
- package/dist/debugger.js +3 -3
- package/dist/{dist-GRMOP2UL.cjs → dist-YGATNURH.cjs} +705 -9
- package/dist/{dist-ZBUKU2JG.js → dist-ZEZXRCBG.js} +701 -10
- package/dist/entries/scripting.cjs +8 -8
- package/dist/entries/scripting.js +4 -4
- package/dist/evolution/index.cjs +20 -20
- package/dist/evolution/index.js +8 -8
- package/dist/index.cjs +1099 -826
- package/dist/index.d.ts +78 -5
- package/dist/index.js +265 -120
- package/dist/parser/HoloCompositionTypes.d.ts +1 -1
- package/dist/parser.cjs +21 -21
- package/dist/parser.js +7 -7
- package/dist/reconstruction/index.cjs +127 -38
- package/dist/reconstruction/index.d.ts +159 -0
- package/dist/reconstruction/index.js +11 -2
- package/dist/runtime.cjs +9 -9
- package/dist/runtime.d.ts +1 -0
- package/dist/runtime.js +3 -3
- package/dist/traitDocs/traitDocs.cjs +8 -8
- package/dist/traitDocs/traitDocs.js +2 -2
- package/dist/traits/botanical-lotus.d.ts +61 -0
- package/dist/traits/index.cjs +761 -673
- package/dist/traits/index.d.ts +65 -0
- package/dist/traits/index.js +102 -27
- package/dist/types/HoloScriptPlus.d.ts +1 -1
- package/package.json +71 -65
- package/dist/HoloCompositionParser-6GW2BZID.cjs +0 -45
- package/dist/HoloScriptPlusParser-HQV6IJAH.js +0 -13
- package/dist/HoloScriptPlusParser-RFNHRMPE.cjs +0 -30
- package/dist/chunk-DVHZD5HV.cjs +0 -639
- package/dist/chunk-G72754QB.js +0 -625
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
exports.SDFCompiler = class extends
|
|
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 =
|
|
99
|
+
const compiled = chunkIYK6LMQ7_cjs.compileDomainBlocks(
|
|
100
100
|
domainBlocks,
|
|
101
101
|
{
|
|
102
102
|
material: (block) => {
|
|
103
|
-
const mat =
|
|
104
|
-
return
|
|
103
|
+
const mat = chunkIYK6LMQ7_cjs.compileMaterialBlock(block);
|
|
104
|
+
return chunkIYK6LMQ7_cjs.materialToSDF(mat);
|
|
105
105
|
},
|
|
106
106
|
physics: (block) => {
|
|
107
|
-
const phys =
|
|
108
|
-
return
|
|
107
|
+
const phys = chunkIYK6LMQ7_cjs.compilePhysicsBlock(block);
|
|
108
|
+
return chunkIYK6LMQ7_cjs.physicsToSDF(phys);
|
|
109
109
|
},
|
|
110
110
|
audio: (block) => {
|
|
111
|
-
const audio =
|
|
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 =
|
|
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-
|
|
615
|
-
//# sourceMappingURL=chunk-
|
|
614
|
+
//# sourceMappingURL=chunk-Q6VW7MGX.cjs.map
|
|
615
|
+
//# sourceMappingURL=chunk-Q6VW7MGX.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { init_traitDocs, getTraitDoc, formatTraitDocCompact } from './chunk-
|
|
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,
|
|
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
|
-
*
|
|
1277
|
-
*
|
|
1278
|
-
*
|
|
1279
|
-
*
|
|
1280
|
-
*
|
|
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
|
|
1326
|
+
// Standard claims
|
|
1307
1327
|
iss: this.issuer,
|
|
1308
1328
|
sub: `agent:${agentConfig.role}:${agentConfig.name}`,
|
|
1309
|
-
aud:
|
|
1310
|
-
exp:
|
|
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
|
|
1335
|
-
|
|
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
|
|
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
|
-
* -
|
|
1353
|
-
*
|
|
1354
|
-
* -
|
|
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
|
-
|
|
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: "
|
|
1367
|
-
errorCode: "
|
|
1402
|
+
error: "Invalid signature or malformed token",
|
|
1403
|
+
errorCode: "INVALID_SIGNATURE"
|
|
1368
1404
|
};
|
|
1369
1405
|
}
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
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
|
-
|
|
1381
|
-
|
|
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: "
|
|
1389
|
-
errorCode: "
|
|
1420
|
+
error: "Invalid signature or malformed token",
|
|
1421
|
+
errorCode: "INVALID_SIGNATURE"
|
|
1390
1422
|
};
|
|
1391
|
-
}
|
|
1423
|
+
}
|
|
1424
|
+
const header = decodeJsonSegment(parts[0]);
|
|
1425
|
+
if (!header || typeof header.alg !== "string") {
|
|
1392
1426
|
return {
|
|
1393
1427
|
valid: false,
|
|
1394
|
-
error: "
|
|
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
|
|
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
|
|
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
|
|
1481
|
-
* UCAN capability-based authorization. Consuming services
|
|
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
|
|
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 ??
|
|
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-
|
|
6032
|
-
//# sourceMappingURL=chunk-
|
|
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
|
|
6
|
-
var
|
|
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 =
|
|
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 =
|
|
4917
|
-
return
|
|
4916
|
+
const mat = chunkIYK6LMQ7_cjs.compileMaterialBlock(block);
|
|
4917
|
+
return chunkIYK6LMQ7_cjs.materialToAndroidXR(mat, `db${blockIdx++}`);
|
|
4918
4918
|
},
|
|
4919
4919
|
physics: (block) => {
|
|
4920
|
-
const phys =
|
|
4921
|
-
return
|
|
4920
|
+
const phys = chunkIYK6LMQ7_cjs.compilePhysicsBlock(block);
|
|
4921
|
+
return chunkIYK6LMQ7_cjs.physicsToAndroidXR(phys, `db${blockIdx++}`);
|
|
4922
4922
|
},
|
|
4923
4923
|
vfx: (block) => {
|
|
4924
|
-
const ps =
|
|
4925
|
-
return
|
|
4924
|
+
const ps = chunkIYK6LMQ7_cjs.compileParticleBlock(block);
|
|
4925
|
+
return chunkIYK6LMQ7_cjs.particlesToAndroidXR(ps, `db${blockIdx++}`);
|
|
4926
4926
|
},
|
|
4927
4927
|
postfx: (block) => {
|
|
4928
|
-
const pp =
|
|
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 =
|
|
4936
|
-
return
|
|
4935
|
+
const audio = chunkIYK6LMQ7_cjs.compileAudioSourceBlock(block);
|
|
4936
|
+
return chunkIYK6LMQ7_cjs.audioSourceToAndroidXR(audio, `db${blockIdx++}`);
|
|
4937
4937
|
},
|
|
4938
4938
|
weather: (block) => {
|
|
4939
|
-
const weather =
|
|
4940
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
5697
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
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-
|
|
1719
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
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-
|
|
4346
|
-
//# sourceMappingURL=chunk-
|
|
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-
|
|
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-
|
|
4677
|
-
//# sourceMappingURL=chunk-
|
|
4676
|
+
//# sourceMappingURL=chunk-TW2AH2ZS.js.map
|
|
4677
|
+
//# sourceMappingURL=chunk-TW2AH2ZS.js.map
|