@grimoirelabs/core 0.7.0 → 0.8.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.
Files changed (79) hide show
  1. package/dist/compiler/grimoire/ast.d.ts +5 -0
  2. package/dist/compiler/grimoire/ast.d.ts.map +1 -1
  3. package/dist/compiler/grimoire/ast.js.map +1 -1
  4. package/dist/compiler/grimoire/errors.d.ts +1 -1
  5. package/dist/compiler/grimoire/errors.d.ts.map +1 -1
  6. package/dist/compiler/grimoire/errors.js +2 -2
  7. package/dist/compiler/grimoire/errors.js.map +1 -1
  8. package/dist/compiler/grimoire/index.d.ts.map +1 -1
  9. package/dist/compiler/grimoire/index.js +8 -1
  10. package/dist/compiler/grimoire/index.js.map +1 -1
  11. package/dist/compiler/grimoire/parser.d.ts +3 -0
  12. package/dist/compiler/grimoire/parser.d.ts.map +1 -1
  13. package/dist/compiler/grimoire/parser.js +106 -25
  14. package/dist/compiler/grimoire/parser.js.map +1 -1
  15. package/dist/compiler/grimoire/transformer.d.ts +0 -1
  16. package/dist/compiler/grimoire/transformer.d.ts.map +1 -1
  17. package/dist/compiler/grimoire/transformer.js +57 -100
  18. package/dist/compiler/grimoire/transformer.js.map +1 -1
  19. package/dist/compiler/index.d.ts +1 -1
  20. package/dist/compiler/index.d.ts.map +1 -1
  21. package/dist/compiler/index.js +5 -1
  22. package/dist/compiler/index.js.map +1 -1
  23. package/dist/compiler/ir-generator.js +33 -0
  24. package/dist/compiler/ir-generator.js.map +1 -1
  25. package/dist/compiler/type-checker.d.ts +2 -2
  26. package/dist/compiler/type-checker.js +2 -2
  27. package/dist/compiler/validator.d.ts +8 -0
  28. package/dist/compiler/validator.d.ts.map +1 -1
  29. package/dist/compiler/validator.js +223 -0
  30. package/dist/compiler/validator.js.map +1 -1
  31. package/dist/index.d.ts +3 -3
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/runtime/context.d.ts +1 -0
  36. package/dist/runtime/context.d.ts.map +1 -1
  37. package/dist/runtime/context.js +14 -2
  38. package/dist/runtime/context.js.map +1 -1
  39. package/dist/runtime/index.d.ts +3 -1
  40. package/dist/runtime/index.d.ts.map +1 -1
  41. package/dist/runtime/index.js +3 -1
  42. package/dist/runtime/index.js.map +1 -1
  43. package/dist/runtime/interpreter.d.ts +49 -3
  44. package/dist/runtime/interpreter.d.ts.map +1 -1
  45. package/dist/runtime/interpreter.js +774 -131
  46. package/dist/runtime/interpreter.js.map +1 -1
  47. package/dist/runtime/session-views.d.ts +37 -0
  48. package/dist/runtime/session-views.d.ts.map +1 -0
  49. package/dist/runtime/session-views.js +97 -0
  50. package/dist/runtime/session-views.js.map +1 -0
  51. package/dist/runtime/session.d.ts +35 -0
  52. package/dist/runtime/session.d.ts.map +1 -0
  53. package/dist/runtime/session.js +57 -0
  54. package/dist/runtime/session.js.map +1 -0
  55. package/dist/runtime/steps/action.d.ts +22 -0
  56. package/dist/runtime/steps/action.d.ts.map +1 -1
  57. package/dist/runtime/steps/action.js +209 -0
  58. package/dist/runtime/steps/action.js.map +1 -1
  59. package/dist/runtime/steps/advisory.d.ts +1 -0
  60. package/dist/runtime/steps/advisory.d.ts.map +1 -1
  61. package/dist/runtime/steps/advisory.js +277 -11
  62. package/dist/runtime/steps/advisory.js.map +1 -1
  63. package/dist/runtime/value-flow.d.ts +27 -0
  64. package/dist/runtime/value-flow.d.ts.map +1 -0
  65. package/dist/runtime/value-flow.js +566 -0
  66. package/dist/runtime/value-flow.js.map +1 -0
  67. package/dist/types/execution.d.ts +67 -1
  68. package/dist/types/execution.d.ts.map +1 -1
  69. package/dist/types/index.d.ts +2 -1
  70. package/dist/types/index.d.ts.map +1 -1
  71. package/dist/types/receipt.d.ts +193 -0
  72. package/dist/types/receipt.d.ts.map +1 -0
  73. package/dist/types/receipt.js +5 -0
  74. package/dist/types/receipt.js.map +1 -0
  75. package/dist/types/steps.d.ts +6 -0
  76. package/dist/types/steps.d.ts.map +1 -1
  77. package/dist/wallet/tx-builder.js +3 -3
  78. package/dist/wallet/tx-builder.js.map +1 -1
  79. package/package.json +1 -1
