@kernlang/core 3.4.0 → 3.4.2-canary.3.1.6b4cbb13

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 (59) hide show
  1. package/dist/codegen/body-ts.d.ts +68 -0
  2. package/dist/codegen/body-ts.js +233 -0
  3. package/dist/codegen/body-ts.js.map +1 -0
  4. package/dist/codegen/functions.js +19 -2
  5. package/dist/codegen/functions.js.map +1 -1
  6. package/dist/codegen/kern-stdlib.d.ts +63 -0
  7. package/dist/codegen/kern-stdlib.js +160 -0
  8. package/dist/codegen/kern-stdlib.js.map +1 -0
  9. package/dist/codegen/stdlib-preamble.d.ts +19 -0
  10. package/dist/codegen/stdlib-preamble.js +62 -4
  11. package/dist/codegen/stdlib-preamble.js.map +1 -1
  12. package/dist/codegen/type-system.js +15 -1
  13. package/dist/codegen/type-system.js.map +1 -1
  14. package/dist/codegen-core.js +7 -0
  15. package/dist/codegen-core.js.map +1 -1
  16. package/dist/codegen-expression.d.ts +8 -0
  17. package/dist/codegen-expression.js +111 -5
  18. package/dist/codegen-expression.js.map +1 -1
  19. package/dist/decompiler.js +219 -0
  20. package/dist/decompiler.js.map +1 -1
  21. package/dist/index.d.ts +14 -1
  22. package/dist/index.js +16 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/native-eligibility.d.ts +69 -0
  25. package/dist/native-eligibility.js +155 -0
  26. package/dist/native-eligibility.js.map +1 -0
  27. package/dist/node-props.d.ts +4 -0
  28. package/dist/node-props.js.map +1 -1
  29. package/dist/parser-core.d.ts +7 -1
  30. package/dist/parser-core.js +5 -2
  31. package/dist/parser-core.js.map +1 -1
  32. package/dist/parser-diagnostics.js +6 -2
  33. package/dist/parser-diagnostics.js.map +1 -1
  34. package/dist/parser-expression.d.ts +8 -3
  35. package/dist/parser-expression.js +293 -5
  36. package/dist/parser-expression.js.map +1 -1
  37. package/dist/parser-keywords.js +16 -0
  38. package/dist/parser-keywords.js.map +1 -1
  39. package/dist/parser-validate-native-eligible.d.ts +21 -0
  40. package/dist/parser-validate-native-eligible.js +46 -0
  41. package/dist/parser-validate-native-eligible.js.map +1 -0
  42. package/dist/parser-validate-propagation.d.ts +105 -0
  43. package/dist/parser-validate-propagation.js +684 -0
  44. package/dist/parser-validate-propagation.js.map +1 -0
  45. package/dist/parser.d.ts +10 -3
  46. package/dist/parser.js +11 -5
  47. package/dist/parser.js.map +1 -1
  48. package/dist/schema.js +199 -13
  49. package/dist/schema.js.map +1 -1
  50. package/dist/semantic-validator.js +9 -5
  51. package/dist/semantic-validator.js.map +1 -1
  52. package/dist/spec.d.ts +2 -2
  53. package/dist/spec.js +13 -1
  54. package/dist/spec.js.map +1 -1
  55. package/dist/types.d.ts +1 -1
  56. package/dist/value-ir.d.ts +27 -0
  57. package/dist/value-ir.js +6 -1
  58. package/dist/value-ir.js.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-validate-propagation.js","sourceRoot":"","sources":["../src/parser-validate-propagation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4DA0C4D;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD;;;qEAGqE;AACrE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;;qEAIqE;AACrE,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AA6C/E;;uCAEuC;AACvC,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,OAAO,GAAG,KAAK;IACvD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IAChD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,UAAU,IAAI,OAAO,CAAC;IAC/C,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrF,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;qEACqE;AACrE,SAAS,SAAS,CAAC,CAAW;IAC5B,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IAC3D,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IAC3D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;6EAE6E;AAC7E,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI;SACR,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACzD,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACnD,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;SACpF,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;SACpF,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC1F,CAAC;AAED,sDAAsD;AACtD,SAAS,iBAAiB,CAAC,OAAe,EAAE,OAAe;IACzD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC/C,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAChD,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG;gBAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;8EAE8E;AAC9E,SAAS,iBAAiB,CAAC,OAAe,EAAE,IAAY;IACtD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7C,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC9B,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,KAAK,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;8DAG8D;AAC9D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAErH;;;sEAGsE;AACtE,SAAS,qBAAqB,CAAC,OAAe,EAAE,SAAiB;IAC/D,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IAE9C,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,CAAC;QACC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG;gBAAE,EAAE,EAAE,CAAC;iBACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,EAAE,EAAE,CAAC;gBACL,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;oBACb,SAAS,GAAG,CAAC,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhC,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IAC5C,wCAAwC;IACxC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,EAAE,EAAE,CAAC;iBACxB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,EAAE,EAAE,CAAC;YAClC,CAAC,EAAE,CAAC;QACN,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAAE,CAAC,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,iDAAiD;IAC1E,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,oEAAoE;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;qEAEqE;AACrE,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAU,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;YACb,+DAA+D;YAC/D,yCAAyC;YACzC,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtC,KAAK,EAAE,CAAC;gBACR,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACrB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBACnG,KAAK,EAAE,CAAC;gBACR,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,UAAU,EAAE,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAE,CAAC,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,iEAAiE;gBACjE,mEAAmE;gBACnE,kEAAkE;gBAClE,+BAA+B;gBAC/B,KAAK,EAAE,CAAC;gBACR,iBAAiB,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,kEAAkE;gBAClE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC1B,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;wBAAE,EAAE,EAAE,CAAC;yBAC5C,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;wBAChD,IAAI,EAAE,KAAK,CAAC;4BAAE,MAAM;wBACpB,EAAE,EAAE,CAAC;oBACP,CAAC;yBAAM,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;wBAAE,MAAM;oBACzD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAChD,CAAC;QACH,CAAC;QAED,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAkBD;;;;yEAIyE;AACzE,SAAS,eAAe,CAAC,OAAe,EAAE,KAAa;IACrD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,CAAC;QACC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,MAAM;gBACR,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IACzB,CAAC;QACC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBAChC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,GAAG,GAAG,CAAC,CAAC;oBACR,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;iBACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,GAAG,GAAG,CAAC,CAAC;oBACR,MAAM;gBACR,CAAC;gBACD,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;AACxC,CAAC;AAED;;;;sCAIsC;AACtC,SAAS,iBAAiB,CACxB,OAAe,EACf,SAAiB,EACjB,KAAa,EACb,MAAuB;IAEvB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,6EAA6E,EAAE,CAAC;IAC9G,CAAC;IACD,oCAAoC;IACpC,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,OAAO,SAAS,GAAG,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAAE,SAAS,EAAE,CAAC;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gEAAgE,EAAE,CAAC;IACjG,CAAC;IAED,2DAA2D;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAE9D,2EAA2E;IAC3E,uEAAuE;IACvE,yEAAyE;IACzE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,MAAM,WAAW,GAAG,gBAAgB,CAAC;IACrC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC5E,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC;IAEhF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC7F,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,SAAS,CAAC,CAAC,CAA4B;gBAC/C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBACpB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE;aAC9B;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,MAAM,EAAE,iHAAiH,OAAO,IAAI;KACrI,CAAC;AACJ,CAAC;AAsBD;;;;;0BAK0B;AAC1B,SAAS,oBAAoB,CAAC,QAAgB,EAAE,OAAe,EAAE,GAAuB;IACtF,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,gCAAgC,CAAC;IAC7C,MAAM,GAAG,GAAG,eAAe,CAAC;IAE5B,SAAS,WAAW,CAAC,SAAiB,EAAE,SAAiB,EAAE,UAAkB,EAAE,UAAsB;QACnG,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzD,IAAI,UAAU,GAAG,CAAC;YAAE,OAAO;QAC3B,IAAI,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;QAC3B,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAAE,KAAK,EAAE,CAAC;QACpE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;YAAE,OAAO;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC;QAEpB,uCAAuC;QACvC,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,CAAC,yBAAyB;QAC/E,IAAI,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,CAAC,0BAA0B;QAChF,IAAI,EAAE,KAAK,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;YAAE,OAAO,CAAC,iBAAiB;QAE9E,MAAM,EAAE,GAAc,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,EAAE,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;QACzD,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjE,KAAK,CAAC,IAAI,CAAC;YACT,SAAS;YACT,OAAO,EAAE,UAAU;YACnB,KAAK;YACL,EAAE;YACF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,CAAC,CAAC;YACnD,MAAM,EAAE,UAAU;YAClB,UAAU;YACV,MAAM;YACN,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAChC,aAAa;YACb,OAAO;YACP,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;YACvC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;SACzC,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,gDAAgD;IAChD,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAwB,CAAC;QACvC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,WAAW,GACf,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED,wEAAwE;IACxE,mEAAmE;IACnE,6DAA6D;IAC7D,6BAA6B;IAC7B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;YAAE,SAAS;QACvD,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG;YAAE,SAAS;QACtD,IAAI,UAAU,GAAsB,IAAI,CAAC;QACzC,IAAI,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC;YAAE,UAAU,GAAG,aAAa,CAAC;aAC1D,IAAI,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC;YAAE,UAAU,GAAG,aAAa,CAAC;aAC/D,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,UAAU,GAAG,QAAQ,CAAC;aACpD,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,UAAU,GAAG,QAAQ,CAAC;QACzD,IAAI,CAAC,UAAU;YAAE,SAAS;QAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC;YAAE,SAAS;QACvD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,aAAa,GAAG,CAAC,CAAC;AACtB,SAAS,UAAU;IACjB,aAAa,IAAI,CAAC,CAAC;IACnB,OAAO,QAAQ,aAAa,EAAE,CAAC;AACjC,CAAC;AAUD,oDAAoD;AACpD,SAAS,aAAa,CAAC,IAAqB,EAAE,GAAW;IACvD,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAC7F,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzE,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,OAAO,UAAU,GAAG,cAAc,WAAW,MAAM,UAAU,EAAE,CAAC;IAChG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,uDAAuD;IACjF,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7F,KAAK,QAAQ;YACX,OAAO,GAAG,KAAK,YAAY,GAAG,SAAS,CAAC;QAC1C,KAAK,UAAU;YACb,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,QAAkB,EAClB,GAAuB,EACvB,IAAU;IAEV,aAAa,GAAG,CAAC,CAAC,CAAC,uCAAuC;IAC1D,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAE3D,IAAI,UAAU,GAAG,KAAK,CAAC;IAIvB,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CACF,oBAAoB,EACpB,4CAA4C,IAAI,CAAC,QAAQ,iDAAiD,CAC3G,CAAC;YACF,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CACF,qBAAqB,EACrB,KAAK,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,QAAQ,mJAAmJ,CAC3L,CAAC;YACF,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CACF,qBAAqB,EACrB,KAAK,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,QAAQ,mBAAmB,IAAI,CAAC,YAAY,IAAI,qBAAqB,sCAAsC,IAAI,CAAC,EAAE,uBAAuB,IAAI,CAAC,EAAE,2CAA2C,IAAI,CAAC,EAAE,MAAM,CACxO,CAAC;YACF,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,sEAAsE;YACtE,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,KAAK,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC;YAC7F,MAAM,gBAAgB,GAAG,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa,CAAC;YAClF,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEnE,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpC,IAAI,CACF,qBAAqB,EACrB,sBAAsB,IAAI,CAAC,MAAM,8BAA8B,IAAI,CAAC,MAAM,qBAAqB,WAAW,kBAAkB,CAC7H,CAAC;gBACF,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,aAAa,EAAE,CAAC;gBAC3C,IAAI,CACF,qBAAqB,EACrB,KAAK,IAAI,CAAC,MAAM,2BAA2B,WAAW,wBAAwB,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,EAAE,uDAAuD,CAChK,CAAC;gBACF,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9C,IAAI,CACF,qBAAqB,EACrB,qJAAqJ,CACtJ,CAAC;gBACF,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;iBAAM,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBAC3B,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;oBAC/B,IAAI,CACF,qBAAqB,EACrB,uKAAuK,CACxK,CAAC;oBACF,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;qBAAM,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;oBAC1C,MAAM,cAAc,GAAG,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzE,IAAI,CACF,qBAAqB,EACrB,cAAc,WAAW,iCAAiC,cAAc,+DAA+D,CACxI,CAAC;oBACF,KAAK,GAAG,KAAK,CAAC;gBAChB,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,cAAc,KAAK,WAAW,EAAE,CAAC;gBAC7D,IAAI,CACF,4BAA4B,EAC5B,KAAK,IAAI,CAAC,QAAQ,uCAAuC,WAAW,oEAAoE,CACzI,CAAC;gBACF,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG;YAAE,UAAU,GAAG,IAAI,CAAC;IAClD,CAAC;IAED,0EAA0E;IAC1E,8DAA8D;IAC9D,gDAAgD;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC;AAED;;;;;wBAKwB;AACxB,SAAS,eAAe,CAAC,IAAY,EAAE,aAA8B;IACnE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,SAAS,IAAI,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC;YAC/D,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,IAAI,GAAG,KAAK,QAAQ;oBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACrC,IAAI,GAAG,KAAK,QAAQ;oBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBAC1C,IAAI,GAAG,KAAK,aAAa;oBAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;qBACpD,IAAI,GAAG,KAAK,aAAa;oBAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,aAAa,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;YAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;wBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;4BAAE,SAAS;wBACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;wBACvC,IAAI,OAAO,YAAY,KAAK,QAAQ;4BAAE,SAAS;wBAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;wBACjC,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;wBACrF,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;4BAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAClE,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;4BAAE,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAClE,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,CAAC;4BAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC7E,IAAI,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,YAAY,CAAC;4BAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;+BAQ+B;AAC/B,MAAM,UAAU,6BAA6B,CAC3C,KAAiB,EACjB,IAAY,EACZ,aAA8B;IAE9B,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,SAAS,IAAI,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC;YAC3E,MAAM,QAAQ,GAAa,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACvC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBACvC,MAAM,GAAG,GAAG,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;oBAC9E,cAAc,CACZ,KAAK,EACL,QAAQ,EACR,QAAQ,KAAK,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC/D,OAAO,EACP,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,EACnB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CACnB,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAI,GAAG,CAAC,UAAU;oBAAE,kBAAkB,GAAG,IAAI,CAAC;gBAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACrB,KAAK,CAAC,KAAiC,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAChC,CAAC"}
