@tokens-studio/tokenscript-interpreter 0.36.4 → 0.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/chunk-3D6X7EAK.js +6605 -0
  2. package/dist/chunk-3D6X7EAK.js.map +1 -0
  3. package/dist/chunk-6KHDVYST.js +6616 -0
  4. package/dist/chunk-6KHDVYST.js.map +1 -0
  5. package/dist/chunk-6MXPTXGR.js +6591 -0
  6. package/dist/chunk-6MXPTXGR.js.map +1 -0
  7. package/dist/chunk-EM64RW7I.js +6592 -0
  8. package/dist/chunk-EM64RW7I.js.map +1 -0
  9. package/dist/chunk-H7YXFZ4I.js +6605 -0
  10. package/dist/chunk-H7YXFZ4I.js.map +1 -0
  11. package/dist/chunk-Z437BNC5.js +107 -0
  12. package/dist/chunk-Z437BNC5.js.map +1 -0
  13. package/dist/cli.js +149 -16
  14. package/dist/cli.js.map +1 -1
  15. package/dist/compliance-suite.js +3 -5
  16. package/dist/compliance-suite.js.map +1 -1
  17. package/dist/config-B-kbeoff.d.ts +927 -0
  18. package/dist/config-Mw_Iq324.d.ts +921 -0
  19. package/dist/lib/{chunk-S7WGJBSX.js → chunk-24FMHL6W.js} +16 -3
  20. package/dist/lib/chunk-24FMHL6W.js.map +1 -0
  21. package/dist/lib/{chunk-2BDFE7U4.js → chunk-4L54VFWU.js} +132 -15
  22. package/dist/lib/chunk-4L54VFWU.js.map +1 -0
  23. package/dist/lib/{chunk-UF6I25ED.cjs → chunk-KX5QZ5G2.cjs} +685 -567
  24. package/dist/lib/chunk-KX5QZ5G2.cjs.map +1 -0
  25. package/dist/lib/{chunk-K65UI6KX.cjs → chunk-OABJLZRZ.cjs} +113 -100
  26. package/dist/lib/chunk-OABJLZRZ.cjs.map +1 -0
  27. package/dist/lib/{chunk-AEOBCHBK.js → chunk-SLITBMFB.js} +10 -3
  28. package/dist/lib/chunk-SLITBMFB.js.map +1 -0
  29. package/dist/lib/{chunk-KHF2VXWO.cjs → chunk-ZMMIYWFF.cjs} +10 -2
  30. package/dist/lib/chunk-ZMMIYWFF.cjs.map +1 -0
  31. package/dist/lib/index.cjs +99 -91
  32. package/dist/lib/index.d.cts +4 -4
  33. package/dist/lib/index.d.ts +4 -4
  34. package/dist/lib/index.js +3 -3
  35. package/dist/lib/{interpreter-DdF_Hj-J.d.ts → interpreter-B7BcLEBz.d.cts} +54 -4
  36. package/dist/lib/{interpreter-Cz_vWDDa.d.cts → interpreter-wKto6JTb.d.ts} +54 -4
  37. package/dist/lib/interpreter.cjs +81 -73
  38. package/dist/lib/interpreter.d.cts +7 -6
  39. package/dist/lib/interpreter.d.ts +7 -6
  40. package/dist/lib/interpreter.js +3 -3
  41. package/dist/lib/processor-node.cjs +12 -12
  42. package/dist/lib/processor-node.d.cts +3 -3
  43. package/dist/lib/processor-node.d.ts +3 -3
  44. package/dist/lib/processor-node.js +3 -3
  45. package/dist/lib/processor.cjs +17 -17
  46. package/dist/lib/processor.d.cts +4 -4
  47. package/dist/lib/processor.d.ts +4 -4
  48. package/dist/lib/processor.js +3 -3
  49. package/dist/lib/schema.cjs +5 -5
  50. package/dist/lib/schema.d.cts +1 -1
  51. package/dist/lib/schema.d.ts +1 -1
  52. package/dist/lib/schema.js +3 -3
  53. package/dist/lib/syntax-highlighting.cjs +15 -15
  54. package/dist/lib/syntax-highlighting.d.cts +1 -1
  55. package/dist/lib/syntax-highlighting.d.ts +1 -1
  56. package/dist/lib/syntax-highlighting.js +2 -2
  57. package/dist/lib/{types-DRpZJjkx.d.ts → types-BHcQYEQ-.d.ts} +2 -2
  58. package/dist/lib/{types-CxQPMHn1.d.ts → types-BMYcHiSq.d.cts} +9 -1
  59. package/dist/lib/{types-CxQPMHn1.d.cts → types-BMYcHiSq.d.ts} +9 -1
  60. package/dist/lib/{types-6QQt-XVS.d.cts → types-BOyxzACN.d.cts} +2 -2
  61. package/dist/lib/types.cjs +10 -6
  62. package/dist/lib/types.d.cts +1 -1
  63. package/dist/lib/types.d.ts +1 -1
  64. package/dist/lib/types.js +1 -1
  65. package/dist/processor/index.d.ts +1 -1
  66. package/dist/processor/index.js +18 -2
  67. package/dist/processor/index.js.map +1 -1
  68. package/dist/repl.d.ts +15 -3
  69. package/dist/repl.js +6 -8
  70. package/dist/repl.js.map +1 -1
  71. package/dist/types.d.ts +1 -1
  72. package/dist/types.js +1 -1
  73. package/package.json +1 -1
  74. package/dist/lib/chunk-2BDFE7U4.js.map +0 -1
  75. package/dist/lib/chunk-AEOBCHBK.js.map +0 -1
  76. package/dist/lib/chunk-K65UI6KX.cjs.map +0 -1
  77. package/dist/lib/chunk-KHF2VXWO.cjs.map +0 -1
  78. package/dist/lib/chunk-S7WGJBSX.js.map +0 -1
  79. package/dist/lib/chunk-UF6I25ED.cjs.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkK65UI6KX_cjs = require('./chunk-K65UI6KX.cjs');
4
- var chunkKHF2VXWO_cjs = require('./chunk-KHF2VXWO.cjs');
3
+ var chunkOABJLZRZ_cjs = require('./chunk-OABJLZRZ.cjs');
4
+ var chunkZMMIYWFF_cjs = require('./chunk-ZMMIYWFF.cjs');
5
5
  var schemaValidation = require('@tokens-studio/schema-validation');
6
6
 
7
7
  // src/interpreter/tolerant/partial-nodes.ts
@@ -12,7 +12,7 @@ var _PartialReferenceNode = class _PartialReferenceNode {
12
12
  this.nodeType = "PartialReferenceNode";
13
13
  }
14
14
  };
15
- chunkKHF2VXWO_cjs.__name(_PartialReferenceNode, "PartialReferenceNode");
15
+ chunkZMMIYWFF_cjs.__name(_PartialReferenceNode, "PartialReferenceNode");
16
16
  var PartialReferenceNode = _PartialReferenceNode;
