@grimoirelabs/core 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"expression-parser.d.ts","sourceRoot":"","sources":["../../src/compiler/expression-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAuB,UAAU,EAAW,MAAM,yBAAyB,CAAC;AAohBxF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAIzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMnE"}
1
+ {"version":3,"file":"expression-parser.d.ts","sourceRoot":"","sources":["../../src/compiler/expression-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAuB,UAAU,EAAW,MAAM,yBAAyB,CAAC;AAshBxF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAIzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAMnE"}
@@ -30,6 +30,8 @@ const BUILTIN_FNS = [
30
30
  "abs",
31
31
  "sum",
32
32
  "avg",
33
+ "to_number",
34
+ "to_bigint",
33
35
  ];
34
36
  /**
35
37
  * Tokenize an expression string
@@ -1 +1 @@
1
- {"version":3,"file":"expression-parser.js","sourceRoot":"","sources":["../../src/compiler/expression-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-parser.js","sourceRoot":"","sources":["../../src/compiler/expression-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMxE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAG1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,iBAAiB,CAwCnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOxE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAG1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,iBAAiB,CAmDnB"}
@@ -9,6 +9,7 @@ export * from "./ast.js";
9
9
  export { Parser, parse } from "./parser.js";
10
10
  export { Transformer, transform } from "./transformer.js";
11
11
  import { generateIR } from "../ir-generator.js";
12
+ import { typeCheckIR } from "../type-checker.js";
12
13
  import { validateIR } from "../validator.js";
13
14
  import { parse } from "./parser.js";
14
15
  import { transform } from "./transformer.js";
@@ -37,13 +38,22 @@ export function compileGrimoire(source, options) {
37
38
  warnings: irResult.warnings,
38
39
  };
39
40
  }
41
+ // Step 3.5: Type check
42
+ const typeCheckResult = typeCheckIR(irResult.ir);
40
43
  // Step 4: Validate
41
44
  const validationResult = validateIR(irResult.ir);
45
+ // Type errors block compilation
46
+ const allErrors = [...irResult.errors, ...typeCheckResult.errors, ...validationResult.errors];
47
+ const allWarnings = [
48
+ ...irResult.warnings,
49
+ ...typeCheckResult.warnings,
50
+ ...validationResult.warnings,
51
+ ];
42
52
  return {
43
- success: validationResult.valid,
44
- ir: validationResult.valid ? irResult.ir : undefined,
45
- errors: [...irResult.errors, ...validationResult.errors],
46
- warnings: [...irResult.warnings, ...validationResult.warnings],
53
+ success: allErrors.length === 0,
54
+ ir: allErrors.length === 0 ? irResult.ir : undefined,
55
+ errors: allErrors,
56
+ warnings: allWarnings,
47
57
  };
48
58
  }
49
59
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAA+B;IAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAA+B;IAE/B,IAAI,CAAC;QACH,uBAAuB;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1B,mCAAmC;QACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,gBAAgB,CAAC,KAAK;YAC/B,EAAE,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YACpD,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC;YACxD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,QAAQ,CAAC;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAA+B;IAC3E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAc,EACd,OAA+B;IAE/B,IAAI,CAAC;QACH,uBAAuB;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1B,mCAAmC;QACnC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5C,sBAAsB;QACtB,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjD,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEjD,gCAAgC;QAChC,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9F,MAAM,WAAW,GAAG;YAClB,GAAG,QAAQ,CAAC,QAAQ;YACpB,GAAG,eAAe,CAAC,QAAQ;YAC3B,GAAG,gBAAgB,CAAC,QAAQ;SAC7B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC;YAC/B,EAAE,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YACpD,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,WAAW;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export { parseExpression, tryParseExpression } from "./expression-parser.js";
5
5
  export { generateIR, type IRGeneratorResult } from "./ir-generator.js";
6
+ export { typeCheckIR, type TypeCheckResult } from "./type-checker.js";
6
7
  export { validateIR, type ValidationResult } from "./validator.js";
7
8
  export { parse as parseGrimoireAST, transform as transformGrimoireAST, parseGrimoire, compileGrimoire, type SpellAST, type SectionNode, type TriggerHandler, type StatementNode, type ExpressionNode, } from "./grimoire/index.js";
8
9
  import type { CompilationResult, SpellSource } from "../types/ir.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EACL,KAAK,IAAI,gBAAgB,EACzB,SAAS,IAAI,oBAAoB,EACjC,aAAa,EACb,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGrE,mBAAmB;AACnB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAsBvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuB3E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAEzD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiB9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGnE,OAAO,EACL,KAAK,IAAI,gBAAgB,EACzB,SAAS,IAAI,oBAAoB,EACjC,aAAa,EACb,eAAe,EACf,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGrE,mBAAmB;AACnB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjF,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAsBvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuB3E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAEzD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiB9E"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export { parseExpression, tryParseExpression } from "./expression-parser.js";
5
5
  export { generateIR } from "./ir-generator.js";
6
+ export { typeCheckIR } from "./type-checker.js";
6
7
  export { validateIR } from "./validator.js";
7
8
  // Export new Grimoire syntax compiler
8
9
  export { parse as parseGrimoireAST, transform as transformGrimoireAST, parseGrimoire, compileGrimoire, } from "./grimoire/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AAEnE,sCAAsC;AACtC,OAAO,EACL,KAAK,IAAI,gBAAgB,EACzB,SAAS,IAAI,oBAAoB,EACjC,aAAa,EACb,eAAe,GAMhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUrE;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE;iBACjD;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,eAAe,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE;iBACjD;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AAEnE,sCAAsC;AACtC,OAAO,EACL,KAAK,IAAI,gBAAgB,EACzB,SAAS,IAAI,oBAAoB,EACjC,aAAa,EACb,eAAe,GAMhB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUrE;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAc,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE;iBACjD;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,eAAe,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,CAAU,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,wBAAwB,KAAK,CAAC,OAAO,EAAE;iBACjD;aACF;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Compile-time type checker for SpellIR
3
+ *
4
+ * Operates on SpellIR (same input as the validator), walks all steps/guards,
5
+ * and infers types bottom-up from expressions. Phase 2: type issues are errors.
6
+ */
7
+ import type { CompilationError, CompilationWarning, SpellIR } from "../types/ir.js";
8
+ /** Primitive types in the Grimoire type system */
9
+ type PrimitiveType = "number" | "bool" | "string" | "address" | "asset" | "bigint" | "action_result" | "void" | "any";
10
+ /** Compound types */
11
+ interface ArrayType {
12
+ kind: "array";
13
+ element: SpellType;
14
+ }
15
+ interface RecordType {
16
+ kind: "record";
17
+ fields?: Map<string, SpellType>;
18
+ }
19
+ /** The complete type vocabulary */
20
+ export type SpellType = PrimitiveType | ArrayType | RecordType;
21
+ export interface TypeCheckResult {
22
+ errors: CompilationError[];
23
+ warnings: CompilationWarning[];
24
+ }
25
+ /**
26
+ * Type-check a SpellIR and return errors and warnings.
27
+ * Phase 2: type issues are errors that block compilation.
28
+ */
29
+ export declare function typeCheckIR(ir: SpellIR): TypeCheckResult;
30
+ export {};
31
+ //# sourceMappingURL=type-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-checker.d.ts","sourceRoot":"","sources":["../../src/compiler/type-checker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAOpF,kDAAkD;AAClD,KAAK,aAAa,GACd,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,eAAe,GACf,MAAM,GACN,KAAK,CAAC;AAEV,qBAAqB;AACrB,UAAU,SAAS;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACjC;AAED,mCAAmC;AACnC,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC;AAkB/D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AA+rBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,eAAe,CAmCxD"}
@@ -0,0 +1,676 @@
1
+ /**
2
+ * Compile-time type checker for SpellIR
3
+ *
4
+ * Operates on SpellIR (same input as the validator), walks all steps/guards,
5
+ * and infers types bottom-up from expressions. Phase 2: type issues are errors.
6
+ */
7
+ const BUILTIN_SIGNATURES = {
8
+ min: {
9
+ args: [
10
+ ["a", "number"],
11
+ ["b", "number"],
12
+ ],
13
+ returns: "number",
14
+ variadic: true,
15
+ minArgs: 2,
16
+ },
17
+ max: {
18
+ args: [
19
+ ["a", "number"],
20
+ ["b", "number"],
21
+ ],
22
+ returns: "number",
23
+ variadic: true,
24
+ minArgs: 2,
25
+ },
26
+ abs: { args: [["n", "number"]], returns: "number" },
27
+ sum: { args: [["arr", { kind: "array", element: "number" }]], returns: "number" },
28
+ avg: { args: [["arr", { kind: "array", element: "number" }]], returns: "number" },
29
+ balance: { args: [["asset", "asset"]], returns: "bigint" },
30
+ price: {
31
+ args: [
32
+ ["base", "asset"],
33
+ ["quote", "asset"],
34
+ ],
35
+ returns: "number",
36
+ },
37
+ get_apy: {
38
+ args: [
39
+ ["venue", "any"],
40
+ ["asset", "asset"],
41
+ ],
42
+ returns: "number",
43
+ },
44
+ get_health_factor: { args: [["venue", "any"]], returns: "number" },
45
+ get_position: {
46
+ args: [
47
+ ["venue", "any"],
48
+ ["asset", "asset"],
49
+ ],
50
+ returns: "bigint",
51
+ },
52
+ get_debt: {
53
+ args: [
54
+ ["venue", "any"],
55
+ ["asset", "asset"],
56
+ ],
57
+ returns: "bigint",
58
+ },
59
+ to_number: { args: [["n", "bigint"]], returns: "number" },
60
+ to_bigint: { args: [["n", "number"]], returns: "bigint" },
61
+ };
62
+ // =============================================================================
63
+ // TYPE FORMATTING
64
+ // =============================================================================
65
+ function formatSpellType(t) {
66
+ if (typeof t === "string")
67
+ return t;
68
+ if (t.kind === "array")
69
+ return `array<${formatSpellType(t.element)}>`;
70
+ if (t.kind === "record") {
71
+ if (!t.fields || t.fields.size === 0)
72
+ return "record";
73
+ const entries = [...t.fields.entries()].map(([k, v]) => `${k}: ${formatSpellType(v)}`);
74
+ return `record{${entries.join(", ")}}`;
75
+ }
76
+ return "unknown";
77
+ }
78
+ // =============================================================================
79
+ // SUBTYPE / ASSIGNABILITY
80
+ // =============================================================================
81
+ function isAssignable(source, target) {
82
+ // any is compatible with everything
83
+ if (source === "any" || target === "any")
84
+ return true;
85
+ // exact match for primitives
86
+ if (typeof source === "string" && typeof target === "string") {
87
+ if (source === target)
88
+ return true;
89
+ // subtypes: asset and address are subtypes of string
90
+ if (target === "string" && (source === "asset" || source === "address"))
91
+ return true;
92
+ return false;
93
+ }
94
+ // array assignability
95
+ if (typeof source === "object" &&
96
+ source.kind === "array" &&
97
+ typeof target === "object" &&
98
+ target.kind === "array") {
99
+ return isAssignable(source.element, target.element);
100
+ }
101
+ // record to record
102
+ if (typeof source === "object" &&
103
+ source.kind === "record" &&
104
+ typeof target === "object" &&
105
+ target.kind === "record") {
106
+ // If target has no field requirements, any record is fine
107
+ if (!target.fields || target.fields.size === 0)
108
+ return true;
109
+ if (!source.fields)
110
+ return false;
111
+ // structural: all target fields must be present and assignable
112
+ for (const [key, targetType] of target.fields) {
113
+ const sourceType = source.fields.get(key);
114
+ if (!sourceType || !isAssignable(sourceType, targetType))
115
+ return false;
116
+ }
117
+ return true;
118
+ }
119
+ return false;
120
+ }
121
+ // =============================================================================
122
+ // TYPE INFERENCE FROM IR VALUES
123
+ // =============================================================================
124
+ /** Map ParamDef.type to SpellType */
125
+ function paramTypeToSpellType(t) {
126
+ switch (t) {
127
+ case "number":
128
+ case "amount":
129
+ case "bps":
130
+ case "duration":
131
+ return "number";
132
+ case "bool":
133
+ return "bool";
134
+ case "address":
135
+ return "address";
136
+ case "asset":
137
+ return "asset";
138
+ case "string":
139
+ return "string";
140
+ default:
141
+ return "any";
142
+ }
143
+ }
144
+ /** Infer SpellType from a state field's initialValue */
145
+ function inferTypeFromValue(v) {
146
+ if (v === null || v === undefined)
147
+ return "any";
148
+ if (typeof v === "number")
149
+ return "number";
150
+ if (typeof v === "boolean")
151
+ return "bool";
152
+ if (typeof v === "string") {
153
+ if (v.startsWith("0x"))
154
+ return "address";
155
+ return "string";
156
+ }
157
+ if (typeof v === "bigint")
158
+ return "bigint";
159
+ if (Array.isArray(v)) {
160
+ if (v.length === 0)
161
+ return { kind: "array", element: "any" };
162
+ return { kind: "array", element: inferTypeFromValue(v[0]) };
163
+ }
164
+ if (typeof v === "object")
165
+ return { kind: "record" };
166
+ return "any";
167
+ }
168
+ /** Map AdvisoryOutputSchema to SpellType */
169
+ function advisorySchemaToSpellType(schema) {
170
+ switch (schema.type) {
171
+ case "boolean":
172
+ return "bool";
173
+ case "number":
174
+ return "number";
175
+ case "string":
176
+ case "enum":
177
+ return "string";
178
+ case "array":
179
+ return {
180
+ kind: "array",
181
+ element: schema.items ? advisorySchemaToSpellType(schema.items) : "any",
182
+ };
183
+ case "object": {
184
+ if (!schema.fields || Object.keys(schema.fields).length === 0) {
185
+ return { kind: "record" };
186
+ }
187
+ const fields = new Map();
188
+ for (const [key, fieldSchema] of Object.entries(schema.fields)) {
189
+ fields.set(key, advisorySchemaToSpellType(fieldSchema));
190
+ }
191
+ return { kind: "record", fields };
192
+ }
193
+ default:
194
+ return "any";
195
+ }
196
+ }
197
+ // =============================================================================
198
+ // EXPRESSION TYPE INFERENCE
199
+ // =============================================================================
200
+ /** Arithmetic operators */
201
+ const ARITHMETIC_OPS = new Set(["+", "-", "*", "/", "%"]);
202
+ /** Comparison operators */
203
+ const COMPARISON_OPS = new Set(["==", "!=", "<", ">", "<=", ">="]);
204
+ /** Logical operators */
205
+ const LOGICAL_OPS = new Set(["AND", "OR"]);
206
+ function inferExprType(expr, env, errors, location) {
207
+ switch (expr.kind) {
208
+ case "literal": {
209
+ switch (expr.type) {
210
+ case "int":
211
+ case "float":
212
+ return "number";
213
+ case "bool":
214
+ return "bool";
215
+ case "string":
216
+ return "string";
217
+ case "address":
218
+ return "address";
219
+ case "json":
220
+ // Could be array or record
221
+ if (Array.isArray(expr.value))
222
+ return { kind: "array", element: "any" };
223
+ if (expr.value !== null && typeof expr.value === "object")
224
+ return { kind: "record" };
225
+ return "any";
226
+ }
227
+ return "any";
228
+ }
229
+ case "param": {
230
+ const t = env.params.get(expr.name);
231
+ if (t)
232
+ return t;
233
+ // Unknown param — validator catches this, we just return any
234
+ return "any";
235
+ }
236
+ case "state": {
237
+ const key = `${expr.scope}:${expr.key}`;
238
+ const t = env.state.get(key);
239
+ if (t)
240
+ return t;
241
+ return "any";
242
+ }
243
+ case "binding": {
244
+ const t = env.bindings.get(expr.name);
245
+ if (t)
246
+ return t;
247
+ return "any";
248
+ }
249
+ case "item":
250
+ case "index":
251
+ // Context-dependent: item is the current loop element, index is number
252
+ // Without loop context tracking, we use any for item and number for index
253
+ return expr.kind === "index" ? "number" : "any";
254
+ case "binary": {
255
+ const leftType = inferExprType(expr.left, env, errors, location);
256
+ const rightType = inferExprType(expr.right, env, errors, location);
257
+ if (ARITHMETIC_OPS.has(expr.op)) {
258
+ // Arithmetic: operands should be numeric
259
+ if (leftType !== "any" && rightType !== "any") {
260
+ // number op number -> number
261
+ if (leftType === "number" && rightType === "number")
262
+ return "number";
263
+ // bigint op bigint -> bigint
264
+ if (leftType === "bigint" && rightType === "bigint")
265
+ return "bigint";
266
+ // string + string -> string (concatenation), including subtypes (asset, address)
267
+ if (expr.op === "+" && isStringLike(leftType) && isStringLike(rightType))
268
+ return "string";
269
+ // Mismatch
270
+ if (!isNumericType(leftType) || !isNumericType(rightType)) {
271
+ errors.push({
272
+ code: "TYPE_MISMATCH",
273
+ message: `${location}: Arithmetic operator '${expr.op}' requires numeric operands, got ${formatSpellType(leftType)} and ${formatSpellType(rightType)}`,
274
+ });
275
+ }
276
+ else if (leftType !== rightType) {
277
+ errors.push({
278
+ code: "TYPE_MISMATCH",
279
+ message: `${location}: Arithmetic operator '${expr.op}' has mismatched operand types: ${formatSpellType(leftType)} and ${formatSpellType(rightType)}`,
280
+ });
281
+ }
282
+ }
283
+ // Default to number for arithmetic
284
+ if (leftType === "bigint" || rightType === "bigint")
285
+ return "bigint";
286
+ return "number";
287
+ }
288
+ if (COMPARISON_OPS.has(expr.op)) {
289
+ // Comparisons always return bool
290
+ // Allow number/bigint auto-promotion for comparisons
291
+ if (leftType !== "any" && rightType !== "any") {
292
+ const leftNumeric = isNumericType(leftType);
293
+ const rightNumeric = isNumericType(rightType);
294
+ if (leftNumeric && rightNumeric) {
295
+ // number vs bigint comparison is ok (auto-promotion)
296
+ }
297
+ else if (!isAssignable(leftType, rightType) && !isAssignable(rightType, leftType)) {
298
+ errors.push({
299
+ code: "TYPE_MISMATCH",
300
+ message: `${location}: Comparison '${expr.op}' between incompatible types: ${formatSpellType(leftType)} and ${formatSpellType(rightType)}`,
301
+ });
302
+ }
303
+ }
304
+ return "bool";
305
+ }
306
+ if (LOGICAL_OPS.has(expr.op)) {
307
+ // Logical ops require bool operands
308
+ if (leftType !== "any" && leftType !== "bool") {
309
+ errors.push({
310
+ code: "TYPE_MISMATCH",
311
+ message: `${location}: Logical operator '${expr.op}' requires bool operands, got ${formatSpellType(leftType)}`,
312
+ });
313
+ }
314
+ if (rightType !== "any" && rightType !== "bool") {
315
+ errors.push({
316
+ code: "TYPE_MISMATCH",
317
+ message: `${location}: Logical operator '${expr.op}' requires bool operands, got ${formatSpellType(rightType)}`,
318
+ });
319
+ }
320
+ return "bool";
321
+ }
322
+ return "any";
323
+ }
324
+ case "unary": {
325
+ const argType = inferExprType(expr.arg, env, errors, location);
326
+ if (expr.op === "NOT") {
327
+ if (argType !== "any" && argType !== "bool") {
328
+ errors.push({
329
+ code: "TYPE_MISMATCH",
330
+ message: `${location}: NOT operator requires bool operand, got ${formatSpellType(argType)}`,
331
+ });
332
+ }
333
+ return "bool";
334
+ }
335
+ if (expr.op === "-" || expr.op === "ABS") {
336
+ if (argType !== "any" && !isNumericType(argType)) {
337
+ errors.push({
338
+ code: "TYPE_MISMATCH",
339
+ message: `${location}: '${expr.op}' operator requires numeric operand, got ${formatSpellType(argType)}`,
340
+ });
341
+ }
342
+ return argType === "bigint" ? "bigint" : "number";
343
+ }
344
+ return "any";
345
+ }
346
+ case "ternary": {
347
+ const condType = inferExprType(expr.condition, env, errors, location);
348
+ if (condType !== "any" && condType !== "bool") {
349
+ errors.push({
350
+ code: "TYPE_MISMATCH",
351
+ message: `${location}: Ternary condition must be bool, got ${formatSpellType(condType)}`,
352
+ });
353
+ }
354
+ const thenType = inferExprType(expr.then, env, errors, location);
355
+ const elseType = inferExprType(expr.else, env, errors, location);
356
+ // If one branch is any, return the other
357
+ if (thenType === "any")
358
+ return elseType;
359
+ if (elseType === "any")
360
+ return thenType;
361
+ if (!isAssignable(thenType, elseType) && !isAssignable(elseType, thenType)) {
362
+ errors.push({
363
+ code: "TYPE_MISMATCH",
364
+ message: `${location}: Ternary branches have incompatible types: ${formatSpellType(thenType)} and ${formatSpellType(elseType)}`,
365
+ });
366
+ }
367
+ return thenType;
368
+ }
369
+ case "call": {
370
+ const sig = BUILTIN_SIGNATURES[expr.fn];
371
+ if (!sig)
372
+ return "any";
373
+ // Check argument count
374
+ if (sig.variadic) {
375
+ const minArgs = sig.minArgs ?? sig.args.length;
376
+ if (expr.args.length < minArgs) {
377
+ errors.push({
378
+ code: "WRONG_ARG_COUNT",
379
+ message: `${location}: Function '${expr.fn}' expects at least ${minArgs} argument(s), got ${expr.args.length}`,
380
+ });
381
+ return sig.returns;
382
+ }
383
+ }
384
+ else if (expr.args.length !== sig.args.length) {
385
+ errors.push({
386
+ code: "WRONG_ARG_COUNT",
387
+ message: `${location}: Function '${expr.fn}' expects ${sig.args.length} argument(s), got ${expr.args.length}`,
388
+ });
389
+ return sig.returns;
390
+ }
391
+ // Check argument types
392
+ for (let i = 0; i < expr.args.length; i++) {
393
+ const argType = inferExprType(expr.args[i], env, errors, location);
394
+ // For variadic functions, extra args use the type of the first arg
395
+ const sigArg = sig.args[Math.min(i, sig.args.length - 1)];
396
+ const expectedType = sigArg[1];
397
+ if (argType !== "any" && !isAssignable(argType, expectedType)) {
398
+ errors.push({
399
+ code: "TYPE_MISMATCH",
400
+ message: `${location}: Function '${expr.fn}' argument '${sigArg[0]}' expects ${formatSpellType(expectedType)}, got ${formatSpellType(argType)}`,
401
+ });
402
+ }
403
+ }
404
+ return sig.returns;
405
+ }
406
+ case "array_access": {
407
+ const arrType = inferExprType(expr.array, env, errors, location);
408
+ const idxType = inferExprType(expr.index, env, errors, location);
409
+ if (idxType !== "any" && idxType !== "number") {
410
+ errors.push({
411
+ code: "TYPE_MISMATCH",
412
+ message: `${location}: Array index must be number, got ${formatSpellType(idxType)}`,
413
+ });
414
+ }
415
+ if (typeof arrType === "object" && arrType.kind === "array") {
416
+ return arrType.element;
417
+ }
418
+ // Accessing a non-array — might be any
419
+ if (arrType !== "any") {
420
+ errors.push({
421
+ code: "TYPE_MISMATCH",
422
+ message: `${location}: Array access on non-array type ${formatSpellType(arrType)}`,
423
+ });
424
+ }
425
+ return "any";
426
+ }
427
+ case "property_access": {
428
+ const objType = inferExprType(expr.object, env, errors, location);
429
+ if (typeof objType === "object" && objType.kind === "record" && objType.fields) {
430
+ const fieldType = objType.fields.get(expr.property);
431
+ if (fieldType)
432
+ return fieldType;
433
+ }
434
+ // action_result properties are always any
435
+ if (objType === "action_result")
436
+ return "any";
437
+ return "any";
438
+ }
439
+ }
440
+ }
441
+ /** Check if a type is numeric (number or bigint) */
442
+ function isNumericType(t) {
443
+ return t === "number" || t === "bigint";
444
+ }
445
+ /** Check if a type is string-like (string, asset, address) */
446
+ function isStringLike(t) {
447
+ return t === "string" || t === "asset" || t === "address";
448
+ }
449
+ // =============================================================================
450
+ // STEP TYPE CHECKING
451
+ // =============================================================================
452
+ function checkStep(step, env, errors) {
453
+ const loc = `step '${step.id}'`;
454
+ switch (step.kind) {
455
+ case "compute": {
456
+ for (const assignment of step.assignments) {
457
+ const exprType = inferExprType(assignment.expression, env, errors, loc);
458
+ env.bindings.set(assignment.variable, exprType);
459
+ }
460
+ break;
461
+ }
462
+ case "action": {
463
+ // Type-check amount expressions in actions
464
+ const action = step.action;
465
+ if ("amount" in action && action.amount !== "max" && typeof action.amount !== "bigint") {
466
+ inferExprType(action.amount, env, errors, loc);
467
+ }
468
+ // Type-check 'to' field if it's an expression
469
+ if ("to" in action &&
470
+ typeof action.to === "object" &&
471
+ action.to !== null &&
472
+ "kind" in action.to) {
473
+ inferExprType(action.to, env, errors, loc);
474
+ }
475
+ // Type-check toChain if it's an expression
476
+ if ("toChain" in action &&
477
+ typeof action.toChain === "object" &&
478
+ action.toChain !== null &&
479
+ "kind" in action.toChain) {
480
+ inferExprType(action.toChain, env, errors, loc);
481
+ }
482
+ // Type-check constraint expressions
483
+ checkConstraintExpressions(step.constraints, env, errors, loc);
484
+ // Record output binding
485
+ if (step.outputBinding) {
486
+ env.bindings.set(step.outputBinding, "action_result");
487
+ }
488
+ break;
489
+ }
490
+ case "conditional": {
491
+ const condType = inferExprType(step.condition, env, errors, loc);
492
+ if (condType !== "any" && condType !== "bool") {
493
+ errors.push({
494
+ code: "TYPE_MISMATCH",
495
+ message: `${loc}: Condition must be bool, got ${formatSpellType(condType)}`,
496
+ });
497
+ }
498
+ break;
499
+ }
500
+ case "loop": {
501
+ if (step.loopType.type === "until") {
502
+ const condType = inferExprType(step.loopType.condition, env, errors, loc);
503
+ if (condType !== "any" && condType !== "bool") {
504
+ errors.push({
505
+ code: "TYPE_MISMATCH",
506
+ message: `${loc}: Loop 'until' condition must be bool, got ${formatSpellType(condType)}`,
507
+ });
508
+ }
509
+ }
510
+ if (step.loopType.type === "for") {
511
+ const srcType = inferExprType(step.loopType.source, env, errors, loc);
512
+ if (srcType !== "any" && (typeof srcType !== "object" || srcType.kind !== "array")) {
513
+ errors.push({
514
+ code: "TYPE_MISMATCH",
515
+ message: `${loc}: 'for' loop source must be an array, got ${formatSpellType(srcType)}`,
516
+ });
517
+ }
518
+ // Record loop variable type
519
+ if (typeof srcType === "object" && srcType.kind === "array") {
520
+ env.bindings.set(step.loopType.variable, srcType.element);
521
+ }
522
+ else {
523
+ env.bindings.set(step.loopType.variable, "any");
524
+ }
525
+ }
526
+ if (step.outputBinding) {
527
+ env.bindings.set(step.outputBinding, { kind: "array", element: "any" });
528
+ }
529
+ break;
530
+ }
531
+ case "parallel": {
532
+ // Check join strategy metric expression if present
533
+ if (step.join.type === "best") {
534
+ inferExprType(step.join.metric, env, errors, loc);
535
+ }
536
+ if (step.outputBinding) {
537
+ env.bindings.set(step.outputBinding, { kind: "array", element: "any" });
538
+ }
539
+ break;
540
+ }
541
+ case "pipeline": {
542
+ const srcType = inferExprType(step.source, env, errors, loc);
543
+ // Pipeline source should be an array
544
+ if (srcType !== "any" && (typeof srcType !== "object" || srcType.kind !== "array")) {
545
+ errors.push({
546
+ code: "TYPE_MISMATCH",
547
+ message: `${loc}: Pipeline source must be an array, got ${formatSpellType(srcType)}`,
548
+ });
549
+ }
550
+ // Check stage expressions
551
+ for (const stage of step.stages) {
552
+ if (stage.op === "where") {
553
+ const predType = inferExprType(stage.predicate, env, errors, loc);
554
+ if (predType !== "any" && predType !== "bool") {
555
+ errors.push({
556
+ code: "TYPE_MISMATCH",
557
+ message: `${loc}: Pipeline 'where' predicate must be bool, got ${formatSpellType(predType)}`,
558
+ });
559
+ }
560
+ }
561
+ if (stage.op === "sort") {
562
+ inferExprType(stage.by, env, errors, loc);
563
+ }
564
+ if (stage.op === "reduce") {
565
+ inferExprType(stage.initial, env, errors, loc);
566
+ }
567
+ }
568
+ if (step.outputBinding) {
569
+ env.bindings.set(step.outputBinding, srcType !== "any" ? srcType : { kind: "array", element: "any" });
570
+ }
571
+ break;
572
+ }
573
+ case "try": {
574
+ // No expression-level type checks needed for try structure
575
+ break;
576
+ }
577
+ case "advisory": {
578
+ // Type-check context expressions
579
+ if (step.context) {
580
+ for (const [key, expr] of Object.entries(step.context)) {
581
+ inferExprType(expr, env, errors, `${loc} context '${key}'`);
582
+ }
583
+ }
584
+ // Type-check fallback expression
585
+ inferExprType(step.fallback, env, errors, loc);
586
+ // Record output binding with schema-derived type
587
+ const outType = advisorySchemaToSpellType(step.outputSchema);
588
+ env.bindings.set(step.outputBinding, outType);
589
+ break;
590
+ }
591
+ case "emit": {
592
+ for (const [key, expr] of Object.entries(step.data)) {
593
+ inferExprType(expr, env, errors, `${loc} data '${key}'`);
594
+ }
595
+ break;
596
+ }
597
+ case "wait":
598
+ case "halt":
599
+ // No type checks needed
600
+ break;
601
+ }
602
+ }
603
+ /** Type-check constraint expressions */
604
+ function checkConstraintExpressions(constraints, env, errors, location) {
605
+ const exprFields = [
606
+ "minOutput",
607
+ "maxInput",
608
+ "minLiquidity",
609
+ "requireQuote",
610
+ "requireSimulation",
611
+ "maxGas",
612
+ ];
613
+ for (const field of exprFields) {
614
+ const val = constraints[field];
615
+ if (val && typeof val === "object" && "kind" in val) {
616
+ inferExprType(val, env, errors, `${location} constraint '${field}'`);
617
+ }
618
+ }
619
+ }
620
+ // =============================================================================
621
+ // GUARD TYPE CHECKING
622
+ // =============================================================================
623
+ function checkGuard(guard, env, errors) {
624
+ // Advisory guards have no expression to type-check
625
+ if ("advisor" in guard && guard.advisor)
626
+ return;
627
+ // Expression guard: verify check resolves to bool
628
+ if ("check" in guard && guard.check) {
629
+ const loc = `guard '${guard.id}'`;
630
+ const checkType = inferExprType(guard.check, env, errors, loc);
631
+ if (checkType !== "any" && checkType !== "bool") {
632
+ errors.push({
633
+ code: "TYPE_MISMATCH",
634
+ message: `${loc}: Guard check must be bool, got ${formatSpellType(checkType)}`,
635
+ });
636
+ }
637
+ }
638
+ }
639
+ // =============================================================================
640
+ // MAIN ENTRY POINT
641
+ // =============================================================================
642
+ /**
643
+ * Type-check a SpellIR and return errors and warnings.
644
+ * Phase 2: type issues are errors that block compilation.
645
+ */
646
+ export function typeCheckIR(ir) {
647
+ const errors = [];
648
+ // Build type environment from IR
649
+ const env = {
650
+ params: new Map(),
651
+ state: new Map(),
652
+ bindings: new Map(),
653
+ assets: new Set(ir.assets.map((a) => a.symbol)),
654
+ };
655
+ // Populate param types
656
+ for (const p of ir.params) {
657
+ env.params.set(p.name, paramTypeToSpellType(p.type));
658
+ }
659
+ // Populate state types from initial values
660
+ for (const [key, field] of Object.entries(ir.state.persistent)) {
661
+ env.state.set(`persistent:${key}`, inferTypeFromValue(field.initialValue));
662
+ }
663
+ for (const [key, field] of Object.entries(ir.state.ephemeral)) {
664
+ env.state.set(`ephemeral:${key}`, inferTypeFromValue(field.initialValue));
665
+ }
666
+ // Type-check all steps (order matters — bindings are accumulated)
667
+ for (const step of ir.steps) {
668
+ checkStep(step, env, errors);
669
+ }
670
+ // Type-check all guards
671
+ for (const guard of ir.guards) {
672
+ checkGuard(guard, env, errors);
673
+ }
674
+ return { errors, warnings: [] };
675
+ }
676
+ //# sourceMappingURL=type-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../src/compiler/type-checker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@
3
3
  * Core compiler and runtime for Grimoire spell execution
4
4
  */
5
5
  export * from "./types/index.js";
6
- export { compile, compileFile, parseSpell, parseExpression, validateIR } from "./compiler/index.js";
7
- export type { ParseResult, IRGeneratorResult, ValidationResult } from "./compiler/index.js";
6
+ export { compile, compileFile, parseSpell, parseExpression, validateIR, typeCheckIR, } from "./compiler/index.js";
7
+ export type { ParseResult, IRGeneratorResult, ValidationResult, TypeCheckResult, } from "./compiler/index.js";
8
8
  export { execute, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
9
9
  export type { ExecuteOptions, CreateContextOptions, EvalContext, EvalValue, AdvisoryHandler, AdvisoryHandlerInput, StateStore, RunRecord, RunMetrics, RunProvenance, SqliteStateStoreOptions, BreakerState, BreakerRecord, TimestampedEvent, CircuitBreakerCheckResult, CircuitBreakerTriggerResult, } from "./runtime/index.js";
10
10
  export { createWallet, createWalletFromMnemonic, createWalletFromConfig, getAddressFromConfig, generatePrivateKey, createKeystore, loadPrivateKey, KeyLoadError, Provider, createProvider, formatWei, formatGasCostUsd, TransactionBuilder, createTransactionBuilder, Executor, createExecutor, CHAIN_CONFIGS, isTestnet, getChainName, getNativeCurrencySymbol, isNativeCurrency, } from "./wallet/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpG,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,IAAI,qBAAqB,GACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,SAAS,EACT,MAAM,EACN,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,IAAI,qBAAqB,GACzC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // Types
6
6
  export * from "./types/index.js";
7
7
  // Compiler
8
- export { compile, compileFile, parseSpell, parseExpression, validateIR } from "./compiler/index.js";
8
+ export { compile, compileFile, parseSpell, parseExpression, validateIR, typeCheckIR, } from "./compiler/index.js";
9
9
  // Runtime
10
10
  export { execute, createContext, InMemoryLedger, evaluate, evaluateAsync, createRunRecord, SqliteStateStore, CircuitBreakerManager, } from "./runtime/index.js";
11
11
  // Wallet
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,WAAW;AACX,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGpG,UAAU;AACV,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAoB5B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAiB3B,WAAW;AACX,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAgB7B,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,kBAAkB,CAAC;AAEjC,WAAW;AACX,OAAO,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAQ7B,UAAU;AACV,OAAO,EACL,OAAO,EACP,aAAa,EACb,cAAc,EACd,QAAQ,EACR,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAoB5B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAiB3B,WAAW;AACX,OAAO,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,qBAAqB,CAAC;AAgB7B,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression-evaluator.d.ts","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,EAAE,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAI,CAAC;AAET,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAwFtE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CA6C1F;AA8QD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAWxE"}
1
+ {"version":3,"file":"expression-evaluator.d.ts","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,OAAO,EAAE,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAI,CAAC;AAET,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,EAAE;QACL,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACjC,CAAC;IACF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/E,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CAwFtE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CA6C1F;AA8RD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,WAAW,CAWxE"}
@@ -302,6 +302,22 @@ function evaluateCall(fn, args) {
302
302
  const sum = arr.reduce((s, v) => s + v, 0);
303
303
  return sum / arr.length;
304
304
  }
305
+ case "to_number": {
306
+ const v = args[0];
307
+ if (typeof v === "number")
308
+ return v;
309
+ if (typeof v === "bigint")
310
+ return Number(v);
311
+ throw new Error(`to_number: cannot convert ${typeof v}`);
312
+ }
313
+ case "to_bigint": {
314
+ const v = args[0];
315
+ if (typeof v === "bigint")
316
+ return v;
317
+ if (typeof v === "number")
318
+ return BigInt(Math.trunc(v));
319
+ throw new Error(`to_bigint: cannot convert ${typeof v}`);
320
+ }
305
321
  // Async functions should not be called synchronously
306
322
  case "balance":
307
323
  case "price":
@@ -369,6 +385,8 @@ async function evaluateCallAsync(fn, argExprs, ctx) {
369
385
  case "abs":
370
386
  case "sum":
371
387
  case "avg":
388
+ case "to_number":
389
+ case "to_bigint":
372
390
  return evaluateCall(fn, args);
373
391
  default:
374
392
  throw new Error(`Unknown function: ${fn}`);
@@ -1 +1 @@
1
- {"version":3,"file":"expression-evaluator.js","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-evaluator.js","sourceRoot":"","sources":["../../src/runtime/expression-evaluator.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type BinaryOp = "+" | "-" | "*" | "/" | "%" | "==" | "!=" | "<" | ">" | "
6
6
  /** Unary operators */
7
7
  export type UnaryOp = "NOT" | "-" | "ABS";
8
8
  /** Built-in function names */
9
- export type BuiltinFn = "balance" | "price" | "get_apy" | "get_health_factor" | "get_position" | "get_debt" | "min" | "max" | "abs" | "sum" | "avg";
9
+ export type BuiltinFn = "balance" | "price" | "get_apy" | "get_health_factor" | "get_position" | "get_debt" | "min" | "max" | "abs" | "sum" | "avg" | "to_number" | "to_bigint";
10
10
  /** Expression IR node types */
11
11
  export type Expression = LiteralExpr | ParamExpr | StateExpr | BindingExpr | ItemExpr | IndexExpr | BinaryExpr | UnaryExpr | TernaryExpr | CallExpr | ArrayAccessExpr | PropertyAccessExpr;
12
12
  /** Literal value */
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/types/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/types/expressions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/types/expressions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuIH;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,KAAsF,EACtF,IAA0B;IAE1B,MAAM,YAAY,GAChB,IAAI;QACJ,CAAC,OAAO,KAAK,KAAK,QAAQ;YACxB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ;YACZ,CAAC,CAAC,OAAO,KAAK,KAAK,SAAS;gBAC1B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;oBACzB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;wBACzB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;4BACvB,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,OAAO;wBACX,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,EAAY,EAAE,IAAgB,EAAE,KAAiB;IACtE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EAAa,EAAE,GAAG,IAAkB;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/types/expressions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyIH;;GAEG;AACH,MAAM,UAAU,OAAO,CACrB,KAAsF,EACtF,IAA0B;IAE1B,MAAM,YAAY,GAChB,IAAI;QACJ,CAAC,OAAO,KAAK,KAAK,QAAQ;YACxB,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,QAAQ;YACZ,CAAC,CAAC,OAAO,KAAK,KAAK,SAAS;gBAC1B,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;oBACzB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;wBACzB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;4BACvB,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,OAAO;wBACX,CAAC,CAAC,MAAM,CAAC,CAAC;IAEpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,IAAY;IAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,EAAY,EAAE,IAAgB,EAAE,KAAiB;IACtE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,EAAa,EAAE,GAAG,IAAkB;IACvD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grimoirelabs/core",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Core compiler and runtime for Grimoire",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",