package/dist/parser.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * - parser-keywords.ts — keyword-specific handlers
10
10
  * - parser-core.ts — line parsing, tree building, orchestration
11
11
  */
12
+ import { type ParseOptions } from './parser-core.js';
12
13
  import type { ParserHintsConfig } from './runtime.js';
13
14
  import { type KernRuntime } from './runtime.js';
14
15
  import type { IRNode, ParseDiagnostic, ParseResult } from './types.js';
@@ -65,9 +66,15 @@ export declare function parseDocument(source: string, runtime?: KernRuntime): IR
65
66
  * @param runtime - Optional KernRuntime instance for isolation
66
67
  * @returns `{ root: IRNode, diagnostics: ParseDiagnostic[] }`
67
68
  */
68
- export declare function parseWithDiagnostics(source: string, runtime?: KernRuntime): ParseResult;
69
- /** Parse with diagnostics (document mode). */
70
- export declare function parseDocumentWithDiagnostics(source: string, runtime?: KernRuntime): ParseResult;
69
+ export declare function parseWithDiagnostics(source: string, runtime?: KernRuntime, options?: ParseOptions): ParseResult;
70
+ /** Parse with diagnostics (document mode).
71
+ *
72
+ * Slice 7 v2 — `options.resolveImport` enables cross-module Result/Option
73
+ * recognition for `?`/`!` propagation. The CLI builds the resolver from a
74
+ * project-wide pre-pass over `.kern` files and passes it per-file; pure
75
+ * callers (browser playground, tests) omit it and cross-module
76
+ * recognition stays disabled. */
77
+ export declare function parseDocumentWithDiagnostics(source: string, runtime?: KernRuntime, options?: ParseOptions): ParseResult;
71
78
  /**
72
79
  * Strict parse — throws if any diagnostic has severity `'error'` or a schema violation is found.
73
80
  *
package/dist/parser.js CHANGED
@@ -83,12 +83,18 @@ export function parseDocument(source, runtime) {
83
83
  * @param runtime - Optional KernRuntime instance for isolation
84
84
  * @returns `{ root: IRNode, diagnostics: ParseDiagnostic[] }`
85
85
  */