17
17
  var _PartialStringNode = class _PartialStringNode {
18
18
  constructor(partialValue, quoteType, token) {
@@ -22,7 +22,7 @@ var _PartialStringNode = class _PartialStringNode {
22
22
  this.nodeType = "PartialStringNode";
23
23
  }
24
24
  };
25
- chunkKHF2VXWO_cjs.__name(_PartialStringNode, "PartialStringNode");
25
+ chunkZMMIYWFF_cjs.__name(_PartialStringNode, "PartialStringNode");
26
26
  var PartialStringNode = _PartialStringNode;
27
27
  var _PartialFunctionCallNode = class _PartialFunctionCallNode {
28
28
  constructor(name, args, token) {
@@ -32,7 +32,7 @@ var _PartialFunctionCallNode = class _PartialFunctionCallNode {
32
32
  this.nodeType = "PartialFunctionCallNode";
33
33
  }
34
34
  };
35
- chunkKHF2VXWO_cjs.__name(_PartialFunctionCallNode, "PartialFunctionCallNode");
35
+ chunkZMMIYWFF_cjs.__name(_PartialFunctionCallNode, "PartialFunctionCallNode");
36
36
  var PartialFunctionCallNode = _PartialFunctionCallNode;
37
37
  var _PartialBinOpNode = class _PartialBinOpNode {
38
38
  constructor(left, opToken) {
@@ -45,7 +45,7 @@ var _PartialBinOpNode = class _PartialBinOpNode {
45
45
  return this.opToken.value;
46
46
  }
47
47
  };
48
- chunkKHF2VXWO_cjs.__name(_PartialBinOpNode, "PartialBinOpNode");
48
+ chunkZMMIYWFF_cjs.__name(_PartialBinOpNode, "PartialBinOpNode");
49
49
  var PartialBinOpNode = _PartialBinOpNode;
50
50
  var _PartialUnaryOpNode = class _PartialUnaryOpNode {
51
51
  constructor(opToken) {
@@ -57,7 +57,7 @@ var _PartialUnaryOpNode = class _PartialUnaryOpNode {
57
57
  return this.opToken.value;
58
58
  }
59
59
  };
60
- chunkKHF2VXWO_cjs.__name(_PartialUnaryOpNode, "PartialUnaryOpNode");
60
+ chunkZMMIYWFF_cjs.__name(_PartialUnaryOpNode, "PartialUnaryOpNode");
61
61
  var PartialUnaryOpNode = _PartialUnaryOpNode;
62
62
  var _PartialParenNode = class _PartialParenNode {
63
63
  constructor(expr, token) {
@@ -66,7 +66,7 @@ var _PartialParenNode = class _PartialParenNode {
66
66
  this.nodeType = "PartialParenNode";
67
67
  }
68
68
  };
69
- chunkKHF2VXWO_cjs.__name(_PartialParenNode, "PartialParenNode");
69
+ chunkZMMIYWFF_cjs.__name(_PartialParenNode, "PartialParenNode");
70
70
  var PartialParenNode = _PartialParenNode;
71
71
 
72
72
  // src/interpreter/ast.ts
@@ -83,7 +83,7 @@ var _BinOpNode = class _BinOpNode {
83
83
  return this.opToken.value;
84
84
  }
85
85
  };
86
- chunkKHF2VXWO_cjs.__name(_BinOpNode, "BinOpNode");
86
+ chunkZMMIYWFF_cjs.__name(_BinOpNode, "BinOpNode");
87
87
  var BinOpNode = _BinOpNode;
88
88
  var _NumNode = class _NumNode {
89
89
  constructor(token) {
@@ -96,7 +96,7 @@ var _NumNode = class _NumNode {
96
96
  }
97
97
  }
98
98
  };
99
- chunkKHF2VXWO_cjs.__name(_NumNode, "NumNode");
99
+ chunkZMMIYWFF_cjs.__name(_NumNode, "NumNode");
100
100
  var NumNode = _NumNode;
101
101
  var _StringNode = class _StringNode {
102
102
  constructor(token) {
@@ -105,7 +105,7 @@ var _StringNode = class _StringNode {
105
105
  this.value = token.value;
106
106
  }
107
107
  };
108
- chunkKHF2VXWO_cjs.__name(_StringNode, "StringNode");
108
+ chunkZMMIYWFF_cjs.__name(_StringNode, "StringNode");
109
109
  var StringNode = _StringNode;
110
110
  var _TemplateStringNode = class _TemplateStringNode {
111
111
  constructor(parts, token) {
@@ -114,7 +114,7 @@ var _TemplateStringNode = class _TemplateStringNode {
114
114
  this.nodeType = "TemplateStringNode";
115
115
  }
116
116
  };
117
- chunkKHF2VXWO_cjs.__name(_TemplateStringNode, "TemplateStringNode");
117
+ chunkZMMIYWFF_cjs.__name(_TemplateStringNode, "TemplateStringNode");
118
118
  var TemplateStringNode = _TemplateStringNode;
119
119
  var _UnaryOpNode = class _UnaryOpNode {
120
120
  constructor(opToken, expr, token) {
@@ -128,7 +128,7 @@ var _UnaryOpNode = class _UnaryOpNode {
128
128
  return this.opToken.value;
129
129
  }
130
130
  };
131
- chunkKHF2VXWO_cjs.__name(_UnaryOpNode, "UnaryOpNode");
131
+ chunkZMMIYWFF_cjs.__name(_UnaryOpNode, "UnaryOpNode");
132
132
  var UnaryOpNode = _UnaryOpNode;
133
133
  var _ListNode = class _ListNode {
134
134
  constructor(elements, token) {
@@ -137,7 +137,7 @@ var _ListNode = class _ListNode {
137
137
  this.nodeType = "ListNode";
138
138
  }
139
139
  };
140
- chunkKHF2VXWO_cjs.__name(_ListNode, "ListNode");
140
+ chunkZMMIYWFF_cjs.__name(_ListNode, "ListNode");
141
141
  var ListNode = _ListNode;
142
142
  var _ImplicitListNode = class _ImplicitListNode extends ListNode {
143
143
  constructor(elements, token) {
@@ -148,7 +148,7 @@ var _ImplicitListNode = class _ImplicitListNode extends ListNode {
148
148
  this.isImplicit = true;
149
149
  }
150
150
  };
151
- chunkKHF2VXWO_cjs.__name(_ImplicitListNode, "ImplicitListNode");
151
+ chunkZMMIYWFF_cjs.__name(_ImplicitListNode, "ImplicitListNode");
152
152
  var ImplicitListNode = _ImplicitListNode;
153
153
  var _FunctionCallNode = class _FunctionCallNode {
154
154
  constructor(nameTokenValue, args, token) {
@@ -158,7 +158,7 @@ var _FunctionCallNode = class _FunctionCallNode {
158
158
  this.name = nameTokenValue;
159
159
  }
160
160
  };
161
- chunkKHF2VXWO_cjs.__name(_FunctionCallNode, "FunctionCallNode");
161
+ chunkZMMIYWFF_cjs.__name(_FunctionCallNode, "FunctionCallNode");
162
162
  var FunctionCallNode = _FunctionCallNode;
163
163
  var _NoOpNode = class _NoOpNode {
164
164
  constructor(token) {
@@ -166,7 +166,7 @@ var _NoOpNode = class _NoOpNode {
166
166
  this.nodeType = "NoOpNode";
167
167
  }
168
168
  };
169
- chunkKHF2VXWO_cjs.__name(_NoOpNode, "NoOpNode");
169
+ chunkZMMIYWFF_cjs.__name(_NoOpNode, "NoOpNode");
170
170
  var NoOpNode = _NoOpNode;
171
171
  var _ReferenceNode = class _ReferenceNode {
172
172
  constructor(token) {
@@ -175,7 +175,7 @@ var _ReferenceNode = class _ReferenceNode {
175
175
  this.value = token.value;
176
176
  }
177
177
  };
178
- chunkKHF2VXWO_cjs.__name(_ReferenceNode, "ReferenceNode");
178
+ chunkZMMIYWFF_cjs.__name(_ReferenceNode, "ReferenceNode");
179
179
  var ReferenceNode = _ReferenceNode;
180
180
  var _IdentifierNode = class _IdentifierNode {
181
181
  constructor(token) {
@@ -184,7 +184,7 @@ var _IdentifierNode = class _IdentifierNode {
184
184
  this.name = token.value;
185
185
  }
186
186
  };
187
- chunkKHF2VXWO_cjs.__name(_IdentifierNode, "IdentifierNode");
187
+ chunkZMMIYWFF_cjs.__name(_IdentifierNode, "IdentifierNode");
188
188
  var IdentifierNode = _IdentifierNode;
189
189
  var _HexColorNode = class _HexColorNode {
190
190
  constructor(token) {
@@ -193,7 +193,7 @@ var _HexColorNode = class _HexColorNode {
193
193
  this.value = token.value;
194
194
  }
195
195
  };
196
- chunkKHF2VXWO_cjs.__name(_HexColorNode, "HexColorNode");
196
+ chunkZMMIYWFF_cjs.__name(_HexColorNode, "HexColorNode");
197
197
  var HexColorNode = _HexColorNode;
198
198
  var _BooleanNode = class _BooleanNode {
199
199
  constructor(value, token) {
@@ -202,7 +202,7 @@ var _BooleanNode = class _BooleanNode {
202
202
  this.nodeType = "BooleanNode";
203
203
  }
204
204
  };
205
- chunkKHF2VXWO_cjs.__name(_BooleanNode, "BooleanNode");
205
+ chunkZMMIYWFF_cjs.__name(_BooleanNode, "BooleanNode");
206
206
  var BooleanNode = _BooleanNode;
207
207
  var _NullNode = class _NullNode {
208
208
  constructor(token) {
@@ -210,7 +210,7 @@ var _NullNode = class _NullNode {
210
210
  this.nodeType = "NullNode";
211
211
  }
212
212
  };
213
- chunkKHF2VXWO_cjs.__name(_NullNode, "NullNode");
213
+ chunkZMMIYWFF_cjs.__name(_NullNode, "NullNode");
214
214
  var NullNode = _NullNode;
215
215
  var _ElementWithUnitNode = class _ElementWithUnitNode {
216
216
  constructor(astNode, unitTokenValue, token) {
@@ -220,7 +220,7 @@ var _ElementWithUnitNode = class _ElementWithUnitNode {
220
220
  this.unit = unitTokenValue;
221
221
  }
222
222
  };
223
- chunkKHF2VXWO_cjs.__name(_ElementWithUnitNode, "ElementWithUnitNode");
223
+ chunkZMMIYWFF_cjs.__name(_ElementWithUnitNode, "ElementWithUnitNode");
224
224
  var ElementWithUnitNode = _ElementWithUnitNode;
225
225
  var _AssignNode = class _AssignNode {
226
226
  constructor(varName, typeDecl, assignmentExpr, token) {
@@ -231,7 +231,7 @@ var _AssignNode = class _AssignNode {
231
231
  this.nodeType = "AssignNode";
232
232
  }
233
233
  };
234
- chunkKHF2VXWO_cjs.__name(_AssignNode, "AssignNode");
234
+ chunkZMMIYWFF_cjs.__name(_AssignNode, "AssignNode");
235
235
  var AssignNode = _AssignNode;
236
236
  var _TypeDeclNode = class _TypeDeclNode {
237
237
  // baseType: e.g. "Color", "List"
@@ -250,10 +250,10 @@ var _TypeDeclNode = class _TypeDeclNode {
250
250
  return typeStr;
251
251
  }
252
252
  };
253
- chunkKHF2VXWO_cjs.__name(_TypeDeclNode, "TypeDeclNode");
253
+ chunkZMMIYWFF_cjs.__name(_TypeDeclNode, "TypeDeclNode");
254
254
  var TypeDeclNode = _TypeDeclNode;
255
- var attributesToString = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((attrs) => attrs.join("."), "attributesToString");
256
- var identifiersChainToString = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((attrs) => attributesToString(attrs.map((x) => x.name)), "identifiersChainToString");
255
+ var attributesToString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((attrs) => attrs.join("."), "attributesToString");
256
+ var identifiersChainToString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((attrs) => attributesToString(attrs.map((x) => x.name)), "identifiersChainToString");
257
257
  var _ReassignNode = class _ReassignNode {
258
258
  constructor(identifier, value, token) {
259
259
  this.identifier = identifier;
@@ -282,7 +282,7 @@ var _ReassignNode = class _ReassignNode {
282
282
  return this.attributesChain().map((x) => x.name);
283
283
  }
284
284
  };
285
- chunkKHF2VXWO_cjs.__name(_ReassignNode, "ReassignNode");
285
+ chunkZMMIYWFF_cjs.__name(_ReassignNode, "ReassignNode");
286
286
  var ReassignNode = _ReassignNode;
287
287
  var _ReturnNode = class _ReturnNode {
288
288
  constructor(expr, token) {
@@ -291,7 +291,7 @@ var _ReturnNode = class _ReturnNode {
291
291
  this.nodeType = "ReturnNode";
292
292
  }
293
293
  };
294
- chunkKHF2VXWO_cjs.__name(_ReturnNode, "ReturnNode");
294
+ chunkZMMIYWFF_cjs.__name(_ReturnNode, "ReturnNode");
295
295
  var ReturnNode = _ReturnNode;
296
296
  var _WhileNode = class _WhileNode {
297
297
  constructor(condition, body, token) {
@@ -301,7 +301,7 @@ var _WhileNode = class _WhileNode {
301
301
  this.nodeType = "WhileNode";
302
302
  }
303
303
  };
304
- chunkKHF2VXWO_cjs.__name(_WhileNode, "WhileNode");
304
+ chunkZMMIYWFF_cjs.__name(_WhileNode, "WhileNode");
305
305
  var WhileNode = _WhileNode;
306
306
  var _ForEachNode = class _ForEachNode {
307
307
  constructor(itemVar, indexVar, collection, body, token) {
@@ -313,7 +313,7 @@ var _ForEachNode = class _ForEachNode {
313
313
  this.nodeType = "ForEachNode";
314
314
  }
315
315
  };
316
- chunkKHF2VXWO_cjs.__name(_ForEachNode, "ForEachNode");
316
+ chunkZMMIYWFF_cjs.__name(_ForEachNode, "ForEachNode");
317
317
  var ForEachNode = _ForEachNode;
318
318
  var _IfConditionNode = class _IfConditionNode {
319
319
  constructor(condition, body, token) {
@@ -323,7 +323,7 @@ var _IfConditionNode = class _IfConditionNode {
323
323
  this.nodeType = "IfConditionNode";
324
324
  }
325
325
  };
326
- chunkKHF2VXWO_cjs.__name(_IfConditionNode, "IfConditionNode");
326
+ chunkZMMIYWFF_cjs.__name(_IfConditionNode, "IfConditionNode");
327
327
  var IfConditionNode = _IfConditionNode;
328
328
  var _IfNode = class _IfNode {
329
329
  constructor(conditions, elseBody, token) {
@@ -333,7 +333,7 @@ var _IfNode = class _IfNode {
333
333
  this.nodeType = "IfNode";
334
334
  }
335
335
  };
336
- chunkKHF2VXWO_cjs.__name(_IfNode, "IfNode");
336
+ chunkZMMIYWFF_cjs.__name(_IfNode, "IfNode");
337
337
  var IfNode = _IfNode;
338
338
  var _BlockNode = class _BlockNode {
339
339
  constructor(statements, token) {
@@ -343,7 +343,7 @@ var _BlockNode = class _BlockNode {
343
343
  this.nodeType = "BlockNode";
344
344
  }
345
345
  };
346
- chunkKHF2VXWO_cjs.__name(_BlockNode, "BlockNode");
346
+ chunkZMMIYWFF_cjs.__name(_BlockNode, "BlockNode");
347
347
  var BlockNode = _BlockNode;
348
348
  var _StatementListNode = class _StatementListNode {
349
349
  constructor(statements, token) {
@@ -352,7 +352,7 @@ var _StatementListNode = class _StatementListNode {
352
352
  this.nodeType = "StatementListNode";
353
353
  }
354
354
  };
355
- chunkKHF2VXWO_cjs.__name(_StatementListNode, "StatementListNode");
355
+ chunkZMMIYWFF_cjs.__name(_StatementListNode, "StatementListNode");
356
356
  var StatementListNode = _StatementListNode;
357
357
  var _AttributeAccessNode = class _AttributeAccessNode {
358
358
  // 'left' is the object, 'right' is the attribute (IdentifierNode) or method (FunctionCallNode)
@@ -364,7 +364,7 @@ var _AttributeAccessNode = class _AttributeAccessNode {
364
364
  this.nodeType = "AttributeAccessNode";
365
365
  }
366
366
  };
367
- chunkKHF2VXWO_cjs.__name(_AttributeAccessNode, "AttributeAccessNode");
367
+ chunkZMMIYWFF_cjs.__name(_AttributeAccessNode, "AttributeAccessNode");
368
368
  var AttributeAccessNode = _AttributeAccessNode;
369
369
  function walkAST(node, onVisit) {
370
370
  onVisit(node);
@@ -432,7 +432,7 @@ function walkAST(node, onVisit) {
432
432
  walkAST(node.expr, onVisit);
433
433
  }
434
434
  }
435
- chunkKHF2VXWO_cjs.__name(walkAST, "walkAST");
435
+ chunkZMMIYWFF_cjs.__name(walkAST, "walkAST");
436
436
  function filterAST(ast, predicate) {
437
437
  const results = [];
438
438
  walkAST(ast, (node) => {
@@ -442,7 +442,7 @@ function filterAST(ast, predicate) {
442
442
  });
443
443
  return results;
444
444
  }
445
- chunkKHF2VXWO_cjs.__name(filterAST, "filterAST");
445
+ chunkZMMIYWFF_cjs.__name(filterAST, "filterAST");
446
446
  function collectReferenceNodes(ast, targetName) {
447
447
  if (targetName) {
448
448
  return filterAST(
@@ -452,7 +452,7 @@ function collectReferenceNodes(ast, targetName) {
452
452
  }
453
453
  return filterAST(ast, (node) => node instanceof ReferenceNode);
454
454
  }
455
- chunkKHF2VXWO_cjs.__name(collectReferenceNodes, "collectReferenceNodes");
455
+ chunkZMMIYWFF_cjs.__name(collectReferenceNodes, "collectReferenceNodes");
456
456
 
457
457
  // src/interpreter/utils/references.ts
458
458
  function renameReferences(originalValue, ast, renameMap) {
@@ -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 (chunkK65UI6KX_cjs.isSome(ref.token.pos) && chunkK65UI6KX_cjs.isSome(ref.token.endPos)) {
463
+ if (chunkOABJLZRZ_cjs.isSome(ref.token.pos) && chunkOABJLZRZ_cjs.isSome(ref.token.endPos)) {
464
464
  positions.push({
465
465
  start: ref.token.pos,
466
466
  end: ref.token.endPos,
@@ -477,15 +477,15 @@ function renameReferences(originalValue, ast, renameMap) {
477
477
  }
478
478
  return result;
479
479
  }
480
- chunkKHF2VXWO_cjs.__name(renameReferences, "renameReferences");
480
+ chunkZMMIYWFF_cjs.__name(renameReferences, "renameReferences");
481
481
 
482
482
  // src/interpreter/lexer.ts
483
483
  var SUPPORTED_FORMAT_STRINGS = {};
484
- for (const val of Object.values(chunkKHF2VXWO_cjs.SupportedFormats)) {
484
+ for (const val of Object.values(chunkZMMIYWFF_cjs.SupportedFormats)) {
485
485
  SUPPORTED_FORMAT_STRINGS[val.toLowerCase()] = val;
486
486
  }
487
487
  var RESERVED_KEYWORD_STRINGS = {};
488
- for (const val of Object.values(chunkKHF2VXWO_cjs.ReservedKeyword)) {
488
+ for (const val of Object.values(chunkZMMIYWFF_cjs.ReservedKeyword)) {
489
489
  RESERVED_KEYWORD_STRINGS[val.toLowerCase()] = val;
490
490
  }
491
491
  var _Lexer = class _Lexer {
@@ -506,6 +506,7 @@ var _Lexer = class _Lexer {
506
506
  this.text = text;
507
507
  this.currentChar = this.pos < this.text.length ? this.text[this.pos] : null;
508
508
  this.tolerant = options?.tolerant ?? false;
509
+ this.greedyStrings = options?.greedyStrings ?? false;
509
510
  }
510
511
  /**
511
512
  * Check if a FORMAT token (unit suffix) is valid at the given position.
@@ -516,7 +517,7 @@ var _Lexer = class _Lexer {
516
517
  return this._lastUnitableToken !== null && this._lastUnitableToken.endPos === startPos;
517
518
  }
518
519
  error(code, data) {
519
- throw new chunkK65UI6KX_cjs.LexerError(code, {
520
+ throw new chunkOABJLZRZ_cjs.LexerError(code, {
520
521
  line: this.line,
521
522
  data
522
523
  });
@@ -544,7 +545,7 @@ var _Lexer = class _Lexer {
544
545
  return this.text[this.pos + n] ?? null;
545
546
  }
546
547
  skipWhitespace() {
547
- while (chunkK65UI6KX_cjs.isSpace(this.currentChar)) {
548
+ while (chunkOABJLZRZ_cjs.isSpace(this.currentChar)) {
548
549
  this.advance();
549
550
  }
550
551
  }
@@ -566,9 +567,9 @@ var _Lexer = class _Lexer {
566
567
  if (this.currentChar === ".") {
567
568
  result += "0";
568
569
  }
569
- while (chunkK65UI6KX_cjs.isNumber2(this.currentChar) || this.currentChar === ".") {
570
+ while (chunkOABJLZRZ_cjs.isNumber2(this.currentChar) || this.currentChar === ".") {
570
571
  if (this.currentChar === ".") {
571
- if (!chunkK65UI6KX_cjs.isNumber2(this.peek())) {
572
+ if (!chunkOABJLZRZ_cjs.isNumber2(this.peek())) {
572
573
  break;
573
574
  }
574
575
  if (hasDecimalPoint) {
@@ -594,11 +595,11 @@ var _Lexer = class _Lexer {
594
595
  // Python like isdigit, that allows numbers starting with '.'
595
596
  isDigit() {
596
597
  if (this.currentChar === null) return false;
597
- return chunkK65UI6KX_cjs.isNumber2(this.currentChar) || this.currentChar === "." && chunkK65UI6KX_cjs.isNumber2(this.peek());
598
+ return chunkOABJLZRZ_cjs.isNumber2(this.currentChar) || this.currentChar === "." && chunkOABJLZRZ_cjs.isNumber2(this.peek());
598
599
  }
599
600
  isValidIdentifierStart(char) {
600
601
  if (char === null) return false;
601
- if (chunkK65UI6KX_cjs.isAlpha(char)) return true;
602
+ if (chunkOABJLZRZ_cjs.isAlpha(char)) return true;
602
603
  const cp = char.codePointAt(0) ?? 0;
603
604
  if (cp <= 127) return false;
604
605
  if (cp === 180 /* FORWARD_TICK */) return false;
@@ -608,10 +609,93 @@ var _Lexer = class _Lexer {
608
609
  isValidStringElement(char) {
609
610
  if (char === null) return false;
610
611
  const cp = char.codePointAt(0) ?? 0;
611
- return chunkK65UI6KX_cjs.isAlphaNumeric(char) || cp === 45 /* HYPHEN */ || cp === 95 /* UNDERSCORE */ || cp > 127;
612
+ return chunkOABJLZRZ_cjs.isAlphaNumeric(char) || cp === 45 /* HYPHEN */ || cp === 95 /* UNDERSCORE */ || cp > 127;
613
+ }
614
+ /**
615
+ * Greedy variant of isValidStringElement.
616
+ * Consumes everything except whitespace and structural delimiters.
617
+ * Used in inline mode to allow values like `http://foo.bar` as a single string.
618
+ */
619
+ isValidStringElementGreedy(char) {
620
+ if (char === null) return false;
621
+ if (chunkOABJLZRZ_cjs.isSpace(char)) return false;
622
+ const cp = char.codePointAt(0) ?? 0;
623
+ switch (cp) {
624
+ case 123:
625
+ // {
626
+ case 125:
627
+ // }
628
+ case 40:
629
+ // (
630
+ case 41:
631
+ // )
632
+ case 91:
633
+ // [
634
+ case 93:
635
+ // ]
636
+ case 44:
637
+ // ,
638
+ case 34:
639
+ // "
640
+ case 39:
641
+ // '
642
+ case 59:
643
+ return false;
644
+ }
645
+ return true;
612
646
  }
613
647
  stringElement() {
614
648
  const startPos = this.pos;
649
+ const isGreedy = this.greedyStrings;
650
+ if (isGreedy && this.isValidFormatPosition(startPos)) {
651
+ return this.stringElementNonGreedy(startPos);
652
+ }
653
+ let result = "";
654
+ let isSimpleIdentifier = true;
655
+ const check = isGreedy ? (c) => this.isValidStringElementGreedy(c) : (c) => this.isValidStringElement(c);
656
+ while (check(this.currentChar)) {
657
+ if (isSimpleIdentifier && !chunkOABJLZRZ_cjs.isAlphaNumeric(this.currentChar) && this.currentChar !== "-" && this.currentChar !== "_") {
658
+ isSimpleIdentifier = false;
659
+ }
660
+ result += this.currentChar;
661
+ this.advance();
662
+ }
663
+ if (isSimpleIdentifier) {
664
+ const normalizedResult = result.toLowerCase();
665
+ const keyword = RESERVED_KEYWORD_STRINGS[normalizedResult];
666
+ if (keyword) {
667
+ return {
668
+ type: "RESERVED_KEYWORD" /* RESERVED_KEYWORD */,
669
+ value: keyword,
670
+ line: this.line,
671
+ pos: startPos,
672
+ endPos: this.pos
673
+ };
674
+ }
675
+ const format = SUPPORTED_FORMAT_STRINGS[normalizedResult];
676
+ if (format && this.isValidFormatPosition(startPos)) {
677
+ return {
678
+ type: "FORMAT" /* FORMAT */,
679
+ value: format,
680
+ line: this.line,
681
+ pos: startPos,
682
+ endPos: this.pos
683
+ };
684
+ }
685
+ }
686
+ return {
687
+ type: "STRING" /* STRING */,
688
+ value: result,
689
+ line: this.line,
690
+ pos: startPos,
691
+ endPos: this.pos
692
+ };
693
+ }
694
+ /**
695
+ * Non-greedy string element parsing, used when in format-adjacent position
696
+ * so that unit suffixes are correctly extracted even in greedy mode.
697
+ */
698
+ stringElementNonGreedy(startPos) {
615
699
  let result = "";
616
700
  while (this.isValidStringElement(this.currentChar)) {
617
701
  result += this.currentChar;
@@ -657,7 +741,7 @@ var _Lexer = class _Lexer {
657
741
  }
658
742
  this.error("LEXER_UNTERMINATED_REFERENCE" /* UNTERMINATED_REFERENCE */, {});
659
743
  }
660
- if (chunkK65UI6KX_cjs.isSpace(this.currentChar)) {
744
+ if (chunkOABJLZRZ_cjs.isSpace(this.currentChar)) {
661
745
  this.advance();
662
746
  continue;
663
747
  }
@@ -777,7 +861,7 @@ var _Lexer = class _Lexer {
777
861
  hexColor() {
778
862
  const startPos = this.pos;
779
863
  let result = "";
780
- while (chunkK65UI6KX_cjs.isAlpha(this.currentChar) || this.isDigit() || this.currentChar === "#") {
864
+ while (chunkOABJLZRZ_cjs.isAlpha(this.currentChar) || this.isDigit() || this.currentChar === "#") {
781
865
  result += this.currentChar;
782
866
  this.advance();
783
867
  }
@@ -969,7 +1053,7 @@ var _Lexer = class _Lexer {
969
1053
  });
970
1054
  }
971
1055
  if (this.currentChar === ".") {
972
- if (this.peek() !== null && chunkK65UI6KX_cjs.isNumber2(this.peek())) {
1056
+ if (this.peek() !== null && chunkOABJLZRZ_cjs.isNumber2(this.peek())) {
973
1057
  return this.collectToken(this.number());
974
1058
  }
975
1059
  const startPos = this.pos;
@@ -1201,7 +1285,7 @@ var _Lexer = class _Lexer {
1201
1285
  };
1202
1286
  }
1203
1287
  };
1204
- chunkKHF2VXWO_cjs.__name(_Lexer, "Lexer");
1288
+ chunkZMMIYWFF_cjs.__name(_Lexer, "Lexer");
1205
1289
  var Lexer = _Lexer;
1206
1290
 
1207
1291
  // src/interpreter/tolerant/types.ts
@@ -1326,7 +1410,7 @@ ${contextText}`;
1326
1410
  const formattedMessage = this.formatError(
1327
1411
  message || (code === "PARSER_INVALID_SYNTAX" /* INVALID_SYNTAX */ ? "Invalid syntax" : code)
1328
1412
  );
1329
- throw new chunkK65UI6KX_cjs.ParserError(code, {
1413
+ throw new chunkOABJLZRZ_cjs.ParserError(code, {
1330
1414
  token: this.currentToken,
1331
1415
  data: { ...data, message: formattedMessage }
1332
1416
  });
@@ -1470,7 +1554,7 @@ ${contextText}`;
1470
1554
  if (this.currentToken.type === "STRING" /* STRING */) {
1471
1555
  const nextToken = this.lexer.peekToken();
1472
1556
  if (nextToken && nextToken.type === "ASSIGN" /* ASSIGN */) {
1473
- throw new chunkK65UI6KX_cjs.ParserError("PARSER_CONDITION_MUST_BE_BOOLEAN" /* CONDITION_MUST_BE_BOOLEAN */, {
1557
+ throw new chunkOABJLZRZ_cjs.ParserError("PARSER_CONDITION_MUST_BE_BOOLEAN" /* CONDITION_MUST_BE_BOOLEAN */, {
1474
1558
  token: this.currentToken
1475
1559
  });
1476
1560
  }
@@ -1493,7 +1577,7 @@ ${contextText}`;
1493
1577
  forStatement() {
1494
1578
  const forToken = this.eat("RESERVED_KEYWORD" /* RESERVED_KEYWORD */);
1495
1579
  if (!this.isIdentifierToken()) {
1496
- throw new chunkK65UI6KX_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1580
+ throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1497
1581
  token: this.currentToken,
1498
1582
  data: { expectedType: "identifier", actualType: this.currentToken.type }
1499
1583
  });
@@ -1504,7 +1588,7 @@ ${contextText}`;
1504
1588
  if (this.currentToken.type === "COMMA" /* COMMA */) {
1505
1589
  this.eat("COMMA" /* COMMA */);
1506
1590
  if (!this.isIdentifierToken()) {
1507
- throw new chunkK65UI6KX_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1591
+ throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1508
1592
  token: this.currentToken,
1509
1593
  data: { expectedType: "identifier", actualType: this.currentToken.type }
1510
1594
  });
@@ -1513,7 +1597,7 @@ ${contextText}`;
1513
1597
  this.eat(this.currentToken.type);
1514
1598
  }
1515
1599
  if (!this.isIdentifierToken() || this.currentToken.value !== "in") {
1516
- throw new chunkK65UI6KX_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1600
+ throw new chunkOABJLZRZ_cjs.ParserError("PARSER_EXPECTED_TOKEN_TYPE" /* EXPECTED_TOKEN_TYPE */, {
1517
1601
  token: this.currentToken,
1518
1602
  data: { expectedType: "'in'", actualType: this.currentToken.value }
1519
1603
  });
@@ -1840,7 +1924,7 @@ ${contextText}`;
1840
1924
  const parts = [];
1841
1925
  let literal = "";
1842
1926
  let i = 0;
1843
- const flushLiteral = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name(() => {
1927
+ const flushLiteral = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name(() => {
1844
1928
  if (literal.length > 0) {
1845
1929
  parts.push(new StringNode({ ...token, value: literal }));
1846
1930
  literal = "";
@@ -1946,7 +2030,20 @@ ${contextText}`;
1946
2030
  this.error("PARSER_TOLERANT_REQUIRES_INLINE" /* TOLERANT_REQUIRES_INLINE */);
1947
2031
  }
1948
2032
  if (this.currentToken.type === "EOF" /* EOF */) return null;
1949
- if (inlineMode) return this.listExpr();
2033
+ if (inlineMode) {
2034
+ if (this.currentToken.type === "RESERVED_KEYWORD" /* RESERVED_KEYWORD */ && chunkZMMIYWFF_cjs.SCRIPT_ONLY_STATEMENT_KEYWORDS.has(this.currentToken.value)) {
2035
+ this.error("PARSER_UNALLOWED_INLINE_SYNTAX" /* UNALLOWED_INLINE_SYNTAX */, {
2036
+ originalError: `Unexpected token: ${this.currentToken.value}`
2037
+ });
2038
+ }
2039
+ const node2 = this.listExpr();
2040
+ if (!this.tolerant && this.currentToken.type !== "EOF" /* EOF */) {
2041
+ this.error("PARSER_UNEXPECTED_TOKEN" /* UNEXPECTED_TOKEN */, {
2042
+ token: String(this.currentToken.value)
2043
+ });
2044
+ }
2045
+ return node2;
2046
+ }
1950
2047
  const node = this.statementsList();
1951
2048
  if (this.currentToken.type !== "EOF" /* EOF */) {
1952
2049
  this.error("PARSER_INVALID_SYNTAX" /* INVALID_SYNTAX */, {
@@ -1956,23 +2053,29 @@ ${contextText}`;
1956
2053
  return node;
1957
2054
  }
1958
2055
  };
1959
- chunkKHF2VXWO_cjs.__name(_Parser, "Parser");
2056
+ chunkZMMIYWFF_cjs.__name(_Parser, "Parser");
1960
2057
  var Parser = _Parser;
1961
- function parseExpression(text) {
1962
- const lexer = new Lexer(text);
2058
+ function lexerOptionsForMode(mode, overrides) {
2059
+ const base = mode === "inline" ? { greedyStrings: true } : {};
2060
+ return { ...base, ...overrides };
2061
+ }
2062
+ chunkZMMIYWFF_cjs.__name(lexerOptionsForMode, "lexerOptionsForMode");
2063
+ function parseExpression(text, options) {
2064
+ const mode = options?.mode ?? "script";
2065
+ const lexer = new Lexer(text, lexerOptionsForMode(mode, options?.lexerOverrides));
1963
2066
  const parser = new Parser(lexer);
1964
- const ast = parser.parse();
2067
+ const ast = parser.parse(mode === "inline");
1965
2068
  return {
1966
2069
  lexer,
1967
2070
  parser,
1968
2071
  ast
1969
2072
  };
1970
2073
  }
1971
- chunkKHF2VXWO_cjs.__name(parseExpression, "parseExpression");
2074
+ chunkZMMIYWFF_cjs.__name(parseExpression, "parseExpression");
1972
2075
 
1973
2076
  // src/processor/builders/index.ts
1974
2077
  var builders_exports = {};
1975
- chunkKHF2VXWO_cjs.__export(builders_exports, {
2078
+ chunkZMMIYWFF_cjs.__export(builders_exports, {
1976
2079
  FlatObjectBuilder: () => FlatObjectBuilder,
1977
2080
  MapBuilder: () => MapBuilder,
1978
2081
  NestedObjectBuilder: () => NestedObjectBuilder,
@@ -2058,7 +2161,7 @@ var _DependencyTracker = class _DependencyTracker {
2058
2161
  return values ? new Set(values) : /* @__PURE__ */ new Set();
2059
2162
  }
2060
2163
  };
2061
- chunkKHF2VXWO_cjs.__name(_DependencyTracker, "DependencyTracker");
2164
+ chunkZMMIYWFF_cjs.__name(_DependencyTracker, "DependencyTracker");
2062
2165
  var DependencyTracker = _DependencyTracker;
2063
2166
 
2064
2167
  // src/processor/resolver/helpers.ts
@@ -2068,7 +2171,7 @@ function getAffectedTokens(result) {
2068
2171
  }
2069
2172
  return new Set(result.dependants.graph.getNodes().keys());
2070
2173
  }
2071
- chunkKHF2VXWO_cjs.__name(getAffectedTokens, "getAffectedTokens");
2174
+ chunkZMMIYWFF_cjs.__name(getAffectedTokens, "getAffectedTokens");
2072
2175
  function getBrokenReferences(result) {
2073
2176
  if (!result.issues) {
2074
2177
  return /* @__PURE__ */ new Set();
@@ -2076,7 +2179,7 @@ function getBrokenReferences(result) {
2076
2179
  const brokenRefs = /* @__PURE__ */ new Set();
2077
2180
  for (const [tokenPath, issues] of result.issues) {
2078
2181
  for (const issue of issues) {
2079
- if (chunkK65UI6KX_cjs.isLanguageError(issue) && (issue.code === "PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */ || issue.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */)) {
2182
+ if (chunkOABJLZRZ_cjs.isLanguageError(issue) && (issue.code === "PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */ || issue.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */)) {
2080
2183
  brokenRefs.add(tokenPath);
2081
2184
  break;
2082
2185
  }
@@ -2084,11 +2187,11 @@ function getBrokenReferences(result) {
2084
2187
  }
2085
2188
  return brokenRefs;
2086
2189
  }
2087
- chunkKHF2VXWO_cjs.__name(getBrokenReferences, "getBrokenReferences");
2190
+ chunkZMMIYWFF_cjs.__name(getBrokenReferences, "getBrokenReferences");
2088
2191
  function getRenamedReferences(_result, modifiedTokens) {
2089
2192
  return modifiedTokens;
2090
2193
  }
2091
- chunkKHF2VXWO_cjs.__name(getRenamedReferences, "getRenamedReferences");
2194
+ chunkZMMIYWFF_cjs.__name(getRenamedReferences, "getRenamedReferences");
2092
2195
  function getModifiedDependants(oldTokens, result) {
2093
2196
  const modified = /* @__PURE__ */ new Set();
2094
2197
  const affectedTokens = getAffectedTokens(result);
@@ -2101,7 +2204,7 @@ function getModifiedDependants(oldTokens, result) {
2101
2204
  }
2102
2205
  return modified;
2103
2206
  }
2104
- chunkKHF2VXWO_cjs.__name(getModifiedDependants, "getModifiedDependants");
2207
+ chunkZMMIYWFF_cjs.__name(getModifiedDependants, "getModifiedDependants");
2105
2208
 
2106
2209
  // src/processor/resolver/issue-helpers.ts
2107
2210
  function getTokenError(issues, tokenName) {
@@ -2110,7 +2213,7 @@ function getTokenError(issues, tokenName) {
2110
2213
  if (!tokenIssues) return void 0;
2111
2214
  return tokenIssues.find((issue) => "code" in issue);
2112
2215
  }
2113
- chunkKHF2VXWO_cjs.__name(getTokenError, "getTokenError");
2216
+ chunkZMMIYWFF_cjs.__name(getTokenError, "getTokenError");
2114
2217
 
2115
2218
  // src/processor/resolver/PrefixExtractor.ts
2116
2219
  var _PrefixExtractor = class _PrefixExtractor {
@@ -2141,7 +2244,7 @@ var _PrefixExtractor = class _PrefixExtractor {
2141
2244
  this.prefixCache.clear();
2142
2245
  }
2143
2246
  };
2144
- chunkKHF2VXWO_cjs.__name(_PrefixExtractor, "PrefixExtractor");
2247
+ chunkZMMIYWFF_cjs.__name(_PrefixExtractor, "PrefixExtractor");
2145
2248
  var PrefixExtractor = _PrefixExtractor;
2146
2249
 
2147
2250
  // src/processor/resolver/PrefixManager.ts
@@ -2208,7 +2311,7 @@ var _PrefixManager = class _PrefixManager {
2208
2311
  }
2209
2312
  }
2210
2313
  if (dictionaryEntries.size === 0) return void 0;
2211
- return new chunkK65UI6KX_cjs.DictionarySymbol(dictionaryEntries, this.config);
2314
+ return new chunkOABJLZRZ_cjs.DictionarySymbol(dictionaryEntries, this.config);
2212
2315
  }
2213
2316
  findParentToken(reference, tokens) {
2214
2317
  const cached = this.parentLookupCache.get(reference);
@@ -2263,12 +2366,12 @@ var _PrefixManager = class _PrefixManager {
2263
2366
  }
2264
2367
  toSymbol(value) {
2265
2368
  if (value === void 0) return void 0;
2266
- if (value === null) return new chunkK65UI6KX_cjs.NullSymbol(this.config);
2267
- if (chunkK65UI6KX_cjs.isTokenscriptSymbol(value)) return value;
2268
- return new chunkK65UI6KX_cjs.StringSymbol(String(value), this.config);
2369
+ if (value === null) return new chunkOABJLZRZ_cjs.NullSymbol(this.config);
2370
+ if (chunkOABJLZRZ_cjs.isTokenscriptSymbol(value)) return value;
2371
+ return new chunkOABJLZRZ_cjs.StringSymbol(String(value), this.config);
2269
2372
  }
2270
2373
  };
2271
- chunkKHF2VXWO_cjs.__name(_PrefixManager, "PrefixManager");
2374
+ chunkZMMIYWFF_cjs.__name(_PrefixManager, "PrefixManager");
2272
2375
  var PrefixManager = _PrefixManager;
2273
2376
 
2274
2377
  // src/processor/resolver/ReadinessTracker.ts
@@ -2302,7 +2405,7 @@ var _ReadinessTracker = class _ReadinessTracker {
2302
2405
  this.readyCache.clear();
2303
2406
  }
2304
2407
  };
2305
- chunkKHF2VXWO_cjs.__name(_ReadinessTracker, "ReadinessTracker");
2408
+ chunkZMMIYWFF_cjs.__name(_ReadinessTracker, "ReadinessTracker");
2306
2409
  var ReadinessTracker = _ReadinessTracker;
2307
2410
 
2308
2411
  // src/processor/resolver/ResolutionNotifier.ts
@@ -2369,35 +2472,35 @@ var _ResolutionNotifier = class _ResolutionNotifier {
2369
2472
  }
2370
2473
  }
2371
2474
  };
2372
- chunkKHF2VXWO_cjs.__name(_ResolutionNotifier, "ResolutionNotifier");
2475
+ chunkZMMIYWFF_cjs.__name(_ResolutionNotifier, "ResolutionNotifier");
2373
2476
  var ResolutionNotifier = _ResolutionNotifier;
2374
2477
 
2375
2478
  // src/interpreter/operations.ts
2376
2479
  function decomposeUnit(operand) {
2377
- if (operand instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
2480
+ if (operand instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
2378
2481
  return { value: operand.value, unit: operand.unit };
2379
2482
  }
2380
- if (operand instanceof chunkK65UI6KX_cjs.NumberSymbol) {
2483
+ if (operand instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
2381
2484
  return { value: operand.value, unit: null };
2382
2485
  }
2383
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_UNSUPPORTED_OPERAND_TYPE" /* UNSUPPORTED_OPERAND_TYPE */, {
2486
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_UNSUPPORTED_OPERAND_TYPE" /* UNSUPPORTED_OPERAND_TYPE */, {
2384
2487
  data: { type: operand.type }
2385
2488
  });
2386
2489
  }
2387
- chunkKHF2VXWO_cjs.__name(decomposeUnit, "decomposeUnit");
2490
+ chunkZMMIYWFF_cjs.__name(decomposeUnit, "decomposeUnit");
2388
2491
  function recomposeUnit(value, units, _config) {
2389
2492
  const validUnits = units.filter((u) => u !== null);
2390
2493
  if (validUnits.length === 0) {
2391
- return new chunkK65UI6KX_cjs.NumberSymbol(value);
2494
+ return new chunkOABJLZRZ_cjs.NumberSymbol(value);
2392
2495
  }
2393
2496
  if (new Set(validUnits).size > 1) {
2394
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_CANNOT_MIX_UNITS" /* CANNOT_MIX_UNITS */, {
2497
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_MIX_UNITS" /* CANNOT_MIX_UNITS */, {
2395
2498
  data: { units: validUnits }
2396
2499
  });
2397
2500
  }
2398
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(value, validUnits[0]);
2501
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(value, validUnits[0]);
2399
2502
  }
2400
- chunkKHF2VXWO_cjs.__name(recomposeUnit, "recomposeUnit");
2503
+ chunkZMMIYWFF_cjs.__name(recomposeUnit, "recomposeUnit");
2401
2504
  function mathWrapper(func) {
2402
2505
  return (a, b, config) => {
2403
2506
  if (config?.unitManager) {
@@ -2420,91 +2523,91 @@ function mathWrapper(func) {
2420
2523
  return recomposeUnit(resultValue, [opA.unit, opB.unit]);
2421
2524
  };
2422
2525
  }
2423
- chunkKHF2VXWO_cjs.__name(mathWrapper, "mathWrapper");
2526
+ chunkZMMIYWFF_cjs.__name(mathWrapper, "mathWrapper");
2424
2527
  function equalityComparisonWrapper(fn) {
2425
2528
  return (a, b) => {
2426
- const isNullComparison = a instanceof chunkK65UI6KX_cjs.NullSymbol || b instanceof chunkK65UI6KX_cjs.NullSymbol;
2529
+ const isNullComparison = a instanceof chunkOABJLZRZ_cjs.NullSymbol || b instanceof chunkOABJLZRZ_cjs.NullSymbol;
2427
2530
  if (!isNullComparison) {
2428
- const isNumericA = a instanceof chunkK65UI6KX_cjs.NumberSymbol || a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol;
2429
- const isNumericB = b instanceof chunkK65UI6KX_cjs.NumberSymbol || b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol;
2531
+ const isNumericA = a instanceof chunkOABJLZRZ_cjs.NumberSymbol || a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
2532
+ const isNumericB = b instanceof chunkOABJLZRZ_cjs.NumberSymbol || b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
2430
2533
  if (isNumericA && !isNumericB) {
2431
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2534
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2432
2535
  data: { typeA: a.type, typeB: b.type }
2433
2536
  });
2434
2537
  }
2435
- const isStringA = a instanceof chunkK65UI6KX_cjs.StringSymbol;
2436
- const isStringB = b instanceof chunkK65UI6KX_cjs.StringSymbol;
2538
+ const isStringA = a instanceof chunkOABJLZRZ_cjs.StringSymbol;
2539
+ const isStringB = b instanceof chunkOABJLZRZ_cjs.StringSymbol;
2437
2540
  if (isStringA && !isStringB) {
2438
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2541
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2439
2542
  data: { typeA: a.type, typeB: b.type }
2440
2543
  });
2441
2544
  }
2442
- const isBooleanA = a instanceof chunkK65UI6KX_cjs.BooleanSymbol;
2443
- const isBooleanB = b instanceof chunkK65UI6KX_cjs.BooleanSymbol;
2545
+ const isBooleanA = a instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
2546
+ const isBooleanB = b instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
2444
2547
  if (isBooleanA && !isBooleanB) {
2445
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2548
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2446
2549
  data: { typeA: a.type, typeB: b.type }
2447
2550
  });
2448
2551
  }
2449
- if (a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2450
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2552
+ if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2553
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2451
2554
  data: { unitA: a.unit, unitB: b.unit }
2452
2555
  });
2453
2556
  }
2454
2557
  }
2455
- return new chunkK65UI6KX_cjs.BooleanSymbol(fn(a.value, b.value));
2558
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(fn(a.value, b.value));
2456
2559
  };
2457
2560
  }
2458
- chunkKHF2VXWO_cjs.__name(equalityComparisonWrapper, "equalityComparisonWrapper");
2561
+ chunkZMMIYWFF_cjs.__name(equalityComparisonWrapper, "equalityComparisonWrapper");
2459
2562
  function orderingComparisonWrapper(fn) {
2460
2563
  return (a, b) => {
2461
- if (a instanceof chunkK65UI6KX_cjs.NullSymbol || b instanceof chunkK65UI6KX_cjs.NullSymbol || chunkK65UI6KX_cjs.isNull(a.value) || chunkK65UI6KX_cjs.isNull(b.value)) {
2462
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_ORDERING_WITH_NULL" /* ORDERING_WITH_NULL */);
2564
+ if (a instanceof chunkOABJLZRZ_cjs.NullSymbol || b instanceof chunkOABJLZRZ_cjs.NullSymbol || chunkOABJLZRZ_cjs.isNull(a.value) || chunkOABJLZRZ_cjs.isNull(b.value)) {
2565
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_ORDERING_WITH_NULL" /* ORDERING_WITH_NULL */);
2463
2566
  }
2464
- const isNumericA = a instanceof chunkK65UI6KX_cjs.NumberSymbol || a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol;
2465
- const isNumericB = b instanceof chunkK65UI6KX_cjs.NumberSymbol || b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol;
2567
+ const isNumericA = a instanceof chunkOABJLZRZ_cjs.NumberSymbol || a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
2568
+ const isNumericB = b instanceof chunkOABJLZRZ_cjs.NumberSymbol || b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol;
2466
2569
  if (isNumericA && !isNumericB) {
2467
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2570
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2468
2571
  data: { typeA: a.type, typeB: b.type }
2469
2572
  });
2470
2573
  }
2471
- const isStringA = a instanceof chunkK65UI6KX_cjs.StringSymbol;
2472
- const isStringB = b instanceof chunkK65UI6KX_cjs.StringSymbol;
2574
+ const isStringA = a instanceof chunkOABJLZRZ_cjs.StringSymbol;
2575
+ const isStringB = b instanceof chunkOABJLZRZ_cjs.StringSymbol;
2473
2576
  if (isStringA && !isStringB) {
2474
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2577
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2475
2578
  data: { typeA: a.type, typeB: b.type }
2476
2579
  });
2477
2580
  }
2478
- const isBooleanA = a instanceof chunkK65UI6KX_cjs.BooleanSymbol;
2479
- const isBooleanB = b instanceof chunkK65UI6KX_cjs.BooleanSymbol;
2581
+ const isBooleanA = a instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
2582
+ const isBooleanB = b instanceof chunkOABJLZRZ_cjs.BooleanSymbol;
2480
2583
  if (isBooleanA && !isBooleanB) {
2481
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2584
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_INCOMPATIBLE_TYPES" /* INCOMPATIBLE_TYPES */, {
2482
2585
  data: { typeA: a.type, typeB: b.type }
2483
2586
  });
2484
2587
  }
2485
- if (a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2486
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2588
+ if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && a.unit !== b.unit) {
2589
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_CANNOT_COMPARE_UNITS" /* CANNOT_COMPARE_UNITS */, {
2487
2590
  data: { unitA: a.unit, unitB: b.unit }
2488
2591
  });
2489
2592
  }
2490
- return new chunkK65UI6KX_cjs.BooleanSymbol(fn(a.value, b.value));
2593
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(fn(a.value, b.value));
2491
2594
  };
2492
2595
  }
2493
- chunkKHF2VXWO_cjs.__name(orderingComparisonWrapper, "orderingComparisonWrapper");
2596
+ chunkZMMIYWFF_cjs.__name(orderingComparisonWrapper, "orderingComparisonWrapper");
2494
2597
  var LOGICAL_BOOLEAN_IMPLEMENTATIONS = {
2495
2598
  ["&&" /* LOGIC_AND */]: (a, b) => {
2496
- if (!(a instanceof chunkK65UI6KX_cjs.BooleanSymbol) || !(b instanceof chunkK65UI6KX_cjs.BooleanSymbol))
2497
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2599
+ if (!(a instanceof chunkOABJLZRZ_cjs.BooleanSymbol) || !(b instanceof chunkOABJLZRZ_cjs.BooleanSymbol))
2600
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2498
2601
  data: { operator: "&&" }
2499
2602
  });
2500
- return new chunkK65UI6KX_cjs.BooleanSymbol(a.value && b.value);
2603
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(a.value && b.value);
2501
2604
  },
2502
2605
  ["||" /* LOGIC_OR */]: (a, b) => {
2503
- if (!(a instanceof chunkK65UI6KX_cjs.BooleanSymbol) || !(b instanceof chunkK65UI6KX_cjs.BooleanSymbol))
2504
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2606
+ if (!(a instanceof chunkOABJLZRZ_cjs.BooleanSymbol) || !(b instanceof chunkOABJLZRZ_cjs.BooleanSymbol))
2607
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_LOGICAL_REQUIRES_BOOLEAN" /* LOGICAL_REQUIRES_BOOLEAN */, {
2505
2608
  data: { operator: "||" }
2506
2609
  });
2507
- return new chunkK65UI6KX_cjs.BooleanSymbol(a.value || b.value);
2610
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(a.value || b.value);
2508
2611
  }
2509
2612
  };
2510
2613
  function powerWrapper(func) {
@@ -2512,7 +2615,7 @@ function powerWrapper(func) {
2512
2615
  const opA = decomposeUnit(a);
2513
2616
  const opB = decomposeUnit(b);
2514
2617
  if (opA.unit && opB.unit) {
2515
- throw new chunkK65UI6KX_cjs.InterpreterError("OP_UNIT_EXPONENT_NOT_SUPPORTED" /* UNIT_EXPONENT_NOT_SUPPORTED */, {
2618
+ throw new chunkOABJLZRZ_cjs.InterpreterError("OP_UNIT_EXPONENT_NOT_SUPPORTED" /* UNIT_EXPONENT_NOT_SUPPORTED */, {
2516
2619
  data: { unitA: opA.unit, unitB: opB.unit }
2517
2620
  });
2518
2621
  }
@@ -2520,30 +2623,30 @@ function powerWrapper(func) {
2520
2623
  return recomposeUnit(resultValue, [opA.unit, opB.unit]);
2521
2624
  };
2522
2625
  }
2523
- chunkKHF2VXWO_cjs.__name(powerWrapper, "powerWrapper");
2626
+ chunkZMMIYWFF_cjs.__name(powerWrapper, "powerWrapper");
2524
2627
  function multiplyDivideWrapper(func) {
2525
2628
  return (a, b, config) => {
2526
2629
  if (config?.unitManager) {
2527
- const aIsPercent = a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(a.unit)?.type === "relative";
2528
- const bIsPercent = b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(b.unit)?.type === "relative";
2630
+ const aIsPercent = a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(a.unit)?.type === "relative";
2631
+ const bIsPercent = b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol && config.unitManager.getSpecByKeyword(b.unit)?.type === "relative";
2529
2632
  if (aIsPercent && !bIsPercent) {
2530
2633
  const resultValue = func(a.value / 100, b.value);
2531
- return b instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol ? new chunkK65UI6KX_cjs.NumberWithUnitSymbol(resultValue, b.unit) : new chunkK65UI6KX_cjs.NumberSymbol(resultValue);
2634
+ return b instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol ? new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(resultValue, b.unit) : new chunkOABJLZRZ_cjs.NumberSymbol(resultValue);
2532
2635
  } else if (bIsPercent && !aIsPercent) {
2533
2636
  const resultValue = func(a.value, b.value / 100);
2534
- return a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol ? new chunkK65UI6KX_cjs.NumberWithUnitSymbol(resultValue, a.unit) : new chunkK65UI6KX_cjs.NumberSymbol(resultValue);
2637
+ return a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol ? new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(resultValue, a.unit) : new chunkOABJLZRZ_cjs.NumberSymbol(resultValue);
2535
2638
  }
2536
2639
  }
2537
2640
  return mathWrapper(func)(a, b, config);
2538
2641
  };
2539
2642
  }
2540
- chunkKHF2VXWO_cjs.__name(multiplyDivideWrapper, "multiplyDivideWrapper");
2643
+ chunkZMMIYWFF_cjs.__name(multiplyDivideWrapper, "multiplyDivideWrapper");
2541
2644
  var MATH_IMPLEMENTATIONS = {
2542
2645
  ["+" /* ADD */]: mathWrapper((a, b) => a + b),
2543
2646
  ["-" /* SUBTRACT */]: mathWrapper((a, b) => a - b),
2544
2647
  ["*" /* MULTIPLY */]: multiplyDivideWrapper((a, b) => a * b),
2545
2648
  ["/" /* DIVIDE */]: multiplyDivideWrapper((a, b) => {
2546
- if (b === 0) throw new chunkK65UI6KX_cjs.InterpreterError("OP_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */);
2649
+ if (b === 0) throw new chunkOABJLZRZ_cjs.InterpreterError("OP_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */);
2547
2650
  return a / b;
2548
2651
  }),
2549
2652
  ["^" /* POWER */]: powerWrapper((a, b) => a ** b)
@@ -2578,7 +2681,7 @@ var _SymbolTable = class _SymbolTable {
2578
2681
  this.symbols = {};
2579
2682
  }
2580
2683
  };
2581
- chunkKHF2VXWO_cjs.__name(_SymbolTable, "SymbolTable");
2684
+ chunkZMMIYWFF_cjs.__name(_SymbolTable, "SymbolTable");
2582
2685
  var SymbolTable = _SymbolTable;
2583
2686
 
2584
2687
  // src/interpreter/interpreter.ts
@@ -2587,7 +2690,7 @@ var _ReturnSignal = class _ReturnSignal {
2587
2690
  this.value = value;
2588
2691
  }
2589
2692
  };
2590
- chunkKHF2VXWO_cjs.__name(_ReturnSignal, "ReturnSignal");
2693
+ chunkZMMIYWFF_cjs.__name(_ReturnSignal, "ReturnSignal");
2591
2694
  var ReturnSignal = _ReturnSignal;
2592
2695
  var _Interpreter = class _Interpreter {
2593
2696
  constructor(input, options) {
@@ -2611,7 +2714,7 @@ var _Interpreter = class _Interpreter {
2611
2714
  this.references = references;
2612
2715
  } else if (references) {
2613
2716
  for (const key in references) {
2614
- this.references.set(key, chunkK65UI6KX_cjs.jsValueToSymbolType(references[key], this.config));
2717
+ this.references.set(key, chunkOABJLZRZ_cjs.jsValueToSymbolType(references[key], this.config));
2615
2718
  }
2616
2719
  } else {
2617
2720
  this.references = /* @__PURE__ */ new Map();
@@ -2638,7 +2741,7 @@ var _Interpreter = class _Interpreter {
2638
2741
  this.symbolTable.set(name, value);
2639
2742
  }
2640
2743
  coerceValue(constructorSymbol, valueSymbol) {
2641
- if (valueSymbol instanceof chunkK65UI6KX_cjs.NullSymbol) return constructorSymbol;
2744
+ if (valueSymbol instanceof chunkOABJLZRZ_cjs.NullSymbol) return constructorSymbol;
2642
2745
  if (constructorSymbol.typeEquals(valueSymbol)) return valueSymbol;
2643
2746
  }
2644
2747
  // Visit Functions -------------------------------------------------------------
@@ -2648,7 +2751,7 @@ var _Interpreter = class _Interpreter {
2648
2751
  if (typeof this[visitorMethodName] === "function") {
2649
2752
  return this[visitorMethodName](node);
2650
2753
  }
2651
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_NODE_TYPE" /* UNKNOWN_NODE_TYPE */, {
2754
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_NODE_TYPE" /* UNKNOWN_NODE_TYPE */, {
2652
2755
  token: node.token,
2653
2756
  data: { nodeType: node.nodeType }
2654
2757
  });
@@ -2664,8 +2767,8 @@ var _Interpreter = class _Interpreter {
2664
2767
  }
2665
2768
  const mathImpl = MATH_IMPLEMENTATIONS[opVal];
2666
2769
  if (mathImpl) {
2667
- if (!((left instanceof chunkK65UI6KX_cjs.NumberSymbol || left instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) && (right instanceof chunkK65UI6KX_cjs.NumberSymbol || right instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol))) {
2668
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_ARITHMETIC_REQUIRES_NUMBER" /* ARITHMETIC_REQUIRES_NUMBER */, {
2770
+ if (!((left instanceof chunkOABJLZRZ_cjs.NumberSymbol || left instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) && (right instanceof chunkOABJLZRZ_cjs.NumberSymbol || right instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol))) {
2771
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ARITHMETIC_REQUIRES_NUMBER" /* ARITHMETIC_REQUIRES_NUMBER */, {
2669
2772
  token: node.opToken,
2670
2773
  data: { operator: opVal, leftType: left.type, rightType: right.type }
2671
2774
  });
@@ -2676,20 +2779,20 @@ var _Interpreter = class _Interpreter {
2676
2779
  if (comparisonImpl) {
2677
2780
  return comparisonImpl(left, right);
2678
2781
  }
2679
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_BINARY_OPERATOR" /* UNKNOWN_BINARY_OPERATOR */, {
2782
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_BINARY_OPERATOR" /* UNKNOWN_BINARY_OPERATOR */, {
2680
2783
  token: node.opToken,
2681
2784
  data: { operator: opVal, tokenType: opType }
2682
2785
  });
2683
2786
  }
2684
2787
  visitNumNode(node) {
2685
- return new chunkK65UI6KX_cjs.NumberSymbol(node.value, this.config);
2788
+ return new chunkOABJLZRZ_cjs.NumberSymbol(node.value, this.config);
2686
2789
  }
2687
2790
  visitStringNode(node) {
2688
- return new chunkK65UI6KX_cjs.StringSymbol(node.value, this.config);
2791
+ return new chunkOABJLZRZ_cjs.StringSymbol(node.value, this.config);
2689
2792
  }
2690
2793
  visitTemplateStringNode(node) {
2691
2794
  if (node.parts.length === 0) {
2692
- return new chunkK65UI6KX_cjs.StringSymbol("", this.config);
2795
+ return new chunkOABJLZRZ_cjs.StringSymbol("", this.config);
2693
2796
  }
2694
2797
  if (node.parts.length === 1) {
2695
2798
  const val = this.visit(node.parts[0]);
@@ -2702,27 +2805,27 @@ var _Interpreter = class _Interpreter {
2702
2805
  this.validateTemplateValue(val, node);
2703
2806
  result += val.toString();
2704
2807
  }
2705
- return new chunkK65UI6KX_cjs.StringSymbol(result, this.config);
2808
+ return new chunkOABJLZRZ_cjs.StringSymbol(result, this.config);
2706
2809
  }
2707
2810
  /**
2708
2811
  * Validate that a value is a primitive type allowed in template string interpolation.
2709
2812
  * Lists, Dictionaries, and non-hex Colors are rejected.
2710
2813
  */
2711
2814
  validateTemplateValue(val, node) {
2712
- if (val instanceof chunkK65UI6KX_cjs.ListSymbol) {
2713
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2815
+ if (val instanceof chunkOABJLZRZ_cjs.ListSymbol) {
2816
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2714
2817
  token: node.token,
2715
2818
  data: { valueType: "List" }
2716
2819
  });
2717
2820
  }
2718
- if (val instanceof chunkK65UI6KX_cjs.DictionarySymbol) {
2719
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2821
+ if (val instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
2822
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2720
2823
  token: node.token,
2721
2824
  data: { valueType: "Dictionary" }
2722
2825
  });
2723
2826
  }
2724
- if (val instanceof chunkK65UI6KX_cjs.ColorSymbol && !val.isHex()) {
2725
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2827
+ if (val instanceof chunkOABJLZRZ_cjs.ColorSymbol && !val.isHex()) {
2828
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TEMPLATE_INVALID_TYPE" /* TEMPLATE_INVALID_TYPE */, {
2726
2829
  token: node.token,
2727
2830
  data: { valueType: `Color.${val.subType}` }
2728
2831
  });
@@ -2733,59 +2836,59 @@ var _Interpreter = class _Interpreter {
2733
2836
  * Check symbol table first (variables override references), then references
2734
2837
  */
2735
2838
  visitIdentifierNode(node) {
2736
- return this.symbolTable.get(node.name) || this.getReference(node.name) || new chunkK65UI6KX_cjs.StringSymbol(node.name, this.config);
2839
+ return this.symbolTable.get(node.name) || this.getReference(node.name) || new chunkOABJLZRZ_cjs.StringSymbol(node.name, this.config);
2737
2840
  }
2738
2841
  visitUnaryOpNode(node) {
2739
2842
  const result = this.visit(node.expr);
2740
2843
  if (node.op === "-" /* SUBTRACT */) {
2741
- if (result instanceof chunkK65UI6KX_cjs.NumberSymbol) {
2844
+ if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
2742
2845
  if (result.value === null) {
2743
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2846
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2744
2847
  token: node.opToken,
2745
2848
  data: { symbolType: "NumberSymbol" }
2746
2849
  });
2747
2850
  }
2748
- return new chunkK65UI6KX_cjs.NumberSymbol(-result.value, this.config);
2851
+ return new chunkOABJLZRZ_cjs.NumberSymbol(-result.value, this.config);
2749
2852
  }
2750
- if (result instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
2853
+ if (result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
2751
2854
  if (result.value === null) {
2752
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2855
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_MINUS_NULL" /* UNARY_MINUS_NULL */, {
2753
2856
  token: node.opToken,
2754
2857
  data: { symbolType: "NumberWithUnitSymbol" }
2755
2858
  });
2756
2859
  }
2757
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(-result.value, result.unit, this.config);
2860
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(-result.value, result.unit, this.config);
2758
2861
  }
2759
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2862
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2760
2863
  token: node.opToken,
2761
2864
  data: { value: String(result.value) }
2762
2865
  });
2763
2866
  }
2764
2867
  if (node.op === "+" /* ADD */) {
2765
- if (result instanceof chunkK65UI6KX_cjs.NumberSymbol || result instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
2868
+ if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol || result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
2766
2869
  return result;
2767
2870
  }
2768
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2871
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_PLUS_NON_NUMBER" /* UNARY_PLUS_NON_NUMBER */, {
2769
2872
  token: node.opToken,
2770
2873
  data: { value: String(result.value) }
2771
2874
  });
2772
2875
  }
2773
2876
  if (node.op === "!" /* LOGIC_NOT */) {
2774
- if (result instanceof chunkK65UI6KX_cjs.BooleanSymbol) {
2775
- return new chunkK65UI6KX_cjs.BooleanSymbol(!result.value, this.config);
2877
+ if (result instanceof chunkOABJLZRZ_cjs.BooleanSymbol) {
2878
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(!result.value, this.config);
2776
2879
  }
2777
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNARY_NOT_NON_BOOLEAN" /* UNARY_NOT_NON_BOOLEAN */, {
2880
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNARY_NOT_NON_BOOLEAN" /* UNARY_NOT_NON_BOOLEAN */, {
2778
2881
  token: node.opToken,
2779
2882
  data: { value: String(result.value) }
2780
2883
  });
2781
2884
  }
2782
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_UNARY_OPERATOR" /* UNKNOWN_UNARY_OPERATOR */, {
2885
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_UNARY_OPERATOR" /* UNKNOWN_UNARY_OPERATOR */, {
2783
2886
  token: node.opToken,
2784
2887
  data: { operator: node.op }
2785
2888
  });
2786
2889
  }
2787
2890
  visitListNode(node) {
2788
- return new chunkK65UI6KX_cjs.ListSymbol(
2891
+ return new chunkOABJLZRZ_cjs.ListSymbol(
2789
2892
  node.elements.map((el) => this.visit(el)),
2790
2893
  node instanceof ImplicitListNode,
2791
2894
  this.config
@@ -2797,7 +2900,7 @@ var _Interpreter = class _Interpreter {
2797
2900
  visitReferenceNode(node) {
2798
2901
  const value = this.getReference(node.value);
2799
2902
  if (!value) {
2800
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_REFERENCE" /* UNKNOWN_REFERENCE */, {
2903
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_REFERENCE" /* UNKNOWN_REFERENCE */, {
2801
2904
  token: node.token,
2802
2905
  data: { reference: node.value }
2803
2906
  });
@@ -2805,18 +2908,18 @@ var _Interpreter = class _Interpreter {
2805
2908
  return value;
2806
2909
  }
2807
2910
  visitHexColorNode(node) {
2808
- const { color, alpha } = chunkK65UI6KX_cjs.parseHexWithAlpha(node.value);
2809
- return new chunkK65UI6KX_cjs.ColorSymbol(color, "Hex", alpha, this.config);
2911
+ const { color, alpha } = chunkOABJLZRZ_cjs.parseHexWithAlpha(node.value);
2912
+ return new chunkOABJLZRZ_cjs.ColorSymbol(color, "Hex", alpha, this.config);
2810
2913
  }
2811
2914
  visitBooleanNode(node) {
2812
- return new chunkK65UI6KX_cjs.BooleanSymbol(node.value, this.config);
2915
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(node.value, this.config);
2813
2916
  }
2814
2917
  visitNullNode(_node) {
2815
- return new chunkK65UI6KX_cjs.NullSymbol(this.config);
2918
+ return new chunkOABJLZRZ_cjs.NullSymbol(this.config);
2816
2919
  }
2817
2920
  visitElementWithUnitNode(node) {
2818
2921
  const valNodeVisit = this.visit(node.astNode);
2819
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(valNodeVisit?.value, node.unit, this.config);
2922
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(valNodeVisit?.value, node.unit, this.config);
2820
2923
  }
2821
2924
  visitFunctionCallNode(node) {
2822
2925
  const fnName = node.name.toLowerCase();
@@ -2831,11 +2934,11 @@ var _Interpreter = class _Interpreter {
2831
2934
  if (this.config.colorManager.hasInitializer(fnName)) {
2832
2935
  return this.config.colorManager.executeInitializer(fnName, args);
2833
2936
  }
2834
- if (chunkKHF2VXWO_cjs.UNINTERPRETED_KEYWORDS.includes(fnName)) {
2937
+ if (chunkZMMIYWFF_cjs.UNINTERPRETED_KEYWORDS.includes(fnName)) {
2835
2938
  const argStrings = args.map((arg) => arg.toString());
2836
- return new chunkK65UI6KX_cjs.StringSymbol(`${fnName}(${argStrings.join(", ")})`, this.config);
2939
+ return new chunkOABJLZRZ_cjs.StringSymbol(`${fnName}(${argStrings.join(", ")})`, this.config);
2837
2940
  }
2838
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_FUNCTION" /* UNKNOWN_FUNCTION */, {
2941
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_FUNCTION" /* UNKNOWN_FUNCTION */, {
2839
2942
  token: node.token,
2840
2943
  data: { functionName: node.name }
2841
2944
  });
@@ -2843,13 +2946,13 @@ var _Interpreter = class _Interpreter {
2843
2946
  visitAssignNode(node) {
2844
2947
  const name = node.varName.name;
2845
2948
  if ([".", "[", "-"].some((c) => name.includes(c))) {
2846
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_INVALID_VARIABLE_NAME" /* INVALID_VARIABLE_NAME */, {
2949
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VARIABLE_NAME" /* INVALID_VARIABLE_NAME */, {
2847
2950
  token: node.varName.token,
2848
2951
  data: { name }
2849
2952
  });
2850
2953
  }
2851
2954
  if (this.symbolTable.isDefined(name)) {
2852
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_VARIABLE_ALREADY_DEFINED" /* VARIABLE_ALREADY_DEFINED */, {
2955
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_VARIABLE_ALREADY_DEFINED" /* VARIABLE_ALREADY_DEFINED */, {
2853
2956
  token: node.varName.token,
2854
2957
  data: { name }
2855
2958
  });
@@ -2857,11 +2960,11 @@ var _Interpreter = class _Interpreter {
2857
2960
  const baseType = node.typeDecl.baseType.name;
2858
2961
  const subType = node.typeDecl.subTypes[0]?.name;
2859
2962
  if (!this.config.isTypeDefined(baseType, subType)) {
2860
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_INVALID_VARIABLE_TYPE" /* INVALID_VARIABLE_TYPE */, {
2963
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VARIABLE_TYPE" /* INVALID_VARIABLE_TYPE */, {
2861
2964
  token: node.varName.token,
2862
2965
  data: {
2863
- typeName: chunkK65UI6KX_cjs.typeName(baseType, subType),
2864
- validTypes: Object.keys(chunkK65UI6KX_cjs.basicSymbolTypes).join(", ")
2966
+ typeName: chunkOABJLZRZ_cjs.typeName(baseType, subType),
2967
+ validTypes: Object.keys(chunkOABJLZRZ_cjs.basicSymbolTypes).join(", ")
2865
2968
  }
2866
2969
  });
2867
2970
  }
@@ -2869,7 +2972,7 @@ var _Interpreter = class _Interpreter {
2869
2972
  const valueSymbol = node.assignmentExpr ? this.visit(node.assignmentExpr) : constructorSymbol;
2870
2973
  const coercedValueSymbol = this.coerceValue(constructorSymbol, valueSymbol);
2871
2974
  if (!coercedValueSymbol) {
2872
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_INVALID_VALUE_FOR_VARIABLE" /* INVALID_VALUE_FOR_VARIABLE */, {
2975
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_INVALID_VALUE_FOR_VARIABLE" /* INVALID_VALUE_FOR_VARIABLE */, {
2873
2976
  token: node.varName.token,
2874
2977
  data: { value: String(valueSymbol.value), type: baseType, name }
2875
2978
  });
@@ -2880,25 +2983,25 @@ var _Interpreter = class _Interpreter {
2880
2983
  const baseIdentifier = node.baseIdentifier();
2881
2984
  const existingVar = this.symbolTable.get(baseIdentifier.name);
2882
2985
  if (existingVar === null) {
2883
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_VARIABLE_NOT_FOUND" /* VARIABLE_NOT_FOUND */, {
2986
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_VARIABLE_NOT_FOUND" /* VARIABLE_NOT_FOUND */, {
2884
2987
  token: baseIdentifier.token,
2885
2988
  data: { name: baseIdentifier.name }
2886
2989
  });
2887
2990
  }
2888
2991
  const value = this.visit(node.value);
2889
2992
  if (value === null) {
2890
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_ASSIGNMENT_VALUE_NULL" /* ASSIGNMENT_VALUE_NULL */, {
2993
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ASSIGNMENT_VALUE_NULL" /* ASSIGNMENT_VALUE_NULL */, {
2891
2994
  token: node.value.token,
2892
2995
  data: { identifier: node.identifierToString() }
2893
2996
  });
2894
2997
  }
2895
2998
  if (node.isAttributeAssignment()) {
2896
- if (existingVar instanceof chunkK65UI6KX_cjs.ColorSymbol) {
2999
+ if (existingVar instanceof chunkOABJLZRZ_cjs.ColorSymbol) {
2897
3000
  this.config.colorManager.setAttribute(existingVar, node, value);
2898
3001
  }
2899
3002
  } else {
2900
- if (chunkK65UI6KX_cjs.typeEquals(value.type, "list")) ; else if (!chunkK65UI6KX_cjs.typeEquals(existingVar.type, value.type)) {
2901
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_TYPE_MISMATCH" /* TYPE_MISMATCH */, {
3003
+ if (chunkOABJLZRZ_cjs.typeEquals(value.type, "list")) ; else if (!chunkOABJLZRZ_cjs.typeEquals(existingVar.type, value.type)) {
3004
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_TYPE_MISMATCH" /* TYPE_MISMATCH */, {
2902
3005
  token: baseIdentifier.token,
2903
3006
  data: {
2904
3007
  value: String(value),
@@ -2909,7 +3012,7 @@ var _Interpreter = class _Interpreter {
2909
3012
  });
2910
3013
  }
2911
3014
  if (!existingVar.validValue(value)) {
2912
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_CANNOT_ASSIGN_TYPE" /* CANNOT_ASSIGN_TYPE */, {
3015
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_CANNOT_ASSIGN_TYPE" /* CANNOT_ASSIGN_TYPE */, {
2913
3016
  token: node.value.token,
2914
3017
  data: {
2915
3018
  valueType: value.type,
@@ -2930,14 +3033,14 @@ var _Interpreter = class _Interpreter {
2930
3033
  if (left.hasMethod(right.name, args)) {
2931
3034
  const result = left.callMethod?.(right.name, args);
2932
3035
  if (result === null || result === void 0) {
2933
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_METHOD_RETURNED_NULL" /* METHOD_RETURNED_NULL */, {
3036
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_METHOD_RETURNED_NULL" /* METHOD_RETURNED_NULL */, {
2934
3037
  token: node.token,
2935
3038
  data: { methodName: right.name }
2936
3039
  });
2937
3040
  }
2938
3041
  return result;
2939
3042
  }
2940
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_METHOD_NOT_FOUND" /* METHOD_NOT_FOUND */, {
3043
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_METHOD_NOT_FOUND" /* METHOD_NOT_FOUND */, {
2941
3044
  token: node.token,
2942
3045
  data: { methodName: right.name, value: String(left), type: left.type }
2943
3046
  });
@@ -2946,24 +3049,24 @@ var _Interpreter = class _Interpreter {
2946
3049
  if (left.hasAttribute(right.name)) {
2947
3050
  const result = left.getAttribute?.(right.name);
2948
3051
  if (result === null || result === void 0) {
2949
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_ATTRIBUTE_RETURNED_NULL" /* ATTRIBUTE_RETURNED_NULL */, {
3052
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ATTRIBUTE_RETURNED_NULL" /* ATTRIBUTE_RETURNED_NULL */, {
2950
3053
  token: node.token,
2951
3054
  data: { attributeName: right.name }
2952
3055
  });
2953
3056
  }
2954
3057
  return result;
2955
3058
  }
2956
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_ATTRIBUTE_NOT_FOUND" /* ATTRIBUTE_NOT_FOUND */, {
3059
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_ATTRIBUTE_NOT_FOUND" /* ATTRIBUTE_NOT_FOUND */, {
2957
3060
  token: node.token,
2958
3061
  data: {
2959
3062
  attributeName: right.name,
2960
- value: left instanceof chunkK65UI6KX_cjs.ColorSymbol ? "Color" : String(left),
3063
+ value: left instanceof chunkOABJLZRZ_cjs.ColorSymbol ? "Color" : String(left),
2961
3064
  type: left.type
2962
3065
  }
2963
3066
  });
2964
3067
  }
2965
3068
  }
2966
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_CANNOT_ACCESS_ATTRIBUTES" /* CANNOT_ACCESS_ATTRIBUTES */, {
3069
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_CANNOT_ACCESS_ATTRIBUTES" /* CANNOT_ACCESS_ATTRIBUTES */, {
2967
3070
  token: node.token,
2968
3071
  data: { type: left.type }
2969
3072
  });
@@ -2986,13 +3089,13 @@ var _Interpreter = class _Interpreter {
2986
3089
  while (true) {
2987
3090
  iterations++;
2988
3091
  if (iterations > this.config.languageOptions.MAX_ITERATIONS) {
2989
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_MAX_ITERATIONS_EXCEEDED" /* MAX_ITERATIONS_EXCEEDED */, {
3092
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_MAX_ITERATIONS_EXCEEDED" /* MAX_ITERATIONS_EXCEEDED */, {
2990
3093
  token: node.token
2991
3094
  });
2992
3095
  }
2993
3096
  const conditionNode = this.visit(node.condition);
2994
- if (!(conditionNode instanceof chunkK65UI6KX_cjs.BooleanSymbol)) {
2995
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_WHILE_CONDITION_NOT_BOOLEAN" /* WHILE_CONDITION_NOT_BOOLEAN */, {
3097
+ if (!(conditionNode instanceof chunkOABJLZRZ_cjs.BooleanSymbol)) {
3098
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_WHILE_CONDITION_NOT_BOOLEAN" /* WHILE_CONDITION_NOT_BOOLEAN */, {
2996
3099
  token: node.condition?.token
2997
3100
  });
2998
3101
  }
@@ -3002,28 +3105,28 @@ var _Interpreter = class _Interpreter {
3002
3105
  }
3003
3106
  visitForEachNode(node) {
3004
3107
  if (this.symbolTable.isDefined(node.itemVar)) {
3005
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3108
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3006
3109
  token: node.token,
3007
3110
  data: { name: node.itemVar }
3008
3111
  });
3009
3112
  }
3010
3113
  if (node.indexVar !== null) {
3011
3114
  if (node.indexVar === node.itemVar) {
3012
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_FOR_EACH_DUPLICATE_VARS" /* FOR_EACH_DUPLICATE_VARS */, {
3115
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_DUPLICATE_VARS" /* FOR_EACH_DUPLICATE_VARS */, {
3013
3116
  token: node.token,
3014
3117
  data: { name: node.itemVar }
3015
3118
  });
3016
3119
  }
3017
3120
  if (this.symbolTable.isDefined(node.indexVar)) {
3018
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3121
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_VARIABLE_SHADOW" /* FOR_EACH_VARIABLE_SHADOW */, {
3019
3122
  token: node.token,
3020
3123
  data: { name: node.indexVar }
3021
3124
  });
3022
3125
  }
3023
3126
  }
3024
3127
  const collectionVal = this.visit(node.collection);
3025
- if (!(collectionVal instanceof chunkK65UI6KX_cjs.ListSymbol)) {
3026
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_FOR_EACH_NOT_LIST" /* FOR_EACH_NOT_LIST */, {
3128
+ if (!(collectionVal instanceof chunkOABJLZRZ_cjs.ListSymbol)) {
3129
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_FOR_EACH_NOT_LIST" /* FOR_EACH_NOT_LIST */, {
3027
3130
  token: node.token,
3028
3131
  data: { actualType: collectionVal?.type ?? "null" }
3029
3132
  });
@@ -3034,7 +3137,7 @@ var _Interpreter = class _Interpreter {
3034
3137
  const item = elements[idx];
3035
3138
  this.symbolTable.set(node.itemVar, item);
3036
3139
  if (node.indexVar !== null) {
3037
- this.symbolTable.set(node.indexVar, new chunkK65UI6KX_cjs.NumberSymbol(idx, this.config));
3140
+ this.symbolTable.set(node.indexVar, new chunkOABJLZRZ_cjs.NumberSymbol(idx, this.config));
3038
3141
  }
3039
3142
  let bodyResult = null;
3040
3143
  try {
@@ -3049,19 +3152,19 @@ var _Interpreter = class _Interpreter {
3049
3152
  }
3050
3153
  throw e;
3051
3154
  }
3052
- results.push(bodyResult ?? new chunkK65UI6KX_cjs.NullSymbol(this.config));
3155
+ results.push(bodyResult ?? new chunkOABJLZRZ_cjs.NullSymbol(this.config));
3053
3156
  }
3054
3157
  this.symbolTable.delete(node.itemVar);
3055
3158
  if (node.indexVar !== null) {
3056
3159
  this.symbolTable.delete(node.indexVar);
3057
3160
  }
3058
- return new chunkK65UI6KX_cjs.ListSymbol(results, false, this.config);
3161
+ return new chunkOABJLZRZ_cjs.ListSymbol(results, false, this.config);
3059
3162
  }
3060
3163
  visitIfNode(node) {
3061
3164
  for (const conditionNode of node.conditions) {
3062
3165
  const condition = this.visit(conditionNode.condition);
3063
- if (!(condition instanceof chunkK65UI6KX_cjs.BooleanSymbol)) {
3064
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_IF_CONDITION_NOT_BOOLEAN" /* IF_CONDITION_NOT_BOOLEAN */, {
3166
+ if (!(condition instanceof chunkOABJLZRZ_cjs.BooleanSymbol)) {
3167
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_IF_CONDITION_NOT_BOOLEAN" /* IF_CONDITION_NOT_BOOLEAN */, {
3065
3168
  token: conditionNode.condition.token
3066
3169
  });
3067
3170
  }
@@ -3086,20 +3189,20 @@ var _Interpreter = class _Interpreter {
3086
3189
  } else if (e instanceof Error) {
3087
3190
  throw e;
3088
3191
  } else {
3089
- throw new chunkK65UI6KX_cjs.InterpreterError("INT_UNKNOWN_ERROR" /* UNKNOWN_ERROR */);
3192
+ throw new chunkOABJLZRZ_cjs.InterpreterError("INT_UNKNOWN_ERROR" /* UNKNOWN_ERROR */);
3090
3193
  }
3091
3194
  }
3092
3195
  return result;
3093
3196
  }
3094
3197
  };
3095
- chunkKHF2VXWO_cjs.__name(_Interpreter, "Interpreter");
3198
+ chunkZMMIYWFF_cjs.__name(_Interpreter, "Interpreter");
3096
3199
  var Interpreter = _Interpreter;
3097
3200
 
3098
3201
  // src/processor/errors.ts
3099
3202
  function createDependencyError(tokenName, dependencyName, originalError) {
3100
3203
  const { chain, rootError } = extractDependencyInfo(tokenName, dependencyName, originalError);
3101
3204
  const chainStr = chain.join(" \u2192 ");
3102
- return new chunkK65UI6KX_cjs.ProcessorError("PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */, {
3205
+ return new chunkOABJLZRZ_cjs.ProcessorError("PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */, {
3103
3206
  data: {
3104
3207
  tokenName,
3105
3208
  chain: chainStr,
@@ -3107,9 +3210,9 @@ function createDependencyError(tokenName, dependencyName, originalError) {
3107
3210
  }
3108
3211
  });
3109
3212
  }
3110
- chunkKHF2VXWO_cjs.__name(createDependencyError, "createDependencyError");
3213
+ chunkZMMIYWFF_cjs.__name(createDependencyError, "createDependencyError");
3111
3214
  function extractDependencyInfo(tokenName, dependencyName, error) {
3112
- if (error instanceof chunkK65UI6KX_cjs.ProcessorError && error.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */ && error.data.chain) {
3215
+ if (error instanceof chunkOABJLZRZ_cjs.ProcessorError && error.code === "PROC_DEPENDENCY_ERROR" /* DEPENDENCY_ERROR */ && error.data.chain) {
3113
3216
  const existingChain = String(error.data.chain).split(" \u2192 ");
3114
3217
  return {
3115
3218
  chain: [tokenName, ...existingChain],
@@ -3121,7 +3224,7 @@ function extractDependencyInfo(tokenName, dependencyName, error) {
3121
3224
  rootError: error
3122
3225
  };
3123
3226
  }
3124
- chunkKHF2VXWO_cjs.__name(extractDependencyInfo, "extractDependencyInfo");
3227
+ chunkZMMIYWFF_cjs.__name(extractDependencyInfo, "extractDependencyInfo");
3125
3228
 
3126
3229
  // src/processor/resolver/TokenInterpreter.ts
3127
3230
  var _TokenInterpreter = class _TokenInterpreter {
@@ -3151,14 +3254,14 @@ var _TokenInterpreter = class _TokenInterpreter {
3151
3254
  if (result !== null && typeof result !== "string") {
3152
3255
  this.parsedConstants.set(name, result);
3153
3256
  } else if (typeof result === "string") {
3154
- this.parsedConstants.set(name, chunkK65UI6KX_cjs.jsValueToSymbolType(result, this.config));
3257
+ this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(result, this.config));
3155
3258
  }
3156
3259
  }
3157
3260
  } catch {
3158
- this.parsedConstants.set(name, chunkK65UI6KX_cjs.jsValueToSymbolType(rawValue, this.config));
3261
+ this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(rawValue, this.config));
3159
3262
  }
3160
3263
  } else {
3161
- this.parsedConstants.set(name, chunkK65UI6KX_cjs.jsValueToSymbolType(rawValue, this.config));
3264
+ this.parsedConstants.set(name, chunkOABJLZRZ_cjs.jsValueToSymbolType(rawValue, this.config));
3162
3265
  }
3163
3266
  }
3164
3267
  }
@@ -3189,7 +3292,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3189
3292
  this.interpreter.setAst(ast);
3190
3293
  return this.interpreter.interpret();
3191
3294
  } catch (error) {
3192
- if (chunkK65UI6KX_cjs.isLanguageError(error)) {
3295
+ if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
3193
3296
  return error;
3194
3297
  }
3195
3298
  return new Error("Unknown error during token interpretation", { cause: error });
@@ -3202,7 +3305,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3202
3305
  return createDependencyError(tokenName, dep, depValue);
3203
3306
  }
3204
3307
  if (missingDependencies?.has(dep)) {
3205
- const error = new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
3308
+ const error = new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
3206
3309
  data: { tokenName: dep }
3207
3310
  });
3208
3311
  return createDependencyError(tokenName, dep, error);
@@ -3211,7 +3314,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3211
3314
  return void 0;
3212
3315
  }
3213
3316
  flattenDictionaryToCache(tokenName, value) {
3214
- if (!(value instanceof chunkK65UI6KX_cjs.DictionarySymbol) || !value.value) {
3317
+ if (!(value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) || !value.value) {
3215
3318
  return [];
3216
3319
  }
3217
3320
  const flattenedNames = [];
@@ -3234,7 +3337,7 @@ var _TokenInterpreter = class _TokenInterpreter {
3234
3337
  );
3235
3338
  }
3236
3339
  };
3237
- chunkKHF2VXWO_cjs.__name(_TokenInterpreter, "TokenInterpreter");
3340
+ chunkZMMIYWFF_cjs.__name(_TokenInterpreter, "TokenInterpreter");
3238
3341
  var TokenInterpreter = _TokenInterpreter;
3239
3342
 
3240
3343
  // src/processor/object-parsers/default-object-parsers.ts
@@ -3250,29 +3353,29 @@ function parseValueToSymbol(value, config, parsers = defaultObjectParsers) {
3250
3353
  return parser.toSymbol(value, config);
3251
3354
  }
3252
3355
  }
3253
- return chunkK65UI6KX_cjs.jsValueToSymbolType(value, config);
3356
+ return chunkOABJLZRZ_cjs.jsValueToSymbolType(value, config);
3254
3357
  }
3255
- chunkKHF2VXWO_cjs.__name(parseValueToSymbol, "parseValueToSymbol");
3358
+ chunkZMMIYWFF_cjs.__name(parseValueToSymbol, "parseValueToSymbol");
3256
3359
  function createTokenSymbol(value, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
3257
- if (chunkK65UI6KX_cjs.isObject(value)) {
3360
+ if (chunkOABJLZRZ_cjs.isObject(value)) {
3258
3361
  const symbolMap = {};
3259
3362
  for (const [key, val] of Object.entries(value)) {
3260
3363
  symbolMap[key] = parseValueToSymbol(val, config, parsers);
3261
3364
  }
3262
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3365
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3263
3366
  }
3264
- if (chunkK65UI6KX_cjs.isArray(value)) {
3367
+ if (chunkOABJLZRZ_cjs.isArray(value)) {
3265
3368
  const symbolArray = value.map((val) => parseValueToSymbol(val, config, parsers));
3266
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3369
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3267
3370
  }
3268
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, value, config, metadata);
3371
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, value, config, metadata);
3269
3372
  }
3270
- chunkKHF2VXWO_cjs.__name(createTokenSymbol, "createTokenSymbol");
3373
+ chunkZMMIYWFF_cjs.__name(createTokenSymbol, "createTokenSymbol");
3271
3374
  function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields, config, parsers = defaultObjectParsers) {
3272
3375
  if (resolvedFields.has(currentPath)) {
3273
3376
  return resolvedFields.get(currentPath);
3274
3377
  }
3275
- if (chunkK65UI6KX_cjs.isObject(originalValue)) {
3378
+ if (chunkOABJLZRZ_cjs.isObject(originalValue)) {
3276
3379
  for (const parser of parsers) {
3277
3380
  if (parser.predicate(originalValue)) {
3278
3381
  return parser.toSymbol(originalValue, config);
@@ -3289,9 +3392,9 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
3289
3392
  parsers
3290
3393
  );
3291
3394
  }
3292
- return new chunkK65UI6KX_cjs.DictionarySymbol(symbolMap, config);
3395
+ return new chunkOABJLZRZ_cjs.DictionarySymbol(symbolMap, config);
3293
3396
  }
3294
- if (chunkK65UI6KX_cjs.isArray(originalValue)) {
3397
+ if (chunkOABJLZRZ_cjs.isArray(originalValue)) {
3295
3398
  const symbolArray = [];
3296
3399
  for (let i = 0; i < originalValue.length; i++) {
3297
3400
  const fieldPath = `${currentPath}[${i}]`;
@@ -3299,13 +3402,13 @@ function buildValueFromResolvedFields(currentPath, originalValue, resolvedFields
3299
3402
  buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
3300
3403
  );
3301
3404
  }
3302
- return new chunkK65UI6KX_cjs.ListSymbol(symbolArray, false, config);
3405
+ return new chunkOABJLZRZ_cjs.ListSymbol(symbolArray, false, config);
3303
3406
  }
3304
3407
  return parseValueToSymbol(originalValue, config, parsers);
3305
3408
  }
3306
- chunkKHF2VXWO_cjs.__name(buildValueFromResolvedFields, "buildValueFromResolvedFields");
3409
+ chunkZMMIYWFF_cjs.__name(buildValueFromResolvedFields, "buildValueFromResolvedFields");
3307
3410
  function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, originalValue, tokenType = "unknown", config, parsers = defaultObjectParsers, metadata) {
3308
- if (chunkK65UI6KX_cjs.isObject(originalValue)) {
3411
+ if (chunkOABJLZRZ_cjs.isObject(originalValue)) {
3309
3412
  const symbolMap = {};
3310
3413
  for (const [key, val] of Object.entries(originalValue)) {
3311
3414
  const fieldPath = `${tokenName}.${key}`;
@@ -3317,9 +3420,9 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
3317
3420
  parsers
3318
3421
  );
3319
3422
  }
3320
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3423
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolMap, config, metadata);
3321
3424
  }
3322
- if (chunkK65UI6KX_cjs.isArray(originalValue)) {
3425
+ if (chunkOABJLZRZ_cjs.isArray(originalValue)) {
3323
3426
  const symbolArray = [];
3324
3427
  for (let i = 0; i < originalValue.length; i++) {
3325
3428
  const fieldPath = `${tokenName}[${i}]`;
@@ -3327,11 +3430,11 @@ function createTokenSymbolFromResolvedFields(tokenName, resolvedFields, original
3327
3430
  buildValueFromResolvedFields(fieldPath, originalValue[i], resolvedFields, config, parsers)
3328
3431
  );
3329
3432
  }
3330
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3433
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, symbolArray, config, metadata);
3331
3434
  }
3332
- return new chunkK65UI6KX_cjs.TokenSymbol(tokenType, originalValue, config, metadata);
3435
+ return new chunkOABJLZRZ_cjs.TokenSymbol(tokenType, originalValue, config, metadata);
3333
3436
  }
3334
- chunkKHF2VXWO_cjs.__name(createTokenSymbolFromResolvedFields, "createTokenSymbolFromResolvedFields");
3437
+ chunkZMMIYWFF_cjs.__name(createTokenSymbolFromResolvedFields, "createTokenSymbolFromResolvedFields");
3335
3438
 
3336
3439
  // src/processor/utils/DependencyGraph.ts
3337
3440
  var _DependencyGraph = class _DependencyGraph {
@@ -3367,7 +3470,7 @@ var _DependencyGraph = class _DependencyGraph {
3367
3470
  const visited = /* @__PURE__ */ new Set();
3368
3471
  const recursionStack = /* @__PURE__ */ new Set();
3369
3472
  const path = [];
3370
- const dfs = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((node) => {
3473
+ const dfs = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((node) => {
3371
3474
  visited.add(node);
3372
3475
  recursionStack.add(node);
3373
3476
  path.push(node);
@@ -3437,14 +3540,14 @@ var _DependencyGraph = class _DependencyGraph {
3437
3540
  }
3438
3541
  const cycle = this.findCycle(remainingNodes);
3439
3542
  const tokens = `${cycle.map((n) => String(n)).join(" \u2192 ")} \u2192 ${String(cycle[0])}`;
3440
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
3543
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
3441
3544
  data: { tokens }
3442
3545
  });
3443
3546
  }
3444
3547
  return result;
3445
3548
  }
3446
3549
  };
3447
- chunkKHF2VXWO_cjs.__name(_DependencyGraph, "DependencyGraph");
3550
+ chunkZMMIYWFF_cjs.__name(_DependencyGraph, "DependencyGraph");
3448
3551
  var DependencyGraph = _DependencyGraph;
3449
3552
 
3450
3553
  // src/processor/utils/name-validation.ts
@@ -3452,28 +3555,28 @@ var INVALID_TOKEN_NAME_CHARS = /[ \t\n\r\f{}[\]]/;
3452
3555
  function validateTokenName(name) {
3453
3556
  return name.length > 0 && !INVALID_TOKEN_NAME_CHARS.test(name);
3454
3557
  }
3455
- chunkKHF2VXWO_cjs.__name(validateTokenName, "validateTokenName");
3558
+ chunkZMMIYWFF_cjs.__name(validateTokenName, "validateTokenName");
3456
3559
  function splitTokenPath(path) {
3457
3560
  return path.split(".");
3458
3561
  }
3459
- chunkKHF2VXWO_cjs.__name(splitTokenPath, "splitTokenPath");
3562
+ chunkZMMIYWFF_cjs.__name(splitTokenPath, "splitTokenPath");
3460
3563
  function validateTokenPath(path) {
3461
3564
  return splitTokenPath(path).every(validateTokenName);
3462
3565
  }
3463
- chunkKHF2VXWO_cjs.__name(validateTokenPath, "validateTokenPath");
3566
+ chunkZMMIYWFF_cjs.__name(validateTokenPath, "validateTokenPath");
3464
3567
 
3465
3568
  // src/processor/utils/structured-tokens.ts
3466
3569
  function matchesObjectParser(value, parsers) {
3467
- if (!chunkK65UI6KX_cjs.isObject(value)) return false;
3570
+ if (!chunkOABJLZRZ_cjs.isObject(value)) return false;
3468
3571
  return parsers.some((parser) => parser.predicate(value));
3469
3572
  }
3470
- chunkKHF2VXWO_cjs.__name(matchesObjectParser, "matchesObjectParser");
3573
+ chunkZMMIYWFF_cjs.__name(matchesObjectParser, "matchesObjectParser");
3471
3574
  function extractStringFields(value, parentPath, objectParsers = defaultObjectParsers) {
3472
3575
  const result = /* @__PURE__ */ new Map();
3473
- const processValue = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((val, path) => {
3474
- if (chunkK65UI6KX_cjs.isString(val)) {
3576
+ const processValue = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((val, path) => {
3577
+ if (chunkOABJLZRZ_cjs.isString(val)) {
3475
3578
  result.set(path, val);
3476
- } else if (chunkK65UI6KX_cjs.isObject(val)) {
3579
+ } else if (chunkOABJLZRZ_cjs.isObject(val)) {
3477
3580
  if (matchesObjectParser(val, objectParsers)) {
3478
3581
  return;
3479
3582
  }
@@ -3481,35 +3584,35 @@ function extractStringFields(value, parentPath, objectParsers = defaultObjectPar
3481
3584
  for (const [nestedPath, nestedVal] of nested) {
3482
3585
  result.set(nestedPath, nestedVal);
3483
3586
  }
3484
- } else if (chunkK65UI6KX_cjs.isArray(val)) {
3587
+ } else if (chunkOABJLZRZ_cjs.isArray(val)) {
3485
3588
  const nested = extractStringFields(val, path, objectParsers);
3486
3589
  for (const [nestedPath, nestedVal] of nested) {
3487
3590
  result.set(nestedPath, nestedVal);
3488
3591
  }
3489
3592
  }
3490
3593
  }, "processValue");
3491
- if (chunkK65UI6KX_cjs.isObject(value)) {
3594
+ if (chunkOABJLZRZ_cjs.isObject(value)) {
3492
3595
  for (const [key, val] of Object.entries(value)) {
3493
3596
  processValue(val, `${parentPath}.${key}`);
3494
3597
  }
3495
- } else if (chunkK65UI6KX_cjs.isArray(value)) {
3598
+ } else if (chunkOABJLZRZ_cjs.isArray(value)) {
3496
3599
  for (let i = 0; i < value.length; i++) {
3497
3600
  processValue(value[i], `${parentPath}[${i}]`);
3498
3601
  }
3499
3602
  }
3500
3603
  return result;
3501
3604
  }
3502
- chunkKHF2VXWO_cjs.__name(extractStringFields, "extractStringFields");
3605
+ chunkZMMIYWFF_cjs.__name(extractStringFields, "extractStringFields");
3503
3606
 
3504
3607
  // src/processor/utils/tokens.ts
3505
3608
  function getTokenValue(data) {
3506
- return chunkK65UI6KX_cjs.isString(data) ? data : data.$value;
3609
+ return chunkOABJLZRZ_cjs.isString(data) ? data : data.$value;
3507
3610
  }
3508
- chunkKHF2VXWO_cjs.__name(getTokenValue, "getTokenValue");
3611
+ chunkZMMIYWFF_cjs.__name(getTokenValue, "getTokenValue");
3509
3612
  function setTokenValue(value) {
3510
- return chunkK65UI6KX_cjs.isString(value) ? { $value: value } : value;
3613
+ return chunkOABJLZRZ_cjs.isString(value) ? { $value: value } : value;
3511
3614
  }
3512
- chunkKHF2VXWO_cjs.__name(setTokenValue, "setTokenValue");
3615
+ chunkZMMIYWFF_cjs.__name(setTokenValue, "setTokenValue");
3513
3616
  function flattenTokensObject(obj, prefixAccumulator = "") {
3514
3617
  const result = /* @__PURE__ */ new Map();
3515
3618
  for (const [prefix, value] of Object.entries(obj)) {
@@ -3517,9 +3620,9 @@ function flattenTokensObject(obj, prefixAccumulator = "") {
3517
3620
  continue;
3518
3621
  }
3519
3622
  const path = prefixAccumulator ? `${prefixAccumulator}.${prefix}` : prefix;
3520
- if (chunkK65UI6KX_cjs.isObject(value)) {
3623
+ if (chunkOABJLZRZ_cjs.isObject(value)) {
3521
3624
  const objValue = value;
3522
- const tokenValue = chunkK65UI6KX_cjs.getKeyAlt(["$value", "value"], objValue);
3625
+ const tokenValue = chunkOABJLZRZ_cjs.getKeyAlt(["$value", "value"], objValue);
3523
3626
  if (tokenValue !== void 0) {
3524
3627
  const tokenType = objValue.$type;
3525
3628
  const tokenMetadata = objValue.$metadata;
@@ -3541,23 +3644,23 @@ function flattenTokensObject(obj, prefixAccumulator = "") {
3541
3644
  }
3542
3645
  return result;
3543
3646
  }
3544
- chunkKHF2VXWO_cjs.__name(flattenTokensObject, "flattenTokensObject");
3647
+ chunkZMMIYWFF_cjs.__name(flattenTokensObject, "flattenTokensObject");
3545
3648
  function normalizeToTokenData(value) {
3546
3649
  if (typeof value === "string") {
3547
3650
  return { $value: value };
3548
3651
  }
3549
- if (chunkK65UI6KX_cjs.isObject(value) && "$value" in value) {
3652
+ if (chunkOABJLZRZ_cjs.isObject(value) && "$value" in value) {
3550
3653
  const obj = value;
3551
3654
  const metadata = obj.$metadata;
3552
3655
  return {
3553
3656
  $value: obj.$value,
3554
- ...chunkK65UI6KX_cjs.isString(obj.$type) && { $type: obj.$type },
3657
+ ...chunkOABJLZRZ_cjs.isString(obj.$type) && { $type: obj.$type },
3555
3658
  ...metadata !== void 0 && { $metadata: metadata }
3556
3659
  };
3557
3660
  }
3558
3661
  return { $value: value };
3559
3662
  }
3560
- chunkKHF2VXWO_cjs.__name(normalizeToTokenData, "normalizeToTokenData");
3663
+ chunkZMMIYWFF_cjs.__name(normalizeToTokenData, "normalizeToTokenData");
3561
3664
  function recordToMap(record) {
3562
3665
  const map = /* @__PURE__ */ new Map();
3563
3666
  for (const [key, value] of Object.entries(record)) {
@@ -3565,14 +3668,14 @@ function recordToMap(record) {
3565
3668
  }
3566
3669
  return map;
3567
3670
  }
3568
- chunkKHF2VXWO_cjs.__name(recordToMap, "recordToMap");
3671
+ chunkZMMIYWFF_cjs.__name(recordToMap, "recordToMap");
3569
3672
  function isNested(obj) {
3570
3673
  return Object.keys(obj).some((key) => {
3571
3674
  const value = obj[key];
3572
- return chunkK65UI6KX_cjs.isObject(value) && !key.startsWith("$");
3675
+ return chunkOABJLZRZ_cjs.isObject(value) && !key.startsWith("$");
3573
3676
  });
3574
3677
  }
3575
- chunkKHF2VXWO_cjs.__name(isNested, "isNested");
3678
+ chunkZMMIYWFF_cjs.__name(isNested, "isNested");
3576
3679
 
3577
3680
  // src/processor/validator/types.ts
3578
3681
  var ValidationSeverity = /* @__PURE__ */ ((ValidationSeverity2) => {
@@ -3588,12 +3691,12 @@ function collectTypeValidationIssues(config, tokenName, tokenType, value) {
3588
3691
  if (!config.tokenManager.getSpecByType(tokenType)) return [];
3589
3692
  if (value === null || typeof value === "string") return [];
3590
3693
  let valueToValidate;
3591
- if (value instanceof chunkK65UI6KX_cjs.TokenSymbol) {
3694
+ if (value instanceof chunkOABJLZRZ_cjs.TokenSymbol) {
3592
3695
  const innerValue = value.value;
3593
3696
  if (Array.isArray(innerValue)) {
3594
- valueToValidate = new chunkK65UI6KX_cjs.ListSymbol(innerValue, false, config);
3697
+ valueToValidate = new chunkOABJLZRZ_cjs.ListSymbol(innerValue, false, config);
3595
3698
  } else if (innerValue instanceof Map) {
3596
- valueToValidate = new chunkK65UI6KX_cjs.DictionarySymbol(innerValue, config);
3699
+ valueToValidate = new chunkOABJLZRZ_cjs.DictionarySymbol(innerValue, config);
3597
3700
  } else {
3598
3701
  valueToValidate = value;
3599
3702
  }
@@ -3619,7 +3722,7 @@ function collectTypeValidationIssues(config, tokenName, tokenType, value) {
3619
3722
  }
3620
3723
  return issues;
3621
3724
  }
3622
- chunkKHF2VXWO_cjs.__name(collectTypeValidationIssues, "collectTypeValidationIssues");
3725
+ chunkZMMIYWFF_cjs.__name(collectTypeValidationIssues, "collectTypeValidationIssues");
3623
3726
  function parseFieldPath(fieldPath) {
3624
3727
  const result = [];
3625
3728
  let remaining = fieldPath;
@@ -3644,7 +3747,7 @@ function parseFieldPath(fieldPath) {
3644
3747
  }
3645
3748
  return result;
3646
3749
  }
3647
- chunkKHF2VXWO_cjs.__name(parseFieldPath, "parseFieldPath");
3750
+ chunkZMMIYWFF_cjs.__name(parseFieldPath, "parseFieldPath");
3648
3751
  function errorToValidationIssue(error, parentToken, path) {
3649
3752
  return {
3650
3753
  code: error.code,
@@ -3656,7 +3759,7 @@ function errorToValidationIssue(error, parentToken, path) {
3656
3759
  data: error.data
3657
3760
  };
3658
3761
  }
3659
- chunkKHF2VXWO_cjs.__name(errorToValidationIssue, "errorToValidationIssue");
3762
+ chunkZMMIYWFF_cjs.__name(errorToValidationIssue, "errorToValidationIssue");
3660
3763
  function getTokenDependencyGraph(tokenName, graph) {
3661
3764
  const reverseDeps = /* @__PURE__ */ new Map();
3662
3765
  const graphNodes = graph.getNodes();
@@ -3705,7 +3808,7 @@ function getTokenDependencyGraph(tokenName, graph) {
3705
3808
  subgraph
3706
3809
  };
3707
3810
  }
3708
- chunkKHF2VXWO_cjs.__name(getTokenDependencyGraph, "getTokenDependencyGraph");
3811
+ chunkZMMIYWFF_cjs.__name(getTokenDependencyGraph, "getTokenDependencyGraph");
3709
3812
  var _PrefixResolver = class _PrefixResolver {
3710
3813
  constructor(params) {
3711
3814
  this.params = params;
@@ -3757,10 +3860,10 @@ var _PrefixResolver = class _PrefixResolver {
3757
3860
  this.addIssue(parentToken, issue);
3758
3861
  }
3759
3862
  ensureLanguageError(error) {
3760
- if (chunkK65UI6KX_cjs.isLanguageError(error)) {
3863
+ if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
3761
3864
  return error;
3762
3865
  }
3763
- return new chunkK65UI6KX_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3866
+ return new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3764
3867
  data: { error: error.message }
3765
3868
  });
3766
3869
  }
@@ -3805,15 +3908,31 @@ var _PrefixResolver = class _PrefixResolver {
3805
3908
  this.earlyResolved.push(tokenName);
3806
3909
  }
3807
3910
  tryParseExpression(refPath, value) {
3911
+ try {
3912
+ return parseExpression(value, { mode: "inline" });
3913
+ } catch (error) {
3914
+ const isStatementSyntax = error instanceof chunkOABJLZRZ_cjs.ParserError && (error.code === "PARSER_UNALLOWED_INLINE_SYNTAX" /* UNALLOWED_INLINE_SYNTAX */ || error.code === "PARSER_UNEXPECTED_TOKEN" /* UNEXPECTED_TOKEN */ && chunkZMMIYWFF_cjs.SCRIPT_ONLY_STATEMENT_KEYWORDS.has(error.data?.token));
3915
+ if (isStatementSyntax) ; else if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
3916
+ return this.resolveError(refPath, error, value);
3917
+ } else {
3918
+ return this.resolveError(
3919
+ refPath,
3920
+ new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3921
+ data: { error: error instanceof Error ? error.message : String(error) }
3922
+ }),
3923
+ value
3924
+ );
3925
+ }
3926
+ }
3808
3927
  try {
3809
3928
  return parseExpression(value);
3810
3929
  } catch (error) {
3811
- if (chunkK65UI6KX_cjs.isLanguageError(error)) {
3930
+ if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
3812
3931
  return this.resolveError(refPath, error, value);
3813
3932
  }
3814
3933
  return this.resolveError(
3815
3934
  refPath,
3816
- new chunkK65UI6KX_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3935
+ new chunkOABJLZRZ_cjs.ProcessorError("PROC_UNKNOWN_PARSING_ERROR" /* UNKNOWN_PARSING_ERROR */, {
3817
3936
  data: { error: error instanceof Error ? error.message : String(error) }
3818
3937
  }),
3819
3938
  value
@@ -3909,24 +4028,24 @@ var _PrefixResolver = class _PrefixResolver {
3909
4028
  });
3910
4029
  }
3911
4030
  const tokenValue = getTokenValue(tokenData);
3912
- if (chunkK65UI6KX_cjs.isString(tokenValue) && chunkKHF2VXWO_cjs.UNINTERPRETED_KEYWORDS.includes(tokenValue)) {
3913
- const symbol = new chunkK65UI6KX_cjs.StringSymbol(tokenValue, this.config);
4031
+ if (chunkOABJLZRZ_cjs.isString(tokenValue) && chunkZMMIYWFF_cjs.UNINTERPRETED_KEYWORDS.includes(tokenValue)) {
4032
+ const symbol = new chunkOABJLZRZ_cjs.StringSymbol(tokenValue, this.config);
3914
4033
  this.earlyResolvePrimitiveToken(tokenName, symbol);
3915
4034
  continue;
3916
4035
  }
3917
- if (chunkK65UI6KX_cjs.isNumber(tokenValue)) {
3918
- this.earlyResolvePrimitiveToken(tokenName, new chunkK65UI6KX_cjs.NumberSymbol(tokenValue, this.config));
4036
+ if (chunkOABJLZRZ_cjs.isNumber(tokenValue)) {
4037
+ this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.NumberSymbol(tokenValue, this.config));
3919
4038
  continue;
3920
4039
  }
3921
- if (chunkK65UI6KX_cjs.isBoolean(tokenValue)) {
3922
- this.earlyResolvePrimitiveToken(tokenName, new chunkK65UI6KX_cjs.BooleanSymbol(tokenValue, this.config));
4040
+ if (chunkOABJLZRZ_cjs.isBoolean(tokenValue)) {
4041
+ this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.BooleanSymbol(tokenValue, this.config));
3923
4042
  continue;
3924
4043
  }
3925
- if (chunkK65UI6KX_cjs.isNull(tokenValue)) {
3926
- this.earlyResolvePrimitiveToken(tokenName, new chunkK65UI6KX_cjs.NullSymbol(this.config));
4044
+ if (chunkOABJLZRZ_cjs.isNull(tokenValue)) {
4045
+ this.earlyResolvePrimitiveToken(tokenName, new chunkOABJLZRZ_cjs.NullSymbol(this.config));
3927
4046
  continue;
3928
4047
  }
3929
- if (chunkK65UI6KX_cjs.isObject(tokenValue) || chunkK65UI6KX_cjs.isArray(tokenValue)) {
4048
+ if (chunkOABJLZRZ_cjs.isObject(tokenValue) || chunkOABJLZRZ_cjs.isArray(tokenValue)) {
3930
4049
  this.handleStructuredToken(tokenName, setTokenValue(tokenData));
3931
4050
  continue;
3932
4051
  }
@@ -4167,7 +4286,7 @@ var _PrefixResolver = class _PrefixResolver {
4167
4286
  for (const [fieldPath] of stringFields) {
4168
4287
  const fieldValue = this.resolved.get(fieldPath);
4169
4288
  if (fieldValue === void 0) {
4170
- const error = new chunkK65UI6KX_cjs.ProcessorError("PROC_SUB_FIELD_NOT_RESOLVED" /* SUB_FIELD_NOT_RESOLVED */, {
4289
+ const error = new chunkOABJLZRZ_cjs.ProcessorError("PROC_SUB_FIELD_NOT_RESOLVED" /* SUB_FIELD_NOT_RESOLVED */, {
4171
4290
  data: { fieldPath }
4172
4291
  });
4173
4292
  this.resolved.set(tokenName, error);
@@ -4213,7 +4332,7 @@ var _PrefixResolver = class _PrefixResolver {
4213
4332
  if (satisfied?.has(child) || this.referenceCache.has(child) || this.resolved.has(child)) {
4214
4333
  continue;
4215
4334
  }
4216
- const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4335
+ const error = parentValue instanceof Error ? createDependencyError(child, parent, parentValue) : new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4217
4336
  data: { tokenName: child }
4218
4337
  });
4219
4338
  this.resolved.set(child, error);
@@ -4312,9 +4431,9 @@ var _PrefixResolver = class _PrefixResolver {
4312
4431
  tokenValueStr = String(getTokenValue(originalValue));
4313
4432
  }
4314
4433
  const dependsOnMissing = tokensWithMissingDeps.has(tokenName);
4315
- const error = dependsOnMissing ? new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4434
+ const error = dependsOnMissing ? new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4316
4435
  data: { tokenName }
4317
- }) : new chunkK65UI6KX_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
4436
+ }) : new chunkOABJLZRZ_cjs.ProcessorError("PROC_CIRCULAR_DEPENDENCY" /* CIRCULAR_DEPENDENCY */, {
4318
4437
  data: { tokens: tokenName }
4319
4438
  });
4320
4439
  this.resolved.set(tokenName, error);
@@ -4341,7 +4460,7 @@ var _PrefixResolver = class _PrefixResolver {
4341
4460
  }
4342
4461
  }
4343
4462
  };
4344
- chunkKHF2VXWO_cjs.__name(_PrefixResolver, "PrefixResolver");
4463
+ chunkZMMIYWFF_cjs.__name(_PrefixResolver, "PrefixResolver");
4345
4464
  var PrefixResolver = _PrefixResolver;
4346
4465
  var _TokenResolver = class _TokenResolver {
4347
4466
  processTokens(tokens, callbacks, config, objectParsers) {
@@ -4369,7 +4488,7 @@ var _TokenResolver = class _TokenResolver {
4369
4488
  */
4370
4489
  getTokenDependencyGraph(tokenName) {
4371
4490
  if (!this.prefixResolver) {
4372
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4491
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4373
4492
  }
4374
4493
  const graph = this.prefixResolver.getGraph();
4375
4494
  const reverseDeps = /* @__PURE__ */ new Map();
@@ -4422,10 +4541,10 @@ var _TokenResolver = class _TokenResolver {
4422
4541
  build(tokens, config, objectParsers) {
4423
4542
  const output = /* @__PURE__ */ new Map();
4424
4543
  const callbacks = {
4425
- onResolve: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((tokenName, value) => {
4544
+ onResolve: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((tokenName, value) => {
4426
4545
  output.set(tokenName, value);
4427
4546
  }, "onResolve"),
4428
- onError: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((tokenName, _error, originalValue) => {
4547
+ onError: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((tokenName, _error, originalValue) => {
4429
4548
  output.set(tokenName, originalValue);
4430
4549
  }, "onError")
4431
4550
  };
@@ -4455,7 +4574,7 @@ var _TokenResolver = class _TokenResolver {
4455
4574
  }
4456
4575
  ensureInitialized() {
4457
4576
  if (!this.prefixResolver || !this.tokens) {
4458
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4577
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4459
4578
  }
4460
4579
  }
4461
4580
  normalizeTokenPath(tokenPath) {
@@ -4464,17 +4583,17 @@ var _TokenResolver = class _TokenResolver {
4464
4583
  createOutputCallbacks() {
4465
4584
  const output = /* @__PURE__ */ new Map();
4466
4585
  const callbacks = {
4467
- onResolve: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((name, value) => {
4586
+ onResolve: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((name, value) => {
4468
4587
  output.set(name, value);
4469
4588
  }, "onResolve"),
4470
- onError: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((_name, _error) => {
4589
+ onError: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((_name, _error) => {
4471
4590
  }, "onError")
4472
4591
  };
4473
4592
  return { output, callbacks };
4474
4593
  }
4475
4594
  rebuildResolver(updatedTokens, callbacks, changedTokenPath) {
4476
4595
  if (!this.prefixResolver) {
4477
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4596
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4478
4597
  }
4479
4598
  let dirtyTokens = null;
4480
4599
  if (changedTokenPath) {
@@ -4513,24 +4632,24 @@ var _TokenResolver = class _TokenResolver {
4513
4632
  updated: false
4514
4633
  };
4515
4634
  }
4516
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4635
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4517
4636
  data: { tokenName: prevPath }
4518
4637
  });
4519
4638
  }
4520
4639
  const oldTokenData = this.tokens.get(prevPath);
4521
4640
  if (!oldTokenData) {
4522
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4641
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4523
4642
  data: { tokenName: prevPath }
4524
4643
  });
4525
4644
  }
4526
4645
  const isRename = newPath && newPath !== prevPath;
4527
4646
  if (isRename && this.tokens.has(newPath)) {
4528
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4647
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4529
4648
  data: { tokenName: newPath }
4530
4649
  });
4531
4650
  }
4532
4651
  if (!this.prefixResolver) {
4533
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4652
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4534
4653
  }
4535
4654
  const currentGraph = this.prefixResolver.getGraph();
4536
4655
  const { tokens: affectedTokens } = getTokenDependencyGraph(prevPath, currentGraph);
@@ -4543,7 +4662,7 @@ var _TokenResolver = class _TokenResolver {
4543
4662
  const dependentTokenData = updatedTokens.get(dependentToken);
4544
4663
  if (!dependentTokenData) continue;
4545
4664
  const dependentValue = getTokenValue(dependentTokenData);
4546
- if (!chunkK65UI6KX_cjs.isString(dependentValue)) continue;
4665
+ if (!chunkOABJLZRZ_cjs.isString(dependentValue)) continue;
4547
4666
  const ast = tokenInterpreter.getTokenAST(dependentToken);
4548
4667
  if (!ast) continue;
4549
4668
  const updatedValue = renameReferences(dependentValue, ast, renameMap);
@@ -4560,7 +4679,7 @@ var _TokenResolver = class _TokenResolver {
4560
4679
  const { output, callbacks } = this.createOutputCallbacks();
4561
4680
  const resolverResult = this.rebuildResolver(updatedTokens, callbacks, prevPath);
4562
4681
  if (!this.prefixResolver) {
4563
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4682
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4564
4683
  }
4565
4684
  const { subgraph } = getTokenDependencyGraph(finalPath, this.prefixResolver.getGraph());
4566
4685
  const resolvedValue = output.get(finalPath);
@@ -4577,7 +4696,7 @@ var _TokenResolver = class _TokenResolver {
4577
4696
  const { tokenPath, tokenData } = params;
4578
4697
  const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
4579
4698
  if (this.tokens?.has(normalizedTokenPath)) {
4580
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4699
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_ALREADY_EXISTS" /* TOKEN_ALREADY_EXISTS */, {
4581
4700
  data: { tokenName: normalizedTokenPath }
4582
4701
  });
4583
4702
  }
@@ -4587,7 +4706,7 @@ var _TokenResolver = class _TokenResolver {
4587
4706
  const { output, callbacks } = this.createOutputCallbacks();
4588
4707
  const resolverResult = this.rebuildResolver(updatedTokens, callbacks, normalizedTokenPath);
4589
4708
  if (!this.prefixResolver) {
4590
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4709
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4591
4710
  }
4592
4711
  const { subgraph } = getTokenDependencyGraph(
4593
4712
  normalizedTokenPath,
@@ -4607,12 +4726,12 @@ var _TokenResolver = class _TokenResolver {
4607
4726
  const { tokenPath } = params;
4608
4727
  const normalizedTokenPath = this.normalizeTokenPath(tokenPath);
4609
4728
  if (!this.tokens?.has(normalizedTokenPath)) {
4610
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4729
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_NOT_FOUND" /* TOKEN_NOT_FOUND */, {
4611
4730
  data: { tokenName: normalizedTokenPath }
4612
4731
  });
4613
4732
  }
4614
4733
  if (!this.prefixResolver) {
4615
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4734
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4616
4735
  }
4617
4736
  const currentGraph = this.prefixResolver.getGraph();
4618
4737
  const { subgraph } = getTokenDependencyGraph(normalizedTokenPath, currentGraph);
@@ -4646,7 +4765,7 @@ var _TokenResolver = class _TokenResolver {
4646
4765
  resolveValue(params) {
4647
4766
  this.ensureInitialized();
4648
4767
  if (!this.prefixResolver) {
4649
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4768
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_RESOLVER_NOT_INITIALIZED" /* RESOLVER_NOT_INITIALIZED */);
4650
4769
  }
4651
4770
  const { value, type, validate } = params;
4652
4771
  const issues = [];
@@ -4659,7 +4778,7 @@ var _TokenResolver = class _TokenResolver {
4659
4778
  const result = parseExpression(valueStr);
4660
4779
  ast = result.ast;
4661
4780
  } catch (error) {
4662
- if (chunkK65UI6KX_cjs.isLanguageError(error)) {
4781
+ if (chunkOABJLZRZ_cjs.isLanguageError(error)) {
4663
4782
  issues.push(error);
4664
4783
  return { resolved: null, issues };
4665
4784
  }
@@ -4671,7 +4790,7 @@ var _TokenResolver = class _TokenResolver {
4671
4790
  const tokenInterpreter = this.prefixResolver.getTokenInterpreter();
4672
4791
  const resolved = tokenInterpreter.interpretTokenWithAST("\0__preview__", ast);
4673
4792
  if (resolved instanceof Error) {
4674
- if (chunkK65UI6KX_cjs.isLanguageError(resolved)) {
4793
+ if (chunkOABJLZRZ_cjs.isLanguageError(resolved)) {
4675
4794
  issues.push(resolved);
4676
4795
  }
4677
4796
  return { resolved: null, issues };
@@ -4682,7 +4801,7 @@ var _TokenResolver = class _TokenResolver {
4682
4801
  return { resolved, issues };
4683
4802
  }
4684
4803
  };
4685
- chunkKHF2VXWO_cjs.__name(_TokenResolver, "TokenResolver");
4804
+ chunkZMMIYWFF_cjs.__name(_TokenResolver, "TokenResolver");
4686
4805
  var TokenResolver = _TokenResolver;
4687
4806
 
4688
4807
  // src/processor/builders/MapBuilder.ts
@@ -4706,7 +4825,7 @@ var _MapBuilder = class _MapBuilder {
4706
4825
  return this.successfullyResolved;
4707
4826
  }
4708
4827
  };
4709
- chunkKHF2VXWO_cjs.__name(_MapBuilder, "MapBuilder");
4828
+ chunkZMMIYWFF_cjs.__name(_MapBuilder, "MapBuilder");
4710
4829
  var MapBuilder = _MapBuilder;
4711
4830
 
4712
4831
  // src/processor/builders/base.ts
@@ -4738,29 +4857,29 @@ function buildTokens(tokens, options) {
4738
4857
  resolver: result.resolver
4739
4858
  };
4740
4859
  }
4741
- chunkKHF2VXWO_cjs.__name(buildTokens, "buildTokens");
4860
+ chunkZMMIYWFF_cjs.__name(buildTokens, "buildTokens");
4742
4861
 
4743
4862
  // src/processor/builders/flatten.ts
4744
4863
  function flattenChildrenObject(result, prefix, callback) {
4745
- if (result instanceof chunkK65UI6KX_cjs.DictionarySymbol) {
4864
+ if (result instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
4746
4865
  flattenChildrenMap(result.value, prefix, callback);
4747
4866
  }
4748
4867
  }
4749
- chunkKHF2VXWO_cjs.__name(flattenChildrenObject, "flattenChildrenObject");
4868
+ chunkZMMIYWFF_cjs.__name(flattenChildrenObject, "flattenChildrenObject");
4750
4869
  function flattenChildrenMap(map, prefix, callback) {
4751
4870
  for (const [key, value] of map.entries()) {
4752
4871
  const newKey = `${prefix}.${key}`;
4753
4872
  if (typeof value === "undefined") {
4754
4873
  continue;
4755
4874
  }
4756
- if (value instanceof chunkK65UI6KX_cjs.DictionarySymbol) {
4875
+ if (value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
4757
4876
  flattenChildrenMap(value.value, newKey, callback);
4758
4877
  } else {
4759
4878
  callback(newKey, value);
4760
4879
  }
4761
4880
  }
4762
4881
  }
4763
- chunkKHF2VXWO_cjs.__name(flattenChildrenMap, "flattenChildrenMap");
4882
+ chunkZMMIYWFF_cjs.__name(flattenChildrenMap, "flattenChildrenMap");
4764
4883
 
4765
4884
  // src/processor/builders/ObjectBuilder.ts
4766
4885
  function setNestedValue(target, path, value) {
@@ -4776,20 +4895,20 @@ function setNestedValue(target, path, value) {
4776
4895
  cursor[key] = value;
4777
4896
  return;
4778
4897
  }
4779
- if (!chunkK65UI6KX_cjs.isObject(cursor[key])) {
4898
+ if (!chunkOABJLZRZ_cjs.isObject(cursor[key])) {
4780
4899
  cursor[key] = {};
4781
4900
  }
4782
4901
  cursor = cursor[key];
4783
4902
  }
4784
4903
  }
4785
- chunkKHF2VXWO_cjs.__name(setNestedValue, "setNestedValue");
4904
+ chunkZMMIYWFF_cjs.__name(setNestedValue, "setNestedValue");
4786
4905
  var _NestedObjectBuilder = class _NestedObjectBuilder {
4787
4906
  constructor() {
4788
4907
  this.name = "nested";
4789
4908
  this.result = {};
4790
4909
  }
4791
4910
  onResolve(tokenName, value) {
4792
- const serialized = chunkK65UI6KX_cjs.serializeInterpreterResult(value, { stringify: true });
4911
+ const serialized = chunkOABJLZRZ_cjs.serializeInterpreterResult(value, { stringify: true });
4793
4912
  if (typeof serialized !== "undefined") {
4794
4913
  setNestedValue(this.result, tokenName, serialized);
4795
4914
  }
@@ -4801,7 +4920,7 @@ var _NestedObjectBuilder = class _NestedObjectBuilder {
4801
4920
  return this.result;
4802
4921
  }
4803
4922
  };
4804
- chunkKHF2VXWO_cjs.__name(_NestedObjectBuilder, "NestedObjectBuilder");
4923
+ chunkZMMIYWFF_cjs.__name(_NestedObjectBuilder, "NestedObjectBuilder");
4805
4924
  var NestedObjectBuilder = _NestedObjectBuilder;
4806
4925
  var _FlatObjectBuilder = class _FlatObjectBuilder {
4807
4926
  constructor() {
@@ -4812,10 +4931,10 @@ var _FlatObjectBuilder = class _FlatObjectBuilder {
4812
4931
  let didFlatten = false;
4813
4932
  flattenChildrenObject(value, tokenName, (key, val) => {
4814
4933
  didFlatten = true;
4815
- this.result[key] = chunkK65UI6KX_cjs.serializeInterpreterResult(val, { stringify: true });
4934
+ this.result[key] = chunkOABJLZRZ_cjs.serializeInterpreterResult(val, { stringify: true });
4816
4935
  });
4817
4936
  if (!didFlatten) {
4818
- const serialized = chunkK65UI6KX_cjs.serializeInterpreterResult(value, { stringify: true });
4937
+ const serialized = chunkOABJLZRZ_cjs.serializeInterpreterResult(value, { stringify: true });
4819
4938
  if (typeof serialized !== "undefined") {
4820
4939
  this.result[tokenName] = serialized;
4821
4940
  }
@@ -4828,24 +4947,24 @@ var _FlatObjectBuilder = class _FlatObjectBuilder {
4828
4947
  return this.result;
4829
4948
  }
4830
4949
  };
4831
- chunkKHF2VXWO_cjs.__name(_FlatObjectBuilder, "FlatObjectBuilder");
4950
+ chunkZMMIYWFF_cjs.__name(_FlatObjectBuilder, "FlatObjectBuilder");
4832
4951
  var FlatObjectBuilder = _FlatObjectBuilder;
4833
4952
 
4834
4953
  // src/processor/builders/StringMapBuilder.ts
4835
4954
  var _StringMapBuilder = class _StringMapBuilder extends MapBuilder {
4836
4955
  onResolve(tokenName, value) {
4837
4956
  super.onResolve(tokenName, value);
4838
- this.result.set(tokenName, chunkK65UI6KX_cjs.stringifyInterpreterResult(value));
4957
+ this.result.set(tokenName, chunkOABJLZRZ_cjs.stringifyInterpreterResult(value));
4839
4958
  }
4840
4959
  getResult() {
4841
4960
  const stringMap = /* @__PURE__ */ new Map();
4842
4961
  for (const [key, value] of this.result.entries()) {
4843
- stringMap.set(key, typeof value === "string" ? value : chunkK65UI6KX_cjs.stringifyInterpreterResult(value));
4962
+ stringMap.set(key, typeof value === "string" ? value : chunkOABJLZRZ_cjs.stringifyInterpreterResult(value));
4844
4963
  }
4845
4964
  return stringMap;
4846
4965
  }
4847
4966
  };
4848
- chunkKHF2VXWO_cjs.__name(_StringMapBuilder, "StringMapBuilder");
4967
+ chunkZMMIYWFF_cjs.__name(_StringMapBuilder, "StringMapBuilder");
4849
4968
  var StringMapBuilder = _StringMapBuilder;
4850
4969
  var TokenSetStatus = schemaValidation.z.enum(["enabled", "source"]);
4851
4970
  var SelectedTokenSetsObjectSchema = schemaValidation.z.record(schemaValidation.z.string(), TokenSetStatus);
@@ -4867,13 +4986,13 @@ var ThemeSchema = schemaValidation.z.object({
4867
4986
  group: schemaValidation.z.string().optional()
4868
4987
  });
4869
4988
  var ThemesArraySchema = schemaValidation.z.array(ThemeSchema);
4870
- var selectTheme = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((themes, themeName) => {
4989
+ var selectTheme = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((themes, themeName) => {
4871
4990
  return themes.find((theme) => theme.name === themeName);
4872
4991
  }, "selectTheme");
4873
- var resolveThemes = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((jsonFiles) => {
4992
+ var resolveThemes = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((jsonFiles) => {
4874
4993
  const themesFile = jsonFiles.$themes;
4875
4994
  if (themesFile) {
4876
- if (chunkK65UI6KX_cjs.isObject(themesFile) && "$themes" in themesFile) {
4995
+ if (chunkOABJLZRZ_cjs.isObject(themesFile) && "$themes" in themesFile) {
4877
4996
  const inner = ThemesArraySchema.safeParse(themesFile.$themes);
4878
4997
  if (inner.success) {
4879
4998
  return ["$themes", inner.data];
@@ -4886,7 +5005,7 @@ var resolveThemes = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((jsonFiles) => {
4886
5005
  }
4887
5006
  return void 0;
4888
5007
  }, "resolveThemes");
4889
- var extractSetNames = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((selectedTokenSets) => {
5008
+ var extractSetNames = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((selectedTokenSets) => {
4890
5009
  if (Array.isArray(selectedTokenSets)) {
4891
5010
  return selectedTokenSets.map((set) => set.id);
4892
5011
  }
@@ -4899,14 +5018,14 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
4899
5018
  if (activeTheme) {
4900
5019
  const resolved = resolveThemes(jsonFiles);
4901
5020
  if (!resolved) {
4902
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_NO_THEMES_FOUND" /* NO_THEMES_FOUND */, {
5021
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_NO_THEMES_FOUND" /* NO_THEMES_FOUND */, {
4903
5022
  data: { themeName: activeTheme }
4904
5023
  });
4905
5024
  }
4906
5025
  const [, themes] = resolved;
4907
5026
  const theme = selectTheme(themes, activeTheme);
4908
5027
  if (!theme) {
4909
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_THEME_NOT_FOUND" /* THEME_NOT_FOUND */, {
5028
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_THEME_NOT_FOUND" /* THEME_NOT_FOUND */, {
4910
5029
  data: {
4911
5030
  themeName: activeTheme,
4912
5031
  availableThemes: themes.map((t) => t.name)
@@ -4920,18 +5039,18 @@ function determineSets(jsonFiles, activeSets, activeTheme) {
4920
5039
  return keys;
4921
5040
  }
4922
5041
  if (keys.length > 1) {
4923
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_MULTIPLE_SETS_NO_SELECTION" /* MULTIPLE_SETS_NO_SELECTION */, {
5042
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_MULTIPLE_SETS_NO_SELECTION" /* MULTIPLE_SETS_NO_SELECTION */, {
4924
5043
  data: { setNames: keys }
4925
5044
  });
4926
5045
  }
4927
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_NO_SETS_TO_PROCESS" /* NO_SETS_TO_PROCESS */);
5046
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_NO_SETS_TO_PROCESS" /* NO_SETS_TO_PROCESS */);
4928
5047
  }
4929
- chunkKHF2VXWO_cjs.__name(determineSets, "determineSets");
5048
+ chunkZMMIYWFF_cjs.__name(determineSets, "determineSets");
4930
5049
  function getSetTokens(setData) {
4931
5050
  if (setData instanceof Map) {
4932
5051
  return setData;
4933
5052
  }
4934
- if (!chunkK65UI6KX_cjs.isObject(setData)) {
5053
+ if (!chunkOABJLZRZ_cjs.isObject(setData)) {
4935
5054
  return /* @__PURE__ */ new Map();
4936
5055
  }
4937
5056
  if (isNested(setData)) {
@@ -4939,7 +5058,7 @@ function getSetTokens(setData) {
4939
5058
  }
4940
5059
  return recordToMap(setData);
4941
5060
  }
4942
- chunkKHF2VXWO_cjs.__name(getSetTokens, "getSetTokens");
5061
+ chunkZMMIYWFF_cjs.__name(getSetTokens, "getSetTokens");
4943
5062
  function flattenToTokens(sets, setNames) {
4944
5063
  const tokens = /* @__PURE__ */ new Map();
4945
5064
  const entries = sets instanceof Map ? sets.entries() : setNames.map((name) => [name, sets[name]]);
@@ -4948,12 +5067,12 @@ function flattenToTokens(sets, setNames) {
4948
5067
  tokens.set(key, normalizeToTokenData(setData));
4949
5068
  } else {
4950
5069
  if (!setData) {
4951
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_SET_NOT_FOUND" /* TOKEN_SET_NOT_FOUND */, {
5070
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_SET_NOT_FOUND" /* TOKEN_SET_NOT_FOUND */, {
4952
5071
  data: { setName: key }
4953
5072
  });
4954
5073
  }
4955
- if (!chunkK65UI6KX_cjs.isObject(setData) && !(setData instanceof Map)) {
4956
- throw new chunkK65UI6KX_cjs.ProcessorError("PROC_TOKEN_SET_INVALID" /* TOKEN_SET_INVALID */, {
5074
+ if (!chunkOABJLZRZ_cjs.isObject(setData) && !(setData instanceof Map)) {
5075
+ throw new chunkOABJLZRZ_cjs.ProcessorError("PROC_TOKEN_SET_INVALID" /* TOKEN_SET_INVALID */, {
4957
5076
  data: { setName: key }
4958
5077
  });
4959
5078
  }
@@ -4965,29 +5084,29 @@ function flattenToTokens(sets, setNames) {
4965
5084
  }
4966
5085
  return tokens;
4967
5086
  }
4968
- chunkKHF2VXWO_cjs.__name(flattenToTokens, "flattenToTokens");
5087
+ chunkZMMIYWFF_cjs.__name(flattenToTokens, "flattenToTokens");
4969
5088
 
4970
5089
  // src/processor/process.ts
4971
5090
  function processTokens(tokens, options) {
4972
5091
  const tokenDataMap = tokens instanceof Map ? flattenToTokens(tokens, []) : flattenToTokens({ tokens }, ["tokens"]);
4973
5092
  return buildTokens(tokenDataMap, options);
4974
5093
  }
4975
- chunkKHF2VXWO_cjs.__name(processTokens, "processTokens");
5094
+ chunkZMMIYWFF_cjs.__name(processTokens, "processTokens");
4976
5095
  function processTokenSets(normalizedFiles, options) {
4977
5096
  const { activeSets, activeTheme } = options ?? {};
4978
5097
  const setNames = determineSets(normalizedFiles, activeSets, activeTheme);
4979
5098
  const tokens = flattenToTokens(normalizedFiles, setNames);
4980
5099
  return buildTokens(tokens, options);
4981
5100
  }
4982
- chunkKHF2VXWO_cjs.__name(processTokenSets, "processTokenSets");
5101
+ chunkZMMIYWFF_cjs.__name(processTokenSets, "processTokenSets");
4983
5102
 
4984
5103
  // src/lib/errors.ts
4985
5104
  var errorClasses = {
4986
- LanguageError: chunkK65UI6KX_cjs.LanguageError,
4987
- LexerError: chunkK65UI6KX_cjs.LexerError,
4988
- ParserError: chunkK65UI6KX_cjs.ParserError,
4989
- InterpreterError: chunkK65UI6KX_cjs.InterpreterError,
4990
- ProcessorError: chunkK65UI6KX_cjs.ProcessorError
5105
+ LanguageError: chunkOABJLZRZ_cjs.LanguageError,
5106
+ LexerError: chunkOABJLZRZ_cjs.LexerError,
5107
+ ParserError: chunkOABJLZRZ_cjs.ParserError,
5108
+ InterpreterError: chunkOABJLZRZ_cjs.InterpreterError,
5109
+ ProcessorError: chunkOABJLZRZ_cjs.ProcessorError
4991
5110
  };
4992
5111
  var errorHelpers = {
4993
5112
  createDependencyError
@@ -5004,16 +5123,16 @@ schemaValidation.Fn.specName;
5004
5123
  function isPlainObject(v) {
5005
5124
  return typeof v === "object" && v !== null && !Array.isArray(v);
5006
5125
  }
5007
- chunkKHF2VXWO_cjs.__name(isPlainObject, "isPlainObject");
5126
+ chunkZMMIYWFF_cjs.__name(isPlainObject, "isPlainObject");
5008
5127
  function summarizeZodError(err) {
5009
5128
  return err.issues.map((i) => `${i.path.join(".") || "<root>"}: ${i.message}`).join("; ");
5010
5129
  }
5011
- chunkKHF2VXWO_cjs.__name(summarizeZodError, "summarizeZodError");
5130
+ chunkZMMIYWFF_cjs.__name(summarizeZodError, "summarizeZodError");
5012
5131
  function parseTokenScriptSchemaResponse(data) {
5013
5132
  if (!isPlainObject(data)) {
5014
5133
  throw new Error("Invalid schema structure: expected an object");
5015
5134
  }
5016
- const requireString = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((key) => {
5135
+ const requireString = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((key) => {
5017
5136
  const value = data[key];
5018
5137
  if (typeof value !== "string") {
5019
5138
  throw new Error(`Invalid schema structure: missing or non-string field "${key}"`);
@@ -5058,7 +5177,7 @@ function parseTokenScriptSchemaResponse(data) {
5058
5177
  }
5059
5178
  return { id, type, schema, slug, version, content, license_name };
5060
5179
  }
5061
- chunkKHF2VXWO_cjs.__name(parseTokenScriptSchemaResponse, "parseTokenScriptSchemaResponse");
5180
+ chunkZMMIYWFF_cjs.__name(parseTokenScriptSchemaResponse, "parseTokenScriptSchemaResponse");
5062
5181
  async function fetchTokenScriptSchema(schemaUri, options = {}) {
5063
5182
  const { timeout = 1e4, headers = {}, signal } = options;
5064
5183
  const controller = signal ? new AbortController() : new AbortController();
@@ -5095,7 +5214,7 @@ async function fetchTokenScriptSchema(schemaUri, options = {}) {
5095
5214
  throw new Error("Unknown error occurred while fetching schema");
5096
5215
  }
5097
5216
  }
5098
- chunkKHF2VXWO_cjs.__name(fetchTokenScriptSchema, "fetchTokenScriptSchema");
5217
+ chunkZMMIYWFF_cjs.__name(fetchTokenScriptSchema, "fetchTokenScriptSchema");
5099
5218
  async function fetchAndRegisterSchemas(schemaUris, config) {
5100
5219
  const configInstance = config || new Config();
5101
5220
  if (!schemaUris || schemaUris.length === 0) {
@@ -5112,7 +5231,7 @@ async function fetchAndRegisterSchemas(schemaUris, config) {
5112
5231
  );
5113
5232
  return configInstance.registerSchemas(schemas);
5114
5233
  }
5115
- chunkKHF2VXWO_cjs.__name(fetchAndRegisterSchemas, "fetchAndRegisterSchemas");
5234
+ chunkZMMIYWFF_cjs.__name(fetchAndRegisterSchemas, "fetchAndRegisterSchemas");
5116
5235
 
5117
5236
  // src/utils/schema-uri.ts
5118
5237
  var DEFAULT_REGISTRY_URL = "https://schema.tokenscript.dev.gcp.tokens.studio";
@@ -5121,7 +5240,7 @@ function parseSemverFromString(versionString) {
5121
5240
  const parts = versionString.split(".");
5122
5241
  const numbers = [];
5123
5242
  for (const part of parts) {
5124
- const num = chunkK65UI6KX_cjs.safeParseInt(part);
5243
+ const num = chunkOABJLZRZ_cjs.safeParseInt(part);
5125
5244
  if (num === null) return null;
5126
5245
  numbers.push(num);
5127
5246
  }
@@ -5137,23 +5256,23 @@ function parseSemverFromString(versionString) {
5137
5256
  }
5138
5257
  return null;
5139
5258
  }
5140
- chunkKHF2VXWO_cjs.__name(parseSemverFromString, "parseSemverFromString");
5259
+ chunkZMMIYWFF_cjs.__name(parseSemverFromString, "parseSemverFromString");
5141
5260
  function parseVersionString(versionString) {
5142
5261
  return versionString === "latest" ? "latest" : parseSemverFromString(versionString);
5143
5262
  }
5144
- chunkKHF2VXWO_cjs.__name(parseVersionString, "parseVersionString");
5263
+ chunkZMMIYWFF_cjs.__name(parseVersionString, "parseVersionString");
5145
5264
  function semverToString(version) {
5146
5265
  if (version === void 0) {
5147
5266
  return "latest";
5148
5267
  }
5149
- if (chunkK65UI6KX_cjs.isObject(version)) {
5268
+ if (chunkOABJLZRZ_cjs.isObject(version)) {
5150
5269
  if ("patch" in version) return `${version.major}.${version.minor}.${version.patch}`;
5151
5270
  if ("minor" in version) return `${version.major}.${version.minor}`;
5152
5271
  return `${version.major}`;
5153
5272
  }
5154
5273
  return "latest";
5155
5274
  }
5156
- chunkKHF2VXWO_cjs.__name(semverToString, "semverToString");
5275
+ chunkZMMIYWFF_cjs.__name(semverToString, "semverToString");
5157
5276
  function buildSchemaUri(params) {
5158
5277
  const { baseUrl, category, name, version } = params;
5159
5278
  const versionString = semverToString(version);
@@ -5163,7 +5282,7 @@ function buildSchemaUri(params) {
5163
5282
  }
5164
5283
  return `${effectiveBaseUrl}${DEFAULT_API_PATH}/${category}/${name}/${versionString}/`;
5165
5284
  }
5166
- chunkKHF2VXWO_cjs.__name(buildSchemaUri, "buildSchemaUri");
5285
+ chunkZMMIYWFF_cjs.__name(buildSchemaUri, "buildSchemaUri");
5167
5286
  function parseSchemaUri(uri) {
5168
5287
  let baseUrl = "";
5169
5288
  let pathname = uri;
@@ -5197,7 +5316,7 @@ function parseSchemaUri(uri) {
5197
5316
  version
5198
5317
  };
5199
5318
  }
5200
- chunkKHF2VXWO_cjs.__name(parseSchemaUri, "parseSchemaUri");
5319
+ chunkZMMIYWFF_cjs.__name(parseSchemaUri, "parseSchemaUri");
5201
5320
  function getBaseUri(uri) {
5202
5321
  const components = parseSchemaUri(uri);
5203
5322
  if (!components) {
@@ -5209,7 +5328,7 @@ function getBaseUri(uri) {
5209
5328
  }
5210
5329
  return `${baseUrl}${DEFAULT_API_PATH}/${category}/${name}/`;
5211
5330
  }
5212
- chunkKHF2VXWO_cjs.__name(getBaseUri, "getBaseUri");
5331
+ chunkZMMIYWFF_cjs.__name(getBaseUri, "getBaseUri");
5213
5332
  function parseSemverFromUri(uri) {
5214
5333
  const components = parseSchemaUri(uri);
5215
5334
  if (!components || components.version === "latest" || components.version === null) {
@@ -5217,7 +5336,7 @@ function parseSemverFromUri(uri) {
5217
5336
  }
5218
5337
  return components.version;
5219
5338
  }
5220
- chunkKHF2VXWO_cjs.__name(parseSemverFromUri, "parseSemverFromUri");
5339
+ chunkZMMIYWFF_cjs.__name(parseSemverFromUri, "parseSemverFromUri");
5221
5340
  function generateVersionCandidates(uri) {
5222
5341
  const components = parseSchemaUri(uri);
5223
5342
  if (!components) {
@@ -5252,7 +5371,7 @@ function generateVersionCandidates(uri) {
5252
5371
  );
5253
5372
  return candidates;
5254
5373
  }
5255
- chunkKHF2VXWO_cjs.__name(generateVersionCandidates, "generateVersionCandidates");
5374
+ chunkZMMIYWFF_cjs.__name(generateVersionCandidates, "generateVersionCandidates");
5256
5375
  function compareVersions(v1, v2) {
5257
5376
  if (v1.major !== v2.major) return v1.major - v2.major;
5258
5377
  const v1Minor = "minor" in v1 ? v1.minor : 0;
@@ -5262,7 +5381,7 @@ function compareVersions(v1, v2) {
5262
5381
  const v2Patch = "patch" in v2 ? v2.patch : 0;
5263
5382
  return v1Patch - v2Patch;
5264
5383
  }
5265
- chunkKHF2VXWO_cjs.__name(compareVersions, "compareVersions");
5384
+ chunkZMMIYWFF_cjs.__name(compareVersions, "compareVersions");
5266
5385
  function isSameSchema(uri1, uri2) {
5267
5386
  const components1 = parseSchemaUri(uri1);
5268
5387
  const components2 = parseSchemaUri(uri2);
@@ -5273,7 +5392,7 @@ function isSameSchema(uri1, uri2) {
5273
5392
  }
5274
5393
  return components1.baseUrl === components2.baseUrl && components1.category === components2.category && components1.name === components2.name;
5275
5394
  }
5276
- chunkKHF2VXWO_cjs.__name(isSameSchema, "isSameSchema");
5395
+ chunkZMMIYWFF_cjs.__name(isSameSchema, "isSameSchema");
5277
5396
 
5278
5397
  // src/interpreter/config/managers/base-manager.ts
5279
5398
  var _BaseManager = class _BaseManager {
@@ -5539,7 +5658,7 @@ var _BaseManager = class _BaseManager {
5539
5658
  };
5540
5659
  }
5541
5660
  };
5542
- chunkKHF2VXWO_cjs.__name(_BaseManager, "BaseManager");
5661
+ chunkZMMIYWFF_cjs.__name(_BaseManager, "BaseManager");
5543
5662
  var BaseManager = _BaseManager;
5544
5663
 
5545
5664
  // src/interpreter/config/managers/color/manager.ts
@@ -5599,19 +5718,19 @@ var _ColorManager = class _ColorManager extends BaseManager {
5599
5718
  spec.initializers.forEach((spec2) => {
5600
5719
  try {
5601
5720
  const { ast } = parseExpression(spec2.script.script);
5602
- const fn = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((args) => {
5721
+ const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((args) => {
5603
5722
  const config = this.createInterpreterConfig({ input: args });
5604
5723
  const result = new Interpreter(ast, config).interpret();
5605
- if (!(result instanceof chunkK65UI6KX_cjs.ColorSymbol)) {
5606
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_INITIALIZER_CRASHED" /* INITIALIZER_CRASHED */);
5724
+ if (!(result instanceof chunkOABJLZRZ_cjs.ColorSymbol)) {
5725
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_CRASHED" /* INITIALIZER_CRASHED */);
5607
5726
  }
5608
5727
  return result;
5609
5728
  }, "fn");
5610
5729
  this.initializers.set(spec2.keyword.toLowerCase(), fn);
5611
5730
  } catch (error) {
5612
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_INITIALIZER_CONSTRUCT_FAILED" /* INITIALIZER_CONSTRUCT_FAILED */, {
5731
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_CONSTRUCT_FAILED" /* INITIALIZER_CONSTRUCT_FAILED */, {
5613
5732
  data: {
5614
- error: chunkK65UI6KX_cjs.isLanguageError(error) ? error : chunkK65UI6KX_cjs.serializeError(error)
5733
+ error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
5615
5734
  }
5616
5735
  });
5617
5736
  }
@@ -5622,18 +5741,18 @@ var _ColorManager = class _ColorManager extends BaseManager {
5622
5741
  const sourceUri = conversion.source === "$self" ? uri : conversion.source;
5623
5742
  const targetUri = conversion.target === "$self" ? uri : conversion.target;
5624
5743
  const { ast } = parseExpression(conversion.script.script);
5625
- const fn = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((color) => {
5744
+ const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((color) => {
5626
5745
  const interpreterConfig = this.createInterpreterConfig({ input: color });
5627
5746
  const result = new Interpreter(ast, interpreterConfig).interpret();
5628
- if (!(result instanceof chunkK65UI6KX_cjs.ColorSymbol)) {
5747
+ if (!(result instanceof chunkOABJLZRZ_cjs.ColorSymbol)) {
5629
5748
  const targetSpec = this.getSpec(targetUri);
5630
5749
  if (!targetSpec) {
5631
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_CONVERSION_TARGET_NOT_FOUND" /* CONVERSION_TARGET_NOT_FOUND */, {
5750
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_CONVERSION_TARGET_NOT_FOUND" /* CONVERSION_TARGET_NOT_FOUND */, {
5632
5751
  data: { targetUri }
5633
5752
  });
5634
5753
  }
5635
5754
  const value = typeof result === "string" ? result : result?.value ?? null;
5636
- return new chunkK65UI6KX_cjs.ColorSymbol(value, targetSpec.name, null, this.parentConfig);
5755
+ return new chunkOABJLZRZ_cjs.ColorSymbol(value, targetSpec.name, null, this.parentConfig);
5637
5756
  }
5638
5757
  return result;
5639
5758
  }, "fn");
@@ -5676,7 +5795,7 @@ ${spec}` : "";
5676
5795
  executeInitializer(keyword, args) {
5677
5796
  const initFn = this.initializers.get(keyword.toLowerCase());
5678
5797
  if (!initFn) {
5679
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_INITIALIZER_NOT_FOUND" /* INITIALIZER_NOT_FOUND */, {
5798
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INITIALIZER_NOT_FOUND" /* INITIALIZER_NOT_FOUND */, {
5680
5799
  data: { keyword }
5681
5800
  });
5682
5801
  }
@@ -5693,7 +5812,7 @@ ${spec}` : "";
5693
5812
  convertTo(color, targetUri) {
5694
5813
  const sourceUri = this.specTypes.get(color.subType?.toLowerCase() || "");
5695
5814
  if (!sourceUri) {
5696
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
5815
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
5697
5816
  data: { colorType: color.subType || "unknown" }
5698
5817
  });
5699
5818
  }
@@ -5702,9 +5821,9 @@ ${spec}` : "";
5702
5821
  result.alpha = color.alpha;
5703
5822
  return result;
5704
5823
  } catch (error) {
5705
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_CONVERSION_ERROR" /* CONVERSION_ERROR */, {
5824
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_CONVERSION_ERROR" /* CONVERSION_ERROR */, {
5706
5825
  data: {
5707
- error: chunkK65UI6KX_cjs.isLanguageError(error) ? error : chunkK65UI6KX_cjs.serializeError(error)
5826
+ error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
5708
5827
  }
5709
5828
  });
5710
5829
  }
@@ -5715,7 +5834,7 @@ ${spec}` : "";
5715
5834
  }
5716
5835
  const targetUri = this.specTypes.get(targetType.toLowerCase());
5717
5836
  if (!targetUri) {
5718
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_TARGET_URI_NOT_FOUND" /* TARGET_URI_NOT_FOUND */, {
5837
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_TARGET_URI_NOT_FOUND" /* TARGET_URI_NOT_FOUND */, {
5719
5838
  data: { colorType: targetType }
5720
5839
  });
5721
5840
  }
@@ -5724,7 +5843,7 @@ ${spec}` : "";
5724
5843
  setAttribute(color, node, attributeValue) {
5725
5844
  const attributes = node.attributesStringChain();
5726
5845
  if (attributes.length !== 1) {
5727
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_ATTRIBUTE_CHAIN_TOO_LONG" /* ATTRIBUTE_CHAIN_TOO_LONG */, {
5846
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_ATTRIBUTE_CHAIN_TOO_LONG" /* ATTRIBUTE_CHAIN_TOO_LONG */, {
5728
5847
  token: node.token,
5729
5848
  data: {
5730
5849
  attributes: attributesToString(attributes),
@@ -5736,7 +5855,7 @@ ${spec}` : "";
5736
5855
  const attr = attributes[0];
5737
5856
  if (attr === "alpha") {
5738
5857
  if (attributeValue.type !== "Number" && attributeValue.type !== "Null") {
5739
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5858
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5740
5859
  token: node.token,
5741
5860
  data: {
5742
5861
  attributeType: attributeValue.type,
@@ -5745,12 +5864,12 @@ ${spec}` : "";
5745
5864
  });
5746
5865
  }
5747
5866
  const alphaValue = attributeValue.value;
5748
- chunkK65UI6KX_cjs.ensureValidAlpha(alphaValue);
5867
+ chunkOABJLZRZ_cjs.ensureValidAlpha(alphaValue);
5749
5868
  color.alpha = alphaValue;
5750
5869
  return color;
5751
5870
  }
5752
5871
  if (typeof color.value === "string") {
5753
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_STRING_VALUE_ASSIGNMENT" /* STRING_VALUE_ASSIGNMENT */, {
5872
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_STRING_VALUE_ASSIGNMENT" /* STRING_VALUE_ASSIGNMENT */, {
5754
5873
  token: node.token,
5755
5874
  data: {
5756
5875
  attributes: attributesToString(attributes),
@@ -5761,7 +5880,7 @@ ${spec}` : "";
5761
5880
  }
5762
5881
  const spec = this.getSpecFromColor(color);
5763
5882
  if (!spec) {
5764
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_MISSING_SPEC" /* MISSING_SPEC */, {
5883
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_SPEC" /* MISSING_SPEC */, {
5765
5884
  token: node.token,
5766
5885
  data: {
5767
5886
  identifier: node.identifierToString(),
@@ -5770,14 +5889,14 @@ ${spec}` : "";
5770
5889
  });
5771
5890
  }
5772
5891
  if (!spec.schema) {
5773
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_MISSING_SCHEMA" /* MISSING_SCHEMA */, {
5892
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_SCHEMA" /* MISSING_SCHEMA */, {
5774
5893
  token: node.token,
5775
5894
  data: { colorType: color.subType || "unknown" }
5776
5895
  });
5777
5896
  }
5778
5897
  const attrSchema = spec.schema.properties[attr];
5779
5898
  if (!attrSchema) {
5780
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_MISSING_ATTRIBUTE_SCHEMA" /* MISSING_ATTRIBUTE_SCHEMA */, {
5899
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_MISSING_ATTRIBUTE_SCHEMA" /* MISSING_ATTRIBUTE_SCHEMA */, {
5781
5900
  token: node.token,
5782
5901
  data: {
5783
5902
  attribute: attr,
@@ -5786,8 +5905,8 @@ ${spec}` : "";
5786
5905
  }
5787
5906
  });
5788
5907
  }
5789
- if (!chunkK65UI6KX_cjs.typeEquals(attrSchema.type, attributeValue.type)) {
5790
- throw new chunkK65UI6KX_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5908
+ if (!chunkOABJLZRZ_cjs.typeEquals(attrSchema.type, attributeValue.type)) {
5909
+ throw new chunkOABJLZRZ_cjs.InterpreterError("COLOR_INVALID_ATTRIBUTE_TYPE" /* INVALID_ATTRIBUTE_TYPE */, {
5791
5910
  token: node.token,
5792
5911
  data: {
5793
5912
  attributeType: attributeValue.type,
@@ -5847,7 +5966,7 @@ ${spec}` : "";
5847
5966
  const { decimalPlaces = 2, removeTrailingZeros = true } = opts;
5848
5967
  if (typeof color.value === "string") {
5849
5968
  if (color.alpha !== null) {
5850
- return chunkK65UI6KX_cjs.formatHex8(color.value, color.alpha);
5969
+ return chunkOABJLZRZ_cjs.formatHex8(color.value, color.alpha);
5851
5970
  }
5852
5971
  return color.value;
5853
5972
  }
@@ -5865,7 +5984,7 @@ ${spec}` : "";
5865
5984
  }
5866
5985
  return value?.toString() || "0";
5867
5986
  });
5868
- if (chunkK65UI6KX_cjs.isTransparent(color.alpha)) {
5987
+ if (chunkOABJLZRZ_cjs.isTransparent(color.alpha)) {
5869
5988
  values.push(this.formatNumber(color.alpha, decimalPlaces, removeTrailingZeros));
5870
5989
  }
5871
5990
  const functionName = color.subType.toLowerCase();
@@ -5877,74 +5996,74 @@ ${spec}` : "";
5877
5996
  return this.specs;
5878
5997
  }
5879
5998
  };
5880
- chunkKHF2VXWO_cjs.__name(_ColorManager, "ColorManager");
5999
+ chunkZMMIYWFF_cjs.__name(_ColorManager, "ColorManager");
5881
6000
  var ColorManager = _ColorManager;
5882
6001
 
5883
6002
  // src/interpreter/config/managers/functions/builtin/math.ts
5884
6003
  function extractNumber(arg, functionName) {
5885
6004
  if (arg === void 0 || arg === null) {
5886
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
6005
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5887
6006
  data: { functionName }
5888
6007
  });
5889
6008
  }
5890
- if (arg instanceof chunkK65UI6KX_cjs.NumberSymbol) return arg.value;
5891
- if (arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) return arg.value;
6009
+ if (arg instanceof chunkOABJLZRZ_cjs.NumberSymbol) return arg.value;
6010
+ if (arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) return arg.value;
5892
6011
  if (typeof arg.value === "number") return arg.value;
5893
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
6012
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5894
6013
  data: { functionName }
5895
6014
  });
5896
6015
  }
5897
- chunkKHF2VXWO_cjs.__name(extractNumber, "extractNumber");
6016
+ chunkZMMIYWFF_cjs.__name(extractNumber, "extractNumber");
5898
6017
  function over(arg, fn, functionName) {
5899
6018
  const value = extractNumber(arg, functionName);
5900
6019
  const result = fn(value);
5901
- if (arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
5902
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(result, arg.unit);
6020
+ if (arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
6021
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, arg.unit);
5903
6022
  }
5904
- return new chunkK65UI6KX_cjs.NumberSymbol(result);
6023
+ return new chunkOABJLZRZ_cjs.NumberSymbol(result);
5905
6024
  }
5906
- chunkKHF2VXWO_cjs.__name(over, "over");
6025
+ chunkZMMIYWFF_cjs.__name(over, "over");
5907
6026
  function overTwo(a, b, fn, functionName) {
5908
6027
  const aVal = extractNumber(a, functionName);
5909
6028
  const bVal = extractNumber(b, functionName);
5910
6029
  const result = fn(aVal, bVal);
5911
- if (a instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
5912
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(result, a.unit);
6030
+ if (a instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
6031
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, a.unit);
5913
6032
  }
5914
- return new chunkK65UI6KX_cjs.NumberSymbol(result);
6033
+ return new chunkOABJLZRZ_cjs.NumberSymbol(result);
5915
6034
  }
5916
- chunkKHF2VXWO_cjs.__name(overTwo, "overTwo");
6035
+ chunkZMMIYWFF_cjs.__name(overTwo, "overTwo");
5917
6036
  function overMany(args, fn, functionName, minArgs) {
5918
6037
  if (minArgs !== void 0 && args.length < minArgs) {
5919
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6038
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5920
6039
  data: { functionName, minArgs }
5921
6040
  });
5922
6041
  }
5923
6042
  const nums = args.map((arg) => extractNumber(arg, functionName));
5924
6043
  const result = fn(nums);
5925
- const firstUnitArg = args.find((arg) => arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol);
6044
+ const firstUnitArg = args.find((arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol);
5926
6045
  if (firstUnitArg) {
5927
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(result, firstUnitArg.unit);
6046
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(result, firstUnitArg.unit);
5928
6047
  }
5929
- return new chunkK65UI6KX_cjs.NumberSymbol(result);
6048
+ return new chunkOABJLZRZ_cjs.NumberSymbol(result);
5930
6049
  }
5931
- chunkKHF2VXWO_cjs.__name(overMany, "overMany");
6050
+ chunkZMMIYWFF_cjs.__name(overMany, "overMany");
5932
6051
  function createSumFunction(getUnitManager) {
5933
6052
  return (...args) => {
5934
6053
  if (args.length < 2)
5935
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6054
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
5936
6055
  data: { functionName: "sum", minArgs: 2 }
5937
6056
  });
5938
- const hasUnits = args.some((arg) => arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol);
6057
+ const hasUnits = args.some((arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol);
5939
6058
  if (!hasUnits) {
5940
6059
  const nums2 = args.map((arg) => extractNumber(arg, "sum"));
5941
- return new chunkK65UI6KX_cjs.NumberSymbol(nums2.reduce((acc, val) => acc + val, 0));
6060
+ return new chunkOABJLZRZ_cjs.NumberSymbol(nums2.reduce((acc, val) => acc + val, 0));
5942
6061
  }
5943
6062
  const numericArgs = args.filter(
5944
- (arg) => arg instanceof chunkK65UI6KX_cjs.NumberSymbol || arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol
6063
+ (arg) => arg instanceof chunkOABJLZRZ_cjs.NumberSymbol || arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
5945
6064
  );
5946
6065
  if (numericArgs.length !== args.length) {
5947
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
6066
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_NUMBER_ARGUMENTS" /* EXPECTS_NUMBER_ARGUMENTS */, {
5948
6067
  data: { functionName: "sum" }
5949
6068
  });
5950
6069
  }
@@ -5954,61 +6073,61 @@ function createSumFunction(getUnitManager) {
5954
6073
  const converted = unitManager.convertToCommonFormat(numericArgs);
5955
6074
  const sum2 = converted.reduce((acc, arg) => acc + arg.value, 0);
5956
6075
  const firstUnitArg2 = converted.find(
5957
- (arg) => arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol
6076
+ (arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
5958
6077
  );
5959
6078
  if (firstUnitArg2) {
5960
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(sum2, firstUnitArg2.unit);
6079
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(sum2, firstUnitArg2.unit);
5961
6080
  }
5962
- return new chunkK65UI6KX_cjs.NumberSymbol(sum2);
6081
+ return new chunkOABJLZRZ_cjs.NumberSymbol(sum2);
5963
6082
  } catch (error) {
5964
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_UNIT_CONVERSION_FAILED" /* UNIT_CONVERSION_FAILED */, {
6083
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_UNIT_CONVERSION_FAILED" /* UNIT_CONVERSION_FAILED */, {
5965
6084
  data: {
5966
6085
  functionName: "sum",
5967
- error: chunkK65UI6KX_cjs.isLanguageError(error) ? error : chunkK65UI6KX_cjs.serializeError(error)
6086
+ error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
5968
6087
  }
5969
6088
  });
5970
6089
  }
5971
6090
  }
5972
6091
  const firstUnitArg = args.find(
5973
- (arg) => arg instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol
6092
+ (arg) => arg instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
5974
6093
  );
5975
6094
  const nums = args.map((arg) => extractNumber(arg, "sum"));
5976
6095
  const sum = nums.reduce((acc, val) => acc + val, 0);
5977
6096
  if (firstUnitArg) {
5978
- return new chunkK65UI6KX_cjs.NumberWithUnitSymbol(sum, firstUnitArg.unit);
6097
+ return new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(sum, firstUnitArg.unit);
5979
6098
  }
5980
- return new chunkK65UI6KX_cjs.NumberSymbol(sum);
6099
+ return new chunkOABJLZRZ_cjs.NumberSymbol(sum);
5981
6100
  };
5982
6101
  }
5983
- chunkKHF2VXWO_cjs.__name(createSumFunction, "createSumFunction");
6102
+ chunkZMMIYWFF_cjs.__name(createSumFunction, "createSumFunction");
5984
6103
  var mathFunctions = {
5985
- min: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((...args) => overMany(args, (nums) => Math.min(...nums), "min", 1), "min"),
5986
- max: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((...args) => overMany(args, (nums) => Math.max(...nums), "max", 1), "max"),
5987
- mod: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((a, b) => overTwo(
6104
+ min: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.min(...nums), "min", 1), "min"),
6105
+ max: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.max(...nums), "max", 1), "max"),
6106
+ mod: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((a, b) => overTwo(
5988
6107
  a,
5989
6108
  b,
5990
6109
  (aVal, bVal) => {
5991
6110
  if (bVal === 0)
5992
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
6111
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
5993
6112
  data: { functionName: "mod" }
5994
6113
  });
5995
6114
  return (aVal % bVal + bVal) % bVal;
5996
6115
  },
5997
6116
  "mod"
5998
6117
  ), "mod"),
5999
- average: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((...args) => overMany(args, (nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length, "average", 1), "average"),
6000
- round: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.round, "round"), "round"),
6001
- abs: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.abs, "abs"), "abs"),
6002
- sqrt: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.sqrt, "sqrt"), "sqrt"),
6003
- floor: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.floor, "floor"), "floor"),
6004
- ceil: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.ceil, "ceil"), "ceil"),
6005
- cbrt: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.cbrt, "cbrt"), "cbrt"),
6006
- sign: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => new chunkK65UI6KX_cjs.NumberSymbol(Math.sign(extractNumber(arg, "sign"))), "sign"),
6007
- trunc: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.trunc, "trunc"), "trunc"),
6008
- exp: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.exp, "exp"), "exp"),
6009
- expm1: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.expm1, "expm1"), "expm1"),
6010
- pow: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((base, exp) => overTwo(base, exp, (b, e) => b ** e, "pow"), "pow"),
6011
- round_to: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((value, precision) => {
6118
+ average: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length, "average", 1), "average"),
6119
+ round: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.round, "round"), "round"),
6120
+ abs: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.abs, "abs"), "abs"),
6121
+ sqrt: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sqrt, "sqrt"), "sqrt"),
6122
+ floor: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.floor, "floor"), "floor"),
6123
+ ceil: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.ceil, "ceil"), "ceil"),
6124
+ cbrt: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cbrt, "cbrt"), "cbrt"),
6125
+ sign: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => new chunkOABJLZRZ_cjs.NumberSymbol(Math.sign(extractNumber(arg, "sign"))), "sign"),
6126
+ trunc: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.trunc, "trunc"), "trunc"),
6127
+ exp: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.exp, "exp"), "exp"),
6128
+ expm1: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.expm1, "expm1"), "expm1"),
6129
+ pow: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((base, exp) => overTwo(base, exp, (b, e) => b ** e, "pow"), "pow"),
6130
+ round_to: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((value, precision) => {
6012
6131
  const precisionValue = precision !== void 0 ? extractNumber(precision, "round_to") : 0;
6013
6132
  const fn = precisionValue === 0 ? Math.round : (v) => {
6014
6133
  const factor = 10 ** precisionValue;
@@ -6016,13 +6135,13 @@ var mathFunctions = {
6016
6135
  };
6017
6136
  return over(value, fn, "round_to");
6018
6137
  }, "round_to"),
6019
- hypot: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((...args) => overMany(args, (nums) => Math.hypot(...nums), "hypot", 1), "hypot"),
6020
- remainder: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((a, b) => overTwo(
6138
+ hypot: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => overMany(args, (nums) => Math.hypot(...nums), "hypot", 1), "hypot"),
6139
+ remainder: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((a, b) => overTwo(
6021
6140
  a,
6022
6141
  b,
6023
6142
  (aVal, bVal) => {
6024
6143
  if (bVal === 0)
6025
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
6144
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_DIVISION_BY_ZERO" /* DIVISION_BY_ZERO */, {
6026
6145
  data: { functionName: "remainder" }
6027
6146
  });
6028
6147
  return aVal % bVal;
@@ -6030,40 +6149,40 @@ var mathFunctions = {
6030
6149
  "remainder"
6031
6150
  ), "remainder"),
6032
6151
  // Trigonometric functions
6033
- sin: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.sin, "sin"), "sin"),
6034
- cos: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.cos, "cos"), "cos"),
6035
- tan: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.tan, "tan"), "tan"),
6036
- atan: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.atan, "atan"), "atan"),
6037
- asin: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6152
+ sin: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sin, "sin"), "sin"),
6153
+ cos: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cos, "cos"), "cos"),
6154
+ tan: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.tan, "tan"), "tan"),
6155
+ atan: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.atan, "atan"), "atan"),
6156
+ asin: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6038
6157
  const value = extractNumber(arg, "asin");
6039
6158
  if (value < -1 || value > 1)
6040
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6159
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6041
6160
  data: { functionName: "asin", constraint: "between -1 and 1" }
6042
6161
  });
6043
6162
  return over(arg, Math.asin, "asin");
6044
6163
  }, "asin"),
6045
- acos: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6164
+ acos: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6046
6165
  const value = extractNumber(arg, "acos");
6047
6166
  if (value < -1 || value > 1)
6048
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6167
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6049
6168
  data: { functionName: "acos", constraint: "between -1 and 1" }
6050
6169
  });
6051
6170
  return over(arg, Math.acos, "acos");
6052
6171
  }, "acos"),
6053
- atan2: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((y, x) => {
6172
+ atan2: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((y, x) => {
6054
6173
  const yVal = extractNumber(y, "atan2");
6055
6174
  const xVal = extractNumber(x, "atan2");
6056
- return new chunkK65UI6KX_cjs.NumberSymbol(Math.atan2(yVal, xVal));
6175
+ return new chunkOABJLZRZ_cjs.NumberSymbol(Math.atan2(yVal, xVal));
6057
6176
  }, "atan2"),
6058
6177
  // Hyperbolic functions
6059
- sinh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.sinh, "sinh"), "sinh"),
6060
- cosh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.cosh, "cosh"), "cosh"),
6061
- tanh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.tanh, "tanh"), "tanh"),
6062
- asinh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => over(arg, Math.asinh, "asinh"), "asinh"),
6063
- acosh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6178
+ sinh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.sinh, "sinh"), "sinh"),
6179
+ cosh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.cosh, "cosh"), "cosh"),
6180
+ tanh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.tanh, "tanh"), "tanh"),
6181
+ asinh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => over(arg, Math.asinh, "asinh"), "asinh"),
6182
+ acosh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6064
6183
  const value = extractNumber(arg, "acosh");
6065
6184
  if (value < 1) {
6066
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6185
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6067
6186
  data: {
6068
6187
  functionName: "acosh",
6069
6188
  constraint: "greater than or equal to 1"
@@ -6072,10 +6191,10 @@ var mathFunctions = {
6072
6191
  }
6073
6192
  return over(arg, Math.acosh, "acosh");
6074
6193
  }, "acosh"),
6075
- atanh: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6194
+ atanh: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6076
6195
  const value = extractNumber(arg, "atanh");
6077
6196
  if (value <= -1 || value >= 1) {
6078
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6197
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6079
6198
  data: {
6080
6199
  functionName: "atanh",
6081
6200
  constraint: "between -1 and 1 (exclusive)"
@@ -6085,10 +6204,10 @@ var mathFunctions = {
6085
6204
  return over(arg, Math.atanh, "atanh");
6086
6205
  }, "atanh"),
6087
6206
  // Logarithmic functions
6088
- log: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg, base) => {
6207
+ log: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg, base) => {
6089
6208
  const value = extractNumber(arg, "log");
6090
6209
  if (value <= 0)
6091
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6210
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6092
6211
  data: { functionName: "log", constraint: "positive" }
6093
6212
  });
6094
6213
  if (base === void 0) {
@@ -6096,7 +6215,7 @@ var mathFunctions = {
6096
6215
  }
6097
6216
  const baseValue = extractNumber(base, "log");
6098
6217
  if (baseValue <= 0 || baseValue === 1)
6099
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_INVALID_BASE" /* INVALID_BASE */, {
6218
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_INVALID_BASE" /* INVALID_BASE */, {
6100
6219
  data: {
6101
6220
  functionName: "log",
6102
6221
  constraint: "positive and not equal to 1"
@@ -6104,37 +6223,37 @@ var mathFunctions = {
6104
6223
  });
6105
6224
  return over(arg, (v) => Math.log(v) / Math.log(baseValue), "log");
6106
6225
  }, "log"),
6107
- ln: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6226
+ ln: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6108
6227
  const value = extractNumber(arg, "ln");
6109
6228
  if (value <= 0) {
6110
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6229
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6111
6230
  data: { functionName: "ln", constraint: "positive" }
6112
6231
  });
6113
6232
  }
6114
6233
  return over(arg, Math.log, "ln");
6115
6234
  }, "ln"),
6116
- log10: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6235
+ log10: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6117
6236
  const value = extractNumber(arg, "log10");
6118
6237
  if (value <= 0) {
6119
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6238
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6120
6239
  data: { functionName: "log10", constraint: "positive" }
6121
6240
  });
6122
6241
  }
6123
6242
  return over(arg, Math.log10, "log10");
6124
6243
  }, "log10"),
6125
- log2: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6244
+ log2: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6126
6245
  const value = extractNumber(arg, "log2");
6127
6246
  if (value <= 0) {
6128
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6247
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6129
6248
  data: { functionName: "log2", constraint: "positive" }
6130
6249
  });
6131
6250
  }
6132
6251
  return over(arg, Math.log2, "log2");
6133
6252
  }, "log2"),
6134
- log1p: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((arg) => {
6253
+ log1p: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((arg) => {
6135
6254
  const value = extractNumber(arg, "log1p");
6136
6255
  if (value < -1) {
6137
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6256
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6138
6257
  data: {
6139
6258
  functionName: "log1p",
6140
6259
  constraint: "greater than or equal to -1"
@@ -6144,7 +6263,7 @@ var mathFunctions = {
6144
6263
  return over(arg, Math.log1p, "log1p");
6145
6264
  }, "log1p"),
6146
6265
  // Constants
6147
- pi: /* @__PURE__ */ chunkKHF2VXWO_cjs.__name(() => new chunkK65UI6KX_cjs.NumberSymbol(Math.PI), "pi")
6266
+ pi: /* @__PURE__ */ chunkZMMIYWFF_cjs.__name(() => new chunkOABJLZRZ_cjs.NumberSymbol(Math.PI), "pi")
6148
6267
  };
6149
6268
 
6150
6269
  // src/interpreter/config/managers/functions/manager.ts
@@ -6191,75 +6310,75 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6191
6310
  this.registerFunction(
6192
6311
  "parse_int",
6193
6312
  (strSymbol, baseSymbol) => {
6194
- if (!(strSymbol instanceof chunkK65UI6KX_cjs.StringSymbol))
6195
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6313
+ if (!(strSymbol instanceof chunkOABJLZRZ_cjs.StringSymbol))
6314
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6196
6315
  data: { functionName: "parse_int", expectedType: "string", argumentPosition: "first" }
6197
6316
  });
6198
- const base = baseSymbol instanceof chunkK65UI6KX_cjs.NumberSymbol ? baseSymbol.value : 10;
6317
+ const base = baseSymbol instanceof chunkOABJLZRZ_cjs.NumberSymbol ? baseSymbol.value : 10;
6199
6318
  const parsed = Number.parseInt(strSymbol.value, base);
6200
6319
  if (Number.isNaN(parsed))
6201
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_PARSE_ERROR" /* PARSE_ERROR */, {
6320
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_PARSE_ERROR" /* PARSE_ERROR */, {
6202
6321
  data: { functionName: "parse_int", value: String(strSymbol.value), base }
6203
6322
  });
6204
- return new chunkK65UI6KX_cjs.NumberSymbol(parsed);
6323
+ return new chunkOABJLZRZ_cjs.NumberSymbol(parsed);
6205
6324
  }
6206
6325
  );
6207
6326
  this.registerFunction("linear-gradient", (...args) => {
6208
6327
  const stringArgs = args.map((arg) => arg.toString()).join(", ");
6209
- return new chunkK65UI6KX_cjs.StringSymbol(`linear-gradient(${stringArgs})`);
6328
+ return new chunkOABJLZRZ_cjs.StringSymbol(`linear-gradient(${stringArgs})`);
6210
6329
  });
6211
6330
  this.registerFunction("type", (arg) => {
6212
6331
  const typeName2 = arg.getTypeName();
6213
6332
  if (typeName2.includes(".")) {
6214
6333
  const parts = typeName2.split(".");
6215
- return new chunkK65UI6KX_cjs.StringSymbol(parts[parts.length - 1].toLowerCase());
6334
+ return new chunkOABJLZRZ_cjs.StringSymbol(parts[parts.length - 1].toLowerCase());
6216
6335
  }
6217
- return new chunkK65UI6KX_cjs.StringSymbol(typeName2.toLowerCase());
6336
+ return new chunkOABJLZRZ_cjs.StringSymbol(typeName2.toLowerCase());
6218
6337
  });
6219
6338
  this.registerFunction("is_null", (arg) => {
6220
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Null");
6339
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Null");
6221
6340
  });
6222
6341
  this.registerFunction("is_number", (arg) => {
6223
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Number");
6342
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Number");
6224
6343
  });
6225
6344
  this.registerFunction("is_string", (arg) => {
6226
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "String");
6345
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "String");
6227
6346
  });
6228
6347
  this.registerFunction("is_boolean", (arg) => {
6229
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Boolean");
6348
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Boolean");
6230
6349
  });
6231
6350
  this.registerFunction("is_list", (arg) => {
6232
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "List");
6351
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "List");
6233
6352
  });
6234
6353
  this.registerFunction("is_number_with_unit", (arg) => {
6235
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "NumberWithUnit");
6354
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "NumberWithUnit");
6236
6355
  });
6237
6356
  this.registerFunction("is_dictionary", (arg) => {
6238
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Dictionary");
6357
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Dictionary");
6239
6358
  });
6240
6359
  this.registerFunction("is_token", (arg) => {
6241
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Token");
6360
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Token");
6242
6361
  });
6243
6362
  this.registerFunction("is_color", (arg) => {
6244
- return new chunkK65UI6KX_cjs.BooleanSymbol(arg.type === "Color");
6363
+ return new chunkOABJLZRZ_cjs.BooleanSymbol(arg.type === "Color");
6245
6364
  });
6246
6365
  this.registerFunction("range", (...args) => {
6247
6366
  if (args.length < 1 || args.length > 2) {
6248
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6367
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6249
6368
  data: { functionName: "range", minArgs: 1 }
6250
6369
  });
6251
6370
  }
6252
6371
  let start;
6253
6372
  let end;
6254
6373
  if (args.length === 1) {
6255
- if (!(args[0] instanceof chunkK65UI6KX_cjs.NumberSymbol)) {
6256
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6374
+ if (!(args[0] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
6375
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6257
6376
  data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
6258
6377
  });
6259
6378
  }
6260
6379
  const v = args[0].value;
6261
6380
  if (v !== Math.trunc(v) || Number.isNaN(v) || !Number.isFinite(v) || v < 0 || v > 1e6) {
6262
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6381
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6263
6382
  data: {
6264
6383
  functionName: "range",
6265
6384
  constraint: `count must be a non-negative integer <= 1000000, got ${v}`
@@ -6269,20 +6388,20 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6269
6388
  start = 0;
6270
6389
  end = v;
6271
6390
  } else {
6272
- if (!(args[0] instanceof chunkK65UI6KX_cjs.NumberSymbol)) {
6273
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6391
+ if (!(args[0] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
6392
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6274
6393
  data: { functionName: "range", expectedType: "Number", argumentPosition: "first" }
6275
6394
  });
6276
6395
  }
6277
- if (!(args[1] instanceof chunkK65UI6KX_cjs.NumberSymbol)) {
6278
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6396
+ if (!(args[1] instanceof chunkOABJLZRZ_cjs.NumberSymbol)) {
6397
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXPECTS_TYPE_ARGUMENT" /* EXPECTS_TYPE_ARGUMENT */, {
6279
6398
  data: { functionName: "range", expectedType: "Number", argumentPosition: "second" }
6280
6399
  });
6281
6400
  }
6282
6401
  const sv = args[0].value;
6283
6402
  const ev = args[1].value;
6284
6403
  if (sv !== Math.trunc(sv) || ev !== Math.trunc(ev) || Number.isNaN(sv) || Number.isNaN(ev) || !Number.isFinite(sv) || !Number.isFinite(ev)) {
6285
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6404
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6286
6405
  data: {
6287
6406
  functionName: "range",
6288
6407
  constraint: `arguments must be integers, got ${sv} and ${ev}`
@@ -6290,7 +6409,7 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6290
6409
  });
6291
6410
  }
6292
6411
  if (ev - sv > 1e6) {
6293
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6412
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_ARGUMENT_OUT_OF_RANGE" /* ARGUMENT_OUT_OF_RANGE */, {
6294
6413
  data: {
6295
6414
  functionName: "range",
6296
6415
  constraint: `size exceeds limit (1000000), got ${ev - sv}`
@@ -6301,13 +6420,13 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6301
6420
  end = ev;
6302
6421
  }
6303
6422
  if (end < start) {
6304
- return new chunkK65UI6KX_cjs.ListSymbol([], false);
6423
+ return new chunkOABJLZRZ_cjs.ListSymbol([], false);
6305
6424
  }
6306
6425
  const elements = [];
6307
6426
  for (let i = start; i < end; i++) {
6308
- elements.push(new chunkK65UI6KX_cjs.NumberSymbol(i));
6427
+ elements.push(new chunkOABJLZRZ_cjs.NumberSymbol(i));
6309
6428
  }
6310
- return new chunkK65UI6KX_cjs.ListSymbol(elements, false);
6429
+ return new chunkOABJLZRZ_cjs.ListSymbol(elements, false);
6311
6430
  });
6312
6431
  }
6313
6432
  registerFunction(name, impl) {
@@ -6316,11 +6435,11 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6316
6435
  registerDynamicFunction(spec) {
6317
6436
  const functionName = spec.keyword.toLowerCase();
6318
6437
  const script = spec.script.script;
6319
- const impl = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((...args) => {
6438
+ const impl = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((...args) => {
6320
6439
  try {
6321
6440
  const config = this.parentConfig?.clone();
6322
6441
  if (!config) {
6323
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_NO_CONFIG_AVAILABLE" /* NO_CONFIG_AVAILABLE */, {
6442
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_NO_CONFIG_AVAILABLE" /* NO_CONFIG_AVAILABLE */, {
6324
6443
  data: { functionName }
6325
6444
  });
6326
6445
  }
@@ -6332,19 +6451,19 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6332
6451
  });
6333
6452
  const result = interpreter.interpret();
6334
6453
  if (result === null) {
6335
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_FUNCTION_RETURNED_NULL" /* FUNCTION_RETURNED_NULL */, {
6454
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_FUNCTION_RETURNED_NULL" /* FUNCTION_RETURNED_NULL */, {
6336
6455
  data: { functionName }
6337
6456
  });
6338
6457
  }
6339
6458
  if (typeof result === "string") {
6340
- return new chunkK65UI6KX_cjs.StringSymbol(result);
6459
+ return new chunkOABJLZRZ_cjs.StringSymbol(result);
6341
6460
  }
6342
6461
  return result;
6343
6462
  } catch (error) {
6344
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_EXECUTION_ERROR" /* EXECUTION_ERROR */, {
6463
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_EXECUTION_ERROR" /* EXECUTION_ERROR */, {
6345
6464
  data: {
6346
6465
  functionName,
6347
- error: chunkK65UI6KX_cjs.isLanguageError(error) ? error : chunkK65UI6KX_cjs.serializeError(error)
6466
+ error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
6348
6467
  }
6349
6468
  });
6350
6469
  }
@@ -6376,14 +6495,14 @@ var _FunctionsManager = class _FunctionsManager extends BaseManager {
6376
6495
  (prop) => !prop?.optional
6377
6496
  ).length;
6378
6497
  if (args.length < requiredCount) {
6379
- throw new chunkK65UI6KX_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6498
+ throw new chunkOABJLZRZ_cjs.InterpreterError("FN_REQUIRES_MIN_ARGUMENTS" /* REQUIRES_MIN_ARGUMENTS */, {
6380
6499
  token,
6381
6500
  data: { functionName: name, minArgs: requiredCount }
6382
6501
  });
6383
6502
  }
6384
6503
  }
6385
6504
  };
6386
- chunkKHF2VXWO_cjs.__name(_FunctionsManager, "FunctionsManager");
6505
+ chunkZMMIYWFF_cjs.__name(_FunctionsManager, "FunctionsManager");
6387
6506
  var FunctionsManager = _FunctionsManager;
6388
6507
  var parseTokenSpec = schemaValidation.Token.parseTokenSpec;
6389
6508
  schemaValidation.Token.safeParseTokenSpec;
@@ -6589,7 +6708,7 @@ ${spec}` : "";
6589
6708
  */
6590
6709
  validateListItems(value, itemsSpec, visitedUrls, basePath, depth) {
6591
6710
  const results = [];
6592
- if (!(value instanceof chunkK65UI6KX_cjs.ListSymbol)) {
6711
+ if (!(value instanceof chunkOABJLZRZ_cjs.ListSymbol)) {
6593
6712
  return results;
6594
6713
  }
6595
6714
  const items = value.value;
@@ -6702,10 +6821,10 @@ ${spec}` : "";
6702
6821
  interpreter.resetSymbolTable();
6703
6822
  interpreter.setReference("input", value);
6704
6823
  const result = interpreter.interpret();
6705
- if (result instanceof chunkK65UI6KX_cjs.BooleanSymbol && result.value === true) {
6824
+ if (result instanceof chunkOABJLZRZ_cjs.BooleanSymbol && result.value === true) {
6706
6825
  return { valid: true, tokenType };
6707
6826
  }
6708
- if (result instanceof chunkK65UI6KX_cjs.StringSymbol) {
6827
+ if (result instanceof chunkOABJLZRZ_cjs.StringSymbol) {
6709
6828
  return {
6710
6829
  valid: false,
6711
6830
  error: result.value,
@@ -6732,16 +6851,16 @@ ${spec}` : "";
6732
6851
  * Extract a Map from various symbol types that can contain key-value pairs.
6733
6852
  */
6734
6853
  getValueMap(value) {
6735
- if (value instanceof chunkK65UI6KX_cjs.DictionarySymbol) {
6854
+ if (value instanceof chunkOABJLZRZ_cjs.DictionarySymbol) {
6736
6855
  return value.value;
6737
6856
  }
6738
- if (value instanceof chunkK65UI6KX_cjs.TokenSymbol && value.value instanceof Map) {
6857
+ if (value instanceof chunkOABJLZRZ_cjs.TokenSymbol && value.value instanceof Map) {
6739
6858
  return value.value;
6740
6859
  }
6741
6860
  return null;
6742
6861
  }
6743
6862
  };
6744
- chunkKHF2VXWO_cjs.__name(_TokenManager, "TokenManager");
6863
+ chunkZMMIYWFF_cjs.__name(_TokenManager, "TokenManager");
6745
6864
  var TokenManager = _TokenManager;
6746
6865
  var parseUnitSpec = schemaValidation.Unit.parseUnitSpec;
6747
6866
  schemaValidation.Unit.safeParseUnitSpec;
@@ -6886,11 +7005,11 @@ var _UnitManager = class _UnitManager extends BaseManager {
6886
7005
  const sourceUri = conversion.source === "$self" ? uri : conversion.source;
6887
7006
  const targetUri = conversion.target === "$self" ? uri : conversion.target;
6888
7007
  const { ast } = parseExpression(conversion.script.script);
6889
- const fn = /* @__PURE__ */ chunkKHF2VXWO_cjs.__name((unit) => {
7008
+ const fn = /* @__PURE__ */ chunkZMMIYWFF_cjs.__name((unit) => {
6890
7009
  const config = this.createInterpreterConfig({ input: unit });
6891
7010
  const result = new Interpreter(ast, config).interpret();
6892
- if (!(result instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol)) {
6893
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
7011
+ if (!(result instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol)) {
7012
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6894
7013
  data: { error: "Unit conversion function must return a NumberWithUnitSymbol" }
6895
7014
  });
6896
7015
  }
@@ -6929,16 +7048,16 @@ ${spec}` : "";
6929
7048
  convertTo(unit, targetUri) {
6930
7049
  const sourceUri = this.getUriByKeyword(unit.unit);
6931
7050
  if (!sourceUri) {
6932
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
7051
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_SOURCE_URI_NOT_FOUND" /* SOURCE_URI_NOT_FOUND */, {
6933
7052
  data: { unit: unit.unit }
6934
7053
  });
6935
7054
  }
6936
7055
  try {
6937
7056
  return this.convertThroughPath(unit, sourceUri, targetUri);
6938
7057
  } catch (error) {
6939
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
7058
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CONVERSION_CRASHED" /* CONVERSION_CRASHED */, {
6940
7059
  data: {
6941
- error: chunkK65UI6KX_cjs.isLanguageError(error) ? error : chunkK65UI6KX_cjs.serializeError(error)
7060
+ error: chunkOABJLZRZ_cjs.isLanguageError(error) ? error : chunkOABJLZRZ_cjs.serializeError(error)
6942
7061
  }
6943
7062
  });
6944
7063
  }
@@ -6946,7 +7065,7 @@ ${spec}` : "";
6946
7065
  isOneNumberRelative(inputs) {
6947
7066
  let relativeCount = 0;
6948
7067
  for (const input of inputs) {
6949
- if (input instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
7068
+ if (input instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
6950
7069
  const spec = this.getSpecByKeyword(input.unit);
6951
7070
  if (spec?.type === "relative") {
6952
7071
  relativeCount++;
@@ -6957,14 +7076,14 @@ ${spec}` : "";
6957
7076
  }
6958
7077
  convertRelative(numbers) {
6959
7078
  if (numbers.length !== 2) {
6960
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_RELATIVE_REQUIRES_TWO_NUMBERS" /* RELATIVE_REQUIRES_TWO_NUMBERS */);
7079
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_RELATIVE_REQUIRES_TWO_NUMBERS" /* RELATIVE_REQUIRES_TWO_NUMBERS */);
6961
7080
  }
6962
7081
  let relativeNum = null;
6963
7082
  let baseNum = null;
6964
7083
  let relativeIndex = -1;
6965
7084
  for (let i = 0; i < numbers.length; i++) {
6966
7085
  const num = numbers[i];
6967
- if (num instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
7086
+ if (num instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
6968
7087
  const spec2 = this.getSpecByKeyword(num.unit);
6969
7088
  if (spec2?.type === "relative") {
6970
7089
  if (relativeNum !== null) {
@@ -6984,13 +7103,13 @@ ${spec}` : "";
6984
7103
  }
6985
7104
  const spec = this.getSpecByKeyword(relativeNum.unit);
6986
7105
  if (!spec?.to_absolute) {
6987
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_NO_TO_ABSOLUTE_SCRIPT" /* NO_TO_ABSOLUTE_SCRIPT */, {
7106
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_NO_TO_ABSOLUTE_SCRIPT" /* NO_TO_ABSOLUTE_SCRIPT */, {
6988
7107
  data: { unit: relativeNum.unit }
6989
7108
  });
6990
7109
  }
6991
7110
  const { ast } = parseExpression(spec.to_absolute.script);
6992
- const relativeValueSymbol = new chunkK65UI6KX_cjs.NumberSymbol(relativeNum.value);
6993
- const otherValueSymbol = new chunkK65UI6KX_cjs.NumberSymbol(baseNum.value);
7111
+ const relativeValueSymbol = new chunkOABJLZRZ_cjs.NumberSymbol(relativeNum.value);
7112
+ const otherValueSymbol = new chunkOABJLZRZ_cjs.NumberSymbol(baseNum.value);
6994
7113
  const result = new Interpreter(ast, {
6995
7114
  references: {
6996
7115
  relative_value: relativeValueSymbol,
@@ -6998,21 +7117,21 @@ ${spec}` : "";
6998
7117
  }
6999
7118
  }).interpret();
7000
7119
  let convertedValue;
7001
- if (result instanceof chunkK65UI6KX_cjs.NumberSymbol) {
7120
+ if (result instanceof chunkOABJLZRZ_cjs.NumberSymbol) {
7002
7121
  convertedValue = result.value;
7003
7122
  } else if (typeof result === "number") {
7004
7123
  convertedValue = result;
7005
7124
  } else {
7006
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_TO_ABSOLUTE_MUST_RETURN_NUMBER" /* TO_ABSOLUTE_MUST_RETURN_NUMBER */);
7125
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_TO_ABSOLUTE_MUST_RETURN_NUMBER" /* TO_ABSOLUTE_MUST_RETURN_NUMBER */);
7007
7126
  }
7008
7127
  if (Number.isInteger(convertedValue)) {
7009
7128
  convertedValue = Math.trunc(convertedValue);
7010
7129
  }
7011
7130
  let convertedNum;
7012
- if (baseNum instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol) {
7013
- convertedNum = new chunkK65UI6KX_cjs.NumberWithUnitSymbol(convertedValue, baseNum.unit);
7131
+ if (baseNum instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol) {
7132
+ convertedNum = new chunkOABJLZRZ_cjs.NumberWithUnitSymbol(convertedValue, baseNum.unit);
7014
7133
  } else {
7015
- convertedNum = new chunkK65UI6KX_cjs.NumberSymbol(convertedValue);
7134
+ convertedNum = new chunkOABJLZRZ_cjs.NumberSymbol(convertedValue);
7016
7135
  }
7017
7136
  const resultNumbers = [...numbers];
7018
7137
  resultNumbers[relativeIndex] = convertedNum;
@@ -7023,7 +7142,7 @@ ${spec}` : "";
7023
7142
  return [];
7024
7143
  }
7025
7144
  const numberWithUnits = inputs.filter(
7026
- (inp) => inp instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol
7145
+ (inp) => inp instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol
7027
7146
  );
7028
7147
  if (numberWithUnits.length < 1) {
7029
7148
  return inputs;
@@ -7031,7 +7150,7 @@ ${spec}` : "";
7031
7150
  const isRelative = this.isOneNumberRelative(inputs);
7032
7151
  if (isRelative) {
7033
7152
  if (inputs.length > 2) {
7034
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_CANNOT_CONVERT_MULTIPLE_RELATIVE" /* CANNOT_CONVERT_MULTIPLE_RELATIVE */);
7153
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_CANNOT_CONVERT_MULTIPLE_RELATIVE" /* CANNOT_CONVERT_MULTIPLE_RELATIVE */);
7035
7154
  }
7036
7155
  return this.convertRelative(inputs);
7037
7156
  }
@@ -7043,7 +7162,7 @@ ${spec}` : "";
7043
7162
  conversionResults[unitUri] = [];
7044
7163
  let canConvert = true;
7045
7164
  for (const inp of inputs) {
7046
- if (!(inp instanceof chunkK65UI6KX_cjs.NumberWithUnitSymbol)) {
7165
+ if (!(inp instanceof chunkOABJLZRZ_cjs.NumberWithUnitSymbol)) {
7047
7166
  conversionResults[unitUri].push(inp);
7048
7167
  continue;
7049
7168
  }
@@ -7077,7 +7196,7 @@ ${spec}` : "";
7077
7196
  maxPerUri[uri] = maxValue;
7078
7197
  }
7079
7198
  if (Object.keys(maxPerUri).length === 0) {
7080
- throw new chunkK65UI6KX_cjs.InterpreterError("UNIT_NO_VALID_CONVERSION_PATH" /* NO_VALID_CONVERSION_PATH */);
7199
+ throw new chunkOABJLZRZ_cjs.InterpreterError("UNIT_NO_VALID_CONVERSION_PATH" /* NO_VALID_CONVERSION_PATH */);
7081
7200
  }
7082
7201
  const commonUnitUri = Object.keys(maxPerUri).reduce(
7083
7202
  (a, b) => maxPerUri[a] > maxPerUri[b] ? a : b
@@ -7085,7 +7204,7 @@ ${spec}` : "";
7085
7204
  return conversionResults[commonUnitUri] || [];
7086
7205
  }
7087
7206
  };
7088
- chunkKHF2VXWO_cjs.__name(_UnitManager, "UnitManager");
7207
+ chunkZMMIYWFF_cjs.__name(_UnitManager, "UnitManager");
7089
7208
  var UnitManager = _UnitManager;
7090
7209
 
7091
7210
  // src/interpreter/config/config.ts
@@ -7121,17 +7240,17 @@ var _Config = class _Config {
7121
7240
  if (lowerBaseType === "color") {
7122
7241
  if (subType) {
7123
7242
  if (!this.colorManager.getSpecByType(subType)) {
7124
- throw new chunkK65UI6KX_cjs.InterpreterError("CFG_NO_SPEC_FOUND" /* NO_SPEC_FOUND */, {
7243
+ throw new chunkOABJLZRZ_cjs.InterpreterError("CFG_NO_SPEC_FOUND" /* NO_SPEC_FOUND */, {
7125
7244
  data: { specName: subType }
7126
7245
  });
7127
7246
  }
7128
- return new chunkK65UI6KX_cjs.ColorSymbol(null, subType, null, this);
7247
+ return new chunkOABJLZRZ_cjs.ColorSymbol(null, subType, null, this);
7129
7248
  }
7130
- return new chunkK65UI6KX_cjs.ColorSymbol(null, void 0, null, this);
7249
+ return new chunkOABJLZRZ_cjs.ColorSymbol(null, void 0, null, this);
7131
7250
  }
7132
- const basicSymbolConstructor = chunkK65UI6KX_cjs.basicSymbolTypes[baseType.toLowerCase()];
7251
+ const basicSymbolConstructor = chunkOABJLZRZ_cjs.basicSymbolTypes[baseType.toLowerCase()];
7133
7252
  if (!basicSymbolConstructor) {
7134
- throw new chunkK65UI6KX_cjs.InterpreterError("CFG_NO_TYPE_FOUND" /* NO_TYPE_FOUND */, {
7253
+ throw new chunkOABJLZRZ_cjs.InterpreterError("CFG_NO_TYPE_FOUND" /* NO_TYPE_FOUND */, {
7135
7254
  data: { typeName: baseType }
7136
7255
  });
7137
7256
  }
@@ -7144,7 +7263,7 @@ var _Config = class _Config {
7144
7263
  return true;
7145
7264
  }
7146
7265
  if (subType) return false;
7147
- return !!chunkK65UI6KX_cjs.basicSymbolTypes[lowerBaseType];
7266
+ return !!chunkOABJLZRZ_cjs.basicSymbolTypes[lowerBaseType];
7148
7267
  }
7149
7268
  get inlineConstants() {
7150
7269
  return this._inlineConstants;
@@ -7186,7 +7305,7 @@ var _Config = class _Config {
7186
7305
  return this;
7187
7306
  }
7188
7307
  };
7189
- chunkKHF2VXWO_cjs.__name(_Config, "Config");
7308
+ chunkZMMIYWFF_cjs.__name(_Config, "Config");
7190
7309
  var Config = _Config;
7191
7310
  schemaValidation.Constants.parseConstantsSpec;
7192
7311
  schemaValidation.Constants.safeParseConstantsSpec;
@@ -7195,12 +7314,10 @@ schemaValidation.Constants.specName;
7195
7314
 
7196
7315
  // src/lib/eval.ts
7197
7316
  function evaluateExpression(expression, options = {}) {
7198
- const { references = {}, config, allowStatements = false } = options;
7317
+ const { references = {}, config, mode = "script" } = options;
7199
7318
  const startTime = performance.now();
7200
7319
  try {
7201
- const lexer = new Lexer(expression);
7202
- const parser = new Parser(lexer);
7203
- const ast = parser.parse(allowStatements);
7320
+ const { ast } = parseExpression(expression, { mode });
7204
7321
  if (!ast) {
7205
7322
  return {
7206
7323
  success: true,
@@ -7214,9 +7331,9 @@ function evaluateExpression(expression, options = {}) {
7214
7331
  const result = interpreter.interpret();
7215
7332
  return {
7216
7333
  success: true,
7217
- result: chunkK65UI6KX_cjs.serializeInterpreterResult(result),
7218
- resultString: chunkK65UI6KX_cjs.stringifyInterpreterResult(result),
7219
- type: chunkK65UI6KX_cjs.isTokenscriptSymbol(result) ? result.getTypeName() : chunkK65UI6KX_cjs.getResultTypeName(result),
7334
+ result: chunkOABJLZRZ_cjs.serializeInterpreterResult(result),
7335
+ resultString: chunkOABJLZRZ_cjs.stringifyInterpreterResult(result),
7336
+ type: chunkOABJLZRZ_cjs.isTokenscriptSymbol(result) ? result.getTypeName() : chunkOABJLZRZ_cjs.getResultTypeName(result),
7220
7337
  executionTime: performance.now() - startTime
7221
7338
  };
7222
7339
  } catch (error) {
@@ -7227,11 +7344,11 @@ function evaluateExpression(expression, options = {}) {
7227
7344
  };
7228
7345
  }
7229
7346
  }
7230
- chunkKHF2VXWO_cjs.__name(evaluateExpression, "evaluateExpression");
7347
+ chunkZMMIYWFF_cjs.__name(evaluateExpression, "evaluateExpression");
7231
7348
 
7232
7349
  // src/interpreter/tolerant/index.ts
7233
7350
  function parseTolerantly(text) {
7234
- const lexer = new Lexer(text, { tolerant: true });
7351
+ const lexer = new Lexer(text, lexerOptionsForMode("inline", { tolerant: true }));
7235
7352
  try {
7236
7353
  const parser = new Parser(lexer, { tolerant: true });
7237
7354
  const ast = parser.parse(true);
@@ -7252,12 +7369,12 @@ function parseTolerantly(text) {
7252
7369
  };
7253
7370
  }
7254
7371
  }
7255
- chunkKHF2VXWO_cjs.__name(parseTolerantly, "parseTolerantly");
7372
+ chunkZMMIYWFF_cjs.__name(parseTolerantly, "parseTolerantly");
7256
7373
  function tokenizeTolerantly(text) {
7257
- const lexer = new Lexer(text, { tolerant: true });
7374
+ const lexer = new Lexer(text, lexerOptionsForMode("inline", { tolerant: true }));
7258
7375
  return lexer.tokenizeAll();
7259
7376
  }
7260
- chunkKHF2VXWO_cjs.__name(tokenizeTolerantly, "tokenizeTolerantly");
7377
+ chunkZMMIYWFF_cjs.__name(tokenizeTolerantly, "tokenizeTolerantly");
7261
7378
  function collectAllReferences(ast) {
7262
7379
  if (!ast) return [];
7263
7380
  const refs = [];
@@ -7270,7 +7387,7 @@ function collectAllReferences(ast) {
7270
7387
  });
7271
7388
  return refs;
7272
7389
  }
7273
- chunkKHF2VXWO_cjs.__name(collectAllReferences, "collectAllReferences");
7390
+ chunkZMMIYWFF_cjs.__name(collectAllReferences, "collectAllReferences");
7274
7391
  var PARTIAL_FOUND = Symbol("PARTIAL_FOUND");
7275
7392
  function hasPartialNodes(ast) {
7276
7393
  if (!ast) return false;
@@ -7286,7 +7403,7 @@ function hasPartialNodes(ast) {
7286
7403
  throw e;
7287
7404
  }
7288
7405
  }
7289
- chunkKHF2VXWO_cjs.__name(hasPartialNodes, "hasPartialNodes");
7406
+ chunkZMMIYWFF_cjs.__name(hasPartialNodes, "hasPartialNodes");
7290
7407
 
7291
7408
  // src/lib/interpreter.ts
7292
7409
  var ASTNodes = {
@@ -7341,6 +7458,7 @@ exports.getBrokenReferences = getBrokenReferences;
7341
7458
  exports.getModifiedDependants = getModifiedDependants;
7342
7459
  exports.getRenamedReferences = getRenamedReferences;
7343
7460
  exports.hasPartialNodes = hasPartialNodes;
7461
+ exports.lexerOptionsForMode = lexerOptionsForMode;
7344
7462
  exports.parseExpression = parseExpression;
7345
7463
  exports.parseTolerantly = parseTolerantly;
7346
7464
  exports.processTokenSets = processTokenSets;
@@ -7350,5 +7468,5 @@ exports.tokenizeTolerantly = tokenizeTolerantly;
7350
7468
  exports.validateTokenName = validateTokenName;
7351
7469
  exports.validateTokenPath = validateTokenPath;
7352
7470
  exports.walkAST = walkAST;
7353
- //# sourceMappingURL=chunk-UF6I25ED.cjs.map
7354
- //# sourceMappingURL=chunk-UF6I25ED.cjs.map
7471
+ //# sourceMappingURL=chunk-KX5QZ5G2.cjs.map
7472
+ //# sourceMappingURL=chunk-KX5QZ5G2.cjs.map