@@ -249,7 +249,12 @@ export interface AdviseNode extends ASTNode {
249
249
  target: string;
250
250
  advisor: string;
251
251
  prompt: string;
252
+ context?: Record<string, ExpressionNode>;
253
+ within?: string;
252
254
  outputSchema: AdvisoryOutputSchemaNode;
255
+ onViolation?: "reject" | "clamp";
256
+ onViolationExplicit?: boolean;
257
+ clampConstraints?: string[];
253
258
  timeout: number;
254
259
  fallback: ExpressionNode;
255
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/ast.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/ast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmjBH,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;AACvC,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,UAAU,CAAC,IAAoB;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACxC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/ast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwjBH,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,UAAU,cAAc,CAAC,IAAoB;IACjD,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;AACvC,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,UAAU,CAAC,IAAoB;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACxC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC/C,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;AACpC,CAAC"}
@@ -39,7 +39,7 @@ export declare class ParseError extends GrimoireError {
39
39
  location?: SourceLocation;
40
40
  span?: SourceSpan;
41
41
  source?: string;
42
- });
42
+ }, code?: string);
43
43
  }
44
44
  /** Transform error (AST to SpellSource) */
45
45
  export declare class TransformError extends GrimoireError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,4CAA4C;AAC5C,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAUH,uCAAuC;IACvC,MAAM,IAAI,MAAM;CA+BjB;AAED,yBAAyB;AACzB,qBAAa,aAAc,SAAQ,aAAa;gBAE5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAKJ;AAED,kBAAkB;AAClB,qBAAa,UAAW,SAAQ,aAAa;gBAEzC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAKJ;AAED,2CAA2C;AAC3C,qBAAa,cAAe,SAAQ,aAAa;gBAE7C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAKJ;AAED,yDAAyD;AACzD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAEhF;AAED,wDAAwD;AACxD,wBAAgB,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,UAAU,CAE3E;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,4CAA4C;AAC5C,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAUH,uCAAuC;IACvC,MAAM,IAAI,MAAM;CA+BjB;AAED,yBAAyB;AACzB,qBAAa,aAAc,SAAQ,aAAa;gBAE5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAKJ;AAED,kBAAkB;AAClB,qBAAa,UAAW,SAAQ,aAAa;gBAEzC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,IAAI,SAAgB;CAKvB;AAED,2CAA2C;AAC3C,qBAAa,cAAe,SAAQ,aAAa;gBAE7C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;CAKJ;AAED,yDAAyD;AACzD,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAEhF;AAED,wDAAwD;AACxD,wBAAgB,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,UAAU,CAE3E;AAED,6BAA6B;AAC7B,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAE5D"}
@@ -52,8 +52,8 @@ export class TokenizeError extends GrimoireError {
52
52
  }
53
53
  /** Parse error */