86
- export function parseWithDiagnostics(source, runtime) {
87
- return parseInternal(source, false, runtime);
86
+ export function parseWithDiagnostics(source, runtime, options) {
87
+ return parseInternal(source, false, runtime, options);
88
88
  }
89
- /** Parse with diagnostics (document mode). */
90
- export function parseDocumentWithDiagnostics(source, runtime) {
91
- return parseInternal(source, true, runtime);
89
+ /** Parse with diagnostics (document mode).
90
+ *
91
+ * Slice 7 v2 — `options.resolveImport` enables cross-module Result/Option
92
+ * recognition for `?`/`!` propagation. The CLI builds the resolver from a
93
+ * project-wide pre-pass over `.kern` files and passes it per-file; pure
94
+ * callers (browser playground, tests) omit it and cross-module
95
+ * recognition stays disabled. */
96
+ export function parseDocumentWithDiagnostics(source, runtime, options) {
97
+ return parseInternal(source, true, runtime, options);
92
98
  }
93
99
  /**
94
100
  * Strict parse — throws if any diagnostic has severity `'error'` or a schema violation is found.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -291,8 +291,9 @@ export const NODE_SCHEMAS = {
291
291
  props: {
292
292
  name: { required: true, kind: 'string' },
293
293
  target: { kind: 'string' },
294
+ coverage: { kind: 'boolean' },
294
295
  },
295
- allowedChildren: ['describe', 'it', 'expect', 'fixture', 'handler'],
296
+ allowedChildren: ['describe', 'it', 'expect', 'fixture', 'mock', 'handler'],
296
297
  },
297
298
  event: {
298
299
  description: 'Typed event with payload type children',
@@ -1201,7 +1202,7 @@ export const NODE_SCHEMAS = {
1201
1202
  deps: { kind: 'string' },
1202
1203
  once: { kind: 'boolean' },
1203
1204
  },
1204
- allowedChildren: ['prop', 'handler', 'cleanup'],
1205
+ allowedChildren: ['prop', 'handler', 'cleanup', 'trigger', 'recover'],
1205
1206
  },
1206
1207
  // ── Web / UI node types ──────────────────────────────────────────────
1207
1208
  page: {
@@ -1468,7 +1469,22 @@ export const NODE_SCHEMAS = {
1468
1469
  props: {
1469
1470
  name: { required: true, kind: 'identifier' },
1470
1471
  },
1471
- allowedChildren: ['param', 'handler', 'description', 'guard', 'sampling', 'elicitation'],
1472
+ allowedChildren: [
1473
+ 'param',
1474
+ 'handler',
1475
+ 'description',
1476
+ 'guard',
1477
+ 'sampling',
1478
+ 'elicitation',
1479
+ 'derive',
1480
+ 'effect',
1481
+ 'respond',
1482
+ 'branch',
1483
+ 'each',
1484
+ 'collect',
1485
+ 'destructure',
1486
+ 'partition',
1487
+ ],
1472
1488
  },
1473
1489
  resource: {
1474
1490
  description: 'MCP resource — a data source exposed to AI agents via URI. Use {variables} for templated URIs.',
@@ -1682,6 +1698,10 @@ export const NODE_SCHEMAS = {
1682
1698
  kind: { kind: 'identifier' },
1683
1699
  on: { kind: 'string' },
1684
1700
  from: { kind: 'string' },
1701
+ expr: { kind: 'rawExpr' },
1702
+ query: { kind: 'string' },
1703
+ url: { kind: 'string' },
1704
+ call: { kind: 'rawExpr' },
1685
1705
  },
1686
1706
  allowedChildren: ['handler'],
1687
1707
  },
@@ -2163,13 +2183,13 @@ export const NODE_SCHEMAS = {
2163
2183
  description: 'Test suite — groups related test cases',
2164
2184
  example: 'describe name="UserService"\n it name="creates a user"\n handler <<<\n expect(createUser()).toBeDefined();\n >>>',
2165
2185
  props: { name: { required: true, kind: 'string' } },
2166
- allowedChildren: ['it', 'describe', 'expect', 'fixture', 'handler'],
2186
+ allowedChildren: ['it', 'describe', 'expect', 'fixture', 'mock', 'handler'],
2167
2187
  },
2168
2188
  it: {
2169
2189
  description: 'Test case — single test assertion',
2170
2190
  example: 'it name="returns 200 on success"\n handler <<<\n expect(res.status).toBe(200);\n >>>',
2171
2191
  props: { name: { required: true, kind: 'string' } },
2172
- allowedChildren: ['expect', 'fixture', 'handler'],
2192
+ allowedChildren: ['expect', 'case', 'fixture', 'mock', 'handler'],
2173
2193
  },
2174
2194
  // Ground layer — semantic reasoning
2175
2195
  path: {
@@ -2208,14 +2228,32 @@ export const NODE_SCHEMAS = {
2208
2228
  },
2209
2229
  expect: {
2210
2230
  description: 'Assertion — declare an expected runtime condition or KERN structural invariant',
2211
- example: 'expect expr={{items.length > 0}} message="Items must not be empty"\nexpect machine=Order reaches=paid via=confirm,capture\nexpect machine=Order transition=capture from=confirmed to=paid\nexpect node=interface name=User child=field count=3\nexpect no=deriveCycles',
2231
+ example: 'expect expr={{items.length > 0}} message="Items must not be empty"\nexpect route="GET /api/users" with={{({ query: { role: "admin" } })}} returns={{adminUsers}}\nexpect machine=Order reaches=paid via=confirm,capture\nexpect machine=Order transition=capture from=confirmed to=paid\nexpect node=interface name=User child=field count=3\nexpect no=deriveCycles',
2212
2232
  props: {
2213
2233
  expr: { kind: 'rawExpr' },
2214
2234
  fn: { kind: 'identifier' },
2215
2235
  derive: { kind: 'identifier' },
2236
+ route: { kind: 'string' },
2237
+ tool: { kind: 'identifier' },
2238
+ effect: { kind: 'identifier' },
2239
+ mock: { kind: 'identifier' },
2240
+ called: { kind: 'number' },
2241
+ import: { kind: 'string' },
2242
+ source: { kind: 'string' },
2243
+ unmapped: { kind: 'number' },
2244
+ allowWarnings: { kind: 'boolean' },
2216
2245
  args: { kind: 'rawExpr' },
2217
2246
  with: { kind: 'rawExpr' },
2247
+ input: { kind: 'rawExpr' },
2218
2248
  equals: { kind: 'rawExpr' },
2249
+ returns: { kind: 'rawExpr' },
2250
+ recovers: { kind: 'boolean' },
2251
+ fallback: { kind: 'rawExpr' },
2252
+ codegen: { kind: 'boolean' },
2253
+ decompile: { kind: 'boolean' },
2254
+ roundtrip: { kind: 'boolean' },
2255
+ contains: { kind: 'string' },
2256
+ notContains: { kind: 'string' },
2219
2257
  matches: { kind: 'string' },
2220
2258
  throws: { kind: 'string' },
2221
2259
  message: { kind: 'string' },
@@ -2248,6 +2286,26 @@ export const NODE_SCHEMAS = {
2248
2286
  covers: { kind: 'string' },
2249
2287
  },
2250
2288
  },
2289
+ case: {
2290
+ description: 'Native test table row — supplies input and expected output for a parent expect assertion',
2291
+ example: 'case name=admin with={{({ query: { role: "admin" } })}} returns={{adminUsers}}\nexpect route="GET /api/users"',
2292
+ props: {
2293
+ name: { kind: 'string' },
2294
+ args: { kind: 'rawExpr' },
2295
+ with: { kind: 'rawExpr' },
2296
+ input: { kind: 'rawExpr' },
2297
+ equals: { kind: 'rawExpr' },
2298
+ returns: { kind: 'rawExpr' },
2299
+ recovers: { kind: 'boolean' },
2300
+ fallback: { kind: 'rawExpr' },
2301
+ matches: { kind: 'string' },
2302
+ throws: { kind: 'string' },
2303
+ called: { kind: 'number' },
2304
+ message: { kind: 'string' },
2305
+ severity: { kind: 'identifier' },
2306
+ },
2307
+ allowedChildren: ['fixture', 'mock'],
2308
+ },
2251
2309
  fixture: {
2252
2310
  description: 'Native test fixture — named runtime data available to scoped expect assertions',
2253
2311
  example: 'fixture name=paidOrder value={{({ id: "ord_1", status: "paid" })}}',
@@ -2257,10 +2315,22 @@ export const NODE_SCHEMAS = {
2257
2315
  expr: { kind: 'rawExpr' },
2258
2316
  },
2259
2317
  },
2318
+ mock: {
2319
+ description: 'Native test mock — replaces a scoped KERN effect with deterministic runtime data',
2320
+ example: 'mock effect=fetchUsers returns={{users}}\nmock effect=fetchUsers throws=NetworkError',
2321
+ props: {
2322
+ effect: { required: true, kind: 'identifier' },
2323
+ returns: { kind: 'rawExpr' },
2324
+ throws: { kind: 'string' },
2325
+ },
2326
+ },
2260
2327
  recover: {
2261
2328
  description: 'Recovery handler — runs when a parent node fails',
2262
2329
  example: 'recover\n handler <<<\n return fallbackValue;\n >>>',
2263
- props: {},
2330
+ props: {
2331
+ retry: { kind: 'number' },
2332
+ fallback: { kind: 'rawExpr' },
2333
+ },
2264
2334
  allowedChildren: ['handler'],
2265
2335
  },
2266
2336
  strategy: {
@@ -2369,39 +2439,135 @@ function checkCrossProps(node, violations) {
2369
2439
  if (node.type === 'expect') {
2370
2440
  const hasRuntimeAssertion = 'expr' in props;
2371
2441
  const hasRuntimeBehavior = 'fn' in props || 'derive' in props;
2442
+ const hasRuntimeWorkflow = 'route' in props || 'tool' in props || 'effect' in props;
2443
+ const hasMockCallAssertion = 'mock' in props || 'called' in props;
2444
+ const hasCodegenAssertion = 'codegen' in props;
2445
+ const hasDecompileAssertion = 'decompile' in props;
2446
+ const hasImportAssertion = 'import' in props;
2447
+ const hasRoundtripAssertion = 'roundtrip' in props;
2372
2448
  const hasPreset = 'preset' in props;
2373
2449
  const hasNodeShape = 'node' in props;
2374
2450
  const hasNegativeInvariant = 'no' in props;
2451
+ const hasPositiveInvariant = 'has' in props;
2375
2452
  const hasGuardExhaustiveness = 'guard' in props;
2376
2453
  const hasMachineTransition = 'transition' in props;
2377
- const hasMachineReachability = 'reaches' in props || ('machine' in props && !hasNegativeInvariant && !hasMachineTransition);
2454
+ const hasMachineReachability = 'reaches' in props ||
2455
+ ('machine' in props && !hasNegativeInvariant && !hasPositiveInvariant && !hasMachineTransition);
2378
2456
  if (!hasRuntimeAssertion &&
2379
2457
  !hasRuntimeBehavior &&
2458
+ !hasRuntimeWorkflow &&
2459
+ !hasMockCallAssertion &&
2460
+ !hasCodegenAssertion &&
2461
+ !hasDecompileAssertion &&
2462
+ !hasImportAssertion &&
2463
+ !hasRoundtripAssertion &&
2380
2464
  !hasPreset &&
2381
2465
  !hasNodeShape &&
2382
2466
  !hasMachineTransition &&
2383
2467
  !hasMachineReachability &&
2384
2468
  !hasNegativeInvariant &&
2469
+ !hasPositiveInvariant &&
2385
2470
  !hasGuardExhaustiveness) {
2386
2471
  violations.push({
2387
2472
  nodeType: 'expect',
2388
- message: "'expect' requires 'expr', 'fn', 'derive', 'preset', 'node', 'machine' reachability, machine transition, 'no', or 'guard'",
2473
+ message: "'expect' requires 'expr', 'fn', 'derive', 'route', 'tool', 'effect', 'mock' call count, 'codegen', 'decompile', 'import', 'roundtrip', 'preset', 'node', 'machine' reachability, machine transition, 'no', 'has', or 'guard'",
2389
2474
  line: node.loc?.line,
2390
2475
  col: node.loc?.col,
2391
2476
  });
2392
2477
  }
2393
- if ('fn' in props && 'derive' in props) {
2478
+ if (hasCodegenAssertion && !('contains' in props) && !('notContains' in props) && !('matches' in props)) {
2394
2479
  violations.push({
2395
2480
  nodeType: 'expect',
2396
- message: "'expect' cannot combine fn=<name> and derive=<name>",
2481
+ message: "'expect codegen' requires contains=, notContains=, or matches=",
2397
2482
  line: node.loc?.line,
2398
2483
  col: node.loc?.col,
2399
2484
  });
2400
2485
  }
2401
- if (hasRuntimeBehavior && hasRuntimeAssertion) {
2486
+ if (hasDecompileAssertion && !('contains' in props) && !('notContains' in props) && !('matches' in props)) {
2487
+ violations.push({
2488
+ nodeType: 'expect',
2489
+ message: "'expect decompile' requires contains=, notContains=, or matches=",
2490
+ line: node.loc?.line,
2491
+ col: node.loc?.col,
2492
+ });
2493
+ }
2494
+ if (hasImportAssertion) {
2495
+ const importValue = props.import === undefined ? '' : String(props.import);
2496
+ const hasPath = (importValue !== '' && importValue !== 'true') || 'from' in props || 'source' in props;
2497
+ const hasTextAssertion = 'contains' in props || 'notContains' in props || 'matches' in props;
2498
+ const hasUnmappedAssertion = 'unmapped' in props || props.no === 'unmapped';
2499
+ if (!hasPath) {
2500
+ violations.push({
2501
+ nodeType: 'expect',
2502
+ message: "'expect import' requires import=<ts-file>, from=<ts-file>, or source=<typescript>",
2503
+ line: node.loc?.line,
2504
+ col: node.loc?.col,
2505
+ });
2506
+ }
2507
+ if (!hasTextAssertion && !hasRoundtripAssertion && !hasUnmappedAssertion) {
2508
+ violations.push({
2509
+ nodeType: 'expect',
2510
+ message: "'expect import' requires contains=, notContains=, matches=, roundtrip=true, unmapped=<count>, or no=unmapped",
2511
+ line: node.loc?.line,
2512
+ col: node.loc?.col,
2513
+ });
2514
+ }
2515
+ }
2516
+ if (hasNegativeInvariant && hasPositiveInvariant) {
2402
2517
  violations.push({
2403
2518
  nodeType: 'expect',
2404
- message: "'expect' cannot combine fn/derive behavioral assertions with expr={{...}}",
2519
+ message: "'expect' cannot combine no=<invariant> and has=<invariant>",
2520
+ line: node.loc?.line,
2521
+ col: node.loc?.col,
2522
+ });
2523
+ }
2524
+ if (Number('fn' in props) +
2525
+ Number('derive' in props) +
2526
+ Number('route' in props) +
2527
+ Number('tool' in props) +
2528
+ Number('effect' in props) +
2529
+ Number('mock' in props) >
2530
+ 1) {
2531
+ violations.push({
2532
+ nodeType: 'expect',
2533
+ message: "'expect' cannot combine fn=<name>, derive=<name>, route=<spec>, tool=<name>, effect=<name>, and mock=<name>",
2534
+ line: node.loc?.line,
2535
+ col: node.loc?.col,
2536
+ });
2537
+ }
2538
+ if ((hasRuntimeBehavior || hasRuntimeWorkflow || hasMockCallAssertion) && hasRuntimeAssertion) {
2539
+ violations.push({
2540
+ nodeType: 'expect',
2541
+ message: "'expect' cannot combine fn/derive/route/tool/effect/mock behavioral assertions with expr={{...}}",
2542
+ line: node.loc?.line,
2543
+ col: node.loc?.col,
2544
+ });
2545
+ }
2546
+ if (hasMockCallAssertion && (!('mock' in props) || !('called' in props))) {
2547
+ violations.push({
2548
+ nodeType: 'expect',
2549
+ message: "'expect' mock call assertions require both mock=<effect> and called=<count>",
2550
+ line: node.loc?.line,
2551
+ col: node.loc?.col,
2552
+ });
2553
+ }
2554
+ if ('called' in props) {
2555
+ const rawCalled = props.called;
2556
+ const called = Number(props.called);
2557
+ if (rawCalled === '' || !Number.isInteger(called) || called < 0) {
2558
+ violations.push({
2559
+ nodeType: 'expect',
2560
+ message: "'expect' mock call assertions require called=<non-negative integer>",
2561
+ line: node.loc?.line,
2562
+ col: node.loc?.col,
2563
+ });
2564
+ }
2565
+ }
2566
+ if (hasMockCallAssertion &&
2567
+ ['args', 'with', 'input', 'equals', 'returns', 'recovers', 'fallback', 'matches', 'throws'].some((prop) => prop in props)) {
2568
+ violations.push({
2569
+ nodeType: 'expect',
2570
+ message: "'expect' mock call assertions cannot combine with runtime value/result props",
2405
2571
  line: node.loc?.line,
2406
2572
  col: node.loc?.col,
2407
2573
  });
@@ -2459,6 +2625,26 @@ function checkCrossProps(node, violations) {
2459
2625
  });
2460
2626
  }
2461
2627
  }
2628
+ if (node.type === 'mock') {
2629
+ const hasReturns = 'returns' in props;
2630
+ const hasThrows = 'throws' in props;
2631
+ if (!hasReturns && !hasThrows) {
2632
+ violations.push({
2633
+ nodeType: 'mock',
2634
+ message: "'mock' requires either returns={{...}} or throws=<ErrorName>",
2635
+ line: node.loc?.line,
2636
+ col: node.loc?.col,
2637
+ });
2638
+ }
2639
+ if (hasReturns && hasThrows) {
2640
+ violations.push({
2641
+ nodeType: 'mock',
2642
+ message: "'mock' must not combine returns={{...}} and throws=<ErrorName>",
2643
+ line: node.loc?.line,
2644
+ col: node.loc?.col,
2645
+ });
2646
+ }
2647
+ }
2462
2648
  if (node.type === 'fmt') {
2463
2649
  const returnMode = isTruthyProp(props.return);
2464
2650
  if (returnMode && 'name' in props) {