@tokens-studio/tokenscript-interpreter 0.36.1 → 0.36.3

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.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkLMGHS2NP_cjs = require('./chunk-LMGHS2NP.cjs');
3
+ var chunkPXS4WZYB_cjs = require('./chunk-PXS4WZYB.cjs');
4
4
  var chunkLEYHQJTL_cjs = require('./chunk-LEYHQJTL.cjs');
5
5
  var schemaValidation = require('@tokens-studio/schema-validation');
6
6
 
@@ -460,7 +460,7 @@ function renameReferences(originalValue, ast, renameMap) {
460
460
  for (const [oldName, newName] of Object.entries(renameMap)) {
461
461
  const references = collectReferenceNodes(ast, oldName);
462
462
  for (const ref of references) {
463
- if (chunkLMGHS2NP_cjs.isSome(ref.token.pos) && chunkLMGHS2NP_cjs.isSome(ref.token.endPos)) {
463
+ if (chunkPXS4WZYB_cjs.isSome(ref.token.pos) && chunkPXS4WZYB_cjs.isSome(ref.token.endPos)) {
464
464
  positions.push({
465
465
  start: ref.token.pos,
466
466
  end: ref.token.endPos,
@@ -516,7 +516,7 @@ var _Lexer = class _Lexer {
516
516
  return this._lastUnitableToken !== null && this._lastUnitableToken.endPos === startPos;
517
517
  }
518
518
  error(code, data) {
519
- throw new chunkLMGHS2NP_cjs.LexerError(code, {
519
+ throw new chunkPXS4WZYB_cjs.LexerError(code, {
520
520
  line: this.line,
521
521
  data
522
522
  });
@@ -544,7 +544,7 @@ var _Lexer = class _Lexer {
544
544
  return this.text[this.pos + n] ?? null;
545
545
  }
546
546
  skipWhitespace() {
547
- while (chunkLMGHS2NP_cjs.isSpace(this.currentChar)) {
547
+ while (chunkPXS4WZYB_cjs.isSpace(this.currentChar)) {
548
548
  this.advance();
549
549
  }
550
550
  }
@@ -566,9 +566,9 @@ var _Lexer = class _Lexer {
566
566
  if (this.currentChar === ".") {
567
567
  result += "0";
568
568
  }
569
- while (chunkLMGHS2NP_cjs.isNumber2(this.currentChar) || this.currentChar === ".") {
569
+ while (chunkPXS4WZYB_cjs.isNumber2(this.currentChar) || this.currentChar === ".") {
570
570
  if (this.currentChar === ".") {
571
- if (!chunkLMGHS2NP_cjs.isNumber2(this.peek())) {
571
+ if (!chunkPXS4WZYB_cjs.isNumber2(this.peek())) {
572
572
  break;
573
573
  }
574
574
  if (hasDecimalPoint) {
@@ -594,11 +594,11 @@ var _Lexer = class _Lexer {
594
594
  // Python like isdigit, that allows numbers starting with '.'
595
595
  isDigit() {
596
596
  if (this.currentChar === null) return false;
597
- return chunkLMGHS2NP_cjs.isNumber2(this.currentChar) || this.currentChar === "." && chunkLMGHS2NP_cjs.isNumber2(this.peek());
597
+ return chunkPXS4WZYB_cjs.isNumber2(this.currentChar) || this.currentChar === "." && chunkPXS4WZYB_cjs.isNumber2(this.peek());
598
598
  }
599
599
  isValidIdentifierStart(char) {
600
600
  if (char === null) return false;
601
- if (chunkLMGHS2NP_cjs.isAlpha(char)) return true;
601
+ if (chunkPXS4WZYB_cjs.isAlpha(char)) return true;
602
602
  const cp = char.codePointAt(0) ?? 0;
603
603
  if (cp <= 127) return false;
604
604
  if (cp === 180 /* FORWARD_TICK */) return false;
@@ -608,7 +608,7 @@ var _Lexer = class _Lexer {
608
608
  isValidStringElement(char) {
609
609
  if (char === null) return false;
610
610
  const cp = char.codePointAt(0) ?? 0;
611
- return chunkLMGHS2NP_cjs.isAlphaNumeric(char) || cp === 45 /* HYPHEN */ || cp === 95 /* UNDERSCORE */ || cp > 127;
611
+ return chunkPXS4WZYB_cjs.isAlphaNumeric(char) || cp === 45 /* HYPHEN */ || cp === 95 /* UNDERSCORE */ || cp > 127;
612
612
  }
613
613
  stringElement() {
614
614
  const startPos = this.pos;
@@ -657,7 +657,7 @@ var _Lexer = class _Lexer {
657
657
  }
658
658
  this.error("LEXER_UNTERMINATED_REFERENCE" /* UNTERMINATED_REFERENCE */, {});
659
659
  }
660
- if (chunkLMGHS2NP_cjs.isSpace(this.currentChar)) {
660
+ if (chunkPXS4WZYB_cjs.isSpace(this.currentChar)) {
661
661
  this.advance();
662
662
  continue;
663
663
  }
@@ -777,7 +777,7 @@ var _Lexer = class _Lexer {
777
777
  hexColor() {
778
778
  const startPos = this.pos;
779
779
  let result = "";
780
- while (chunkLMGHS2NP_cjs.isAlpha(this.currentChar) || this.isDigit() || this.currentChar === "#") {
780
+ while (chunkPXS4WZYB_cjs.isAlpha(this.currentChar) || this.isDigit() || this.currentChar === "#") {
781
781
  result += this.currentChar;
782
782
  this.advance();
783
783
  }
@@ -969,7 +969,7 @@ var _Lexer = class _Lexer {
969
969
  });
970
970
  }
971
971
  if (this.currentChar === ".") {
972
- if (this.peek() !== null && chunkLMGHS2NP_cjs.isNumber2(this.peek())) {
972
+ if (this.peek() !== null && chunkPXS4WZYB_cjs.isNumber2(this.peek())) {
973
973
  return this.collectToken(this.number());
974
974
  }
975
975
  const startPos = this.pos;
@@ -1326,7 +1326,7 @@ ${contextText}`;
1326
1326
  const formattedMessage = this.formatError(
1327
1327
  message || (code === "PARSER_INVALID_SYNTAX" /* INVALID_SYNTAX */ ? "Invalid syntax" : code)
1328
1328
  );
1329
- throw new chunkLMGHS2NP_cjs.ParserError(code, {
1329
+ throw new chunkPXS4WZYB_cjs.ParserError(code, {
1330
1330
  token: this.currentToken,
1331
1331
  data: { ...data, message: formattedMessage }
1332
1332
  });
@@ -1470,7 +1470,7 @@ ${contextText}`;
1470
1470
  if (this.currentToken.type === "STRING" /* STRING */) {
1471
1471
  const nextToken = this.lexer.peekToken();
1472
1472
  if (nextToken && nextToken.type === "ASSIGN" /* ASSIGN */) {
1473
- throw new chunkLMGHS2NP_cjs.ParserError("PARSER_CONDITION_MUST_BE_BOOLEAN" /* CONDITION_MUST_BE_BOOLEAN */, {
1473
+ throw new chunkPXS4WZYB_cjs.ParserError("PARSER_CONDITION_MUST_BE_BOOLEAN" /* CONDITION_MUST_BE_BOOLEAN */, {
1474
1474
  token: this.currentToken
1475
1475
  });
1476
1476
  }
@@ -1493,7 +1493,7 @@ ${contextText}`;
1493
1493
  forStatement() {
1494
1494
  const forToken = this.eat("RESERVED_KEYWORD" /* RESERVED_KEYWORD */);
1495
1495
  if (!this.isIdentifierToken()) {
1496
- throw new chunkLMGHS2NP_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1496
+ throw new chunkPXS4WZYB_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1497
1497
  token: this.currentToken,
1498
1498
  data: { expectedType: "identifier", actualType: this.currentToken.type }
1499
1499
  });
@@ -1504,7 +1504,7 @@ ${contextText}`;
1504
1504
  if (this.currentToken.type === "COMMA" /* COMMA */) {
1505
1505
  this.eat("COMMA" /* COMMA */);
1506
1506
  if (!this.isIdentifierToken()) {
1507
- throw new chunkLMGHS2NP_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1507
+ throw new chunkPXS4WZYB_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1508
1508
  token: this.currentToken,
1509
1509
  data: { expectedType: "identifier", actualType: this.currentToken.type }
1510
1510
  });
@@ -1513,7 +1513,7 @@ ${contextText}`;
1513
1513
  this.eat(this.currentToken.type);
1514
1514
  }
1515
1515
  if (!this.isIdentifierToken() || this.currentToken.value !== "in") {
1516
- throw new chunkLMGHS2NP_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1516
+ throw new chunkPXS4WZYB_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1517
1517
  token: this.currentToken,
1518
1518
  data: { expectedType: "'in'", actualType: this.currentToken.value }
1519
1519
  });
@@ -1598,22 +1598,23 @@ ${contextText}`;
1598
1598
  }
1599
1599
  return new ListNode(elements, firstToken);
1600
1600
  }
1601
- // term ((PLUS | MINUS) term)*
1601
+ // comparison ((IS_EQ | IS_NOT_EQ | IS_GT | IS_LT | IS_GT_EQ | IS_LT_EQ) comparison)*
1602
1602
  logicTerm() {
1603
1603
  let node = this.comparison();
1604
- while (this.currentToken.type === "OPERATION" /* OPERATION */ && (this.currentToken.value === "+" /* ADD */ || this.currentToken.value === "-" /* SUBTRACT */)) {
1605
- const token = this.eat("OPERATION" /* OPERATION */);
1604
+ while (this.currentToken.type === "IS_EQ" /* IS_EQ */ || this.currentToken.type === "IS_NOT_EQ" /* IS_NOT_EQ */ || this.currentToken.type === "GT" /* IS_GT */ || this.currentToken.type === "LT" /* IS_LT */ || this.currentToken.type === "IS_GT_EQ" /* IS_GT_EQ */ || this.currentToken.type === "IS_LT_EQ" /* IS_LT_EQ */) {
1605
+ const token = this.eat(this.currentToken.type);
1606
1606
  const partial = this.tryRecoverMissingOperand(node, token);
1607
1607
  if (partial) return partial;
1608
1608
  node = new BinOpNode(node, token, this.comparison());
1609
1609
  }
1610
1610
  return node;
1611
1611
  }
1612
- // term ((IS_EQ | IS_NOT_EQ | IS_GT | IS_LT | IS_GT_EQ | IS_LT_EQ) term)*
1612
+ // term ((ADD | SUBTRACT) term)*
1613
+ // Arithmetic addition/subtraction binds tighter than comparison operators.
1613
1614
  comparison() {
1614
1615
  let node = this.term();
1615
- while (this.currentToken.type === "IS_EQ" /* IS_EQ */ || this.currentToken.type === "IS_NOT_EQ" /* IS_NOT_EQ */ || this.currentToken.type === "GT" /* IS_GT */ || this.currentToken.type === "LT" /* IS_LT */ || this.currentToken.type === "IS_GT_EQ" /* IS_GT_EQ */ || this.currentToken.type === "IS_LT_EQ" /* IS_LT_EQ */) {
1616
- const token = this.eat(this.currentToken.type);
1616
+ while (this.currentToken.type === "OPERATION" /* OPERATION */ && (this.currentToken.value === "+" /* ADD */ || this.currentToken.value === "-" /* SUBTRACT */)) {
1617
+ const token = this.eat("OPERATION" /* OPERATION */);
1617
1618
  const partial = this.tryRecoverMissingOperand(node, token);
1618
1619
  if (partial) return partial;
1619
1620
  node = new BinOpNode(node, token, this.term());
@@ -2075,7 +2076,7 @@ function getBrokenReferences(result) {
2075
2076
  const brokenRefs = /* @__PURE__ */ new Set();
2076
2077
  for (const [tokenPath, issues] of result.issues) {
2077
2078
  for (const issue of issues) {
2078
- if (chunkLMGHS2NP_cjs.isLanguageError(issue) && (issue.code === "PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */ || issue.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */)) {
2079
+ if (chunkPXS4WZYB_cjs.isLanguageError(issue) && (issue.code === "PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */ || issue.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */)) {
2079
2080
  brokenRefs.add(tokenPath);
2080
2081
  break;
2081
2082
  }
@@ -2207,7 +2208,7 @@ var _PrefixManager = class _PrefixManager {
2207
2208
  }
2208
2209
  }
2209
2210
  if (dictionaryEntries.size === 0) return void 0;
2210
- return new chunkLMGHS2NP_cjs.DictionarySymbol(dictionaryEntries, this.config);
2211
+ return new chunkPXS4WZYB_cjs.DictionarySymbol(dictionaryEntries, this.config);
2211
2212
  }
2212
2213
  findParentToken(reference, tokens) {
2213
2214
  const cached = this.parentLookupCache.get(reference);
@@ -2262,9 +2263,9 @@ var _PrefixManager = class _PrefixManager {
2262
2263
  }
2263
2264
  toSymbol(value) {
2264
2265
  if (value === void 0) return void 0;
2265
- if (value === null) return new chunkLMGHS2NP_cjs.NullSymbol(this.config);
2266
- if (chunkLMGHS2NP_cjs.isTokenscriptSymbol(value)) return value;
2267
- return new chunkLMGHS2NP_cjs.StringSymbol(String(value), this.config);
2266
+ if (value === null) return new chunkPXS4WZYB_cjs.NullSymbol(this.config);
2267
+ if (chunkPXS4WZYB_cjs.isTokenscriptSymbol(value)) return value;
2268
+ return new chunkPXS4WZYB_cjs.StringSymbol(String(value), this.config);
2268
2269
  }
2269
2270
  };
2270
2271
  chunkLEYHQJTL_cjs.__name(_PrefixManager, "PrefixManager");
@@ -2373,13 +2374,13 @@ var ResolutionNotifier = _ResolutionNotifier;
2373
2374
 
2374
2375
  // src/interpreter/operations.ts
2375
2376
  function decomposeUnit(operand) {
2376
- if (operand instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
2377
+ if (operand instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
2377
2378
  return { value: operand.value, unit: operand.unit };
2378
2379
  }
2379
- if (operand instanceof chunkLMGHS2NP_cjs.NumberSymbol) {
2380
+ if (operand instanceof chunkPXS4WZYB_cjs.NumberSymbol) {
2380
2381
  return { value: operand.value, unit: null };
2381
2382
  }
2382
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_UNSUPPORTED_OPERAND_TYPE" /* UNSUPPORTED_OPERAND_TYPE */, {
2383
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_UNSUPPORTED_OPERAND_TYPE" /* UNSUPPORTED_OPERAND_TYPE */, {
2383
2384
  data: { type: operand.type }
2384
2385
  });
2385
2386
  }
@@ -2387,14 +2388,14 @@ chunkLEYHQJTL_cjs.__name(decomposeUnit, "decomposeUnit");
2387
2388
  function recomposeUnit(value, units, _config) {
2388
2389
  const validUnits = units.filter((u) => u !== null);
2389
2390
  if (validUnits.length === 0) {
2390
- return new chunkLMGHS2NP_cjs.NumberSymbol(value);
2391
+ return new chunkPXS4WZYB_cjs.NumberSymbol(value);
2391
2392
  }
2392
2393
  if (new Set(validUnits).size > 1) {
2393
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_CANNOT_MIX_UNITS" /* CANNOT_MIX_UNITS */, {
2394
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_CANNOT_MIX_UNITS" /* CANNOT_MIX_UNITS */, {
2394
2395
  data: { units: validUnits }
2395
2396
  });
2396
2397
  }
2397
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(value, validUnits[0]);
2398
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(value, validUnits[0]);
2398
2399
  }
2399
2400
  chunkLEYHQJTL_cjs.__name(recomposeUnit, "recomposeUnit");
2400
2401
  function mathWrapper(func) {
@@ -2422,88 +2423,88 @@ function mathWrapper(func) {
2422
2423
  chunkLEYHQJTL_cjs.__name(mathWrapper, "mathWrapper");
2423
2424
  function equalityComparisonWrapper(fn) {
2424
2425
  return (a, b) => {
2425
- const isNullComparison = a instanceof chunkLMGHS2NP_cjs.NullSymbol || b instanceof chunkLMGHS2NP_cjs.NullSymbol;
2426
+ const isNullComparison = a instanceof chunkPXS4WZYB_cjs.NullSymbol || b instanceof chunkPXS4WZYB_cjs.NullSymbol;
2426
2427
  if (!isNullComparison) {
2427
- const isNumericA = a instanceof chunkLMGHS2NP_cjs.NumberSymbol || a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol;
2428
- const isNumericB = b instanceof chunkLMGHS2NP_cjs.NumberSymbol || b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol;
2428
+ const isNumericA = a instanceof chunkPXS4WZYB_cjs.NumberSymbol || a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol;
2429
+ const isNumericB = b instanceof chunkPXS4WZYB_cjs.NumberSymbol || b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol;
2429
2430
  if (isNumericA && !isNumericB) {
2430
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2431
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2431
2432
  data: { typeA: a.type, typeB: b.type }
2432
2433
  });
2433
2434
  }
2434
- const isStringA = a instanceof chunkLMGHS2NP_cjs.StringSymbol;
2435
- const isStringB = b instanceof chunkLMGHS2NP_cjs.StringSymbol;
2435
+ const isStringA = a instanceof chunkPXS4WZYB_cjs.StringSymbol;
2436
+ const isStringB = b instanceof chunkPXS4WZYB_cjs.StringSymbol;
2436
2437
  if (isStringA && !isStringB) {
2437
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2438
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2438
2439
  data: { typeA: a.type, typeB: b.type }
2439
2440
  });
2440
2441
  }
2441
- const isBooleanA = a instanceof chunkLMGHS2NP_cjs.BooleanSymbol;
2442
- const isBooleanB = b instanceof chunkLMGHS2NP_cjs.BooleanSymbol;
2442
+ const isBooleanA = a instanceof chunkPXS4WZYB_cjs.BooleanSymbol;
2443
+ const isBooleanB = b instanceof chunkPXS4WZYB_cjs.BooleanSymbol;
2443
2444
  if (isBooleanA && !isBooleanB) {
2444
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2445
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2445
2446
  data: { typeA: a.type, typeB: b.type }
2446
2447
  });
2447
2448
  }
2448
- if (a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2449
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2449
+ if (a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2450
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2450
2451
  data: { unitA: a.unit, unitB: b.unit }
2451
2452
  });
2452
2453
  }
2453
2454
  }
2454
- return new chunkLMGHS2NP_cjs.BooleanSymbol(fn(a.value, b.value));
2455
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(fn(a.value, b.value));
2455
2456
  };
2456
2457
  }
2457
2458
  chunkLEYHQJTL_cjs.__name(equalityComparisonWrapper, "equalityComparisonWrapper");
2458
2459
  function orderingComparisonWrapper(fn) {
2459
2460
  return (a, b) => {
2460
- if (a instanceof chunkLMGHS2NP_cjs.NullSymbol || b instanceof chunkLMGHS2NP_cjs.NullSymbol || chunkLMGHS2NP_cjs.isNull(a.value) || chunkLMGHS2NP_cjs.isNull(b.value)) {
2461
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_ORDERING_WITH_NULL" /* ORDERING_WITH_NULL */);
2461
+ if (a instanceof chunkPXS4WZYB_cjs.NullSymbol || b instanceof chunkPXS4WZYB_cjs.NullSymbol || chunkPXS4WZYB_cjs.isNull(a.value) || chunkPXS4WZYB_cjs.isNull(b.value)) {
2462
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_ORDERING_WITH_NULL" /* ORDERING_WITH_NULL */);
2462
2463
  }
2463
- const isNumericA = a instanceof chunkLMGHS2NP_cjs.NumberSymbol || a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol;
2464
- const isNumericB = b instanceof chunkLMGHS2NP_cjs.NumberSymbol || b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol;
2464
+ const isNumericA = a instanceof chunkPXS4WZYB_cjs.NumberSymbol || a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol;
2465
+ const isNumericB = b instanceof chunkPXS4WZYB_cjs.NumberSymbol || b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol;
2465
2466
  if (isNumericA && !isNumericB) {
2466
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2467
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2467
2468
  data: { typeA: a.type, typeB: b.type }
2468
2469
  });
2469
2470
  }
2470
- const isStringA = a instanceof chunkLMGHS2NP_cjs.StringSymbol;
2471
- const isStringB = b instanceof chunkLMGHS2NP_cjs.StringSymbol;
2471
+ const isStringA = a instanceof chunkPXS4WZYB_cjs.StringSymbol;
2472
+ const isStringB = b instanceof chunkPXS4WZYB_cjs.StringSymbol;
2472
2473
  if (isStringA && !isStringB) {
2473
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2474
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2474
2475
  data: { typeA: a.type, typeB: b.type }
2475
2476
  });
2476
2477
  }
2477
- const isBooleanA = a instanceof chunkLMGHS2NP_cjs.BooleanSymbol;
2478
- const isBooleanB = b instanceof chunkLMGHS2NP_cjs.BooleanSymbol;
2478
+ const isBooleanA = a instanceof chunkPXS4WZYB_cjs.BooleanSymbol;
2479
+ const isBooleanB = b instanceof chunkPXS4WZYB_cjs.BooleanSymbol;
2479
2480
  if (isBooleanA && !isBooleanB) {
2480
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2481
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2481
2482
  data: { typeA: a.type, typeB: b.type }
2482
2483
  });
2483
2484
  }
2484
- if (a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2485
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2485
+ if (a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2486
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2486
2487
  data: { unitA: a.unit, unitB: b.unit }
2487
2488
  });
2488
2489
  }
2489
- return new chunkLMGHS2NP_cjs.BooleanSymbol(fn(a.value, b.value));
2490
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(fn(a.value, b.value));
2490
2491
  };
2491
2492
  }
2492
2493
  chunkLEYHQJTL_cjs.__name(orderingComparisonWrapper, "orderingComparisonWrapper");
2493
2494
  var LOGICAL_BOOLEAN_IMPLEMENTATIONS = {
2494
2495
  ["&&" /* LOGIC_AND */]: (a, b) => {
2495
- if (!(a instanceof chunkLMGHS2NP_cjs.BooleanSymbol) || !(b instanceof chunkLMGHS2NP_cjs.BooleanSymbol))
2496
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2496
+ if (!(a instanceof chunkPXS4WZYB_cjs.BooleanSymbol) || !(b instanceof chunkPXS4WZYB_cjs.BooleanSymbol))
2497
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2497
2498
  data: { operator: "&&" }
2498
2499
  });
2499
- return new chunkLMGHS2NP_cjs.BooleanSymbol(a.value && b.value);
2500
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(a.value && b.value);
2500
2501
  },
2501
2502
  ["||" /* LOGIC_OR */]: (a, b) => {
2502
- if (!(a instanceof chunkLMGHS2NP_cjs.BooleanSymbol) || !(b instanceof chunkLMGHS2NP_cjs.BooleanSymbol))
2503
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2503
+ if (!(a instanceof chunkPXS4WZYB_cjs.BooleanSymbol) || !(b instanceof chunkPXS4WZYB_cjs.BooleanSymbol))
2504
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2504
2505
  data: { operator: "||" }
2505
2506
  });
2506
- return new chunkLMGHS2NP_cjs.BooleanSymbol(a.value || b.value);
2507
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(a.value || b.value);
2507
2508
  }
2508
2509
  };
2509
2510
  function powerWrapper(func) {
@@ -2511,7 +2512,7 @@ function powerWrapper(func) {
2511
2512
  const opA = decomposeUnit(a);
2512
2513
  const opB = decomposeUnit(b);
2513
2514
  if (opA.unit && opB.unit) {
2514
- throw new chunkLMGHS2NP_cjs.InterpreterError("OP_UNIT_EXPONENT_NOT_SUPPORTED" /* UNIT_EXPONENT_NOT_SUPPORTED */, {
2515
+ throw new chunkPXS4WZYB_cjs.InterpreterError("OP_UNIT_EXPONENT_NOT_SUPPORTED" /* UNIT_EXPONENT_NOT_SUPPORTED */, {
2515
2516
  data: { unitA: opA.unit, unitB: opB.unit }
2516
2517
  });
2517
2518
  }
@@ -2523,14 +2524,14 @@ chunkLEYHQJTL_cjs.__name(powerWrapper, "powerWrapper");
2523
2524
  function multiplyDivideWrapper(func) {
2524
2525
  return (a, b, config) => {
2525
2526
  if (config?.unitManager) {
2526
- const aIsPercent = a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(a.unit)?.type === "relative";
2527
- const bIsPercent = b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(b.unit)?.type === "relative";
2527
+ const aIsPercent = a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(a.unit)?.type === "relative";
2528
+ const bIsPercent = b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(b.unit)?.type === "relative";
2528
2529
  if (aIsPercent && !bIsPercent) {
2529
2530
  const resultValue = func(a.value / 100, b.value);
2530
- return b instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol ? new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(resultValue, b.unit) : new chunkLMGHS2NP_cjs.NumberSymbol(resultValue);
2531
+ return b instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol ? new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(resultValue, b.unit) : new chunkPXS4WZYB_cjs.NumberSymbol(resultValue);
2531
2532
  } else if (bIsPercent && !aIsPercent) {
2532
2533
  const resultValue = func(a.value, b.value / 100);
2533
- return a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol ? new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(resultValue, a.unit) : new chunkLMGHS2NP_cjs.NumberSymbol(resultValue);
2534
+ return a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol ? new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(resultValue, a.unit) : new chunkPXS4WZYB_cjs.NumberSymbol(resultValue);
2534
2535
  }
2535
2536
  }
2536
2537
  return mathWrapper(func)(a, b, config);
@@ -2542,7 +2543,7 @@ var MATH_IMPLEMENTATIONS = {
2542
2543
  ["-" /* SUBTRACT */]: mathWrapper((a, b) => a - b),
2543
2544
  ["*" /* MULTIPLY */]: multiplyDivideWrapper((a, b) => a * b),
2544
2545
  ["/" /* DIVIDE */]: multiplyDivideWrapper((a, b) => {
2545
- if (b === 0) throw new chunkLMGHS2NP_cjs.InterpreterError("OP_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */);
2546
+ if (b === 0) throw new chunkPXS4WZYB_cjs.InterpreterError("OP_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */);
2546
2547
  return a / b;
2547
2548
  }),
2548
2549
  ["^" /* POWER */]: powerWrapper((a, b) => a ** b)
@@ -2610,7 +2611,7 @@ var _Interpreter = class _Interpreter {
2610
2611
  this.references = references;
2611
2612
  } else if (references) {
2612
2613
  for (const key in references) {
2613
- this.references.set(key, chunkLMGHS2NP_cjs.jsValueToSymbolType(references[key], this.config));
2614
+ this.references.set(key, chunkPXS4WZYB_cjs.jsValueToSymbolType(references[key], this.config));
2614
2615
  }
2615
2616
  } else {
2616
2617
  this.references = /* @__PURE__ */ new Map();
@@ -2637,7 +2638,7 @@ var _Interpreter = class _Interpreter {
2637
2638
  this.symbolTable.set(name, value);
2638
2639
  }
2639
2640
  coerceValue(constructorSymbol, valueSymbol) {
2640
- if (valueSymbol instanceof chunkLMGHS2NP_cjs.NullSymbol) return constructorSymbol;
2641
+ if (valueSymbol instanceof chunkPXS4WZYB_cjs.NullSymbol) return constructorSymbol;
2641
2642
  if (constructorSymbol.typeEquals(valueSymbol)) return valueSymbol;
2642
2643
  }
2643
2644
  // Visit Functions -------------------------------------------------------------
@@ -2647,7 +2648,7 @@ var _Interpreter = class _Interpreter {
2647
2648
  if (typeof this[visitorMethodName] === "function") {
2648
2649
  return this[visitorMethodName](node);
2649
2650
  }
2650
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_NODE_TYPE" /* UNKNOWN_NODE_TYPE */, {
2651
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_NODE_TYPE" /* UNKNOWN_NODE_TYPE */, {
2651
2652
  token: node.token,
2652
2653
  data: { nodeType: node.nodeType }
2653
2654
  });
@@ -2663,8 +2664,8 @@ var _Interpreter = class _Interpreter {
2663
2664
  }
2664
2665
  const mathImpl = MATH_IMPLEMENTATIONS[opVal];
2665
2666
  if (mathImpl) {
2666
- if (!((left instanceof chunkLMGHS2NP_cjs.NumberSymbol || left instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) && (right instanceof chunkLMGHS2NP_cjs.NumberSymbol || right instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol))) {
2667
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_ARITHMETIC_REQUIRES_NUMBER" /* ARITHMETIC_REQUIRES_NUMBER */, {
2667
+ if (!((left instanceof chunkPXS4WZYB_cjs.NumberSymbol || left instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) && (right instanceof chunkPXS4WZYB_cjs.NumberSymbol || right instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol))) {
2668
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_ARITHMETIC_REQUIRES_NUMBER" /* ARITHMETIC_REQUIRES_NUMBER */, {
2668
2669
  token: node.opToken,
2669
2670
  data: { operator: opVal, leftType: left.type, rightType: right.type }
2670
2671
  });
@@ -2675,20 +2676,20 @@ var _Interpreter = class _Interpreter {
2675
2676
  if (comparisonImpl) {
2676
2677
  return comparisonImpl(left, right);
2677
2678
  }
2678
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_BINARY_OPERATOR" /* UNKNOWN_BINARY_OPERATOR */, {
2679
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_BINARY_OPERATOR" /* UNKNOWN_BINARY_OPERATOR */, {
2679
2680
  token: node.opToken,
2680
2681
  data: { operator: opVal, tokenType: opType }
2681
2682
  });
2682
2683
  }
2683
2684
  visitNumNode(node) {
2684
- return new chunkLMGHS2NP_cjs.NumberSymbol(node.value, this.config);
2685
+ return new chunkPXS4WZYB_cjs.NumberSymbol(node.value, this.config);
2685
2686
  }
2686
2687
  visitStringNode(node) {
2687
- return new chunkLMGHS2NP_cjs.StringSymbol(node.value, this.config);
2688
+ return new chunkPXS4WZYB_cjs.StringSymbol(node.value, this.config);
2688
2689
  }
2689
2690
  visitTemplateStringNode(node) {
2690
2691
  if (node.parts.length === 0) {
2691
- return new chunkLMGHS2NP_cjs.StringSymbol("", this.config);
2692
+ return new chunkPXS4WZYB_cjs.StringSymbol("", this.config);
2692
2693
  }
2693
2694
  if (node.parts.length === 1) {
2694
2695
  const val = this.visit(node.parts[0]);
@@ -2701,27 +2702,27 @@ var _Interpreter = class _Interpreter {
2701
2702
  this.validateTemplateValue(val, node);
2702
2703
  result += val.toString();
2703
2704
  }
2704
- return new chunkLMGHS2NP_cjs.StringSymbol(result, this.config);
2705
+ return new chunkPXS4WZYB_cjs.StringSymbol(result, this.config);
2705
2706
  }
2706
2707
  /**
2707
2708
  * Validate that a value is a primitive type allowed in template string interpolation.
2708
2709
  * Lists, Dictionaries, and non-hex Colors are rejected.
2709
2710
  */
2710
2711
  validateTemplateValue(val, node) {
2711
- if (val instanceof chunkLMGHS2NP_cjs.ListSymbol) {
2712
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2712
+ if (val instanceof chunkPXS4WZYB_cjs.ListSymbol) {
2713
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2713
2714
  token: node.token,
2714
2715
  data: { valueType: "List" }
2715
2716
  });
2716
2717
  }
2717
- if (val instanceof chunkLMGHS2NP_cjs.DictionarySymbol) {
2718
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2718
+ if (val instanceof chunkPXS4WZYB_cjs.DictionarySymbol) {
2719
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2719
2720
  token: node.token,
2720
2721
  data: { valueType: "Dictionary" }
2721
2722
  });
2722
2723
  }
2723
- if (val instanceof chunkLMGHS2NP_cjs.ColorSymbol && !val.isHex()) {
2724
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2724
+ if (val instanceof chunkPXS4WZYB_cjs.ColorSymbol && !val.isHex()) {
2725
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2725
2726
  token: node.token,
2726
2727
  data: { valueType: `Color.${val.subType}` }
2727
2728
  });
@@ -2732,59 +2733,59 @@ var _Interpreter = class _Interpreter {
2732
2733
  * Check symbol table first (variables override references), then references
2733
2734
  */
2734
2735
  visitIdentifierNode(node) {
2735
- return this.symbolTable.get(node.name) || this.getReference(node.name) || new chunkLMGHS2NP_cjs.StringSymbol(node.name, this.config);
2736
+ return this.symbolTable.get(node.name) || this.getReference(node.name) || new chunkPXS4WZYB_cjs.StringSymbol(node.name, this.config);
2736
2737
  }
2737
2738
  visitUnaryOpNode(node) {
2738
2739
  const result = this.visit(node.expr);
2739
2740
  if (node.op === "-" /* SUBTRACT */) {
2740
- if (result instanceof chunkLMGHS2NP_cjs.NumberSymbol) {
2741
+ if (result instanceof chunkPXS4WZYB_cjs.NumberSymbol) {
2741
2742
  if (result.value === null) {
2742
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2743
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2743
2744
  token: node.opToken,
2744
2745
  data: { symbolType: "NumberSymbol" }
2745
2746
  });
2746
2747
  }
2747
- return new chunkLMGHS2NP_cjs.NumberSymbol(-result.value, this.config);
2748
+ return new chunkPXS4WZYB_cjs.NumberSymbol(-result.value, this.config);
2748
2749
  }
2749
- if (result instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
2750
+ if (result instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
2750
2751
  if (result.value === null) {
2751
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2752
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2752
2753
  token: node.opToken,
2753
2754
  data: { symbolType: "NumberWithUnitSymbol" }
2754
2755
  });
2755
2756
  }
2756
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(-result.value, result.unit, this.config);
2757
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(-result.value, result.unit, this.config);
2757
2758
  }
2758
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2759
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2759
2760
  token: node.opToken,
2760
2761
  data: { value: String(result.value) }
2761
2762
  });
2762
2763
  }
2763
2764
  if (node.op === "+" /* ADD */) {
2764
- if (result instanceof chunkLMGHS2NP_cjs.NumberSymbol || result instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
2765
+ if (result instanceof chunkPXS4WZYB_cjs.NumberSymbol || result instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
2765
2766
  return result;
2766
2767
  }
2767
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2768
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2768
2769
  token: node.opToken,
2769
2770
  data: { value: String(result.value) }
2770
2771
  });
2771
2772
  }
2772
2773
  if (node.op === "!" /* LOGIC_NOT */) {
2773
- if (result instanceof chunkLMGHS2NP_cjs.BooleanSymbol) {
2774
- return new chunkLMGHS2NP_cjs.BooleanSymbol(!result.value, this.config);
2774
+ if (result instanceof chunkPXS4WZYB_cjs.BooleanSymbol) {
2775
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(!result.value, this.config);
2775
2776
  }
2776
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNARY_NOT_NON_BOOLEAN" /* UNARY_NOT_NON_BOOLEAN */, {
2777
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNARY_NOT_NON_BOOLEAN" /* UNARY_NOT_NON_BOOLEAN */, {
2777
2778
  token: node.opToken,
2778
2779
  data: { value: String(result.value) }
2779
2780
  });
2780
2781
  }
2781
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_UNARY_OPERATOR" /* UNKNOWN_UNARY_OPERATOR */, {
2782
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_UNARY_OPERATOR" /* UNKNOWN_UNARY_OPERATOR */, {
2782
2783
  token: node.opToken,
2783
2784
  data: { operator: node.op }
2784
2785
  });
2785
2786
  }
2786
2787
  visitListNode(node) {
2787
- return new chunkLMGHS2NP_cjs.ListSymbol(
2788
+ return new chunkPXS4WZYB_cjs.ListSymbol(
2788
2789
  node.elements.map((el) => this.visit(el)),
2789
2790
  node instanceof ImplicitListNode,
2790
2791
  this.config
@@ -2796,7 +2797,7 @@ var _Interpreter = class _Interpreter {
2796
2797
  visitReferenceNode(node) {
2797
2798
  const value = this.getReference(node.value);
2798
2799
  if (!value) {
2799
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_REFERENCE" /* UNKNOWN_REFERENCE */, {
2800
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_REFERENCE" /* UNKNOWN_REFERENCE */, {
2800
2801
  token: node.token,
2801
2802
  data: { reference: node.value }
2802
2803
  });
@@ -2804,18 +2805,18 @@ var _Interpreter = class _Interpreter {
2804
2805
  return value;
2805
2806
  }
2806
2807
  visitHexColorNode(node) {
2807
- const { color, alpha } = chunkLMGHS2NP_cjs.parseHexWithAlpha(node.value);
2808
- return new chunkLMGHS2NP_cjs.ColorSymbol(color, "Hex", alpha, this.config);
2808
+ const { color, alpha } = chunkPXS4WZYB_cjs.parseHexWithAlpha(node.value);
2809
+ return new chunkPXS4WZYB_cjs.ColorSymbol(color, "Hex", alpha, this.config);
2809
2810
  }
2810
2811
  visitBooleanNode(node) {
2811
- return new chunkLMGHS2NP_cjs.BooleanSymbol(node.value, this.config);
2812
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(node.value, this.config);
2812
2813
  }
2813
2814
  visitNullNode(_node) {
2814
- return new chunkLMGHS2NP_cjs.NullSymbol(this.config);
2815
+ return new chunkPXS4WZYB_cjs.NullSymbol(this.config);
2815
2816
  }
2816
2817
  visitElementWithUnitNode(node) {
2817
2818
  const valNodeVisit = this.visit(node.astNode);
2818
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(valNodeVisit?.value, node.unit, this.config);
2819
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(valNodeVisit?.value, node.unit, this.config);
2819
2820
  }
2820
2821
  visitFunctionCallNode(node) {
2821
2822
  const fnName = node.name.toLowerCase();
@@ -2832,9 +2833,9 @@ var _Interpreter = class _Interpreter {
2832
2833
  }
2833
2834
  if (chunkLEYHQJTL_cjs.UNINTERPRETED_KEYWORDS.includes(fnName)) {
2834
2835
  const argStrings = args.map((arg) => arg.toString());
2835
- return new chunkLMGHS2NP_cjs.StringSymbol(`${fnName}(${argStrings.join(", ")})`, this.config);
2836
+ return new chunkPXS4WZYB_cjs.StringSymbol(`${fnName}(${argStrings.join(", ")})`, this.config);
2836
2837
  }
2837
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_FUNCTION" /* UNKNOWN_FUNCTION */, {
2838
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_FUNCTION" /* UNKNOWN_FUNCTION */, {
2838
2839
  token: node.token,
2839
2840
  data: { functionName: node.name }
2840
2841
  });
@@ -2842,13 +2843,13 @@ var _Interpreter = class _Interpreter {
2842
2843
  visitAssignNode(node) {
2843
2844
  const name = node.varName.name;
2844
2845
  if ([".", "[", "-"].some((c) => name.includes(c))) {
2845
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_INVALID_VARIABLE_NAME" /* INVALID_VARIABLE_NAME */, {
2846
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_INVALID_VARIABLE_NAME" /* INVALID_VARIABLE_NAME */, {
2846
2847
  token: node.varName.token,
2847
2848
  data: { name }
2848
2849
  });
2849
2850
  }
2850
2851
  if (this.symbolTable.isDefined(name)) {
2851
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_VARIABLE_ALREADY_DEFINED" /* VARIABLE_ALREADY_DEFINED */, {
2852
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_VARIABLE_ALREADY_DEFINED" /* VARIABLE_ALREADY_DEFINED */, {
2852
2853
  token: node.varName.token,
2853
2854
  data: { name }
2854
2855
  });
@@ -2856,11 +2857,11 @@ var _Interpreter = class _Interpreter {
2856
2857
  const baseType = node.typeDecl.baseType.name;
2857
2858
  const subType = node.typeDecl.subTypes[0]?.name;
2858
2859
  if (!this.config.isTypeDefined(baseType, subType)) {
2859
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_INVALID_VARIABLE_TYPE" /* INVALID_VARIABLE_TYPE */, {
2860
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_INVALID_VARIABLE_TYPE" /* INVALID_VARIABLE_TYPE */, {
2860
2861
  token: node.varName.token,
2861
2862
  data: {
2862
- typeName: chunkLMGHS2NP_cjs.typeName(baseType, subType),
2863
- validTypes: Object.keys(chunkLMGHS2NP_cjs.basicSymbolTypes).join(", ")
2863
+ typeName: chunkPXS4WZYB_cjs.typeName(baseType, subType),
2864
+ validTypes: Object.keys(chunkPXS4WZYB_cjs.basicSymbolTypes).join(", ")
2864
2865
  }
2865
2866
  });
2866
2867
  }
@@ -2868,7 +2869,7 @@ var _Interpreter = class _Interpreter {
2868
2869
  const valueSymbol = node.assignmentExpr ? this.visit(node.assignmentExpr) : constructorSymbol;
2869
2870
  const coercedValueSymbol = this.coerceValue(constructorSymbol, valueSymbol);
2870
2871
  if (!coercedValueSymbol) {
2871
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_INVALID_VALUE_FOR_VARIABLE" /* INVALID_VALUE_FOR_VARIABLE */, {
2872
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_INVALID_VALUE_FOR_VARIABLE" /* INVALID_VALUE_FOR_VARIABLE */, {
2872
2873
  token: node.varName.token,
2873
2874
  data: { value: String(valueSymbol.value), type: baseType, name }
2874
2875
  });
@@ -2879,25 +2880,25 @@ var _Interpreter = class _Interpreter {
2879
2880
  const baseIdentifier = node.baseIdentifier();
2880
2881
  const existingVar = this.symbolTable.get(baseIdentifier.name);
2881
2882
  if (existingVar === null) {
2882
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_VARIABLE_NOT_FOUND" /* VARIABLE_NOT_FOUND */, {
2883
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_VARIABLE_NOT_FOUND" /* VARIABLE_NOT_FOUND */, {
2883
2884
  token: baseIdentifier.token,
2884
2885
  data: { name: baseIdentifier.name }
2885
2886
  });
2886
2887
  }
2887
2888
  const value = this.visit(node.value);
2888
2889
  if (value === null) {
2889
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_ASSIGNMENT_VALUE_NULL" /* ASSIGNMENT_VALUE_NULL */, {
2890
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_ASSIGNMENT_VALUE_NULL" /* ASSIGNMENT_VALUE_NULL */, {
2890
2891
  token: node.value.token,
2891
2892
  data: { identifier: node.identifierToString() }
2892
2893
  });
2893
2894
  }
2894
2895
  if (node.isAttributeAssignment()) {
2895
- if (existingVar instanceof chunkLMGHS2NP_cjs.ColorSymbol) {
2896
+ if (existingVar instanceof chunkPXS4WZYB_cjs.ColorSymbol) {
2896
2897
  this.config.colorManager.setAttribute(existingVar, node, value);
2897
2898
  }
2898
2899
  } else {
2899
- if (chunkLMGHS2NP_cjs.typeEquals(value.type, "list")) ; else if (!chunkLMGHS2NP_cjs.typeEquals(existingVar.type, value.type)) {
2900
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_TYPE_MISMATCH" /* TYPE_MISMATCH */, {
2900
+ if (chunkPXS4WZYB_cjs.typeEquals(value.type, "list")) ; else if (!chunkPXS4WZYB_cjs.typeEquals(existingVar.type, value.type)) {
2901
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_TYPE_MISMATCH" /* TYPE_MISMATCH */, {
2901
2902
  token: baseIdentifier.token,
2902
2903
  data: {
2903
2904
  value: String(value),
@@ -2908,7 +2909,7 @@ var _Interpreter = class _Interpreter {
2908
2909
  });
2909
2910
  }
2910
2911
  if (!existingVar.validValue(value)) {
2911
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_CANNOT_ASSIGN_TYPE" /* CANNOT_ASSIGN_TYPE */, {
2912
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_CANNOT_ASSIGN_TYPE" /* CANNOT_ASSIGN_TYPE */, {
2912
2913
  token: node.value.token,
2913
2914
  data: {
2914
2915
  valueType: value.type,
@@ -2929,14 +2930,14 @@ var _Interpreter = class _Interpreter {
2929
2930
  if (left.hasMethod(right.name, args)) {
2930
2931
  const result = left.callMethod?.(right.name, args);
2931
2932
  if (result === null || result === void 0) {
2932
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_METHOD_RETURNED_NULL" /* METHOD_RETURNED_NULL */, {
2933
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_METHOD_RETURNED_NULL" /* METHOD_RETURNED_NULL */, {
2933
2934
  token: node.token,
2934
2935
  data: { methodName: right.name }
2935
2936
  });
2936
2937
  }
2937
2938
  return result;
2938
2939
  }
2939
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_METHOD_NOT_FOUND" /* METHOD_NOT_FOUND */, {
2940
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_METHOD_NOT_FOUND" /* METHOD_NOT_FOUND */, {
2940
2941
  token: node.token,
2941
2942
  data: { methodName: right.name, value: String(left), type: left.type }
2942
2943
  });
@@ -2945,24 +2946,24 @@ var _Interpreter = class _Interpreter {
2945
2946
  if (left.hasAttribute(right.name)) {
2946
2947
  const result = left.getAttribute?.(right.name);
2947
2948
  if (result === null || result === void 0) {
2948
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_ATTRIBUTE_RETURNED_NULL" /* ATTRIBUTE_RETURNED_NULL */, {
2949
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_ATTRIBUTE_RETURNED_NULL" /* ATTRIBUTE_RETURNED_NULL */, {
2949
2950
  token: node.token,
2950
2951
  data: { attributeName: right.name }
2951
2952
  });
2952
2953
  }
2953
2954
  return result;
2954
2955
  }
2955
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_ATTRIBUTE_NOT_FOUND" /* ATTRIBUTE_NOT_FOUND */, {
2956
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_ATTRIBUTE_NOT_FOUND" /* ATTRIBUTE_NOT_FOUND */, {
2956
2957
  token: node.token,
2957
2958
  data: {
2958
2959
  attributeName: right.name,
2959
- value: left instanceof chunkLMGHS2NP_cjs.ColorSymbol ? "Color" : String(left),
2960
+ value: left instanceof chunkPXS4WZYB_cjs.ColorSymbol ? "Color" : String(left),
2960
2961
  type: left.type
2961
2962
  }
2962
2963
  });
2963
2964
  }
2964
2965
  }
2965
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_CANNOT_ACCESS_ATTRIBUTES" /* CANNOT_ACCESS_ATTRIBUTES */, {
2966
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_CANNOT_ACCESS_ATTRIBUTES" /* CANNOT_ACCESS_ATTRIBUTES */, {
2966
2967
  token: node.token,
2967
2968
  data: { type: left.type }
2968
2969
  });
@@ -2985,13 +2986,13 @@ var _Interpreter = class _Interpreter {
2985
2986
  while (true) {
2986
2987
  iterations++;
2987
2988
  if (iterations > this.config.languageOptions.MAX_ITERATIONS) {
2988
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_MAX_ITERATIONS_EXCEEDED" /* MAX_ITERATIONS_EXCEEDED */, {
2989
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_MAX_ITERATIONS_EXCEEDED" /* MAX_ITERATIONS_EXCEEDED */, {
2989
2990
  token: node.token
2990
2991
  });
2991
2992
  }
2992
2993
  const conditionNode = this.visit(node.condition);
2993
- if (!(conditionNode instanceof chunkLMGHS2NP_cjs.BooleanSymbol)) {
2994
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_WHILE_CONDITION_NOT_BOOLEAN" /* WHILE_CONDITION_NOT_BOOLEAN */, {
2994
+ if (!(conditionNode instanceof chunkPXS4WZYB_cjs.BooleanSymbol)) {
2995
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_WHILE_CONDITION_NOT_BOOLEAN" /* WHILE_CONDITION_NOT_BOOLEAN */, {
2995
2996
  token: node.condition?.token
2996
2997
  });
2997
2998
  }
@@ -3001,28 +3002,28 @@ var _Interpreter = class _Interpreter {
3001
3002
  }
3002
3003
  visitForEachNode(node) {
3003
3004
  if (this.symbolTable.isDefined(node.itemVar)) {
3004
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3005
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3005
3006
  token: node.token,
3006
3007
  data: { name: node.itemVar }
3007
3008
  });
3008
3009
  }
3009
3010
  if (node.indexVar !== null) {
3010
3011
  if (node.indexVar === node.itemVar) {
3011
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_FOR_EACH_DUPLICATE_VARS" /* FOR_EACH_DUPLICATE_VARS */, {
3012
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_FOR_EACH_DUPLICATE_VARS" /* FOR_EACH_DUPLICATE_VARS */, {
3012
3013
  token: node.token,
3013
3014
  data: { name: node.itemVar }
3014
3015
  });
3015
3016
  }
3016
3017
  if (this.symbolTable.isDefined(node.indexVar)) {
3017
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3018
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3018
3019
  token: node.token,
3019
3020
  data: { name: node.indexVar }
3020
3021
  });
3021
3022
  }
3022
3023
  }
3023
3024
  const collectionVal = this.visit(node.collection);
3024
- if (!(collectionVal instanceof chunkLMGHS2NP_cjs.ListSymbol)) {
3025
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_FOR_EACH_NOT_LIST" /* FOR_EACH_NOT_LIST */, {
3025
+ if (!(collectionVal instanceof chunkPXS4WZYB_cjs.ListSymbol)) {
3026
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_FOR_EACH_NOT_LIST" /* FOR_EACH_NOT_LIST */, {
3026
3027
  token: node.token,
3027
3028
  data: { actualType: collectionVal?.type ?? "null" }
3028
3029
  });
@@ -3033,7 +3034,7 @@ var _Interpreter = class _Interpreter {
3033
3034
  const item = elements[idx];
3034
3035
  this.symbolTable.set(node.itemVar, item);
3035
3036
  if (node.indexVar !== null) {
3036
- this.symbolTable.set(node.indexVar, new chunkLMGHS2NP_cjs.NumberSymbol(idx, this.config));
3037
+ this.symbolTable.set(node.indexVar, new chunkPXS4WZYB_cjs.NumberSymbol(idx, this.config));
3037
3038
  }
3038
3039
  let bodyResult = null;
3039
3040
  try {
@@ -3048,19 +3049,19 @@ var _Interpreter = class _Interpreter {
3048
3049
  }
3049
3050
  throw e;
3050
3051
  }
3051
- results.push(bodyResult ?? new chunkLMGHS2NP_cjs.NullSymbol(this.config));
3052
+ results.push(bodyResult ?? new chunkPXS4WZYB_cjs.NullSymbol(this.config));
3052
3053
  }
3053
3054
  this.symbolTable.delete(node.itemVar);
3054
3055
  if (node.indexVar !== null) {
3055
3056
  this.symbolTable.delete(node.indexVar);
3056
3057
  }
3057
- return new chunkLMGHS2NP_cjs.ListSymbol(results, false, this.config);
3058
+ return new chunkPXS4WZYB_cjs.ListSymbol(results, false, this.config);
3058
3059
  }
3059
3060
  visitIfNode(node) {
3060
3061
  for (const conditionNode of node.conditions) {
3061
3062
  const condition = this.visit(conditionNode.condition);
3062
- if (!(condition instanceof chunkLMGHS2NP_cjs.BooleanSymbol)) {
3063
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_IF_CONDITION_NOT_BOOLEAN" /* IF_CONDITION_NOT_BOOLEAN */, {
3063
+ if (!(condition instanceof chunkPXS4WZYB_cjs.BooleanSymbol)) {
3064
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_IF_CONDITION_NOT_BOOLEAN" /* IF_CONDITION_NOT_BOOLEAN */, {
3064
3065
  token: conditionNode.condition.token
3065
3066
  });
3066
3067
  }
@@ -3085,7 +3086,7 @@ var _Interpreter = class _Interpreter {
3085
3086
  } else if (e instanceof Error) {
3086
3087
  throw e;
3087
3088
  } else {
3088
- throw new chunkLMGHS2NP_cjs.InterpreterError("INT_UNKNOWN_ERROR" /* UNKNOWN_ERROR */);
3089
+ throw new chunkPXS4WZYB_cjs.InterpreterError("INT_UNKNOWN_ERROR" /* UNKNOWN_ERROR */);
3089
3090
  }
3090
3091
  }
3091
3092
  return result;
@@ -3098,7 +3099,7 @@ var Interpreter = _Interpreter;
3098
3099
  function createDependencyError(tokenName, dependencyName, originalError) {
3099
3100
  const { chain, rootError } = extractDependencyInfo(tokenName, dependencyName, originalError);
3100
3101
  const chainStr = chain.join(" \u2192 ");
3101
- return new chunkLMGHS2NP_cjs.ProcessorError("PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */, {
3102
+ return new chunkPXS4WZYB_cjs.ProcessorError("PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */, {
3102
3103
  data: {
3103
3104
  tokenName,
3104
3105
  chain: chainStr,
@@ -3108,7 +3109,7 @@ function createDependencyError(tokenName, dependencyName, originalError) {
3108
3109
  }
3109
3110
  chunkLEYHQJTL_cjs.__name(createDependencyError, "createDependencyError");
3110
3111
  function extractDependencyInfo(tokenName, dependencyName, error) {
3111
- if (error instanceof chunkLMGHS2NP_cjs.ProcessorError && error.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */ && error.data.chain) {
3112
+ if (error instanceof chunkPXS4WZYB_cjs.ProcessorError && error.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */ && error.data.chain) {
3112
3113
  const existingChain = String(error.data.chain).split(" \u2192 ");
3113
3114
  return {
3114
3115
  chain: [tokenName, ...existingChain],
@@ -3150,14 +3151,14 @@ var _TokenInterpreter = class _TokenInterpreter {
3150
3151
  if (result !== null && typeof result !== "string") {
3151
3152
  this.parsedConstants.set(name, result);
3152
3153
  } else if (typeof result === "string") {
3153
- this.parsedConstants.set(name, chunkLMGHS2NP_cjs.jsValueToSymbolType(result, this.config));
3154
+ this.parsedConstants.set(name, chunkPXS4WZYB_cjs.jsValueToSymbolType(result, this.config));
3154
3155
  }
3155
3156
  }
3156
3157
  } catch {
3157
- this.parsedConstants.set(name, chunkLMGHS2NP_cjs.jsValueToSymbolType(rawValue, this.config));
3158
+ this.parsedConstants.set(name, chunkPXS4WZYB_cjs.jsValueToSymbolType(rawValue, this.config));
3158
3159
  }
3159
3160
  } else {
3160
- this.parsedConstants.set(name, chunkLMGHS2NP_cjs.jsValueToSymbolType(rawValue, this.config));
3161
+ this.parsedConstants.set(name, chunkPXS4WZYB_cjs.jsValueToSymbolType(rawValue, this.config));
3161
3162
  }
3162
3163
  }
3163
3164
  }
@@ -3188,7 +3189,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3188
3189
  this.interpreter.setAst(ast);
3189
3190
  return this.interpreter.interpret();
3190
3191
  } catch (error) {
3191
- if (chunkLMGHS2NP_cjs.isLanguageError(error)) {
3192
+ if (chunkPXS4WZYB_cjs.isLanguageError(error)) {
3192
3193
  return error;
3193
3194
  }
3194
3195
  return new Error("Unknown error during token interpretation", { cause: error });
@@ -3201,7 +3202,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3201
3202
  return createDependencyError(tokenName, dep, depValue);
3202
3203
  }
3203
3204
  if (missingDependencies?.has(dep)) {
3204
- const error = new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
3205
+ const error = new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
3205
3206
  data: { tokenName: dep }
3206
3207
  });
3207
3208
  return createDependencyError(tokenName, dep, error);
@@ -3210,7 +3211,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3210
3211
  return void 0;
3211
3212
  }
3212
3213
  flattenDictionaryToCache(tokenName, value) {
3213
- if (!(value instanceof chunkLMGHS2NP_cjs.DictionarySymbol) || !value.value) {
3214
+ if (!(value instanceof chunkPXS4WZYB_cjs.DictionarySymbol) || !value.value) {
3214
3215
  return [];
3215
3216
  }
3216
3217
  const flattenedNames = [];
@@ -3249,29 +3250,29 @@ function parseValueToSymbol(value, config, parsers = defaultObjectParsers) {
3249
3250
  return parser.toSymbol(value, config);
3250
3251
  }
3251
3252
  }
3252
- return chunkLMGHS2NP_cjs.jsValueToSymbolType(value, config);
3253
+ return chunkPXS4WZYB_cjs.jsValueToSymbolType(value, config);
3253
3254
  }
3254
3255
  chunkLEYHQJTL_cjs.__name(parseValueToSymbol, "parseValueToSymbol");
3255
3256
  function createTokenSymbol(value, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
3256
- if (chunkLMGHS2NP_cjs.isObject(value)) {
3257
+ if (chunkPXS4WZYB_cjs.isObject(value)) {
3257
3258
  const symbolMap = {};
3258
3259
  for (const [key, val] of Object.entries(value)) {
3259
3260
  symbolMap[key] = parseValueToSymbol(val, config, parsers);
3260
3261
  }
3261
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3262
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3262
3263
  }
3263
- if (chunkLMGHS2NP_cjs.isArray(value)) {
3264
+ if (chunkPXS4WZYB_cjs.isArray(value)) {
3264
3265
  const symbolArray = value.map((val) => parseValueToSymbol(val, config, parsers));
3265
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3266
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3266
3267
  }
3267
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, value, config, metadata);
3268
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, value, config, metadata);
3268
3269
  }
3269
3270
  chunkLEYHQJTL_cjs.__name(createTokenSymbol, "createTokenSymbol");
3270
3271
  function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields, config, parsers = defaultObjectParsers) {
3271
3272
  if (resolvedFields.has(currentPath)) {
3272
3273
  return resolvedFields.get(currentPath);
3273
3274
  }
3274
- if (chunkLMGHS2NP_cjs.isObject(originalValue)) {
3275
+ if (chunkPXS4WZYB_cjs.isObject(originalValue)) {
3275
3276
  for (const parser of parsers) {
3276
3277
  if (parser.predicate(originalValue)) {
3277
3278
  return parser.toSymbol(originalValue, config);
@@ -3288,9 +3289,9 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
3288
3289
  parsers
3289
3290
  );
3290
3291
  }
3291
- return new chunkLMGHS2NP_cjs.DictionarySymbol(symbolMap, config);
3292
+ return new chunkPXS4WZYB_cjs.DictionarySymbol(symbolMap, config);
3292
3293
  }
3293
- if (chunkLMGHS2NP_cjs.isArray(originalValue)) {
3294
+ if (chunkPXS4WZYB_cjs.isArray(originalValue)) {
3294
3295
  const symbolArray = [];
3295
3296
  for (let i = 0; i < originalValue.length; i++) {
3296
3297
  const fieldPath = `${currentPath}[${i}]`;
@@ -3298,13 +3299,13 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
3298
3299
  buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
3299
3300
  );
3300
3301
  }
3301
- return new chunkLMGHS2NP_cjs.ListSymbol(symbolArray, false, config);
3302
+ return new chunkPXS4WZYB_cjs.ListSymbol(symbolArray, false, config);
3302
3303
  }
3303
3304
  return parseValueToSymbol(originalValue, config, parsers);
3304
3305
  }
3305
3306
  chunkLEYHQJTL_cjs.__name(buildValueFromResolvedFields, "buildValueFromResolvedFields");
3306
3307
  function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, originalValue, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
3307
- if (chunkLMGHS2NP_cjs.isObject(originalValue)) {
3308
+ if (chunkPXS4WZYB_cjs.isObject(originalValue)) {
3308
3309
  const symbolMap = {};
3309
3310
  for (const [key, val] of Object.entries(originalValue)) {
3310
3311
  const fieldPath = `${tokenName}.${key}`;
@@ -3316,9 +3317,9 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
3316
3317
  parsers
3317
3318
  );
3318
3319
  }
3319
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3320
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3320
3321
  }
3321
- if (chunkLMGHS2NP_cjs.isArray(originalValue)) {
3322
+ if (chunkPXS4WZYB_cjs.isArray(originalValue)) {
3322
3323
  const symbolArray = [];
3323
3324
  for (let i = 0; i < originalValue.length; i++) {
3324
3325
  const fieldPath = `${tokenName}[${i}]`;
@@ -3326,9 +3327,9 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
3326
3327
  buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
3327
3328
  );
3328
3329
  }
3329
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3330
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3330
3331
  }
3331
- return new chunkLMGHS2NP_cjs.TokenSymbol(tokenType, originalValue, config, metadata);
3332
+ return new chunkPXS4WZYB_cjs.TokenSymbol(tokenType, originalValue, config, metadata);
3332
3333
  }
3333
3334
  chunkLEYHQJTL_cjs.__name(createTokenSymbolFromResolvedFields, "createTokenSymbolFromResolvedFields");
3334
3335
 
@@ -3436,7 +3437,7 @@ var _DependencyGraph = class _DependencyGraph {
3436
3437
  }
3437
3438
  const cycle = this.findCycle(remainingNodes);
3438
3439
  const tokens = `${cycle.map((n) => String(n)).join(" \u2192 ")} \u2192 ${String(cycle[0])}`;
3439
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
3440
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
3440
3441
  data: { tokens }
3441
3442
  });
3442
3443
  }
@@ -3463,16 +3464,16 @@ chunkLEYHQJTL_cjs.__name(validateTokenPath, "validateTokenPath");
3463
3464
 
3464
3465
  // src/processor/utils/structured-tokens.ts
3465
3466
  function matchesObjectParser(value, parsers) {
3466
- if (!chunkLMGHS2NP_cjs.isObject(value)) return false;
3467
+ if (!chunkPXS4WZYB_cjs.isObject(value)) return false;
3467
3468
  return parsers.some((parser) => parser.predicate(value));
3468
3469
  }
3469
3470
  chunkLEYHQJTL_cjs.__name(matchesObjectParser, "matchesObjectParser");
3470
3471
  function extractStringFields(value, parentPath, objectParsers = defaultObjectParsers) {
3471
3472
  const result = /* @__PURE__ */ new Map();
3472
3473
  const processValue = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((val, path) => {
3473
- if (chunkLMGHS2NP_cjs.isString(val)) {
3474
+ if (chunkPXS4WZYB_cjs.isString(val)) {
3474
3475
  result.set(path, val);
3475
- } else if (chunkLMGHS2NP_cjs.isObject(val)) {
3476
+ } else if (chunkPXS4WZYB_cjs.isObject(val)) {
3476
3477
  if (matchesObjectParser(val, objectParsers)) {
3477
3478
  return;
3478
3479
  }
@@ -3480,18 +3481,18 @@ function extractStringFields(value, parentPath, objectParsers = defaultObjectPar
3480
3481
  for (const [nestedPath, nestedVal] of nested) {
3481
3482
  result.set(nestedPath, nestedVal);
3482
3483
  }
3483
- } else if (chunkLMGHS2NP_cjs.isArray(val)) {
3484
+ } else if (chunkPXS4WZYB_cjs.isArray(val)) {
3484
3485
  const nested = extractStringFields(val, path, objectParsers);
3485
3486
  for (const [nestedPath, nestedVal] of nested) {
3486
3487
  result.set(nestedPath, nestedVal);
3487
3488
  }
3488
3489
  }
3489
3490
  }, "processValue");
3490
- if (chunkLMGHS2NP_cjs.isObject(value)) {
3491
+ if (chunkPXS4WZYB_cjs.isObject(value)) {
3491
3492
  for (const [key, val] of Object.entries(value)) {
3492
3493
  processValue(val, `${parentPath}.${key}`);
3493
3494
  }
3494
- } else if (chunkLMGHS2NP_cjs.isArray(value)) {
3495
+ } else if (chunkPXS4WZYB_cjs.isArray(value)) {
3495
3496
  for (let i = 0; i < value.length; i++) {
3496
3497
  processValue(value[i], `${parentPath}[${i}]`);
3497
3498
  }
@@ -3502,11 +3503,11 @@ chunkLEYHQJTL_cjs.__name(extractStringFields, "extractStringFields");
3502
3503
 
3503
3504
  // src/processor/utils/tokens.ts
3504
3505
  function getTokenValue(data) {
3505
- return chunkLMGHS2NP_cjs.isString(data) ? data : data.$value;
3506
+ return chunkPXS4WZYB_cjs.isString(data) ? data : data.$value;
3506
3507
  }
3507
3508
  chunkLEYHQJTL_cjs.__name(getTokenValue, "getTokenValue");
3508
3509
  function setTokenValue(value) {
3509
- return chunkLMGHS2NP_cjs.isString(value) ? { $value: value } : value;
3510
+ return chunkPXS4WZYB_cjs.isString(value) ? { $value: value } : value;
3510
3511
  }
3511
3512
  chunkLEYHQJTL_cjs.__name(setTokenValue, "setTokenValue");
3512
3513
  function flattenTokensObject(obj, prefixAccumulator = "") {
@@ -3516,9 +3517,9 @@ function flattenTokensObject(obj, prefixAccumulator = "") {
3516
3517
  continue;
3517
3518
  }
3518
3519
  const path = prefixAccumulator ? `${prefixAccumulator}.${prefix}` : prefix;
3519
- if (chunkLMGHS2NP_cjs.isObject(value)) {
3520
+ if (chunkPXS4WZYB_cjs.isObject(value)) {
3520
3521
  const objValue = value;
3521
- const tokenValue = chunkLMGHS2NP_cjs.getKeyAlt(["$value", "value"], objValue);
3522
+ const tokenValue = chunkPXS4WZYB_cjs.getKeyAlt(["$value", "value"], objValue);
3522
3523
  if (tokenValue !== void 0) {
3523
3524
  const tokenType = objValue.$type;
3524
3525
  const tokenMetadata = objValue.$metadata;
@@ -3545,12 +3546,12 @@ function normalizeToTokenData(value) {
3545
3546
  if (typeof value === "string") {
3546
3547
  return { $value: value };
3547
3548
  }
3548
- if (chunkLMGHS2NP_cjs.isObject(value) && "$value" in value) {
3549
+ if (chunkPXS4WZYB_cjs.isObject(value) && "$value" in value) {
3549
3550
  const obj = value;
3550
3551
  const metadata = obj.$metadata;
3551
3552
  return {
3552
3553
  $value: obj.$value,
3553
- ...chunkLMGHS2NP_cjs.isString(obj.$type) && { $type: obj.$type },
3554
+ ...chunkPXS4WZYB_cjs.isString(obj.$type) && { $type: obj.$type },
3554
3555
  ...metadata !== void 0 && { $metadata: metadata }
3555
3556
  };
3556
3557
  }
@@ -3568,7 +3569,7 @@ chunkLEYHQJTL_cjs.__name(recordToMap, "recordToMap");
3568
3569
  function isNested(obj) {
3569
3570
  return Object.keys(obj).some((key) => {
3570
3571
  const value = obj[key];
3571
- return chunkLMGHS2NP_cjs.isObject(value) && !key.startsWith("$");
3572
+ return chunkPXS4WZYB_cjs.isObject(value) && !key.startsWith("$");
3572
3573
  });
3573
3574
  }
3574
3575
  chunkLEYHQJTL_cjs.__name(isNested, "isNested");
@@ -3587,12 +3588,12 @@ function collectTypeValidationIssues(config, tokenName, tokenType, value) {
3587
3588
  if (!config.tokenManager.getSpecByType(tokenType)) return [];
3588
3589
  if (value === null || typeof value === "string") return [];
3589
3590
  let valueToValidate;
3590
- if (value instanceof chunkLMGHS2NP_cjs.TokenSymbol) {
3591
+ if (value instanceof chunkPXS4WZYB_cjs.TokenSymbol) {
3591
3592
  const innerValue = value.value;
3592
3593
  if (Array.isArray(innerValue)) {
3593
- valueToValidate = new chunkLMGHS2NP_cjs.ListSymbol(innerValue, false, config);
3594
+ valueToValidate = new chunkPXS4WZYB_cjs.ListSymbol(innerValue, false, config);
3594
3595
  } else if (innerValue instanceof Map) {
3595
- valueToValidate = new chunkLMGHS2NP_cjs.DictionarySymbol(innerValue, config);
3596
+ valueToValidate = new chunkPXS4WZYB_cjs.DictionarySymbol(innerValue, config);
3596
3597
  } else {
3597
3598
  valueToValidate = value;
3598
3599
  }
@@ -3756,10 +3757,10 @@ var _PrefixResolver = class _PrefixResolver {
3756
3757
  this.addIssue(parentToken, issue);
3757
3758
  }
3758
3759
  ensureLanguageError(error) {
3759
- if (chunkLMGHS2NP_cjs.isLanguageError(error)) {
3760
+ if (chunkPXS4WZYB_cjs.isLanguageError(error)) {
3760
3761
  return error;
3761
3762
  }
3762
- return new chunkLMGHS2NP_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3763
+ return new chunkPXS4WZYB_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3763
3764
  data: { error: error.message }
3764
3765
  });
3765
3766
  }
@@ -3807,12 +3808,12 @@ var _PrefixResolver = class _PrefixResolver {
3807
3808
  try {
3808
3809
  return parseExpression(value);
3809
3810
  } catch (error) {
3810
- if (chunkLMGHS2NP_cjs.isLanguageError(error)) {
3811
+ if (chunkPXS4WZYB_cjs.isLanguageError(error)) {
3811
3812
  return this.resolveError(refPath, error, value);
3812
3813
  }
3813
3814
  return this.resolveError(
3814
3815
  refPath,
3815
- new chunkLMGHS2NP_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3816
+ new chunkPXS4WZYB_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3816
3817
  data: { error: error instanceof Error ? error.message : String(error) }
3817
3818
  }),
3818
3819
  value
@@ -3908,24 +3909,24 @@ var _PrefixResolver = class _PrefixResolver {
3908
3909
  });
3909
3910
  }
3910
3911
  const tokenValue = getTokenValue(tokenData);
3911
- if (chunkLMGHS2NP_cjs.isString(tokenValue) && chunkLEYHQJTL_cjs.UNINTERPRETED_KEYWORDS.includes(tokenValue)) {
3912
- const symbol = new chunkLMGHS2NP_cjs.StringSymbol(tokenValue, this.config);
3912
+ if (chunkPXS4WZYB_cjs.isString(tokenValue) && chunkLEYHQJTL_cjs.UNINTERPRETED_KEYWORDS.includes(tokenValue)) {
3913
+ const symbol = new chunkPXS4WZYB_cjs.StringSymbol(tokenValue, this.config);
3913
3914
  this.earlyResolvePrimitiveToken(tokenName, symbol);
3914
3915
  continue;
3915
3916
  }
3916
- if (chunkLMGHS2NP_cjs.isNumber(tokenValue)) {
3917
- this.earlyResolvePrimitiveToken(tokenName, new chunkLMGHS2NP_cjs.NumberSymbol(tokenValue, this.config));
3917
+ if (chunkPXS4WZYB_cjs.isNumber(tokenValue)) {
3918
+ this.earlyResolvePrimitiveToken(tokenName, new chunkPXS4WZYB_cjs.NumberSymbol(tokenValue, this.config));
3918
3919
  continue;
3919
3920
  }
3920
- if (chunkLMGHS2NP_cjs.isBoolean(tokenValue)) {
3921
- this.earlyResolvePrimitiveToken(tokenName, new chunkLMGHS2NP_cjs.BooleanSymbol(tokenValue, this.config));
3921
+ if (chunkPXS4WZYB_cjs.isBoolean(tokenValue)) {
3922
+ this.earlyResolvePrimitiveToken(tokenName, new chunkPXS4WZYB_cjs.BooleanSymbol(tokenValue, this.config));
3922
3923
  continue;
3923
3924
  }
3924
- if (chunkLMGHS2NP_cjs.isNull(tokenValue)) {
3925
- this.earlyResolvePrimitiveToken(tokenName, new chunkLMGHS2NP_cjs.NullSymbol(this.config));
3925
+ if (chunkPXS4WZYB_cjs.isNull(tokenValue)) {
3926
+ this.earlyResolvePrimitiveToken(tokenName, new chunkPXS4WZYB_cjs.NullSymbol(this.config));
3926
3927
  continue;
3927
3928
  }
3928
- if (chunkLMGHS2NP_cjs.isObject(tokenValue) || chunkLMGHS2NP_cjs.isArray(tokenValue)) {
3929
+ if (chunkPXS4WZYB_cjs.isObject(tokenValue) || chunkPXS4WZYB_cjs.isArray(tokenValue)) {
3929
3930
  this.handleStructuredToken(tokenName, setTokenValue(tokenData));
3930
3931
  continue;
3931
3932
  }
@@ -4166,7 +4167,7 @@ var _PrefixResolver = class _PrefixResolver {
4166
4167
  for (const [fieldPath] of stringFields) {
4167
4168
  const fieldValue = this.resolved.get(fieldPath);
4168
4169
  if (fieldValue === void 0) {
4169
- const error = new chunkLMGHS2NP_cjs.ProcessorError("PROC_SUB_FIELD_NOT_RESOLVED" /* SUB_FIELD_NOT_RESOLVED */, {
4170
+ const error = new chunkPXS4WZYB_cjs.ProcessorError("PROC_SUB_FIELD_NOT_RESOLVED" /* SUB_FIELD_NOT_RESOLVED */, {
4170
4171
  data: { fieldPath }
4171
4172
  });
4172
4173
  this.resolved.set(tokenName, error);
@@ -4212,7 +4213,7 @@ var _PrefixResolver = class _PrefixResolver {
4212
4213
  if (satisfied?.has(child) || this.referenceCache.has(child) || this.resolved.has(child)) {
4213
4214
  continue;
4214
4215
  }
4215
- const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4216
+ const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4216
4217
  data: { tokenName: child }
4217
4218
  });
4218
4219
  this.resolved.set(child, error);
@@ -4311,9 +4312,9 @@ var _PrefixResolver = class _PrefixResolver {
4311
4312
  tokenValueStr = String(getTokenValue(originalValue));
4312
4313
  }
4313
4314
  const dependsOnMissing = tokensWithMissingDeps.has(tokenName);
4314
- const error = dependsOnMissing ? new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4315
+ const error = dependsOnMissing ? new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4315
4316
  data: { tokenName }
4316
- }) : new chunkLMGHS2NP_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
4317
+ }) : new chunkPXS4WZYB_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
4317
4318
  data: { tokens: tokenName }
4318
4319
  });
4319
4320
  this.resolved.set(tokenName, error);
@@ -4368,7 +4369,7 @@ var _TokenResolver = class _TokenResolver {
4368
4369
  */
4369
4370
  getTokenDependencyGraph(tokenName) {
4370
4371
  if (!this.prefixResolver) {
4371
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4372
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4372
4373
  }
4373
4374
  const graph = this.prefixResolver.getGraph();
4374
4375
  const reverseDeps = /* @__PURE__ */ new Map();
@@ -4454,7 +4455,7 @@ var _TokenResolver = class _TokenResolver {
4454
4455
  }
4455
4456
  ensureInitialized() {
4456
4457
  if (!this.prefixResolver || !this.tokens) {
4457
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4458
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4458
4459
  }
4459
4460
  }
4460
4461
  normalizeTokenPath(tokenPath) {
@@ -4473,7 +4474,7 @@ var _TokenResolver = class _TokenResolver {
4473
4474
  }
4474
4475
  rebuildResolver(updatedTokens, callbacks, changedTokenPath) {
4475
4476
  if (!this.prefixResolver) {
4476
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4477
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4477
4478
  }
4478
4479
  let dirtyTokens = null;
4479
4480
  if (changedTokenPath) {
@@ -4512,24 +4513,24 @@ var _TokenResolver = class _TokenResolver {
4512
4513
  updated: false
4513
4514
  };
4514
4515
  }
4515
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4516
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4516
4517
  data: { tokenName: prevPath }
4517
4518
  });
4518
4519
  }
4519
4520
  const oldTokenData = this.tokens.get(prevPath);
4520
4521
  if (!oldTokenData) {
4521
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4522
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4522
4523
  data: { tokenName: prevPath }
4523
4524
  });
4524
4525
  }
4525
4526
  const isRename = newPath && newPath !== prevPath;
4526
4527
  if (isRename && this.tokens.has(newPath)) {
4527
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4528
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4528
4529
  data: { tokenName: newPath }
4529
4530
  });
4530
4531
  }
4531
4532
  if (!this.prefixResolver) {
4532
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4533
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4533
4534
  }
4534
4535
  const currentGraph = this.prefixResolver.getGraph();
4535
4536
  const { tokens: affectedTokens } = getTokenDependencyGraph(prevPath, currentGraph);
@@ -4542,7 +4543,7 @@ var _TokenResolver = class _TokenResolver {
4542
4543
  const dependentTokenData = updatedTokens.get(dependentToken);
4543
4544
  if (!dependentTokenData) continue;
4544
4545
  const dependentValue = getTokenValue(dependentTokenData);
4545
- if (!chunkLMGHS2NP_cjs.isString(dependentValue)) continue;
4546
+ if (!chunkPXS4WZYB_cjs.isString(dependentValue)) continue;
4546
4547
  const ast = tokenInterpreter.getTokenAST(dependentToken);
4547
4548
  if (!ast) continue;
4548
4549
  const updatedValue = renameReferences(dependentValue, ast, renameMap);
@@ -4559,7 +4560,7 @@ var _TokenResolver = class _TokenResolver {
4559
4560
  const { output, callbacks } = this.createOutputCallbacks();
4560
4561
  const resolverResult = this.rebuildResolver(updatedTokens, callbacks, prevPath);
4561
4562
  if (!this.prefixResolver) {
4562
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4563
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4563
4564
  }
4564
4565
  const { subgraph } = getTokenDependencyGraph(finalPath, this.prefixResolver.getGraph());
4565
4566
  const resolvedValue = output.get(finalPath);
@@ -4576,7 +4577,7 @@ var _TokenResolver = class _TokenResolver {
4576
4577
  const { tokenPath, tokenData } = params;
4577
4578
  const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
4578
4579
  if (this.tokens?.has(normalizedTokenPath)) {
4579
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4580
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4580
4581
  data: { tokenName: normalizedTokenPath }
4581
4582
  });
4582
4583
  }
@@ -4586,7 +4587,7 @@ var _TokenResolver = class _TokenResolver {
4586
4587
  const { output, callbacks } = this.createOutputCallbacks();
4587
4588
  const resolverResult = this.rebuildResolver(updatedTokens, callbacks, normalizedTokenPath);
4588
4589
  if (!this.prefixResolver) {
4589
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4590
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4590
4591
  }
4591
4592
  const { subgraph } = getTokenDependencyGraph(
4592
4593
  normalizedTokenPath,
@@ -4606,12 +4607,12 @@ var _TokenResolver = class _TokenResolver {
4606
4607
  const { tokenPath } = params;
4607
4608
  const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
4608
4609
  if (!this.tokens?.has(normalizedTokenPath)) {
4609
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4610
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4610
4611
  data: { tokenName: normalizedTokenPath }
4611
4612
  });
4612
4613
  }
4613
4614
  if (!this.prefixResolver) {
4614
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4615
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4615
4616
  }
4616
4617
  const currentGraph = this.prefixResolver.getGraph();
4617
4618
  const { subgraph } = getTokenDependencyGraph(normalizedTokenPath, currentGraph);
@@ -4645,7 +4646,7 @@ var _TokenResolver = class _TokenResolver {
4645
4646
  resolveValue(params) {
4646
4647
  this.ensureInitialized();
4647
4648
  if (!this.prefixResolver) {
4648
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4649
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4649
4650
  }
4650
4651
  const { value, type, validate } = params;
4651
4652
  const issues = [];
@@ -4658,7 +4659,7 @@ var _TokenResolver = class _TokenResolver {
4658
4659
  const result = parseExpression(valueStr);
4659
4660
  ast = result.ast;
4660
4661
  } catch (error) {
4661
- if (chunkLMGHS2NP_cjs.isLanguageError(error)) {
4662
+ if (chunkPXS4WZYB_cjs.isLanguageError(error)) {
4662
4663
  issues.push(error);
4663
4664
  return { resolved: null, issues };
4664
4665
  }
@@ -4670,7 +4671,7 @@ var _TokenResolver = class _TokenResolver {
4670
4671
  const tokenInterpreter = this.prefixResolver.getTokenInterpreter();
4671
4672
  const resolved = tokenInterpreter.interpretTokenWithAST("\0__preview__", ast);
4672
4673
  if (resolved instanceof Error) {
4673
- if (chunkLMGHS2NP_cjs.isLanguageError(resolved)) {
4674
+ if (chunkPXS4WZYB_cjs.isLanguageError(resolved)) {
4674
4675
  issues.push(resolved);
4675
4676
  }
4676
4677
  return { resolved: null, issues };
@@ -4741,7 +4742,7 @@ chunkLEYHQJTL_cjs.__name(buildTokens, "buildTokens");
4741
4742
 
4742
4743
  // src/processor/builders/flatten.ts
4743
4744
  function flattenChildrenObject(result, prefix, callback) {
4744
- if (result instanceof chunkLMGHS2NP_cjs.DictionarySymbol) {
4745
+ if (result instanceof chunkPXS4WZYB_cjs.DictionarySymbol) {
4745
4746
  flattenChildrenMap(result.value, prefix, callback);
4746
4747
  }
4747
4748
  }
@@ -4752,7 +4753,7 @@ function flattenChildrenMap(map, prefix, callback) {
4752
4753
  if (typeof value === "undefined") {
4753
4754
  continue;
4754
4755
  }
4755
- if (value instanceof chunkLMGHS2NP_cjs.DictionarySymbol) {
4756
+ if (value instanceof chunkPXS4WZYB_cjs.DictionarySymbol) {
4756
4757
  flattenChildrenMap(value.value, newKey, callback);
4757
4758
  } else {
4758
4759
  callback(newKey, value);
@@ -4775,7 +4776,7 @@ function setNestedValue(target, path, value) {
4775
4776
  cursor[key] = value;
4776
4777
  return;
4777
4778
  }
4778
- if (!chunkLMGHS2NP_cjs.isObject(cursor[key])) {
4779
+ if (!chunkPXS4WZYB_cjs.isObject(cursor[key])) {
4779
4780
  cursor[key] = {};
4780
4781
  }
4781
4782
  cursor = cursor[key];
@@ -4788,7 +4789,7 @@ var _NestedObjectBuilder = class _NestedObjectBuilder {
4788
4789
  this.result = {};
4789
4790
  }
4790
4791
  onResolve(tokenName, value) {
4791
- const serialized = chunkLMGHS2NP_cjs.serializeInterpreterResult(value, { stringify: true });
4792
+ const serialized = chunkPXS4WZYB_cjs.serializeInterpreterResult(value, { stringify: true });
4792
4793
  if (typeof serialized !== "undefined") {
4793
4794
  setNestedValue(this.result, tokenName, serialized);
4794
4795
  }
@@ -4811,10 +4812,10 @@ var _FlatObjectBuilder = class _FlatObjectBuilder {
4811
4812
  let didFlatten = false;
4812
4813
  flattenChildrenObject(value, tokenName, (key, val) => {
4813
4814
  didFlatten = true;
4814
- this.result[key] = chunkLMGHS2NP_cjs.serializeInterpreterResult(val, { stringify: true });
4815
+ this.result[key] = chunkPXS4WZYB_cjs.serializeInterpreterResult(val, { stringify: true });
4815
4816
  });
4816
4817
  if (!didFlatten) {
4817
- const serialized = chunkLMGHS2NP_cjs.serializeInterpreterResult(value, { stringify: true });
4818
+ const serialized = chunkPXS4WZYB_cjs.serializeInterpreterResult(value, { stringify: true });
4818
4819
  if (typeof serialized !== "undefined") {
4819
4820
  this.result[tokenName] = serialized;
4820
4821
  }
@@ -4834,12 +4835,12 @@ var FlatObjectBuilder = _FlatObjectBuilder;
4834
4835
  var _StringMapBuilder = class _StringMapBuilder extends MapBuilder {
4835
4836
  onResolve(tokenName, value) {
4836
4837
  super.onResolve(tokenName, value);
4837
- this.result.set(tokenName, chunkLMGHS2NP_cjs.stringifyInterpreterResult(value));
4838
+ this.result.set(tokenName, chunkPXS4WZYB_cjs.stringifyInterpreterResult(value));
4838
4839
  }
4839
4840
  getResult() {
4840
4841
  const stringMap = /* @__PURE__ */ new Map();
4841
4842
  for (const [key, value] of this.result.entries()) {
4842
- stringMap.set(key, typeof value === "string" ? value : chunkLMGHS2NP_cjs.stringifyInterpreterResult(value));
4843
+ stringMap.set(key, typeof value === "string" ? value : chunkPXS4WZYB_cjs.stringifyInterpreterResult(value));
4843
4844
  }
4844
4845
  return stringMap;
4845
4846
  }
@@ -4872,7 +4873,7 @@ var selectTheme = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((themes, themeName) =
4872
4873
  var resolveThemes = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((jsonFiles) => {
4873
4874
  const themesFile = jsonFiles.$themes;
4874
4875
  if (themesFile) {
4875
- if (chunkLMGHS2NP_cjs.isObject(themesFile) && "$themes" in themesFile) {
4876
+ if (chunkPXS4WZYB_cjs.isObject(themesFile) && "$themes" in themesFile) {
4876
4877
  const inner = ThemesArraySchema.safeParse(themesFile.$themes);
4877
4878
  if (inner.success) {
4878
4879
  return ["$themes", inner.data];
@@ -4898,14 +4899,14 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
4898
4899
  if (activeTheme) {
4899
4900
  const resolved = resolveThemes(jsonFiles);
4900
4901
  if (!resolved) {
4901
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_NO_THEMES_FOUND" /* NO_THEMES_FOUND */, {
4902
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_NO_THEMES_FOUND" /* NO_THEMES_FOUND */, {
4902
4903
  data: { themeName: activeTheme }
4903
4904
  });
4904
4905
  }
4905
4906
  const [, themes] = resolved;
4906
4907
  const theme = selectTheme(themes, activeTheme);
4907
4908
  if (!theme) {
4908
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_THEME_NOT_FOUND" /* THEME_NOT_FOUND */, {
4909
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_THEME_NOT_FOUND" /* THEME_NOT_FOUND */, {
4909
4910
  data: {
4910
4911
  themeName: activeTheme,
4911
4912
  availableThemes: themes.map((t) => t.name)
@@ -4919,18 +4920,18 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
4919
4920
  return keys;
4920
4921
  }
4921
4922
  if (keys.length > 1) {
4922
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_MULTIPLE_SETS_NO_SELECTION" /* MULTIPLE_SETS_NO_SELECTION */, {
4923
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_MULTIPLE_SETS_NO_SELECTION" /* MULTIPLE_SETS_NO_SELECTION */, {
4923
4924
  data: { setNames: keys }
4924
4925
  });
4925
4926
  }
4926
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_NO_SETS_TO_PROCESS" /* NO_SETS_TO_PROCESS */);
4927
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_NO_SETS_TO_PROCESS" /* NO_SETS_TO_PROCESS */);
4927
4928
  }
4928
4929
  chunkLEYHQJTL_cjs.__name(determineSets, "determineSets");
4929
4930
  function getSetTokens(setData) {
4930
4931
  if (setData instanceof Map) {
4931
4932
  return setData;
4932
4933
  }
4933
- if (!chunkLMGHS2NP_cjs.isObject(setData)) {
4934
+ if (!chunkPXS4WZYB_cjs.isObject(setData)) {
4934
4935
  return /* @__PURE__ */ new Map();
4935
4936
  }
4936
4937
  if (isNested(setData)) {
@@ -4947,12 +4948,12 @@ function flattenToTokens(sets, setNames) {
4947
4948
  tokens.set(key, normalizeToTokenData(setData));
4948
4949
  } else {
4949
4950
  if (!setData) {
4950
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_SET_NOT_FOUND" /* TOKEN_SET_NOT_FOUND */, {
4951
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_SET_NOT_FOUND" /* TOKEN_SET_NOT_FOUND */, {
4951
4952
  data: { setName: key }
4952
4953
  });
4953
4954
  }
4954
- if (!chunkLMGHS2NP_cjs.isObject(setData) && !(setData instanceof Map)) {
4955
- throw new chunkLMGHS2NP_cjs.ProcessorError("PROC_TOKEN_SET_INVALID" /* TOKEN_SET_INVALID */, {
4955
+ if (!chunkPXS4WZYB_cjs.isObject(setData) && !(setData instanceof Map)) {
4956
+ throw new chunkPXS4WZYB_cjs.ProcessorError("PROC_TOKEN_SET_INVALID" /* TOKEN_SET_INVALID */, {
4956
4957
  data: { setName: key }
4957
4958
  });
4958
4959
  }
@@ -4982,11 +4983,11 @@ chunkLEYHQJTL_cjs.__name(processTokenSets, "processTokenSets");
4982
4983
 
4983
4984
  // src/lib/errors.ts
4984
4985
  var errorClasses = {
4985
- LanguageError: chunkLMGHS2NP_cjs.LanguageError,
4986
- LexerError: chunkLMGHS2NP_cjs.LexerError,
4987
- ParserError: chunkLMGHS2NP_cjs.ParserError,
4988
- InterpreterError: chunkLMGHS2NP_cjs.InterpreterError,
4989
- ProcessorError: chunkLMGHS2NP_cjs.ProcessorError
4986
+ LanguageError: chunkPXS4WZYB_cjs.LanguageError,
4987
+ LexerError: chunkPXS4WZYB_cjs.LexerError,
4988
+ ParserError: chunkPXS4WZYB_cjs.ParserError,
4989
+ InterpreterError: chunkPXS4WZYB_cjs.InterpreterError,
4990
+ ProcessorError: chunkPXS4WZYB_cjs.ProcessorError
4990
4991
  };
4991
4992
  var errorHelpers = {
4992
4993
  createDependencyError
@@ -5120,7 +5121,7 @@ function parseSemverFromString(versionString) {
5120
5121
  const parts = versionString.split(".");
5121
5122
  const numbers = [];
5122
5123
  for (const part of parts) {
5123
- const num = chunkLMGHS2NP_cjs.safeParseInt(part);
5124
+ const num = chunkPXS4WZYB_cjs.safeParseInt(part);
5124
5125
  if (num === null) return null;
5125
5126
  numbers.push(num);
5126
5127
  }
@@ -5145,7 +5146,7 @@ function semverToString(version) {
5145
5146
  if (version === void 0) {
5146
5147
  return "latest";
5147
5148
  }
5148
- if (chunkLMGHS2NP_cjs.isObject(version)) {
5149
+ if (chunkPXS4WZYB_cjs.isObject(version)) {
5149
5150
  if ("patch" in version) return `${version.major}.${version.minor}.${version.patch}`;
5150
5151
  if ("minor" in version) return `${version.major}.${version.minor}`;
5151
5152
  return `${version.major}`;
@@ -5601,16 +5602,16 @@ var _ColorManager = class _ColorManager extends BaseManager {
5601
5602
  const fn = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((args) => {
5602
5603
  const config = this.createInterpreterConfig({ input: args });
5603
5604
  const result = new Interpreter(ast, config).interpret();
5604
- if (!(result instanceof chunkLMGHS2NP_cjs.ColorSymbol)) {
5605
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_INITIALIZER_CRASHED" /* INITIALIZER_CRASHED */);
5605
+ if (!(result instanceof chunkPXS4WZYB_cjs.ColorSymbol)) {
5606
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_INITIALIZER_CRASHED" /* INITIALIZER_CRASHED */);
5606
5607
  }
5607
5608
  return result;
5608
5609
  }, "fn");
5609
5610
  this.initializers.set(spec2.keyword.toLowerCase(), fn);
5610
5611
  } catch (error) {
5611
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_INITIALIZER_CONSTRUCT_FAILED" /* INITIALIZER_CONSTRUCT_FAILED */, {
5612
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_INITIALIZER_CONSTRUCT_FAILED" /* INITIALIZER_CONSTRUCT_FAILED */, {
5612
5613
  data: {
5613
- error: chunkLMGHS2NP_cjs.isLanguageError(error) ? error : chunkLMGHS2NP_cjs.serializeError(error)
5614
+ error: chunkPXS4WZYB_cjs.isLanguageError(error) ? error : chunkPXS4WZYB_cjs.serializeError(error)
5614
5615
  }
5615
5616
  });
5616
5617
  }
@@ -5624,15 +5625,15 @@ var _ColorManager = class _ColorManager extends BaseManager {
5624
5625
  const fn = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((color) => {
5625
5626
  const interpreterConfig = this.createInterpreterConfig({ input: color });
5626
5627
  const result = new Interpreter(ast, interpreterConfig).interpret();
5627
- if (!(result instanceof chunkLMGHS2NP_cjs.ColorSymbol)) {
5628
+ if (!(result instanceof chunkPXS4WZYB_cjs.ColorSymbol)) {
5628
5629
  const targetSpec = this.getSpec(targetUri);
5629
5630
  if (!targetSpec) {
5630
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_CONVERSION_TARGET_NOT_FOUND" /* CONVERSION_TARGET_NOT_FOUND */, {
5631
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_CONVERSION_TARGET_NOT_FOUND" /* CONVERSION_TARGET_NOT_FOUND */, {
5631
5632
  data: { targetUri }
5632
5633
  });
5633
5634
  }
5634
5635
  const value = typeof result === "string" ? result : result?.value ?? null;
5635
- return new chunkLMGHS2NP_cjs.ColorSymbol(value, targetSpec.name, null, this.parentConfig);
5636
+ return new chunkPXS4WZYB_cjs.ColorSymbol(value, targetSpec.name, null, this.parentConfig);
5636
5637
  }
5637
5638
  return result;
5638
5639
  }, "fn");
@@ -5675,7 +5676,7 @@ ${spec}` : "";
5675
5676
  executeInitializer(keyword, args) {
5676
5677
  const initFn = this.initializers.get(keyword.toLowerCase());
5677
5678
  if (!initFn) {
5678
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_INITIALIZER_NOT_FOUND" /* INITIALIZER_NOT_FOUND */, {
5679
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_INITIALIZER_NOT_FOUND" /* INITIALIZER_NOT_FOUND */, {
5679
5680
  data: { keyword }
5680
5681
  });
5681
5682
  }
@@ -5692,7 +5693,7 @@ ${spec}` : "";
5692
5693
  convertTo(color, targetUri) {
5693
5694
  const sourceUri = this.specTypes.get(color.subType?.toLowerCase() || "");
5694
5695
  if (!sourceUri) {
5695
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
5696
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
5696
5697
  data: { colorType: color.subType || "unknown" }
5697
5698
  });
5698
5699
  }
@@ -5701,9 +5702,9 @@ ${spec}` : "";
5701
5702
  result.alpha = color.alpha;
5702
5703
  return result;
5703
5704
  } catch (error) {
5704
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_CONVERSION_ERROR" /* CONVERSION_ERROR */, {
5705
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_CONVERSION_ERROR" /* CONVERSION_ERROR */, {
5705
5706
  data: {
5706
- error: chunkLMGHS2NP_cjs.isLanguageError(error) ? error : chunkLMGHS2NP_cjs.serializeError(error)
5707
+ error: chunkPXS4WZYB_cjs.isLanguageError(error) ? error : chunkPXS4WZYB_cjs.serializeError(error)
5707
5708
  }
5708
5709
  });
5709
5710
  }
@@ -5714,7 +5715,7 @@ ${spec}` : "";
5714
5715
  }
5715
5716
  const targetUri = this.specTypes.get(targetType.toLowerCase());
5716
5717
  if (!targetUri) {
5717
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_TARGET_URI_NOT_FOUND" /* TARGET_URI_NOT_FOUND */, {
5718
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_TARGET_URI_NOT_FOUND" /* TARGET_URI_NOT_FOUND */, {
5718
5719
  data: { colorType: targetType }
5719
5720
  });
5720
5721
  }
@@ -5723,7 +5724,7 @@ ${spec}` : "";
5723
5724
  setAttribute(color, node, attributeValue) {
5724
5725
  const attributes = node.attributesStringChain();
5725
5726
  if (attributes.length !== 1) {
5726
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_ATTRIBUTE_CHAIN_TOO_LONG" /* ATTRIBUTE_CHAIN_TOO_LONG */, {
5727
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_ATTRIBUTE_CHAIN_TOO_LONG" /* ATTRIBUTE_CHAIN_TOO_LONG */, {
5727
5728
  token: node.token,
5728
5729
  data: {
5729
5730
  attributes: attributesToString(attributes),
@@ -5735,7 +5736,7 @@ ${spec}` : "";
5735
5736
  const attr = attributes[0];
5736
5737
  if (attr === "alpha") {
5737
5738
  if (attributeValue.type !== "Number" && attributeValue.type !== "Null") {
5738
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5739
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5739
5740
  token: node.token,
5740
5741
  data: {
5741
5742
  attributeType: attributeValue.type,
@@ -5744,12 +5745,12 @@ ${spec}` : "";
5744
5745
  });
5745
5746
  }
5746
5747
  const alphaValue = attributeValue.value;
5747
- chunkLMGHS2NP_cjs.ensureValidAlpha(alphaValue);
5748
+ chunkPXS4WZYB_cjs.ensureValidAlpha(alphaValue);
5748
5749
  color.alpha = alphaValue;
5749
5750
  return color;
5750
5751
  }
5751
5752
  if (typeof color.value === "string") {
5752
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_STRING_VALUE_ASSIGNMENT" /* STRING_VALUE_ASSIGNMENT */, {
5753
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_STRING_VALUE_ASSIGNMENT" /* STRING_VALUE_ASSIGNMENT */, {
5753
5754
  token: node.token,
5754
5755
  data: {
5755
5756
  attributes: attributesToString(attributes),
@@ -5760,7 +5761,7 @@ ${spec}` : "";
5760
5761
  }
5761
5762
  const spec = this.getSpecFromColor(color);
5762
5763
  if (!spec) {
5763
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_MISSING_SPEC" /* MISSING_SPEC */, {
5764
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_MISSING_SPEC" /* MISSING_SPEC */, {
5764
5765
  token: node.token,
5765
5766
  data: {
5766
5767
  identifier: node.identifierToString(),
@@ -5769,14 +5770,14 @@ ${spec}` : "";
5769
5770
  });
5770
5771
  }
5771
5772
  if (!spec.schema) {
5772
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_MISSING_SCHEMA" /* MISSING_SCHEMA */, {
5773
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_MISSING_SCHEMA" /* MISSING_SCHEMA */, {
5773
5774
  token: node.token,
5774
5775
  data: { colorType: color.subType || "unknown" }
5775
5776
  });
5776
5777
  }
5777
5778
  const attrSchema = spec.schema.properties[attr];
5778
5779
  if (!attrSchema) {
5779
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_MISSING_ATTRIBUTE_SCHEMA" /* MISSING_ATTRIBUTE_SCHEMA */, {
5780
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_MISSING_ATTRIBUTE_SCHEMA" /* MISSING_ATTRIBUTE_SCHEMA */, {
5780
5781
  token: node.token,
5781
5782
  data: {
5782
5783
  attribute: attr,
@@ -5785,8 +5786,8 @@ ${spec}` : "";
5785
5786
  }
5786
5787
  });
5787
5788
  }
5788
- if (!chunkLMGHS2NP_cjs.typeEquals(attrSchema.type, attributeValue.type)) {
5789
- throw new chunkLMGHS2NP_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5789
+ if (!chunkPXS4WZYB_cjs.typeEquals(attrSchema.type, attributeValue.type)) {
5790
+ throw new chunkPXS4WZYB_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5790
5791
  token: node.token,
5791
5792
  data: {
5792
5793
  attributeType: attributeValue.type,
@@ -5846,7 +5847,7 @@ ${spec}` : "";
5846
5847
  const { decimalPlaces = 2, removeTrailingZeros = true } = opts;
5847
5848
  if (typeof color.value === "string") {
5848
5849
  if (color.alpha !== null) {
5849
- return chunkLMGHS2NP_cjs.formatHex8(color.value, color.alpha);
5850
+ return chunkPXS4WZYB_cjs.formatHex8(color.value, color.alpha);
5850
5851
  }
5851
5852
  return color.value;
5852
5853
  }
@@ -5864,7 +5865,7 @@ ${spec}` : "";
5864
5865
  }
5865
5866
  return value?.toString() || "0";
5866
5867
  });
5867
- if (chunkLMGHS2NP_cjs.isTransparent(color.alpha)) {
5868
+ if (chunkPXS4WZYB_cjs.isTransparent(color.alpha)) {
5868
5869
  values.push(this.formatNumber(color.alpha, decimalPlaces, removeTrailingZeros));
5869
5870
  }
5870
5871
  const functionName = color.subType.toLowerCase();
@@ -5882,14 +5883,14 @@ var ColorManager = _ColorManager;
5882
5883
  // src/interpreter/config/managers/functions/builtin/math.ts
5883
5884
  function extractNumber(arg, functionName) {
5884
5885
  if (arg === void 0 || arg === null) {
5885
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5886
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5886
5887
  data: { functionName }
5887
5888
  });
5888
5889
  }
5889
- if (arg instanceof chunkLMGHS2NP_cjs.NumberSymbol) return arg.value;
5890
- if (arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) return arg.value;
5890
+ if (arg instanceof chunkPXS4WZYB_cjs.NumberSymbol) return arg.value;
5891
+ if (arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) return arg.value;
5891
5892
  if (typeof arg.value === "number") return arg.value;
5892
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5893
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5893
5894
  data: { functionName }
5894
5895
  });
5895
5896
  }
@@ -5897,53 +5898,53 @@ chunkLEYHQJTL_cjs.__name(extractNumber, "extractNumber");
5897
5898
  function over(arg, fn, functionName) {
5898
5899
  const value = extractNumber(arg, functionName);
5899
5900
  const result = fn(value);
5900
- if (arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
5901
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(result, arg.unit);
5901
+ if (arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
5902
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(result, arg.unit);
5902
5903
  }
5903
- return new chunkLMGHS2NP_cjs.NumberSymbol(result);
5904
+ return new chunkPXS4WZYB_cjs.NumberSymbol(result);
5904
5905
  }
5905
5906
  chunkLEYHQJTL_cjs.__name(over, "over");
5906
5907
  function overTwo(a, b, fn, functionName) {
5907
5908
  const aVal = extractNumber(a, functionName);
5908
5909
  const bVal = extractNumber(b, functionName);
5909
5910
  const result = fn(aVal, bVal);
5910
- if (a instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
5911
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(result, a.unit);
5911
+ if (a instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
5912
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(result, a.unit);
5912
5913
  }
5913
- return new chunkLMGHS2NP_cjs.NumberSymbol(result);
5914
+ return new chunkPXS4WZYB_cjs.NumberSymbol(result);
5914
5915
  }
5915
5916
  chunkLEYHQJTL_cjs.__name(overTwo, "overTwo");
5916
5917
  function overMany(args, fn, functionName, minArgs) {
5917
5918
  if (minArgs !== void 0 && args.length < minArgs) {
5918
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5919
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5919
5920
  data: { functionName, minArgs }
5920
5921
  });
5921
5922
  }
5922
5923
  const nums = args.map((arg) => extractNumber(arg, functionName));
5923
5924
  const result = fn(nums);
5924
- const firstUnitArg = args.find((arg) => arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol);
5925
+ const firstUnitArg = args.find((arg) => arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol);
5925
5926
  if (firstUnitArg) {
5926
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(result, firstUnitArg.unit);
5927
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(result, firstUnitArg.unit);
5927
5928
  }
5928
- return new chunkLMGHS2NP_cjs.NumberSymbol(result);
5929
+ return new chunkPXS4WZYB_cjs.NumberSymbol(result);
5929
5930
  }
5930
5931
  chunkLEYHQJTL_cjs.__name(overMany, "overMany");
5931
5932
  function createSumFunction(getUnitManager) {
5932
5933
  return (...args) => {
5933
5934
  if (args.length < 2)
5934
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5935
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5935
5936
  data: { functionName: "sum", minArgs: 2 }
5936
5937
  });
5937
- const hasUnits = args.some((arg) => arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol);
5938
+ const hasUnits = args.some((arg) => arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol);
5938
5939
  if (!hasUnits) {
5939
5940
  const nums2 = args.map((arg) => extractNumber(arg, "sum"));
5940
- return new chunkLMGHS2NP_cjs.NumberSymbol(nums2.reduce((acc, val) => acc + val, 0));
5941
+ return new chunkPXS4WZYB_cjs.NumberSymbol(nums2.reduce((acc, val) => acc + val, 0));
5941
5942
  }
5942
5943
  const numericArgs = args.filter(
5943
- (arg) => arg instanceof chunkLMGHS2NP_cjs.NumberSymbol || arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol
5944
+ (arg) => arg instanceof chunkPXS4WZYB_cjs.NumberSymbol || arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol
5944
5945
  );
5945
5946
  if (numericArgs.length !== args.length) {
5946
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5947
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5947
5948
  data: { functionName: "sum" }
5948
5949
  });
5949
5950
  }
@@ -5953,30 +5954,30 @@ function createSumFunction(getUnitManager) {
5953
5954
  const converted = unitManager.convertToCommonFormat(numericArgs);
5954
5955
  const sum2 = converted.reduce((acc, arg) => acc + arg.value, 0);
5955
5956
  const firstUnitArg2 = converted.find(
5956
- (arg) => arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol
5957
+ (arg) => arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol
5957
5958
  );
5958
5959
  if (firstUnitArg2) {
5959
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(sum2, firstUnitArg2.unit);
5960
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(sum2, firstUnitArg2.unit);
5960
5961
  }
5961
- return new chunkLMGHS2NP_cjs.NumberSymbol(sum2);
5962
+ return new chunkPXS4WZYB_cjs.NumberSymbol(sum2);
5962
5963
  } catch (error) {
5963
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_UNIT_CONVERSION_FAILED" /* UNIT_CONVERSION_FAILED */, {
5964
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_UNIT_CONVERSION_FAILED" /* UNIT_CONVERSION_FAILED */, {
5964
5965
  data: {
5965
5966
  functionName: "sum",
5966
- error: chunkLMGHS2NP_cjs.isLanguageError(error) ? error : chunkLMGHS2NP_cjs.serializeError(error)
5967
+ error: chunkPXS4WZYB_cjs.isLanguageError(error) ? error : chunkPXS4WZYB_cjs.serializeError(error)
5967
5968
  }
5968
5969
  });
5969
5970
  }
5970
5971
  }
5971
5972
  const firstUnitArg = args.find(
5972
- (arg) => arg instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol
5973
+ (arg) => arg instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol
5973
5974
  );
5974
5975
  const nums = args.map((arg) => extractNumber(arg, "sum"));
5975
5976
  const sum = nums.reduce((acc, val) => acc + val, 0);
5976
5977
  if (firstUnitArg) {
5977
- return new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(sum, firstUnitArg.unit);
5978
+ return new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(sum, firstUnitArg.unit);
5978
5979
  }
5979
- return new chunkLMGHS2NP_cjs.NumberSymbol(sum);
5980
+ return new chunkPXS4WZYB_cjs.NumberSymbol(sum);
5980
5981
  };
5981
5982
  }
5982
5983
  chunkLEYHQJTL_cjs.__name(createSumFunction, "createSumFunction");
@@ -5988,7 +5989,7 @@ var mathFunctions = {
5988
5989
  b,
5989
5990
  (aVal, bVal) => {
5990
5991
  if (bVal === 0)
5991
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
5992
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
5992
5993
  data: { functionName: "mod" }
5993
5994
  });
5994
5995
  return (aVal % bVal + bVal) % bVal;
@@ -6002,7 +6003,7 @@ var mathFunctions = {
6002
6003
  floor: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.floor, "floor"), "floor"),
6003
6004
  ceil: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.ceil, "ceil"), "ceil"),
6004
6005
  cbrt: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.cbrt, "cbrt"), "cbrt"),
6005
- sign: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => new chunkLMGHS2NP_cjs.NumberSymbol(Math.sign(extractNumber(arg, "sign"))), "sign"),
6006
+ sign: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => new chunkPXS4WZYB_cjs.NumberSymbol(Math.sign(extractNumber(arg, "sign"))), "sign"),
6006
6007
  trunc: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.trunc, "trunc"), "trunc"),
6007
6008
  exp: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.exp, "exp"), "exp"),
6008
6009
  expm1: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.expm1, "expm1"), "expm1"),
@@ -6021,7 +6022,7 @@ var mathFunctions = {
6021
6022
  b,
6022
6023
  (aVal, bVal) => {
6023
6024
  if (bVal === 0)
6024
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
6025
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
6025
6026
  data: { functionName: "remainder" }
6026
6027
  });
6027
6028
  return aVal % bVal;
@@ -6036,7 +6037,7 @@ var mathFunctions = {
6036
6037
  asin: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6037
6038
  const value = extractNumber(arg, "asin");
6038
6039
  if (value < -1 || value > 1)
6039
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6040
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6040
6041
  data: { functionName: "asin", constraint: "between -1 and 1" }
6041
6042
  });
6042
6043
  return over(arg, Math.asin, "asin");
@@ -6044,7 +6045,7 @@ var mathFunctions = {
6044
6045
  acos: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6045
6046
  const value = extractNumber(arg, "acos");
6046
6047
  if (value < -1 || value > 1)
6047
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6048
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6048
6049
  data: { functionName: "acos", constraint: "between -1 and 1" }
6049
6050
  });
6050
6051
  return over(arg, Math.acos, "acos");
@@ -6052,7 +6053,7 @@ var mathFunctions = {
6052
6053
  atan2: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((y, x) => {
6053
6054
  const yVal = extractNumber(y, "atan2");
6054
6055
  const xVal = extractNumber(x, "atan2");
6055
- return new chunkLMGHS2NP_cjs.NumberSymbol(Math.atan2(yVal, xVal));
6056
+ return new chunkPXS4WZYB_cjs.NumberSymbol(Math.atan2(yVal, xVal));
6056
6057
  }, "atan2"),
6057
6058
  // Hyperbolic functions
6058
6059
  sinh: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => over(arg, Math.sinh, "sinh"), "sinh"),
@@ -6062,7 +6063,7 @@ var mathFunctions = {
6062
6063
  acosh: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6063
6064
  const value = extractNumber(arg, "acosh");
6064
6065
  if (value < 1) {
6065
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6066
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6066
6067
  data: {
6067
6068
  functionName: "acosh",
6068
6069
  constraint: "greater than or equal to 1"
@@ -6074,7 +6075,7 @@ var mathFunctions = {
6074
6075
  atanh: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6075
6076
  const value = extractNumber(arg, "atanh");
6076
6077
  if (value <= -1 || value >= 1) {
6077
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6078
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6078
6079
  data: {
6079
6080
  functionName: "atanh",
6080
6081
  constraint: "between -1 and 1 (exclusive)"
@@ -6087,7 +6088,7 @@ var mathFunctions = {
6087
6088
  log: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg, base) => {
6088
6089
  const value = extractNumber(arg, "log");
6089
6090
  if (value <= 0)
6090
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6091
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6091
6092
  data: { functionName: "log", constraint: "positive" }
6092
6093
  });
6093
6094
  if (base === void 0) {
@@ -6095,7 +6096,7 @@ var mathFunctions = {
6095
6096
  }
6096
6097
  const baseValue = extractNumber(base, "log");
6097
6098
  if (baseValue <= 0 || baseValue === 1)
6098
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_INVALID_BASE" /* INVALID_BASE */, {
6099
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_INVALID_BASE" /* INVALID_BASE */, {
6099
6100
  data: {
6100
6101
  functionName: "log",
6101
6102
  constraint: "positive and not equal to 1"
@@ -6106,7 +6107,7 @@ var mathFunctions = {
6106
6107
  ln: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6107
6108
  const value = extractNumber(arg, "ln");
6108
6109
  if (value <= 0) {
6109
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6110
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6110
6111
  data: { functionName: "ln", constraint: "positive" }
6111
6112
  });
6112
6113
  }
@@ -6115,7 +6116,7 @@ var mathFunctions = {
6115
6116
  log10: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6116
6117
  const value = extractNumber(arg, "log10");
6117
6118
  if (value <= 0) {
6118
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6119
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6119
6120
  data: { functionName: "log10", constraint: "positive" }
6120
6121
  });
6121
6122
  }
@@ -6124,7 +6125,7 @@ var mathFunctions = {
6124
6125
  log2: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6125
6126
  const value = extractNumber(arg, "log2");
6126
6127
  if (value <= 0) {
6127
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6128
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6128
6129
  data: { functionName: "log2", constraint: "positive" }
6129
6130
  });
6130
6131
  }
@@ -6133,7 +6134,7 @@ var mathFunctions = {
6133
6134
  log1p: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((arg) => {
6134
6135
  const value = extractNumber(arg, "log1p");
6135
6136
  if (value < -1) {
6136
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6137
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6137
6138
  data: {
6138
6139
  functionName: "log1p",
6139
6140
  constraint: "greater than or equal to -1"
@@ -6143,7 +6144,7 @@ var mathFunctions = {
6143
6144
  return over(arg, Math.log1p, "log1p");
6144
6145
  }, "log1p"),
6145
6146
  // Constants
6146
- pi: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name(() => new chunkLMGHS2NP_cjs.NumberSymbol(Math.PI), "pi")
6147
+ pi: /* @__PURE__ */ chunkLEYHQJTL_cjs.__name(() => new chunkPXS4WZYB_cjs.NumberSymbol(Math.PI), "pi")
6147
6148
  };
6148
6149
 
6149
6150
  // src/interpreter/config/managers/functions/manager.ts
@@ -6190,75 +6191,75 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6190
6191
  this.registerFunction(
6191
6192
  "parse_int",
6192
6193
  (strSymbol, baseSymbol) => {
6193
- if (!(strSymbol instanceof chunkLMGHS2NP_cjs.StringSymbol))
6194
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6194
+ if (!(strSymbol instanceof chunkPXS4WZYB_cjs.StringSymbol))
6195
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6195
6196
  data: { functionName: "parse_int", expectedType: "string", argumentPosition: "first" }
6196
6197
  });
6197
- const base = baseSymbol instanceof chunkLMGHS2NP_cjs.NumberSymbol ? baseSymbol.value : 10;
6198
+ const base = baseSymbol instanceof chunkPXS4WZYB_cjs.NumberSymbol ? baseSymbol.value : 10;
6198
6199
  const parsed = Number.parseInt(strSymbol.value, base);
6199
6200
  if (Number.isNaN(parsed))
6200
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_PARSE_ERROR" /* PARSE_ERROR */, {
6201
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_PARSE_ERROR" /* PARSE_ERROR */, {
6201
6202
  data: { functionName: "parse_int", value: String(strSymbol.value), base }
6202
6203
  });
6203
- return new chunkLMGHS2NP_cjs.NumberSymbol(parsed);
6204
+ return new chunkPXS4WZYB_cjs.NumberSymbol(parsed);
6204
6205
  }
6205
6206
  );
6206
6207
  this.registerFunction("linear-gradient", (...args) => {
6207
6208
  const stringArgs = args.map((arg) => arg.toString()).join(", ");
6208
- return new chunkLMGHS2NP_cjs.StringSymbol(`linear-gradient(${stringArgs})`);
6209
+ return new chunkPXS4WZYB_cjs.StringSymbol(`linear-gradient(${stringArgs})`);
6209
6210
  });
6210
6211
  this.registerFunction("type", (arg) => {
6211
6212
  const typeName2 = arg.getTypeName();
6212
6213
  if (typeName2.includes(".")) {
6213
6214
  const parts = typeName2.split(".");
6214
- return new chunkLMGHS2NP_cjs.StringSymbol(parts[parts.length - 1].toLowerCase());
6215
+ return new chunkPXS4WZYB_cjs.StringSymbol(parts[parts.length - 1].toLowerCase());
6215
6216
  }
6216
- return new chunkLMGHS2NP_cjs.StringSymbol(typeName2.toLowerCase());
6217
+ return new chunkPXS4WZYB_cjs.StringSymbol(typeName2.toLowerCase());
6217
6218
  });
6218
6219
  this.registerFunction("is_null", (arg) => {
6219
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Null");
6220
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Null");
6220
6221
  });
6221
6222
  this.registerFunction("is_number", (arg) => {
6222
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Number");
6223
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Number");
6223
6224
  });
6224
6225
  this.registerFunction("is_string", (arg) => {
6225
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "String");
6226
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "String");
6226
6227
  });
6227
6228
  this.registerFunction("is_boolean", (arg) => {
6228
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Boolean");
6229
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Boolean");
6229
6230
  });
6230
6231
  this.registerFunction("is_list", (arg) => {
6231
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "List");
6232
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "List");
6232
6233
  });
6233
6234
  this.registerFunction("is_number_with_unit", (arg) => {
6234
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "NumberWithUnit");
6235
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "NumberWithUnit");
6235
6236
  });
6236
6237
  this.registerFunction("is_dictionary", (arg) => {
6237
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Dictionary");
6238
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Dictionary");
6238
6239
  });
6239
6240
  this.registerFunction("is_token", (arg) => {
6240
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Token");
6241
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Token");
6241
6242
  });
6242
6243
  this.registerFunction("is_color", (arg) => {
6243
- return new chunkLMGHS2NP_cjs.BooleanSymbol(arg.type === "Color");
6244
+ return new chunkPXS4WZYB_cjs.BooleanSymbol(arg.type === "Color");
6244
6245
  });
6245
6246
  this.registerFunction("range", (...args) => {
6246
6247
  if (args.length < 1 || args.length > 2) {
6247
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6248
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6248
6249
  data: { functionName: "range", minArgs: 1 }
6249
6250
  });
6250
6251
  }
6251
6252
  let start;
6252
6253
  let end;
6253
6254
  if (args.length === 1) {
6254
- if (!(args[0] instanceof chunkLMGHS2NP_cjs.NumberSymbol)) {
6255
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6255
+ if (!(args[0] instanceof chunkPXS4WZYB_cjs.NumberSymbol)) {
6256
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6256
6257
  data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
6257
6258
  });
6258
6259
  }
6259
6260
  const v = args[0].value;
6260
6261
  if (v !== Math.trunc(v) || Number.isNaN(v) || !Number.isFinite(v) || v < 0 || v > 1e6) {
6261
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6262
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6262
6263
  data: {
6263
6264
  functionName: "range",
6264
6265
  constraint: `count must be a non-negative integer <= 1000000, got ${v}`
@@ -6268,20 +6269,20 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6268
6269
  start = 0;
6269
6270
  end = v;
6270
6271
  } else {
6271
- if (!(args[0] instanceof chunkLMGHS2NP_cjs.NumberSymbol)) {
6272
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6272
+ if (!(args[0] instanceof chunkPXS4WZYB_cjs.NumberSymbol)) {
6273
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6273
6274
  data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
6274
6275
  });
6275
6276
  }
6276
- if (!(args[1] instanceof chunkLMGHS2NP_cjs.NumberSymbol)) {
6277
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6277
+ if (!(args[1] instanceof chunkPXS4WZYB_cjs.NumberSymbol)) {
6278
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6278
6279
  data: { functionName: "range", expectedType: "Number", argumentPosition: "second" }
6279
6280
  });
6280
6281
  }
6281
6282
  const sv = args[0].value;
6282
6283
  const ev = args[1].value;
6283
6284
  if (sv !== Math.trunc(sv) || ev !== Math.trunc(ev) || Number.isNaN(sv) || Number.isNaN(ev) || !Number.isFinite(sv) || !Number.isFinite(ev)) {
6284
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6285
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6285
6286
  data: {
6286
6287
  functionName: "range",
6287
6288
  constraint: `arguments must be integers, got ${sv} and ${ev}`
@@ -6289,7 +6290,7 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6289
6290
  });
6290
6291
  }
6291
6292
  if (ev - sv > 1e6) {
6292
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6293
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6293
6294
  data: {
6294
6295
  functionName: "range",
6295
6296
  constraint: `size exceeds limit (1000000), got ${ev - sv}`
@@ -6300,13 +6301,13 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6300
6301
  end = ev;
6301
6302
  }
6302
6303
  if (end < start) {
6303
- return new chunkLMGHS2NP_cjs.ListSymbol([], false);
6304
+ return new chunkPXS4WZYB_cjs.ListSymbol([], false);
6304
6305
  }
6305
6306
  const elements = [];
6306
6307
  for (let i = start; i < end; i++) {
6307
- elements.push(new chunkLMGHS2NP_cjs.NumberSymbol(i));
6308
+ elements.push(new chunkPXS4WZYB_cjs.NumberSymbol(i));
6308
6309
  }
6309
- return new chunkLMGHS2NP_cjs.ListSymbol(elements, false);
6310
+ return new chunkPXS4WZYB_cjs.ListSymbol(elements, false);
6310
6311
  });
6311
6312
  }
6312
6313
  registerFunction(name, impl) {
@@ -6319,7 +6320,7 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6319
6320
  try {
6320
6321
  const config = this.parentConfig?.clone();
6321
6322
  if (!config) {
6322
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_NO_CONFIG_AVAILABLE" /* NO_CONFIG_AVAILABLE */, {
6323
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_NO_CONFIG_AVAILABLE" /* NO_CONFIG_AVAILABLE */, {
6323
6324
  data: { functionName }
6324
6325
  });
6325
6326
  }
@@ -6331,19 +6332,19 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6331
6332
  });
6332
6333
  const result = interpreter.interpret();
6333
6334
  if (result === null) {
6334
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_FUNCTION_RETURNED_NULL" /* FUNCTION_RETURNED_NULL */, {
6335
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_FUNCTION_RETURNED_NULL" /* FUNCTION_RETURNED_NULL */, {
6335
6336
  data: { functionName }
6336
6337
  });
6337
6338
  }
6338
6339
  if (typeof result === "string") {
6339
- return new chunkLMGHS2NP_cjs.StringSymbol(result);
6340
+ return new chunkPXS4WZYB_cjs.StringSymbol(result);
6340
6341
  }
6341
6342
  return result;
6342
6343
  } catch (error) {
6343
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_EXECUTION_ERROR" /* EXECUTION_ERROR */, {
6344
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_EXECUTION_ERROR" /* EXECUTION_ERROR */, {
6344
6345
  data: {
6345
6346
  functionName,
6346
- error: chunkLMGHS2NP_cjs.isLanguageError(error) ? error : chunkLMGHS2NP_cjs.serializeError(error)
6347
+ error: chunkPXS4WZYB_cjs.isLanguageError(error) ? error : chunkPXS4WZYB_cjs.serializeError(error)
6347
6348
  }
6348
6349
  });
6349
6350
  }
@@ -6375,7 +6376,7 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6375
6376
  (prop) => !prop?.optional
6376
6377
  ).length;
6377
6378
  if (args.length < requiredCount) {
6378
- throw new chunkLMGHS2NP_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6379
+ throw new chunkPXS4WZYB_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6379
6380
  token,
6380
6381
  data: { functionName: name, minArgs: requiredCount }
6381
6382
  });
@@ -6588,7 +6589,7 @@ ${spec}` : "";
6588
6589
  */
6589
6590
  validateListItems(value, itemsSpec, visitedUrls, basePath, depth) {
6590
6591
  const results = [];
6591
- if (!(value instanceof chunkLMGHS2NP_cjs.ListSymbol)) {
6592
+ if (!(value instanceof chunkPXS4WZYB_cjs.ListSymbol)) {
6592
6593
  return results;
6593
6594
  }
6594
6595
  const items = value.value;
@@ -6701,10 +6702,10 @@ ${spec}` : "";
6701
6702
  interpreter.resetSymbolTable();
6702
6703
  interpreter.setReference("input", value);
6703
6704
  const result = interpreter.interpret();
6704
- if (result instanceof chunkLMGHS2NP_cjs.BooleanSymbol && result.value === true) {
6705
+ if (result instanceof chunkPXS4WZYB_cjs.BooleanSymbol && result.value === true) {
6705
6706
  return { valid: true, tokenType };
6706
6707
  }
6707
- if (result instanceof chunkLMGHS2NP_cjs.StringSymbol) {
6708
+ if (result instanceof chunkPXS4WZYB_cjs.StringSymbol) {
6708
6709
  return {
6709
6710
  valid: false,
6710
6711
  error: result.value,
@@ -6731,10 +6732,10 @@ ${spec}` : "";
6731
6732
  * Extract a Map from various symbol types that can contain key-value pairs.
6732
6733
  */
6733
6734
  getValueMap(value) {
6734
- if (value instanceof chunkLMGHS2NP_cjs.DictionarySymbol) {
6735
+ if (value instanceof chunkPXS4WZYB_cjs.DictionarySymbol) {
6735
6736
  return value.value;
6736
6737
  }
6737
- if (value instanceof chunkLMGHS2NP_cjs.TokenSymbol && value.value instanceof Map) {
6738
+ if (value instanceof chunkPXS4WZYB_cjs.TokenSymbol && value.value instanceof Map) {
6738
6739
  return value.value;
6739
6740
  }
6740
6741
  return null;
@@ -6846,8 +6847,8 @@ var _UnitManager = class _UnitManager extends BaseManager {
6846
6847
  const fn = /* @__PURE__ */ chunkLEYHQJTL_cjs.__name((unit) => {
6847
6848
  const config = this.createInterpreterConfig({ input: unit });
6848
6849
  const result = new Interpreter(ast, config).interpret();
6849
- if (!(result instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol)) {
6850
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6850
+ if (!(result instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol)) {
6851
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6851
6852
  data: { error: "Unit conversion function must return a NumberWithUnitSymbol" }
6852
6853
  });
6853
6854
  }
@@ -6886,16 +6887,16 @@ ${spec}` : "";
6886
6887
  convertTo(unit, targetUri) {
6887
6888
  const sourceUri = this.getUriByKeyword(unit.unit);
6888
6889
  if (!sourceUri) {
6889
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
6890
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
6890
6891
  data: { unit: unit.unit }
6891
6892
  });
6892
6893
  }
6893
6894
  try {
6894
6895
  return this.convertThroughPath(unit, sourceUri, targetUri);
6895
6896
  } catch (error) {
6896
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6897
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6897
6898
  data: {
6898
- error: chunkLMGHS2NP_cjs.isLanguageError(error) ? error : chunkLMGHS2NP_cjs.serializeError(error)
6899
+ error: chunkPXS4WZYB_cjs.isLanguageError(error) ? error : chunkPXS4WZYB_cjs.serializeError(error)
6899
6900
  }
6900
6901
  });
6901
6902
  }
@@ -6903,7 +6904,7 @@ ${spec}` : "";
6903
6904
  isOneNumberRelative(inputs) {
6904
6905
  let relativeCount = 0;
6905
6906
  for (const input of inputs) {
6906
- if (input instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
6907
+ if (input instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
6907
6908
  const spec = this.getSpecByKeyword(input.unit);
6908
6909
  if (spec?.type === "relative") {
6909
6910
  relativeCount++;
@@ -6914,14 +6915,14 @@ ${spec}` : "";
6914
6915
  }
6915
6916
  convertRelative(numbers) {
6916
6917
  if (numbers.length !== 2) {
6917
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_RELATIVE_REQUIRES_TWO_NUMBERS" /* RELATIVE_REQUIRES_TWO_NUMBERS */);
6918
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_RELATIVE_REQUIRES_TWO_NUMBERS" /* RELATIVE_REQUIRES_TWO_NUMBERS */);
6918
6919
  }
6919
6920
  let relativeNum = null;
6920
6921
  let baseNum = null;
6921
6922
  let relativeIndex = -1;
6922
6923
  for (let i = 0; i < numbers.length; i++) {
6923
6924
  const num = numbers[i];
6924
- if (num instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
6925
+ if (num instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
6925
6926
  const spec2 = this.getSpecByKeyword(num.unit);
6926
6927
  if (spec2?.type === "relative") {
6927
6928
  if (relativeNum !== null) {
@@ -6941,13 +6942,13 @@ ${spec}` : "";
6941
6942
  }
6942
6943
  const spec = this.getSpecByKeyword(relativeNum.unit);
6943
6944
  if (!spec?.to_absolute) {
6944
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_NO_TO_ABSOLUTE_SCRIPT" /* NO_TO_ABSOLUTE_SCRIPT */, {
6945
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_NO_TO_ABSOLUTE_SCRIPT" /* NO_TO_ABSOLUTE_SCRIPT */, {
6945
6946
  data: { unit: relativeNum.unit }
6946
6947
  });
6947
6948
  }
6948
6949
  const { ast } = parseExpression(spec.to_absolute.script);
6949
- const relativeValueSymbol = new chunkLMGHS2NP_cjs.NumberSymbol(relativeNum.value);
6950
- const otherValueSymbol = new chunkLMGHS2NP_cjs.NumberSymbol(baseNum.value);
6950
+ const relativeValueSymbol = new chunkPXS4WZYB_cjs.NumberSymbol(relativeNum.value);
6951
+ const otherValueSymbol = new chunkPXS4WZYB_cjs.NumberSymbol(baseNum.value);
6951
6952
  const result = new Interpreter(ast, {
6952
6953
  references: {
6953
6954
  relative_value: relativeValueSymbol,
@@ -6955,21 +6956,21 @@ ${spec}` : "";
6955
6956
  }
6956
6957
  }).interpret();
6957
6958
  let convertedValue;
6958
- if (result instanceof chunkLMGHS2NP_cjs.NumberSymbol) {
6959
+ if (result instanceof chunkPXS4WZYB_cjs.NumberSymbol) {
6959
6960
  convertedValue = result.value;
6960
6961
  } else if (typeof result === "number") {
6961
6962
  convertedValue = result;
6962
6963
  } else {
6963
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_TO_ABSOLUTE_MUST_RETURN_NUMBER" /* TO_ABSOLUTE_MUST_RETURN_NUMBER */);
6964
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_TO_ABSOLUTE_MUST_RETURN_NUMBER" /* TO_ABSOLUTE_MUST_RETURN_NUMBER */);
6964
6965
  }
6965
6966
  if (Number.isInteger(convertedValue)) {
6966
6967
  convertedValue = Math.trunc(convertedValue);
6967
6968
  }
6968
6969
  let convertedNum;
6969
- if (baseNum instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol) {
6970
- convertedNum = new chunkLMGHS2NP_cjs.NumberWithUnitSymbol(convertedValue, baseNum.unit);
6970
+ if (baseNum instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol) {
6971
+ convertedNum = new chunkPXS4WZYB_cjs.NumberWithUnitSymbol(convertedValue, baseNum.unit);
6971
6972
  } else {
6972
- convertedNum = new chunkLMGHS2NP_cjs.NumberSymbol(convertedValue);
6973
+ convertedNum = new chunkPXS4WZYB_cjs.NumberSymbol(convertedValue);
6973
6974
  }
6974
6975
  const resultNumbers = [...numbers];
6975
6976
  resultNumbers[relativeIndex] = convertedNum;
@@ -6980,7 +6981,7 @@ ${spec}` : "";
6980
6981
  return [];
6981
6982
  }
6982
6983
  const numberWithUnits = inputs.filter(
6983
- (inp) => inp instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol
6984
+ (inp) => inp instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol
6984
6985
  );
6985
6986
  if (numberWithUnits.length < 1) {
6986
6987
  return inputs;
@@ -6988,7 +6989,7 @@ ${spec}` : "";
6988
6989
  const isRelative = this.isOneNumberRelative(inputs);
6989
6990
  if (isRelative) {
6990
6991
  if (inputs.length > 2) {
6991
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_CANNOT_CONVERT_MULTIPLE_RELATIVE" /* CANNOT_CONVERT_MULTIPLE_RELATIVE */);
6992
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_CANNOT_CONVERT_MULTIPLE_RELATIVE" /* CANNOT_CONVERT_MULTIPLE_RELATIVE */);
6992
6993
  }
6993
6994
  return this.convertRelative(inputs);
6994
6995
  }
@@ -7000,7 +7001,7 @@ ${spec}` : "";
7000
7001
  conversionResults[unitUri] = [];
7001
7002
  let canConvert = true;
7002
7003
  for (const inp of inputs) {
7003
- if (!(inp instanceof chunkLMGHS2NP_cjs.NumberWithUnitSymbol)) {
7004
+ if (!(inp instanceof chunkPXS4WZYB_cjs.NumberWithUnitSymbol)) {
7004
7005
  conversionResults[unitUri].push(inp);
7005
7006
  continue;
7006
7007
  }
@@ -7034,7 +7035,7 @@ ${spec}` : "";
7034
7035
  maxPerUri[uri] = maxValue;
7035
7036
  }
7036
7037
  if (Object.keys(maxPerUri).length === 0) {
7037
- throw new chunkLMGHS2NP_cjs.InterpreterError("UNIT_NO_VALID_CONVERSION_PATH" /* NO_VALID_CONVERSION_PATH */);
7038
+ throw new chunkPXS4WZYB_cjs.InterpreterError("UNIT_NO_VALID_CONVERSION_PATH" /* NO_VALID_CONVERSION_PATH */);
7038
7039
  }
7039
7040
  const commonUnitUri = Object.keys(maxPerUri).reduce(
7040
7041
  (a, b) => maxPerUri[a] > maxPerUri[b] ? a : b
@@ -7078,17 +7079,17 @@ var _Config = class _Config {
7078
7079
  if (lowerBaseType === "color") {
7079
7080
  if (subType) {
7080
7081
  if (!this.colorManager.getSpecByType(subType)) {
7081
- throw new chunkLMGHS2NP_cjs.InterpreterError("CFG_NO_SPEC_FOUND" /* NO_SPEC_FOUND */, {
7082
+ throw new chunkPXS4WZYB_cjs.InterpreterError("CFG_NO_SPEC_FOUND" /* NO_SPEC_FOUND */, {
7082
7083
  data: { specName: subType }
7083
7084
  });
7084
7085
  }
7085
- return new chunkLMGHS2NP_cjs.ColorSymbol(null, subType, null, this);
7086
+ return new chunkPXS4WZYB_cjs.ColorSymbol(null, subType, null, this);
7086
7087
  }
7087
- return new chunkLMGHS2NP_cjs.ColorSymbol(null, void 0, null, this);
7088
+ return new chunkPXS4WZYB_cjs.ColorSymbol(null, void 0, null, this);
7088
7089
  }
7089
- const basicSymbolConstructor = chunkLMGHS2NP_cjs.basicSymbolTypes[baseType.toLowerCase()];
7090
+ const basicSymbolConstructor = chunkPXS4WZYB_cjs.basicSymbolTypes[baseType.toLowerCase()];
7090
7091
  if (!basicSymbolConstructor) {
7091
- throw new chunkLMGHS2NP_cjs.InterpreterError("CFG_NO_TYPE_FOUND" /* NO_TYPE_FOUND */, {
7092
+ throw new chunkPXS4WZYB_cjs.InterpreterError("CFG_NO_TYPE_FOUND" /* NO_TYPE_FOUND */, {
7092
7093
  data: { typeName: baseType }
7093
7094
  });
7094
7095
  }
@@ -7101,7 +7102,7 @@ var _Config = class _Config {
7101
7102
  return true;
7102
7103
  }
7103
7104
  if (subType) return false;
7104
- return !!chunkLMGHS2NP_cjs.basicSymbolTypes[lowerBaseType];
7105
+ return !!chunkPXS4WZYB_cjs.basicSymbolTypes[lowerBaseType];
7105
7106
  }
7106
7107
  get inlineConstants() {
7107
7108
  return this._inlineConstants;
@@ -7171,9 +7172,9 @@ function evaluateExpression(expression, options = {}) {
7171
7172
  const result = interpreter.interpret();
7172
7173
  return {
7173
7174
  success: true,
7174
- result: chunkLMGHS2NP_cjs.serializeInterpreterResult(result),
7175
- resultString: chunkLMGHS2NP_cjs.stringifyInterpreterResult(result),
7176
- type: chunkLMGHS2NP_cjs.isTokenscriptSymbol(result) ? result.getTypeName() : chunkLMGHS2NP_cjs.getResultTypeName(result),
7175
+ result: chunkPXS4WZYB_cjs.serializeInterpreterResult(result),
7176
+ resultString: chunkPXS4WZYB_cjs.stringifyInterpreterResult(result),
7177
+ type: chunkPXS4WZYB_cjs.isTokenscriptSymbol(result) ? result.getTypeName() : chunkPXS4WZYB_cjs.getResultTypeName(result),
7177
7178
  executionTime: performance.now() - startTime
7178
7179
  };
7179
7180
  } catch (error) {
@@ -7307,5 +7308,5 @@ exports.tokenizeTolerantly = tokenizeTolerantly;
7307
7308
  exports.validateTokenName = validateTokenName;
7308
7309
  exports.validateTokenPath = validateTokenPath;
7309
7310
  exports.walkAST = walkAST;
7310
- //# sourceMappingURL=chunk-IQ5YGWZK.cjs.map
7311
- //# sourceMappingURL=chunk-IQ5YGWZK.cjs.map
7311
+ //# sourceMappingURL=chunk-XHA2RNU7.cjs.map
7312
+ //# sourceMappingURL=chunk-XHA2RNU7.cjs.map