54
54
  export class ParseError extends GrimoireError {
55
- constructor(message, options) {
56
- super("PARSE_ERROR", message, options);
55
+ constructor(message, options, code = "PARSE_ERROR") {
56
+ super(code, message, options);
57
57
  this.name = "ParseError";
58
58
  }
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,4CAA4C;AAC5C,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAS;IACb,QAAQ,CAAkB;IAC1B,IAAI,CAAc;IAClB,MAAM,CAAU;IAEzB,YACE,IAAY,EACZ,OAAe,EACf,OAIC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;IAED,uCAAuC;IACvC,MAAM;QACJ,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,eAAe;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhC,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;YAEvC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBACjD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEhE,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,yBAAyB;AACzB,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YACE,OAAe,EACf,OAGC;QAED,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,kBAAkB;AAClB,MAAM,OAAO,UAAW,SAAQ,aAAa;IAC3C,YACE,OAAe,EACf,OAIC;QAED,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,2CAA2C;AAC3C,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YACE,OAAe,EACf,OAIC;QAED,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,yDAAyD;AACzD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,MAAc;IAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,IAAI,CAAC,KAAqB,EAAE,GAAmB;IAC7D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,YAAY,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/errors.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;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"}
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;AAQxE;;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,CA0DnB"}
@@ -11,6 +11,7 @@ export { Transformer, transform } from "./transformer.js";
11
11
  import { generateIR } from "../ir-generator.js";
12
12
  import { typeCheckIR } from "../type-checker.js";
13
13
  import { validateIR } from "../validator.js";
14
+ import { GrimoireError } from "./errors.js";
14
15
  import { parse } from "./parser.js";
15
16
  import { transform } from "./transformer.js";
16
17
  /**
@@ -58,12 +59,18 @@ export function compileGrimoire(source, options) {
58
59
  }
59
60
  catch (error) {
60
61
  const err = error;
62
+ const grimoireError = error instanceof GrimoireError ? error : undefined;
63
+ const code = grimoireError?.code === "ADVISORY_INLINE_UNSUPPORTED"
64
+ ? "ADVISORY_INLINE_UNSUPPORTED"
65
+ : "GRIMOIRE_PARSE_ERROR";
61
66
  return {
62
67
  success: false,
63
68
  errors: [
64
69
  {
65
- code: "GRIMOIRE_PARSE_ERROR",
70
+ code,
66
71
  message: err.message,
72
+ line: grimoireError?.location?.line,
73
+ column: grimoireError?.location?.column,
67
74
  },
68
75
  ],
69
76
  warnings: [],
@@ -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,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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compiler/grimoire/index.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,9 @@ export declare class Parser {
68
68
  private parseAssignment;
69
69
  /** Parse advise statement (assignment form) */
70
70
  private parseAdviseStatement;
71
+ private parseAdvisoryContext;
72
+ private parsePolicyReference;
73
+ private parseOnViolationPolicy;
71
74
  private parseOutputSchemaBlock;
72
75
  private parseSchemaAfterColon;
73
76
  private parseSchemaObject;
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/compiler/grimoire/parser.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { ParseError } from "./errors.js";
5
5
  import { tokenize } from "./tokenizer.js";
6
+ const INLINE_ADVISORY_UNSUPPORTED_MESSAGE = 'Inline advisory expressions (**...**) are no longer supported. Use explicit advisory binding: `decision = advise advisor: "prompt" { output: ..., timeout: N, fallback: expr }` then branch on `decision` fields.';
6
7
  // =============================================================================
7
8
  // PARSER CLASS
8
9
  // =============================================================================
@@ -1099,7 +1100,12 @@ export class Parser {
1099
1100
  const advisor = this.expect("IDENTIFIER").value;
1100
1101
  this.expect("COLON");
1101
1102
  const prompt = this.expect("STRING").value;
1103
+ let context;
1104
+ let within;
1102
1105
  let outputSchema;
1106
+ let onViolation;
1107
+ let onViolationExplicit = false;
1108
+ let clampConstraints;
1103
1109
  let timeout;
1104
1110
  let fallback;
1105
1111
  this.skipNewlines();
@@ -1116,9 +1122,25 @@ export class Parser {
1116
1122
  const key = keyToken.value;
1117
1123
  this.advance();
1118
1124
  this.expect("COLON");
1119
- if (key === "output") {
1125
+ if (key === "context") {
1126
+ context = this.parseAdvisoryContext();
1127
+ }
1128
+ else if (key === "within") {
1129
+ within = this.parsePolicyReference();
1130
+ this.expectNewline();
1131
+ }
1132
+ else if (key === "output") {
1120
1133
  outputSchema = this.parseOutputSchemaBlock(keyToken);
1121
1134
  }
1135
+ else if (key === "on_violation") {
1136
+ onViolation = this.parseOnViolationPolicy();
1137
+ onViolationExplicit = true;
1138
+ this.expectNewline();
1139
+ }
1140
+ else if (key === "clamp_constraints") {
1141
+ clampConstraints = this.parseStringList();
1142
+ this.expectNewline();
1143
+ }
1122
1144
  else if (key === "timeout") {
1123
1145
  const value = this.expect("NUMBER").value;
1124
1146
  timeout = Number.parseFloat(value);
@@ -1146,13 +1168,84 @@ export class Parser {
1146
1168
  target,
1147
1169
  advisor,
1148
1170
  prompt,
1171
+ context,
1172
+ within,
1149
1173
  outputSchema,
1174
+ onViolation: onViolation ?? "reject",
1175
+ onViolationExplicit,
1176
+ clampConstraints,
1150
1177
  timeout,
1151
1178
  fallback,
1152
1179
  };
1153
1180
  node.span = this.makeSpan(startToken);
1154
1181
  return node;
1155
1182
  }
1183
+ parseAdvisoryContext() {
1184
+ this.skipNewlines();
1185
+ if (this.check("LBRACE")) {
1186
+ this.advance();
1187
+ const context = {};
1188
+ while (!this.check("RBRACE") && !this.check("EOF")) {
1189
+ this.skipNewlines();
1190
+ if (this.check("RBRACE") || this.check("EOF"))
1191
+ break;
1192
+ if (!(this.check("IDENTIFIER") || this.check("KEYWORD"))) {
1193
+ throw new ParseError(`Expected context input key but got ${this.current().type} '${this.current().value}'`, { location: this.current().location, source: this.source });
1194
+ }
1195
+ const key = this.advance().value;
1196
+ this.expect("COLON");
1197
+ context[key] = this.parseExpression();
1198
+ if (this.check("COMMA")) {
1199
+ this.advance();
1200
+ }
1201
+ this.expectNewline();
1202
+ }
1203
+ this.expect("RBRACE");
1204
+ this.expectNewline();
1205
+ return context;
1206
+ }
1207
+ const values = [this.parseExpression()];
1208
+ while (this.check("COMMA")) {
1209
+ this.advance();
1210
+ values.push(this.parseExpression());
1211
+ }
1212
+ this.expectNewline();
1213
+ const context = {};
1214
+ for (let i = 0; i < values.length; i++) {
1215
+ const expr = values[i];
1216
+ if (!expr)
1217
+ continue;
1218
+ const key = expr.kind === "identifier" ? expr.name : `context_input_${i + 1}`;
1219
+ context[key] = expr;
1220
+ }
1221
+ return context;
1222
+ }
1223
+ parsePolicyReference() {
1224
+ if (this.check("STRING") || this.check("IDENTIFIER") || this.check("KEYWORD")) {
1225
+ return this.advance().value;
1226
+ }
1227
+ throw new ParseError("Expected policy scope reference after 'within'", {
1228
+ location: this.current().location,
1229
+ source: this.source,
1230
+ });
1231
+ }
1232
+ parseOnViolationPolicy() {
1233
+ if (!(this.check("STRING") || this.check("IDENTIFIER") || this.check("KEYWORD"))) {
1234
+ throw new ParseError("Expected advisory on_violation policy ('reject' or 'clamp')", {
1235
+ location: this.current().location,
1236
+ source: this.source,
1237
+ });
1238
+ }
1239
+ const token = this.advance();
1240
+ const value = token.value;
1241
+ if (value !== "reject" && value !== "clamp") {
1242
+ throw new ParseError(`Unsupported advisory on_violation policy '${value}'. Use 'reject' or 'clamp'.`, {
1243
+ location: token.location,
1244
+ source: this.source,
1245
+ });
1246
+ }
1247
+ return value;
1248
+ }
1156
1249
  parseOutputSchemaBlock(keyToken) {
1157
1250
  if (!this.check("LBRACE") && !this.check("NEWLINE")) {
1158
1251
  // Allow inline type: output: boolean
@@ -1630,22 +1723,15 @@ export class Parser {
1630
1723
  parseIfStatement() {
1631
1724
  const startToken = this.current();
1632
1725
  this.expect("KEYWORD", "if");
1633
- // Check for advisory condition: if **prompt** { ... }
1634
- let condition;
1726
+ // Inline advisory expressions (**...**) in conditions are no longer supported.
1635
1727
  if (this.check("ADVISORY")) {
1636
- const prompt = this.advance().value;
1637
- let advisor;
1638
- if (this.check("KEYWORD", "via")) {
1639
- this.advance();
1640
- if (this.check("IDENTIFIER") || this.check("KEYWORD")) {
1641
- advisor = this.advance().value;
1642
- }
1643
- }
1644
- condition = { kind: "advisory_expr", prompt, advisor };
1645
- }
1646
- else {
1647
- condition = this.parseExpression();
1728
+ const token = this.current();
1729
+ throw new ParseError(INLINE_ADVISORY_UNSUPPORTED_MESSAGE, {
1730
+ location: token.location,
1731
+ source: this.source,
1732
+ }, "ADVISORY_INLINE_UNSUPPORTED");
1648
1733
  }
1734
+ const condition = this.parseExpression();
1649
1735
  const thenBody = this.parseBraceBlock();
1650
1736
  const elifs = [];
1651
1737
  let elseBody = [];
@@ -1990,17 +2076,12 @@ export class Parser {
1990
2076
  this.advance();
1991
2077
  return { kind: "venue_ref_expr", name: token.value };
1992
2078
  }
1993
- // Advisory: **text**
2079
+ // Advisory: **text** — inline advisory expressions are no longer supported.
1994
2080
  if (token.type === "ADVISORY") {
1995
- this.advance();
1996
- let advisor;
1997
- if (this.check("KEYWORD", "via")) {
1998
- this.advance();
1999
- if (this.check("IDENTIFIER") || this.check("KEYWORD")) {
2000
- advisor = this.advance().value;
2001
- }
2002
- }
2003
- return { kind: "advisory_expr", prompt: token.value, advisor };
2081
+ throw new ParseError(INLINE_ADVISORY_UNSUPPORTED_MESSAGE, {
2082
+ location: token.location,
2083
+ source: this.source,
2084
+ }, "ADVISORY_INLINE_UNSUPPORTED");
2004
2085
  }
2005
2086
  // Array literal: [a, b, c]
2006
2087
  if (token.type === "LBRACKET") {