@aster-cloud/aster-lang-test 0.0.2

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 (708) hide show
  1. package/corpus/tier1-equivalence/inputs/01-arithmetic-add.cases.json +30 -0
  2. package/corpus/tier1-equivalence/inputs/02-arithmetic-precedence.cases.json +33 -0
  3. package/corpus/tier1-equivalence/inputs/04-let-binding.cases.json +27 -0
  4. package/corpus/tier1-equivalence/inputs/05-comparison.cases.json +27 -0
  5. package/corpus/tier1-equivalence/inputs/06-string-concat.cases.json +27 -0
  6. package/corpus/tier1-equivalence/inputs/07-arithmetic-subtract.cases.json +30 -0
  7. package/corpus/tier1-equivalence/inputs/08-arithmetic-divide.cases.json +30 -0
  8. package/corpus/tier1-equivalence/inputs/09-arithmetic-modulo.cases.json +27 -0
  9. package/corpus/tier1-equivalence/inputs/10-arithmetic-negate.cases.json +27 -0
  10. package/corpus/tier1-equivalence/inputs/13-boolean-not.cases.json +27 -0
  11. package/corpus/tier1-equivalence/inputs/15-comparison-less.cases.json +30 -0
  12. package/corpus/tier1-equivalence/inputs/16-comparison-equals.cases.json +30 -0
  13. package/corpus/tier1-equivalence/inputs/19-let-multiple.cases.json +30 -0
  14. package/corpus/tier1-equivalence/inputs/20-let-dependent.cases.json +27 -0
  15. package/corpus/tier1-equivalence/inputs/28-business-insurance-premium.cases.json +30 -0
  16. package/corpus/tier1-equivalence/policies/01-arithmetic-add.aster +4 -0
  17. package/corpus/tier1-equivalence/policies/01-arithmetic-add.meta.json +12 -0
  18. package/corpus/tier1-equivalence/policies/02-arithmetic-precedence.aster +4 -0
  19. package/corpus/tier1-equivalence/policies/02-arithmetic-precedence.meta.json +12 -0
  20. package/corpus/tier1-equivalence/policies/04-let-binding.aster +5 -0
  21. package/corpus/tier1-equivalence/policies/04-let-binding.meta.json +12 -0
  22. package/corpus/tier1-equivalence/policies/05-comparison.aster +4 -0
  23. package/corpus/tier1-equivalence/policies/05-comparison.meta.json +12 -0
  24. package/corpus/tier1-equivalence/policies/06-string-concat.aster +4 -0
  25. package/corpus/tier1-equivalence/policies/06-string-concat.meta.json +12 -0
  26. package/corpus/tier1-equivalence/policies/07-arithmetic-subtract.aster +4 -0
  27. package/corpus/tier1-equivalence/policies/07-arithmetic-subtract.meta.json +12 -0
  28. package/corpus/tier1-equivalence/policies/08-arithmetic-divide.aster +4 -0
  29. package/corpus/tier1-equivalence/policies/08-arithmetic-divide.meta.json +12 -0
  30. package/corpus/tier1-equivalence/policies/09-arithmetic-modulo.aster +5 -0
  31. package/corpus/tier1-equivalence/policies/09-arithmetic-modulo.meta.json +12 -0
  32. package/corpus/tier1-equivalence/policies/10-arithmetic-negate.aster +4 -0
  33. package/corpus/tier1-equivalence/policies/10-arithmetic-negate.meta.json +12 -0
  34. package/corpus/tier1-equivalence/policies/13-boolean-not.aster +4 -0
  35. package/corpus/tier1-equivalence/policies/13-boolean-not.meta.json +12 -0
  36. package/corpus/tier1-equivalence/policies/15-comparison-less.aster +4 -0
  37. package/corpus/tier1-equivalence/policies/15-comparison-less.meta.json +12 -0
  38. package/corpus/tier1-equivalence/policies/16-comparison-equals.aster +4 -0
  39. package/corpus/tier1-equivalence/policies/16-comparison-equals.meta.json +12 -0
  40. package/corpus/tier1-equivalence/policies/19-let-multiple.aster +6 -0
  41. package/corpus/tier1-equivalence/policies/19-let-multiple.meta.json +12 -0
  42. package/corpus/tier1-equivalence/policies/20-let-dependent.aster +6 -0
  43. package/corpus/tier1-equivalence/policies/20-let-dependent.meta.json +12 -0
  44. package/corpus/tier1-equivalence/policies/28-business-insurance-premium.aster +7 -0
  45. package/corpus/tier1-equivalence/policies/28-business-insurance-premium.meta.json +12 -0
  46. package/corpus/tier1-equivalence/policies/arith_compare.aster +7 -0
  47. package/corpus/tier1-equivalence/policies/arith_compare.meta.json +9 -0
  48. package/corpus/tier1-equivalence/policies/auto.aster +22 -0
  49. package/corpus/tier1-equivalence/policies/auto.meta.json +9 -0
  50. package/corpus/tier1-equivalence/policies/bad_generic.aster +4 -0
  51. package/corpus/tier1-equivalence/policies/bad_generic.meta.json +9 -0
  52. package/corpus/tier1-equivalence/policies/bad_generic_return.aster +4 -0
  53. package/corpus/tier1-equivalence/policies/bad_generic_return.meta.json +9 -0
  54. package/corpus/tier1-equivalence/policies/bad_generic_return_type.aster +4 -0
  55. package/corpus/tier1-equivalence/policies/bad_generic_return_type.meta.json +9 -0
  56. package/corpus/tier1-equivalence/policies/capability-v2.aster +12 -0
  57. package/corpus/tier1-equivalence/policies/capability-v2.meta.json +9 -0
  58. package/corpus/tier1-equivalence/policies/capdemo.aster +7 -0
  59. package/corpus/tier1-equivalence/policies/capdemo.meta.json +9 -0
  60. package/corpus/tier1-equivalence/policies/claims.aster +14 -0
  61. package/corpus/tier1-equivalence/policies/claims.meta.json +9 -0
  62. package/corpus/tier1-equivalence/policies/cli_tool.aster +10 -0
  63. package/corpus/tier1-equivalence/policies/cli_tool.meta.json +9 -0
  64. package/corpus/tier1-equivalence/policies/creditcard.aster +40 -0
  65. package/corpus/tier1-equivalence/policies/creditcard.meta.json +9 -0
  66. package/corpus/tier1-equivalence/policies/eff_alias_import.aster +22 -0
  67. package/corpus/tier1-equivalence/policies/eff_alias_import.meta.json +9 -0
  68. package/corpus/tier1-equivalence/policies/eff_alias_unmapped.aster +12 -0
  69. package/corpus/tier1-equivalence/policies/eff_alias_unmapped.meta.json +9 -0
  70. package/corpus/tier1-equivalence/policies/eff_caps_enforce.aster +7 -0
  71. package/corpus/tier1-equivalence/policies/eff_caps_enforce.meta.json +9 -0
  72. package/corpus/tier1-equivalence/policies/eff_caps_enforce_brackets.aster +7 -0
  73. package/corpus/tier1-equivalence/policies/eff_caps_enforce_brackets.meta.json +9 -0
  74. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_ai_model.aster +4 -0
  75. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_ai_model.meta.json +9 -0
  76. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_files.aster +4 -0
  77. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_files.meta.json +9 -0
  78. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_secrets.aster +4 -0
  79. package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_secrets.meta.json +9 -0
  80. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_extra.aster +4 -0
  81. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_extra.meta.json +9 -0
  82. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_files.aster +4 -0
  83. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_files.meta.json +9 -0
  84. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_time.aster +4 -0
  85. package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_time.meta.json +9 -0
  86. package/corpus/tier1-equivalence/policies/eff_caps_parse.aster +4 -0
  87. package/corpus/tier1-equivalence/policies/eff_caps_parse.meta.json +9 -0
  88. package/corpus/tier1-equivalence/policies/eff_caps_parse_bare.aster +4 -0
  89. package/corpus/tier1-equivalence/policies/eff_caps_parse_bare.meta.json +9 -0
  90. package/corpus/tier1-equivalence/policies/eff_caps_parse_brackets.aster +4 -0
  91. package/corpus/tier1-equivalence/policies/eff_caps_parse_brackets.meta.json +9 -0
  92. package/corpus/tier1-equivalence/policies/eff_caps_parse_files_secrets.aster +4 -0
  93. package/corpus/tier1-equivalence/policies/eff_caps_parse_files_secrets.meta.json +9 -0
  94. package/corpus/tier1-equivalence/policies/eff_caps_parse_mixed_brackets_and_and.aster +4 -0
  95. package/corpus/tier1-equivalence/policies/eff_caps_parse_mixed_brackets_and_and.meta.json +9 -0
  96. package/corpus/tier1-equivalence/policies/eff_caps_parse_single.aster +4 -0
  97. package/corpus/tier1-equivalence/policies/eff_caps_parse_single.meta.json +9 -0
  98. package/corpus/tier1-equivalence/policies/eff_custom_prefix.aster +7 -0
  99. package/corpus/tier1-equivalence/policies/eff_custom_prefix.meta.json +9 -0
  100. package/corpus/tier1-equivalence/policies/eff_infer_mixed.aster +8 -0
  101. package/corpus/tier1-equivalence/policies/eff_infer_mixed.meta.json +9 -0
  102. package/corpus/tier1-equivalence/policies/eff_infer_transitive.aster +10 -0
  103. package/corpus/tier1-equivalence/policies/eff_infer_transitive.meta.json +9 -0
  104. package/corpus/tier1-equivalence/policies/eff_infer_wrapper_cpu.aster +7 -0
  105. package/corpus/tier1-equivalence/policies/eff_infer_wrapper_cpu.meta.json +9 -0
  106. package/corpus/tier1-equivalence/policies/eff_infer_wrapper_io.aster +7 -0
  107. package/corpus/tier1-equivalence/policies/eff_infer_wrapper_io.meta.json +9 -0
  108. package/corpus/tier1-equivalence/policies/eff_valid_all_caps.aster +9 -0
  109. package/corpus/tier1-equivalence/policies/eff_valid_all_caps.meta.json +9 -0
  110. package/corpus/tier1-equivalence/policies/eff_valid_cpu_only.aster +7 -0
  111. package/corpus/tier1-equivalence/policies/eff_valid_cpu_only.meta.json +9 -0
  112. package/corpus/tier1-equivalence/policies/eff_valid_exact_match.aster +5 -0
  113. package/corpus/tier1-equivalence/policies/eff_valid_exact_match.meta.json +9 -0
  114. package/corpus/tier1-equivalence/policies/eff_valid_exact_match__programs-patterns.aster +5 -0
  115. package/corpus/tier1-equivalence/policies/eff_valid_exact_match__programs-patterns.meta.json +9 -0
  116. package/corpus/tier1-equivalence/policies/eff_valid_http_sql.aster +5 -0
  117. package/corpus/tier1-equivalence/policies/eff_valid_http_sql.meta.json +9 -0
  118. package/corpus/tier1-equivalence/policies/eff_valid_nested.aster +13 -0
  119. package/corpus/tier1-equivalence/policies/eff_valid_nested.meta.json +9 -0
  120. package/corpus/tier1-equivalence/policies/eff_valid_pure_only.aster +7 -0
  121. package/corpus/tier1-equivalence/policies/eff_valid_pure_only.meta.json +9 -0
  122. package/corpus/tier1-equivalence/policies/eff_valid_subset_declared.aster +4 -0
  123. package/corpus/tier1-equivalence/policies/eff_valid_subset_declared.meta.json +9 -0
  124. package/corpus/tier1-equivalence/policies/eff_violation_chain.aster +10 -0
  125. package/corpus/tier1-equivalence/policies/eff_violation_chain.meta.json +9 -0
  126. package/corpus/tier1-equivalence/policies/eff_violation_cpu_calls_io.aster +7 -0
  127. package/corpus/tier1-equivalence/policies/eff_violation_cpu_calls_io.meta.json +9 -0
  128. package/corpus/tier1-equivalence/policies/eff_violation_empty_caps.aster +4 -0
  129. package/corpus/tier1-equivalence/policies/eff_violation_empty_caps.meta.json +9 -0
  130. package/corpus/tier1-equivalence/policies/eff_violation_files_calls_secrets.aster +5 -0
  131. package/corpus/tier1-equivalence/policies/eff_violation_files_calls_secrets.meta.json +9 -0
  132. package/corpus/tier1-equivalence/policies/eff_violation_files_only.aster +4 -0
  133. package/corpus/tier1-equivalence/policies/eff_violation_files_only.meta.json +9 -0
  134. package/corpus/tier1-equivalence/policies/eff_violation_http_calls_sql.aster +4 -0
  135. package/corpus/tier1-equivalence/policies/eff_violation_http_calls_sql.meta.json +9 -0
  136. package/corpus/tier1-equivalence/policies/eff_violation_missing_http.aster +4 -0
  137. package/corpus/tier1-equivalence/policies/eff_violation_missing_http.meta.json +9 -0
  138. package/corpus/tier1-equivalence/policies/eff_violation_missing_sql.aster +4 -0
  139. package/corpus/tier1-equivalence/policies/eff_violation_missing_sql.meta.json +9 -0
  140. package/corpus/tier1-equivalence/policies/eff_violation_missing_time.aster +5 -0
  141. package/corpus/tier1-equivalence/policies/eff_violation_missing_time.meta.json +9 -0
  142. package/corpus/tier1-equivalence/policies/eff_violation_mixed_caps.aster +6 -0
  143. package/corpus/tier1-equivalence/policies/eff_violation_mixed_caps.meta.json +9 -0
  144. package/corpus/tier1-equivalence/policies/eff_violation_multiple_errors.aster +7 -0
  145. package/corpus/tier1-equivalence/policies/eff_violation_multiple_errors.meta.json +9 -0
  146. package/corpus/tier1-equivalence/policies/eff_violation_nested_a.aster +10 -0
  147. package/corpus/tier1-equivalence/policies/eff_violation_nested_a.meta.json +9 -0
  148. package/corpus/tier1-equivalence/policies/eff_violation_nested_b.aster +10 -0
  149. package/corpus/tier1-equivalence/policies/eff_violation_nested_b.meta.json +9 -0
  150. package/corpus/tier1-equivalence/policies/eff_violation_pure_calls_cpu.aster +7 -0
  151. package/corpus/tier1-equivalence/policies/eff_violation_pure_calls_cpu.meta.json +9 -0
  152. package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_ai.aster +4 -0
  153. package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_ai.meta.json +9 -0
  154. package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_http.aster +4 -0
  155. package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_http.meta.json +9 -0
  156. package/corpus/tier1-equivalence/policies/eff_violation_sql_calls_files.aster +5 -0
  157. package/corpus/tier1-equivalence/policies/eff_violation_sql_calls_files.meta.json +9 -0
  158. package/corpus/tier1-equivalence/policies/eff_violation_transitive.aster +4 -0
  159. package/corpus/tier1-equivalence/policies/eff_violation_transitive.meta.json +9 -0
  160. package/corpus/tier1-equivalence/policies/effect_enforcement.aster +4 -0
  161. package/corpus/tier1-equivalence/policies/effect_enforcement.meta.json +9 -0
  162. package/corpus/tier1-equivalence/policies/eligibility.aster +18 -0
  163. package/corpus/tier1-equivalence/policies/eligibility.meta.json +9 -0
  164. package/corpus/tier1-equivalence/policies/enum_exhaustiveness.aster +5 -0
  165. package/corpus/tier1-equivalence/policies/enum_exhaustiveness.meta.json +9 -0
  166. package/corpus/tier1-equivalence/policies/enum_wildcard.aster +6 -0
  167. package/corpus/tier1-equivalence/policies/enum_wildcard.meta.json +9 -0
  168. package/corpus/tier1-equivalence/policies/fetch_dashboard.aster +11 -0
  169. package/corpus/tier1-equivalence/policies/fetch_dashboard.meta.json +9 -0
  170. package/corpus/tier1-equivalence/policies/fraud-simple-test.aster +9 -0
  171. package/corpus/tier1-equivalence/policies/fraud-simple-test.meta.json +9 -0
  172. package/corpus/tier1-equivalence/policies/fraud.aster +10 -0
  173. package/corpus/tier1-equivalence/policies/fraud.meta.json +9 -0
  174. package/corpus/tier1-equivalence/policies/greet.aster +8 -0
  175. package/corpus/tier1-equivalence/policies/greet.meta.json +9 -0
  176. package/corpus/tier1-equivalence/policies/hello.aster +4 -0
  177. package/corpus/tier1-equivalence/policies/hello.meta.json +9 -0
  178. package/corpus/tier1-equivalence/policies/hipaa-validation-demo.aster +126 -0
  179. package/corpus/tier1-equivalence/policies/hipaa-validation-demo.meta.json +9 -0
  180. package/corpus/tier1-equivalence/policies/id_generic.aster +4 -0
  181. package/corpus/tier1-equivalence/policies/id_generic.meta.json +9 -0
  182. package/corpus/tier1-equivalence/policies/if_param.aster +7 -0
  183. package/corpus/tier1-equivalence/policies/if_param.meta.json +9 -0
  184. package/corpus/tier1-equivalence/policies/incremental.aster +8 -0
  185. package/corpus/tier1-equivalence/policies/incremental.meta.json +9 -0
  186. package/corpus/tier1-equivalence/policies/incremental_test.aster +10 -0
  187. package/corpus/tier1-equivalence/policies/incremental_test.meta.json +9 -0
  188. package/corpus/tier1-equivalence/policies/incremental_test2.aster +10 -0
  189. package/corpus/tier1-equivalence/policies/incremental_test2.meta.json +9 -0
  190. package/corpus/tier1-equivalence/policies/incremental_test3.aster +10 -0
  191. package/corpus/tier1-equivalence/policies/incremental_test3.meta.json +9 -0
  192. package/corpus/tier1-equivalence/policies/int_match.aster +8 -0
  193. package/corpus/tier1-equivalence/policies/int_match.meta.json +9 -0
  194. package/corpus/tier1-equivalence/policies/int_match_default.aster +7 -0
  195. package/corpus/tier1-equivalence/policies/int_match_default.meta.json +9 -0
  196. package/corpus/tier1-equivalence/policies/interop_overload.aster +19 -0
  197. package/corpus/tier1-equivalence/policies/interop_overload.meta.json +9 -0
  198. package/corpus/tier1-equivalence/policies/interop_sum.aster +16 -0
  199. package/corpus/tier1-equivalence/policies/interop_sum.meta.json +9 -0
  200. package/corpus/tier1-equivalence/policies/lambda_cnl.aster +4 -0
  201. package/corpus/tier1-equivalence/policies/lambda_cnl.meta.json +9 -0
  202. package/corpus/tier1-equivalence/policies/lambda_cnl_length.aster +4 -0
  203. package/corpus/tier1-equivalence/policies/lambda_cnl_length.meta.json +9 -0
  204. package/corpus/tier1-equivalence/policies/lambda_cnl_length_cmp.aster +4 -0
  205. package/corpus/tier1-equivalence/policies/lambda_cnl_length_cmp.meta.json +9 -0
  206. package/corpus/tier1-equivalence/policies/lambda_cnl_math_bool.aster +7 -0
  207. package/corpus/tier1-equivalence/policies/lambda_cnl_math_bool.meta.json +9 -0
  208. package/corpus/tier1-equivalence/policies/lambda_cnl_short.aster +4 -0
  209. package/corpus/tier1-equivalence/policies/lambda_cnl_short.meta.json +9 -0
  210. package/corpus/tier1-equivalence/policies/life.aster +18 -0
  211. package/corpus/tier1-equivalence/policies/life.meta.json +9 -0
  212. package/corpus/tier1-equivalence/policies/list_ops.aster +10 -0
  213. package/corpus/tier1-equivalence/policies/list_ops.meta.json +9 -0
  214. package/corpus/tier1-equivalence/policies/loan_fixed.aster +12 -0
  215. package/corpus/tier1-equivalence/policies/loan_fixed.meta.json +9 -0
  216. package/corpus/tier1-equivalence/policies/loan_full_test.aster +12 -0
  217. package/corpus/tier1-equivalence/policies/loan_full_test.meta.json +9 -0
  218. package/corpus/tier1-equivalence/policies/loan_with_constraints.aster +8 -0
  219. package/corpus/tier1-equivalence/policies/loan_with_constraints.meta.json +9 -0
  220. package/corpus/tier1-equivalence/policies/loan_with_int.aster +12 -0
  221. package/corpus/tier1-equivalence/policies/loan_with_int.meta.json +9 -0
  222. package/corpus/tier1-equivalence/policies/login.aster +11 -0
  223. package/corpus/tier1-equivalence/policies/login.meta.json +9 -0
  224. package/corpus/tier1-equivalence/policies/map_ops.aster +7 -0
  225. package/corpus/tier1-equivalence/policies/map_ops.meta.json +9 -0
  226. package/corpus/tier1-equivalence/policies/match_enum.aster +8 -0
  227. package/corpus/tier1-equivalence/policies/match_enum.meta.json +9 -0
  228. package/corpus/tier1-equivalence/policies/match_multi.aster +8 -0
  229. package/corpus/tier1-equivalence/policies/match_multi.meta.json +9 -0
  230. package/corpus/tier1-equivalence/policies/match_null.aster +6 -0
  231. package/corpus/tier1-equivalence/policies/match_null.meta.json +9 -0
  232. package/corpus/tier1-equivalence/policies/nested_generic_function.aster +5 -0
  233. package/corpus/tier1-equivalence/policies/nested_generic_function.meta.json +9 -0
  234. package/corpus/tier1-equivalence/policies/patient-record.aster +70 -0
  235. package/corpus/tier1-equivalence/policies/patient-record.meta.json +9 -0
  236. package/corpus/tier1-equivalence/policies/pii_function_return.aster +8 -0
  237. package/corpus/tier1-equivalence/policies/pii_function_return.meta.json +9 -0
  238. package/corpus/tier1-equivalence/policies/pii_http_safe.aster +4 -0
  239. package/corpus/tier1-equivalence/policies/pii_http_safe.meta.json +9 -0
  240. package/corpus/tier1-equivalence/policies/pii_http_violation.aster +4 -0
  241. package/corpus/tier1-equivalence/policies/pii_http_violation.meta.json +9 -0
  242. package/corpus/tier1-equivalence/policies/pii_nested_call.aster +11 -0
  243. package/corpus/tier1-equivalence/policies/pii_nested_call.meta.json +9 -0
  244. package/corpus/tier1-equivalence/policies/pii_propagation.aster +5 -0
  245. package/corpus/tier1-equivalence/policies/pii_propagation.meta.json +9 -0
  246. package/corpus/tier1-equivalence/policies/pii_type_basic.aster +4 -0
  247. package/corpus/tier1-equivalence/policies/pii_type_basic.meta.json +9 -0
  248. package/corpus/tier1-equivalence/policies/pii_type_in_data.aster +6 -0
  249. package/corpus/tier1-equivalence/policies/pii_type_in_data.meta.json +9 -0
  250. package/corpus/tier1-equivalence/policies/pii_type_in_function.aster +4 -0
  251. package/corpus/tier1-equivalence/policies/pii_type_in_function.meta.json +9 -0
  252. package/corpus/tier1-equivalence/policies/pii_type_mixed.aster +8 -0
  253. package/corpus/tier1-equivalence/policies/pii_type_mixed.meta.json +9 -0
  254. package/corpus/tier1-equivalence/policies/pii_type_phone.aster +4 -0
  255. package/corpus/tier1-equivalence/policies/pii_type_phone.meta.json +9 -0
  256. package/corpus/tier1-equivalence/policies/pii_type_ssn.aster +4 -0
  257. package/corpus/tier1-equivalence/policies/pii_type_ssn.meta.json +9 -0
  258. package/corpus/tier1-equivalence/policies/policy_demo.aster +19 -0
  259. package/corpus/tier1-equivalence/policies/policy_demo.meta.json +9 -0
  260. package/corpus/tier1-equivalence/policies/policy_engine.aster +28 -0
  261. package/corpus/tier1-equivalence/policies/policy_engine.meta.json +9 -0
  262. package/corpus/tier1-equivalence/policies/prescription-workflow.aster +83 -0
  263. package/corpus/tier1-equivalence/policies/prescription-workflow.meta.json +9 -0
  264. package/corpus/tier1-equivalence/policies/rest_service.aster +10 -0
  265. package/corpus/tier1-equivalence/policies/rest_service.meta.json +9 -0
  266. package/corpus/tier1-equivalence/policies/result_trycatch.aster +4 -0
  267. package/corpus/tier1-equivalence/policies/result_trycatch.meta.json +9 -0
  268. package/corpus/tier1-equivalence/policies/risk.aster +8 -0
  269. package/corpus/tier1-equivalence/policies/risk.meta.json +9 -0
  270. package/corpus/tier1-equivalence/policies/rules_engine.aster +4 -0
  271. package/corpus/tier1-equivalence/policies/rules_engine.meta.json +9 -0
  272. package/corpus/tier1-equivalence/policies/simple_test.aster +6 -0
  273. package/corpus/tier1-equivalence/policies/simple_test.meta.json +9 -0
  274. package/corpus/tier1-equivalence/policies/soc2-audit-demo.aster +117 -0
  275. package/corpus/tier1-equivalence/policies/soc2-audit-demo.meta.json +9 -0
  276. package/corpus/tier1-equivalence/policies/stdlib_collections.aster +13 -0
  277. package/corpus/tier1-equivalence/policies/stdlib_collections.meta.json +9 -0
  278. package/corpus/tier1-equivalence/policies/stdlib_io.aster +13 -0
  279. package/corpus/tier1-equivalence/policies/stdlib_io.meta.json +9 -0
  280. package/corpus/tier1-equivalence/policies/stdlib_maybe_result.aster +19 -0
  281. package/corpus/tier1-equivalence/policies/stdlib_maybe_result.meta.json +9 -0
  282. package/corpus/tier1-equivalence/policies/stdlib_text.aster +7 -0
  283. package/corpus/tier1-equivalence/policies/stdlib_text.meta.json +9 -0
  284. package/corpus/tier1-equivalence/policies/symbolic_operators.aster +21 -0
  285. package/corpus/tier1-equivalence/policies/symbolic_operators.meta.json +9 -0
  286. package/corpus/tier1-equivalence/policies/test-operators.aster +12 -0
  287. package/corpus/tier1-equivalence/policies/test-operators.meta.json +9 -0
  288. package/corpus/tier1-equivalence/policies/test_all_comparisons.aster +5 -0
  289. package/corpus/tier1-equivalence/policies/test_all_comparisons.meta.json +9 -0
  290. package/corpus/tier1-equivalence/policies/test_arithmetic.aster +4 -0
  291. package/corpus/tier1-equivalence/policies/test_arithmetic.meta.json +9 -0
  292. package/corpus/tier1-equivalence/policies/test_auto.aster +66 -0
  293. package/corpus/tier1-equivalence/policies/test_auto.meta.json +9 -0
  294. package/corpus/tier1-equivalence/policies/test_claims.aster +44 -0
  295. package/corpus/tier1-equivalence/policies/test_claims.meta.json +9 -0
  296. package/corpus/tier1-equivalence/policies/test_complex_return.aster +14 -0
  297. package/corpus/tier1-equivalence/policies/test_complex_return.meta.json +9 -0
  298. package/corpus/tier1-equivalence/policies/test_copy.aster +7 -0
  299. package/corpus/tier1-equivalence/policies/test_copy.meta.json +9 -0
  300. package/corpus/tier1-equivalence/policies/test_division.aster +9 -0
  301. package/corpus/tier1-equivalence/policies/test_division.meta.json +9 -0
  302. package/corpus/tier1-equivalence/policies/test_eligibility.aster +46 -0
  303. package/corpus/tier1-equivalence/policies/test_eligibility.meta.json +9 -0
  304. package/corpus/tier1-equivalence/policies/test_eligibility_full.aster +14 -0
  305. package/corpus/tier1-equivalence/policies/test_eligibility_full.meta.json +9 -0
  306. package/corpus/tier1-equivalence/policies/test_eligibility_minimal.aster +10 -0
  307. package/corpus/tier1-equivalence/policies/test_eligibility_minimal.meta.json +9 -0
  308. package/corpus/tier1-equivalence/policies/test_eligibility_simple.aster +7 -0
  309. package/corpus/tier1-equivalence/policies/test_eligibility_simple.meta.json +9 -0
  310. package/corpus/tier1-equivalence/policies/test_eligibility_struct.aster +15 -0
  311. package/corpus/tier1-equivalence/policies/test_eligibility_struct.meta.json +9 -0
  312. package/corpus/tier1-equivalence/policies/test_exact_eligibility.aster +18 -0
  313. package/corpus/tier1-equivalence/policies/test_exact_eligibility.meta.json +9 -0
  314. package/corpus/tier1-equivalence/policies/test_gte.aster +4 -0
  315. package/corpus/tier1-equivalence/policies/test_gte.meta.json +9 -0
  316. package/corpus/tier1-equivalence/policies/test_helper1.aster +6 -0
  317. package/corpus/tier1-equivalence/policies/test_helper1.meta.json +9 -0
  318. package/corpus/tier1-equivalence/policies/test_invalid.aster +6 -0
  319. package/corpus/tier1-equivalence/policies/test_invalid.meta.json +9 -0
  320. package/corpus/tier1-equivalence/policies/test_let_in_if.aster +4 -0
  321. package/corpus/tier1-equivalence/policies/test_let_in_if.meta.json +9 -0
  322. package/corpus/tier1-equivalence/policies/test_let_member_call.aster +10 -0
  323. package/corpus/tier1-equivalence/policies/test_let_member_call.meta.json +9 -0
  324. package/corpus/tier1-equivalence/policies/test_life.aster +80 -0
  325. package/corpus/tier1-equivalence/policies/test_life.meta.json +9 -0
  326. package/corpus/tier1-equivalence/policies/test_loan.aster +8 -0
  327. package/corpus/tier1-equivalence/policies/test_loan.meta.json +9 -0
  328. package/corpus/tier1-equivalence/policies/test_operators.aster +5 -0
  329. package/corpus/tier1-equivalence/policies/test_operators.meta.json +9 -0
  330. package/corpus/tier1-equivalence/policies/test_return_with.aster +6 -0
  331. package/corpus/tier1-equivalence/policies/test_return_with.meta.json +9 -0
  332. package/corpus/tier1-equivalence/policies/test_second_func.aster +4 -0
  333. package/corpus/tier1-equivalence/policies/test_second_func.meta.json +9 -0
  334. package/corpus/tier1-equivalence/policies/test_two_ifs.aster +4 -0
  335. package/corpus/tier1-equivalence/policies/test_two_ifs.meta.json +9 -0
  336. package/corpus/tier1-equivalence/policies/test_two_statements.aster +12 -0
  337. package/corpus/tier1-equivalence/policies/test_two_statements.meta.json +9 -0
  338. package/corpus/tier1-equivalence/policies/text_ops.aster +16 -0
  339. package/corpus/tier1-equivalence/policies/text_ops.meta.json +9 -0
  340. package/corpus/tier2-divergent/java-only/11-boolean-and.aster +4 -0
  341. package/corpus/tier2-divergent/java-only/11-boolean-and.meta.json +12 -0
  342. package/corpus/tier2-divergent/java-only/12-boolean-or.aster +4 -0
  343. package/corpus/tier2-divergent/java-only/12-boolean-or.meta.json +12 -0
  344. package/corpus/tier2-divergent/java-only/14-boolean-short-circuit.aster +4 -0
  345. package/corpus/tier2-divergent/java-only/14-boolean-short-circuit.meta.json +12 -0
  346. package/corpus/tier2-divergent/java-only/17-comparison-range.aster +4 -0
  347. package/corpus/tier2-divergent/java-only/17-comparison-range.meta.json +12 -0
  348. package/corpus/tier2-divergent/java-only/26-if-bool-condition.aster +9 -0
  349. package/corpus/tier2-divergent/java-only/26-if-bool-condition.meta.json +12 -0
  350. package/corpus/tier2-divergent/java-only/27-business-loan-eligibility.aster +4 -0
  351. package/corpus/tier2-divergent/java-only/27-business-loan-eligibility.meta.json +12 -0
  352. package/corpus/tier2-divergent/java-only/30-business-gdpr-retention.aster +4 -0
  353. package/corpus/tier2-divergent/java-only/30-business-gdpr-retention.meta.json +12 -0
  354. package/corpus/tier2-divergent/java-only/neq_test.aster +10 -0
  355. package/corpus/tier2-divergent/java-only/neq_test.meta.json +11 -0
  356. package/corpus/tier2-divergent/ts-only/03-if-else.aster +9 -0
  357. package/corpus/tier2-divergent/ts-only/03-if-else.cases.json +27 -0
  358. package/corpus/tier2-divergent/ts-only/03-if-else.meta.json +12 -0
  359. package/corpus/tier2-divergent/ts-only/18-comparison-chained.aster +9 -0
  360. package/corpus/tier2-divergent/ts-only/18-comparison-chained.cases.json +27 -0
  361. package/corpus/tier2-divergent/ts-only/18-comparison-chained.meta.json +12 -0
  362. package/corpus/tier2-divergent/ts-only/21-let-conditional.aster +8 -0
  363. package/corpus/tier2-divergent/ts-only/21-let-conditional.cases.json +27 -0
  364. package/corpus/tier2-divergent/ts-only/21-let-conditional.meta.json +12 -0
  365. package/corpus/tier2-divergent/ts-only/22-let-shadowing.aster +9 -0
  366. package/corpus/tier2-divergent/ts-only/22-let-shadowing.cases.json +27 -0
  367. package/corpus/tier2-divergent/ts-only/22-let-shadowing.meta.json +12 -0
  368. package/corpus/tier2-divergent/ts-only/23-if-nested.aster +10 -0
  369. package/corpus/tier2-divergent/ts-only/23-if-nested.cases.json +30 -0
  370. package/corpus/tier2-divergent/ts-only/23-if-nested.meta.json +12 -0
  371. package/corpus/tier2-divergent/ts-only/24-if-guard-clause.aster +6 -0
  372. package/corpus/tier2-divergent/ts-only/24-if-guard-clause.cases.json +27 -0
  373. package/corpus/tier2-divergent/ts-only/24-if-guard-clause.meta.json +12 -0
  374. package/corpus/tier2-divergent/ts-only/25-if-multi-branch.aster +11 -0
  375. package/corpus/tier2-divergent/ts-only/25-if-multi-branch.cases.json +27 -0
  376. package/corpus/tier2-divergent/ts-only/25-if-multi-branch.meta.json +12 -0
  377. package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.aster +11 -0
  378. package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.cases.json +27 -0
  379. package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.meta.json +12 -0
  380. package/corpus/tier2-divergent/ts-only/comparison_operators.aster +10 -0
  381. package/corpus/tier2-divergent/ts-only/comparison_operators.meta.json +12 -0
  382. package/corpus/tier2-divergent/ts-only/cross_compiler_ops.aster +73 -0
  383. package/corpus/tier2-divergent/ts-only/cross_compiler_ops.meta.json +12 -0
  384. package/corpus/tier2-divergent/ts-only/enterprise.aster +119 -0
  385. package/corpus/tier2-divergent/ts-only/enterprise.meta.json +12 -0
  386. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind.aster +18 -0
  387. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind.meta.json +12 -0
  388. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind__programs-patterns.aster +18 -0
  389. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind__programs-patterns.meta.json +12 -0
  390. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe.aster +8 -0
  391. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe.meta.json +12 -0
  392. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe__programs-patterns.aster +8 -0
  393. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe__programs-patterns.meta.json +12 -0
  394. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result.aster +8 -0
  395. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result.meta.json +12 -0
  396. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result__programs-patterns.aster +8 -0
  397. package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result__programs-patterns.meta.json +12 -0
  398. package/corpus/tier2-divergent/ts-only/lambda_cnl_mixed.aster +11 -0
  399. package/corpus/tier2-divergent/ts-only/lambda_cnl_mixed.meta.json +12 -0
  400. package/corpus/tier2-divergent/ts-only/lambda_gte_test.aster +8 -0
  401. package/corpus/tier2-divergent/ts-only/lambda_gte_test.meta.json +12 -0
  402. package/corpus/tier2-divergent/ts-only/lambda_lte_test.aster +8 -0
  403. package/corpus/tier2-divergent/ts-only/lambda_lte_test.meta.json +12 -0
  404. package/corpus/tier2-divergent/ts-only/loan.aster +12 -0
  405. package/corpus/tier2-divergent/ts-only/loan.meta.json +12 -0
  406. package/corpus/tier2-divergent/ts-only/nested_generic_lambda.aster +7 -0
  407. package/corpus/tier2-divergent/ts-only/nested_generic_lambda.meta.json +12 -0
  408. package/corpus/tier2-divergent/ts-only/personal.aster +113 -0
  409. package/corpus/tier2-divergent/ts-only/personal.meta.json +12 -0
  410. package/corpus/tier2-divergent/ts-only/test_all_comparisons__ts-only.aster +9 -0
  411. package/corpus/tier2-divergent/ts-only/test_all_comparisons__ts-only.meta.json +12 -0
  412. package/corpus/tier2-divergent/ts-only/test_eligibility_with_ifs.aster +18 -0
  413. package/corpus/tier2-divergent/ts-only/test_eligibility_with_ifs.meta.json +12 -0
  414. package/corpus/tier2-divergent/ts-only/test_let_with_call.aster +6 -0
  415. package/corpus/tier2-divergent/ts-only/test_let_with_call.meta.json +12 -0
  416. package/corpus/tier2-divergent/ts-only/test_operators__ts-only.aster +6 -0
  417. package/corpus/tier2-divergent/ts-only/test_operators__ts-only.meta.json +12 -0
  418. package/corpus/tier3-fixtures/comments/comment1.in.aster +6 -0
  419. package/corpus/tier3-fixtures/comments/comment1.in.meta.json +9 -0
  420. package/corpus/tier3-fixtures/comments/comment1.out.aster +4 -0
  421. package/corpus/tier3-fixtures/comments/comment1.out.meta.json +9 -0
  422. package/corpus/tier3-fixtures/comments/comment2.in.aster +6 -0
  423. package/corpus/tier3-fixtures/comments/comment2.in.meta.json +9 -0
  424. package/corpus/tier3-fixtures/comments/comment2.out.aster +5 -0
  425. package/corpus/tier3-fixtures/comments/comment2.out.meta.json +9 -0
  426. package/corpus/tier3-fixtures/comments/comment3.in.aster +8 -0
  427. package/corpus/tier3-fixtures/comments/comment3.in.meta.json +9 -0
  428. package/corpus/tier3-fixtures/comments/comment3.out.aster +8 -0
  429. package/corpus/tier3-fixtures/comments/comment3.out.meta.json +9 -0
  430. package/corpus/tier3-fixtures/fixtures/capability-violations.aster +15 -0
  431. package/corpus/tier3-fixtures/fixtures/capability-violations.meta.json +9 -0
  432. package/corpus/tier3-fixtures/fixtures/parallel-workflow.aster +4 -0
  433. package/corpus/tier3-fixtures/fixtures/parallel-workflow.meta.json +9 -0
  434. package/corpus/tier3-fixtures/golden-ast/workflow-compensate.aster +15 -0
  435. package/corpus/tier3-fixtures/golden-ast/workflow-compensate.meta.json +9 -0
  436. package/corpus/tier3-fixtures/golden-ast/workflow-linear__golden-ast.aster +14 -0
  437. package/corpus/tier3-fixtures/golden-ast/workflow-linear__golden-ast.meta.json +9 -0
  438. package/corpus/tier3-fixtures/golden-core/bad_division_by_zero.aster +4 -0
  439. package/corpus/tier3-fixtures/golden-core/bad_division_by_zero.meta.json +9 -0
  440. package/corpus/tier3-fixtures/golden-core/bad_list_index_out_of_bounds.aster +4 -0
  441. package/corpus/tier3-fixtures/golden-core/bad_list_index_out_of_bounds.meta.json +9 -0
  442. package/corpus/tier3-fixtures/golden-core/bad_text_substring_negative.aster +4 -0
  443. package/corpus/tier3-fixtures/golden-core/bad_text_substring_negative.meta.json +9 -0
  444. package/corpus/tier3-fixtures/golden-core/bad_type_mismatch_add_text.aster +4 -0
  445. package/corpus/tier3-fixtures/golden-core/bad_type_mismatch_add_text.meta.json +9 -0
  446. package/corpus/tier3-fixtures/golden-core/boundary_empty_generic_list.aster +4 -0
  447. package/corpus/tier3-fixtures/golden-core/boundary_empty_generic_list.meta.json +9 -0
  448. package/corpus/tier3-fixtures/golden-core/boundary_empty_list_length.aster +4 -0
  449. package/corpus/tier3-fixtures/golden-core/boundary_empty_list_length.meta.json +9 -0
  450. package/corpus/tier3-fixtures/golden-core/boundary_list_slice_zero.aster +5 -0
  451. package/corpus/tier3-fixtures/golden-core/boundary_list_slice_zero.meta.json +9 -0
  452. package/corpus/tier3-fixtures/golden-core/boundary_map_type.aster +4 -0
  453. package/corpus/tier3-fixtures/golden-core/boundary_map_type.meta.json +9 -0
  454. package/corpus/tier3-fixtures/golden-core/boundary_maybe_match.aster +6 -0
  455. package/corpus/tier3-fixtures/golden-core/boundary_maybe_match.meta.json +9 -0
  456. package/corpus/tier3-fixtures/golden-core/boundary_null_match_default.aster +6 -0
  457. package/corpus/tier3-fixtures/golden-core/boundary_null_match_default.meta.json +9 -0
  458. package/corpus/tier3-fixtures/golden-core/boundary_result_both.aster +7 -0
  459. package/corpus/tier3-fixtures/golden-core/boundary_result_both.meta.json +9 -0
  460. package/corpus/tier3-fixtures/golden-core/boundary_result_err_null.aster +4 -0
  461. package/corpus/tier3-fixtures/golden-core/boundary_result_err_null.meta.json +9 -0
  462. package/corpus/tier3-fixtures/golden-core/boundary_text_empty_concat.aster +4 -0
  463. package/corpus/tier3-fixtures/golden-core/boundary_text_empty_concat.meta.json +9 -0
  464. package/corpus/tier3-fixtures/golden-core/boundary_text_trim_whitespace.aster +4 -0
  465. package/corpus/tier3-fixtures/golden-core/boundary_text_trim_whitespace.meta.json +9 -0
  466. package/corpus/tier3-fixtures/golden-core/eff_generic_func.aster +4 -0
  467. package/corpus/tier3-fixtures/golden-core/eff_generic_func.meta.json +9 -0
  468. package/corpus/tier3-fixtures/golden-core/eff_multiple_caps.aster +4 -0
  469. package/corpus/tier3-fixtures/golden-core/eff_multiple_caps.meta.json +9 -0
  470. package/corpus/tier3-fixtures/golden-core/generic_list_of_results.aster +4 -0
  471. package/corpus/tier3-fixtures/golden-core/generic_list_of_results.meta.json +9 -0
  472. package/corpus/tier3-fixtures/golden-core/generic_result_maybe.aster +6 -0
  473. package/corpus/tier3-fixtures/golden-core/generic_result_maybe.meta.json +9 -0
  474. package/corpus/tier3-fixtures/golden-core/if_param__golden-core.aster +7 -0
  475. package/corpus/tier3-fixtures/golden-core/if_param__golden-core.meta.json +9 -0
  476. package/corpus/tier3-fixtures/golden-core/inventory_workflow.aster +16 -0
  477. package/corpus/tier3-fixtures/golden-core/inventory_workflow.meta.json +9 -0
  478. package/corpus/tier3-fixtures/golden-core/login__golden-core.aster +11 -0
  479. package/corpus/tier3-fixtures/golden-core/login__golden-core.meta.json +9 -0
  480. package/corpus/tier3-fixtures/golden-core/payment_workflow.aster +16 -0
  481. package/corpus/tier3-fixtures/golden-core/payment_workflow.meta.json +9 -0
  482. package/corpus/tier3-fixtures/golden-core/pii_param_return.aster +4 -0
  483. package/corpus/tier3-fixtures/golden-core/pii_param_return.meta.json +9 -0
  484. package/corpus/tier3-fixtures/golden-core/pii_result_type.aster +4 -0
  485. package/corpus/tier3-fixtures/golden-core/pii_result_type.meta.json +9 -0
  486. package/corpus/tier3-fixtures/golden-core/type_inference_cnl.aster +146 -0
  487. package/corpus/tier3-fixtures/golden-core/type_inference_cnl.meta.json +9 -0
  488. package/corpus/tier3-fixtures/golden-core/workflow-diamond.aster +19 -0
  489. package/corpus/tier3-fixtures/golden-core/workflow-diamond.meta.json +9 -0
  490. package/corpus/tier3-fixtures/golden-core/workflow-linear__golden-core.aster +22 -0
  491. package/corpus/tier3-fixtures/golden-core/workflow-linear__golden-core.meta.json +9 -0
  492. package/corpus/tier3-fixtures/golden-diagnostics/pii_http_violation__golden-diagnostics.aster +4 -0
  493. package/corpus/tier3-fixtures/golden-diagnostics/pii_http_violation__golden-diagnostics.meta.json +9 -0
  494. package/corpus/tier3-fixtures/lexicon-i18n/01-hello.aster +8 -0
  495. package/corpus/tier3-fixtures/lexicon-i18n/01-hello.meta.json +9 -0
  496. package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-en-US.aster +7 -0
  497. package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-en-US.meta.json +9 -0
  498. package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-zh-CN.aster +8 -0
  499. package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-zh-CN.meta.json +9 -0
  500. package/corpus/tier3-fixtures/lexicon-i18n/02-types.aster +10 -0
  501. package/corpus/tier3-fixtures/lexicon-i18n/02-types.meta.json +9 -0
  502. package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-en-US.aster +9 -0
  503. package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-en-US.meta.json +9 -0
  504. package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-zh-CN.aster +24 -0
  505. package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-zh-CN.meta.json +9 -0
  506. package/corpus/tier3-fixtures/lexicon-i18n/03-functions.aster +27 -0
  507. package/corpus/tier3-fixtures/lexicon-i18n/03-functions.meta.json +9 -0
  508. package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-en-US.aster +27 -0
  509. package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-en-US.meta.json +9 -0
  510. package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-zh-CN.aster +27 -0
  511. package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-zh-CN.meta.json +9 -0
  512. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow.aster +35 -0
  513. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow.meta.json +9 -0
  514. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-en-US.aster +35 -0
  515. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-en-US.meta.json +9 -0
  516. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-zh-CN.aster +35 -0
  517. package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-zh-CN.meta.json +9 -0
  518. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns.aster +27 -0
  519. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns.meta.json +9 -0
  520. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-en-US.aster +27 -0
  521. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-en-US.meta.json +9 -0
  522. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-zh-CN.aster +27 -0
  523. package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-zh-CN.meta.json +9 -0
  524. package/corpus/tier3-fixtures/lexicon-i18n/06-operators.aster +49 -0
  525. package/corpus/tier3-fixtures/lexicon-i18n/06-operators.meta.json +9 -0
  526. package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-en-US.aster +49 -0
  527. package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-en-US.meta.json +9 -0
  528. package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-zh-CN.aster +49 -0
  529. package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-zh-CN.meta.json +9 -0
  530. package/corpus/tier3-fixtures/lexicon-i18n/arithmetic.aster +24 -0
  531. package/corpus/tier3-fixtures/lexicon-i18n/arithmetic.meta.json +9 -0
  532. package/corpus/tier3-fixtures/lexicon-i18n/hello__zh-CN.aster +6 -0
  533. package/corpus/tier3-fixtures/lexicon-i18n/hello__zh-CN.meta.json +9 -0
  534. package/corpus/tier3-fixtures/lexicon-i18n/loan_decision.aster +21 -0
  535. package/corpus/tier3-fixtures/lexicon-i18n/loan_decision.meta.json +9 -0
  536. package/corpus/tier3-fixtures/lexicon-i18n/user_greeting.aster +10 -0
  537. package/corpus/tier3-fixtures/lexicon-i18n/user_greeting.meta.json +9 -0
  538. package/corpus/tier3-fixtures/lossless/ugly1.in.aster +4 -0
  539. package/corpus/tier3-fixtures/lossless/ugly1.in.meta.json +9 -0
  540. package/corpus/tier3-fixtures/lossless/ugly1.out.aster +4 -0
  541. package/corpus/tier3-fixtures/lossless/ugly1.out.meta.json +9 -0
  542. package/corpus/tier3-fixtures/lossless/ugly10.in.aster +4 -0
  543. package/corpus/tier3-fixtures/lossless/ugly10.in.meta.json +9 -0
  544. package/corpus/tier3-fixtures/lossless/ugly10.out.aster +4 -0
  545. package/corpus/tier3-fixtures/lossless/ugly10.out.meta.json +9 -0
  546. package/corpus/tier3-fixtures/lossless/ugly11.in.aster +4 -0
  547. package/corpus/tier3-fixtures/lossless/ugly11.in.meta.json +9 -0
  548. package/corpus/tier3-fixtures/lossless/ugly11.out.aster +4 -0
  549. package/corpus/tier3-fixtures/lossless/ugly11.out.meta.json +9 -0
  550. package/corpus/tier3-fixtures/lossless/ugly12.in.aster +6 -0
  551. package/corpus/tier3-fixtures/lossless/ugly12.in.meta.json +9 -0
  552. package/corpus/tier3-fixtures/lossless/ugly12.out.aster +5 -0
  553. package/corpus/tier3-fixtures/lossless/ugly12.out.meta.json +9 -0
  554. package/corpus/tier3-fixtures/lossless/ugly13.in.aster +6 -0
  555. package/corpus/tier3-fixtures/lossless/ugly13.in.meta.json +9 -0
  556. package/corpus/tier3-fixtures/lossless/ugly13.out.aster +6 -0
  557. package/corpus/tier3-fixtures/lossless/ugly13.out.meta.json +9 -0
  558. package/corpus/tier3-fixtures/lossless/ugly14.in.aster +4 -0
  559. package/corpus/tier3-fixtures/lossless/ugly14.in.meta.json +9 -0
  560. package/corpus/tier3-fixtures/lossless/ugly14.out.aster +6 -0
  561. package/corpus/tier3-fixtures/lossless/ugly14.out.meta.json +9 -0
  562. package/corpus/tier3-fixtures/lossless/ugly2.in.aster +4 -0
  563. package/corpus/tier3-fixtures/lossless/ugly2.in.meta.json +9 -0
  564. package/corpus/tier3-fixtures/lossless/ugly2.out.aster +4 -0
  565. package/corpus/tier3-fixtures/lossless/ugly2.out.meta.json +9 -0
  566. package/corpus/tier3-fixtures/lossless/ugly3.in.aster +6 -0
  567. package/corpus/tier3-fixtures/lossless/ugly3.in.meta.json +9 -0
  568. package/corpus/tier3-fixtures/lossless/ugly3.out.aster +4 -0
  569. package/corpus/tier3-fixtures/lossless/ugly3.out.meta.json +9 -0
  570. package/corpus/tier3-fixtures/lossless/ugly4.in.aster +4 -0
  571. package/corpus/tier3-fixtures/lossless/ugly4.in.meta.json +9 -0
  572. package/corpus/tier3-fixtures/lossless/ugly4.out.aster +4 -0
  573. package/corpus/tier3-fixtures/lossless/ugly4.out.meta.json +9 -0
  574. package/corpus/tier3-fixtures/lossless/ugly5.in.aster +7 -0
  575. package/corpus/tier3-fixtures/lossless/ugly5.in.meta.json +9 -0
  576. package/corpus/tier3-fixtures/lossless/ugly5.out.aster +5 -0
  577. package/corpus/tier3-fixtures/lossless/ugly5.out.meta.json +9 -0
  578. package/corpus/tier3-fixtures/lossless/ugly6.in.aster +4 -0
  579. package/corpus/tier3-fixtures/lossless/ugly6.in.meta.json +9 -0
  580. package/corpus/tier3-fixtures/lossless/ugly6.out.aster +4 -0
  581. package/corpus/tier3-fixtures/lossless/ugly6.out.meta.json +9 -0
  582. package/corpus/tier3-fixtures/lossless/ugly7.in.aster +4 -0
  583. package/corpus/tier3-fixtures/lossless/ugly7.in.meta.json +9 -0
  584. package/corpus/tier3-fixtures/lossless/ugly7.out.aster +4 -0
  585. package/corpus/tier3-fixtures/lossless/ugly7.out.meta.json +9 -0
  586. package/corpus/tier3-fixtures/lossless/ugly8.in.aster +4 -0
  587. package/corpus/tier3-fixtures/lossless/ugly8.in.meta.json +9 -0
  588. package/corpus/tier3-fixtures/lossless/ugly8.out.aster +4 -0
  589. package/corpus/tier3-fixtures/lossless/ugly8.out.meta.json +9 -0
  590. package/corpus/tier3-fixtures/lossless/ugly9.in.aster +4 -0
  591. package/corpus/tier3-fixtures/lossless/ugly9.in.meta.json +9 -0
  592. package/corpus/tier3-fixtures/lossless/ugly9.out.aster +4 -0
  593. package/corpus/tier3-fixtures/lossless/ugly9.out.meta.json +9 -0
  594. package/corpus/tier3-fixtures/lsp/a.aster +5 -0
  595. package/corpus/tier3-fixtures/lsp/a.meta.json +9 -0
  596. package/corpus/tier3-fixtures/lsp/b.aster +5 -0
  597. package/corpus/tier3-fixtures/lsp/b.meta.json +9 -0
  598. package/corpus/tier3-fixtures/lsp/bar.aster +7 -0
  599. package/corpus/tier3-fixtures/lsp/bar.meta.json +9 -0
  600. package/corpus/tier3-fixtures/lsp/foo.aster +7 -0
  601. package/corpus/tier3-fixtures/lsp/foo.meta.json +9 -0
  602. package/corpus/tier3-fixtures/parser-error/simple_function.aster +4 -0
  603. package/corpus/tier3-fixtures/parser-error/simple_function.meta.json +9 -0
  604. package/corpus/tier3-fixtures/parser-error/test-bad-syntax.aster +4 -0
  605. package/corpus/tier3-fixtures/parser-error/test-bad-syntax.meta.json +9 -0
  606. package/corpus/tier3-fixtures/parser-error/test-number-type.aster +6 -0
  607. package/corpus/tier3-fixtures/parser-error/test-number-type.meta.json +9 -0
  608. package/corpus/tier3-fixtures/parser-error/test_if_syntax.aster +8 -0
  609. package/corpus/tier3-fixtures/parser-error/test_if_syntax.meta.json +7 -0
  610. package/corpus/tier3-fixtures/parser-error/with_data_type.aster +4 -0
  611. package/corpus/tier3-fixtures/parser-error/with_data_type.meta.json +9 -0
  612. package/corpus/tier3-fixtures/policy-converter/async_policy.aster +9 -0
  613. package/corpus/tier3-fixtures/policy-converter/async_policy.meta.json +9 -0
  614. package/corpus/tier3-fixtures/policy-converter/data_policy.aster +9 -0
  615. package/corpus/tier3-fixtures/policy-converter/data_policy.meta.json +9 -0
  616. package/corpus/tier3-fixtures/policy-converter/effects_policy.aster +7 -0
  617. package/corpus/tier3-fixtures/policy-converter/effects_policy.meta.json +9 -0
  618. package/corpus/tier3-fixtures/policy-converter/simple_policy.aster +7 -0
  619. package/corpus/tier3-fixtures/policy-converter/simple_policy.meta.json +9 -0
  620. package/corpus/tier3-fixtures/runtime-retry/retry_max_attempts.aster +13 -0
  621. package/corpus/tier3-fixtures/runtime-retry/retry_max_attempts.meta.json +9 -0
  622. package/corpus/tier3-fixtures/runtime-retry/retry_success.aster +13 -0
  623. package/corpus/tier3-fixtures/runtime-retry/retry_success.meta.json +9 -0
  624. package/corpus/tier3-fixtures/runtime-retry/retry_with_timeout.aster +4 -0
  625. package/corpus/tier3-fixtures/runtime-retry/retry_with_timeout.meta.json +9 -0
  626. package/corpus/tier3-fixtures/truffle/smoke-test.aster +4 -0
  627. package/corpus/tier3-fixtures/truffle/smoke-test.meta.json +9 -0
  628. package/corpus/tier3-fixtures/type-checker/async_duplicate_start.aster +7 -0
  629. package/corpus/tier3-fixtures/type-checker/async_duplicate_start.meta.json +9 -0
  630. package/corpus/tier3-fixtures/type-checker/async_duplicate_wait.aster +7 -0
  631. package/corpus/tier3-fixtures/type-checker/async_duplicate_wait.meta.json +9 -0
  632. package/corpus/tier3-fixtures/type-checker/async_missing_wait.aster +5 -0
  633. package/corpus/tier3-fixtures/type-checker/async_missing_wait.meta.json +9 -0
  634. package/corpus/tier3-fixtures/type-checker/async_wait_not_started.aster +5 -0
  635. package/corpus/tier3-fixtures/type-checker/async_wait_not_started.meta.json +9 -0
  636. package/corpus/tier3-fixtures/type-checker/basic_types.aster +4 -0
  637. package/corpus/tier3-fixtures/type-checker/basic_types.meta.json +9 -0
  638. package/corpus/tier3-fixtures/type-checker/capability_missing_decl.aster +5 -0
  639. package/corpus/tier3-fixtures/type-checker/capability_missing_decl.meta.json +9 -0
  640. package/corpus/tier3-fixtures/type-checker/effect_missing_cpu.aster +4 -0
  641. package/corpus/tier3-fixtures/type-checker/effect_missing_cpu.meta.json +9 -0
  642. package/corpus/tier3-fixtures/type-checker/effect_missing_io.aster +4 -0
  643. package/corpus/tier3-fixtures/type-checker/effect_missing_io.meta.json +9 -0
  644. package/corpus/tier3-fixtures/type-checker/effect_var_basic.aster +8 -0
  645. package/corpus/tier3-fixtures/type-checker/effect_var_basic.meta.json +9 -0
  646. package/corpus/tier3-fixtures/type-checker/generics.aster +4 -0
  647. package/corpus/tier3-fixtures/type-checker/generics.meta.json +9 -0
  648. package/corpus/tier3-fixtures/type-checker/inventory_capability_missing_io.aster +7 -0
  649. package/corpus/tier3-fixtures/type-checker/inventory_capability_missing_io.meta.json +9 -0
  650. package/corpus/tier3-fixtures/type-checker/inventory_capability_success.aster +9 -0
  651. package/corpus/tier3-fixtures/type-checker/inventory_capability_success.meta.json +9 -0
  652. package/corpus/tier3-fixtures/type-checker/lambda_with_effects.aster +9 -0
  653. package/corpus/tier3-fixtures/type-checker/lambda_with_effects.meta.json +9 -0
  654. package/corpus/tier3-fixtures/type-checker/list_literal_mismatch.aster +4 -0
  655. package/corpus/tier3-fixtures/type-checker/list_literal_mismatch.meta.json +9 -0
  656. package/corpus/tier3-fixtures/type-checker/payment_capability_missing_io.aster +7 -0
  657. package/corpus/tier3-fixtures/type-checker/payment_capability_missing_io.meta.json +9 -0
  658. package/corpus/tier3-fixtures/type-checker/payment_capability_success.aster +9 -0
  659. package/corpus/tier3-fixtures/type-checker/payment_capability_success.meta.json +9 -0
  660. package/corpus/tier3-fixtures/type-checker/pii_http_violation__type-checker.aster +4 -0
  661. package/corpus/tier3-fixtures/type-checker/pii_http_violation__type-checker.meta.json +9 -0
  662. package/corpus/tier3-fixtures/type-checker/return_type_mismatch.aster +4 -0
  663. package/corpus/tier3-fixtures/type-checker/return_type_mismatch.meta.json +9 -0
  664. package/corpus/tier3-fixtures/type-checker/type_mismatch_assign.aster +7 -0
  665. package/corpus/tier3-fixtures/type-checker/type_mismatch_assign.meta.json +9 -0
  666. package/corpus/tier3-fixtures/type-checker/with_external_package.aster +6 -0
  667. package/corpus/tier3-fixtures/type-checker/with_external_package.meta.json +9 -0
  668. package/corpus/tier3-fixtures/type-checker/workflow-compensate-new-cap.aster +11 -0
  669. package/corpus/tier3-fixtures/type-checker/workflow-compensate-new-cap.meta.json +9 -0
  670. package/corpus/tier3-fixtures/type-checker/workflow-linear__type-checker.aster +23 -0
  671. package/corpus/tier3-fixtures/type-checker/workflow-linear__type-checker.meta.json +9 -0
  672. package/corpus/tier3-fixtures/type-checker/workflow-missing-compensate.aster +9 -0
  673. package/corpus/tier3-fixtures/type-checker/workflow-missing-compensate.meta.json +9 -0
  674. package/corpus/tier3-fixtures/type-checker/workflow-missing-io.aster +9 -0
  675. package/corpus/tier3-fixtures/type-checker/workflow-missing-io.meta.json +9 -0
  676. package/corpus/tier3-fixtures/type-checker/workflow-type-mismatch.aster +11 -0
  677. package/corpus/tier3-fixtures/type-checker/workflow-type-mismatch.meta.json +9 -0
  678. package/corpus/tier3-fixtures/type-checker/workflow-undeclared-capability.aster +9 -0
  679. package/corpus/tier3-fixtures/type-checker/workflow-undeclared-capability.meta.json +9 -0
  680. package/corpus/tier3-fixtures/type-checker/workflow_retry_exponential.aster +13 -0
  681. package/corpus/tier3-fixtures/type-checker/workflow_retry_exponential.meta.json +9 -0
  682. package/corpus/tier3-fixtures/type-checker/workflow_retry_many_attempts.aster +13 -0
  683. package/corpus/tier3-fixtures/type-checker/workflow_retry_many_attempts.meta.json +9 -0
  684. package/corpus/tier3-fixtures/type-checker/workflow_retry_timeout_conflict.aster +15 -0
  685. package/corpus/tier3-fixtures/type-checker/workflow_retry_timeout_conflict.meta.json +9 -0
  686. package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_long.aster +11 -0
  687. package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_long.meta.json +9 -0
  688. package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_short.aster +11 -0
  689. package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_short.meta.json +9 -0
  690. package/corpus/tier3-fixtures/type-checker-cross-module/external-packages/mock/pkg/analytics/remote.aster +4 -0
  691. package/corpus/tier3-fixtures/type-checker-cross-module/external-packages/mock/pkg/analytics/remote.meta.json +7 -0
  692. package/corpus/tier3-fixtures/type-checker-cross-module/module_a.aster +4 -0
  693. package/corpus/tier3-fixtures/type-checker-cross-module/module_a.meta.json +7 -0
  694. package/corpus/tier3-fixtures/type-checker-cross-module/module_b.aster +6 -0
  695. package/corpus/tier3-fixtures/type-checker-cross-module/module_b.meta.json +7 -0
  696. package/corpus/tier3-fixtures/type-checker-cross-module/module_b_external.aster +6 -0
  697. package/corpus/tier3-fixtures/type-checker-cross-module/module_b_external.meta.json +7 -0
  698. package/corpus/tier3-fixtures/type-checker-cross-module/module_b_missing_pkg.aster +6 -0
  699. package/corpus/tier3-fixtures/type-checker-cross-module/module_b_missing_pkg.meta.json +7 -0
  700. package/dist/loader.d.ts +55 -0
  701. package/dist/loader.d.ts.map +1 -0
  702. package/dist/loader.js +97 -0
  703. package/dist/loader.js.map +1 -0
  704. package/dist/test/loader.test.d.ts +2 -0
  705. package/dist/test/loader.test.d.ts.map +1 -0
  706. package/dist/test/loader.test.js +45 -0
  707. package/dist/test/loader.test.js.map +1 -0
  708. package/package.json +34 -0
@@ -0,0 +1,119 @@
1
+ Module aster.finance.enterprise_lending.
2
+
3
+ Define EnterpriseInfo has companyId, companyName, industry, yearsInBusiness, employeeCount, annualRevenue, revenueGrowthRate, profitMargin.
4
+
5
+ Define FinancialPosition has totalAssets, currentAssets, totalLiabilities, currentLiabilities, equity, cashFlow, outstandingDebt.
6
+
7
+ Define BusinessHistory has previousLoans, defaultCount, latePayments, creditUtilization, largestLoanAmount, relationshipYears.
8
+
9
+ Define LoanApplication has requestedAmount, loanPurpose, termMonths, collateralValue, guarantorCount.
10
+
11
+ Define LendingDecision has approved, approvedAmount, interestRateBps, termMonths, collateralRequired, specialConditions, riskCategory, confidenceScore, reasonCode, detailedAnalysis.
12
+
13
+ Define LiquidityAnalysis has currentRatio, quickRatio, isHealthy, recommendation.
14
+
15
+ Define LeverageAnalysis has debtToEquity, debtToAssets, riskLevel, maxLoanCapacity.
16
+
17
+ Define ProfitabilityAnalysis has returnOnAssets, returnOnEquity, profitabilityGrade, repaymentCapacity.
18
+
19
+ Rule assessLiquidity given position, produce:
20
+ Let currentRatio be (position.currentAssets times 100) divided by position.currentLiabilities.
21
+ Let quickRatio be (position.currentAssets times 100) divided by position.currentLiabilities.
22
+ If currentRatio at least 200
23
+ Return LiquidityAnalysis(currentRatio, quickRatio, true, "Excellent liquidity").
24
+ If currentRatio at least 150
25
+ Return LiquidityAnalysis(currentRatio, quickRatio, true, "Good liquidity").
26
+ If currentRatio at least 100
27
+ Return LiquidityAnalysis(currentRatio, quickRatio, true, "Adequate liquidity").
28
+ Return LiquidityAnalysis(currentRatio, quickRatio, false, "Poor liquidity").
29
+
30
+ Rule assessLeverage given position, produce:
31
+ If position.equity equals to 0
32
+ Return LeverageAnalysis(0, 0, "CRITICAL", 0).
33
+ Let debtToEquity be (position.totalLiabilities times 100) divided by position.equity.
34
+ Let debtToAssets be (position.totalLiabilities times 100) divided by position.totalAssets.
35
+ Let baseCapacity be position.equity times 3.
36
+ If debtToEquity at most 100
37
+ Return LeverageAnalysis(debtToEquity, debtToAssets, "LOW", baseCapacity).
38
+ If debtToEquity at most 200
39
+ Return LeverageAnalysis(debtToEquity, debtToAssets, "MEDIUM", baseCapacity).
40
+ If debtToEquity at most 300
41
+ Return LeverageAnalysis(debtToEquity, debtToAssets, "HIGH", baseCapacity).
42
+ Return LeverageAnalysis(debtToEquity, debtToAssets, "CRITICAL", 0).
43
+
44
+ Rule assessProfitability given enterprise, position, produce:
45
+ Let returnOnAssets be enterprise.profitMargin.
46
+ Let returnOnEquity be enterprise.profitMargin.
47
+ Let annualCashFlow be position.cashFlow times 12.
48
+ Let repaymentCapacity be annualCashFlow times 3.
49
+ If returnOnAssets at least 15
50
+ Return ProfitabilityAnalysis(returnOnAssets, returnOnEquity, "EXCELLENT", repaymentCapacity).
51
+ If returnOnAssets at least 10
52
+ Return ProfitabilityAnalysis(returnOnAssets, returnOnEquity, "GOOD", repaymentCapacity).
53
+ If returnOnAssets at least 5
54
+ Return ProfitabilityAnalysis(returnOnAssets, returnOnEquity, "FAIR", repaymentCapacity).
55
+ Return ProfitabilityAnalysis(returnOnAssets, returnOnEquity, "POOR", repaymentCapacity).
56
+
57
+ Rule calculateIndustryFactor given industry, produce:
58
+ If industry equals to "Healthcare"
59
+ Return 105.
60
+ If industry equals to "Education"
61
+ Return 105.
62
+ If industry equals to "Manufacturing"
63
+ Return 100.
64
+ If industry equals to "Retail"
65
+ Return 95.
66
+ If industry equals to "Services"
67
+ Return 100.
68
+ If industry equals to "Construction"
69
+ Return 85.
70
+ If industry equals to "Hospitality"
71
+ Return 80.
72
+ If industry equals to "Transportation"
73
+ Return 90.
74
+ Return 100.
75
+
76
+ Rule assessMaturityScore given enterprise, history, produce:
77
+ Let score be 0.
78
+ If enterprise.yearsInBusiness at least 10
79
+ Let score be score plus 30.
80
+ If enterprise.yearsInBusiness at least 5
81
+ Let score be score plus 15.
82
+ If enterprise.employeeCount at least 100
83
+ Let score be score plus 15.
84
+ If enterprise.annualRevenue at least 10000000
85
+ Let score be score plus 10.
86
+ If history.relationshipYears at least 5
87
+ Let score be score plus 10.
88
+ If history.defaultCount equals to 0
89
+ Let score be score plus 10.
90
+ Return score.
91
+
92
+ Rule evaluateEnterpriseLoan given enterprise, position, history, application, produce:
93
+ If history.defaultCount greater than 0
94
+ Return LendingDecision(false, 0, 0, 0, 0, "Declined", "HIGH_RISK", 0, "PREVIOUS_DEFAULT", "Previous defaults on record").
95
+ If position.equity at most 0
96
+ Return LendingDecision(false, 0, 0, 0, 0, "Declined", "CRITICAL", 0, "NEGATIVE_EQUITY", "Negative equity position").
97
+ Let liquidityResult be assessLiquidity(position).
98
+ Let leverageResult be assessLeverage(position).
99
+ Let profitabilityResult be assessProfitability(enterprise, position).
100
+ Let maturityScore be assessMaturityScore(enterprise, history).
101
+ Let industryFactor be calculateIndustryFactor(enterprise.industry).
102
+ Let baseScore be maturityScore.
103
+ If liquidityResult.isHealthy
104
+ Let baseScore be baseScore plus 10.
105
+ If leverageResult.riskLevel equals to "LOW"
106
+ Let baseScore be baseScore plus 10.
107
+ If profitabilityResult.profitabilityGrade equals to "EXCELLENT"
108
+ Let baseScore be baseScore plus 10.
109
+ Let adjustedScore be (baseScore times industryFactor) divided by 100.
110
+ Let maxLoanAmount be leverageResult.maxLoanCapacity.
111
+ If profitabilityResult.repaymentCapacity less than maxLoanAmount
112
+ Let maxLoanAmount be profitabilityResult.repaymentCapacity.
113
+ Let approvedAmt be application.requestedAmount.
114
+ If approvedAmt greater than maxLoanAmount
115
+ Let approvedAmt be maxLoanAmount.
116
+ If adjustedScore at least 70
117
+ Let requiredCollateral be (approvedAmt times 50) divided by 100.
118
+ Return LendingDecision(true, approvedAmt, 650, application.termMonths, requiredCollateral, "Standard terms", "MODERATE_RISK", adjustedScore, "APPROVED_STANDARD", "Solid financial profile").
119
+ Return LendingDecision(false, 0, 0, 0, application.requestedAmount, "Declined", "HIGH_RISK", adjustedScore, "DECLINED_RISK", "Insufficient risk score").
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/library/finance/lending/enterprise.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,18 @@
1
+ Module demo.lambdamatchbind.
2
+
3
+ Define User has id, name.
4
+
5
+ Rule greetUser given user, prefix, produce:
6
+ Let f be function with value, produce:
7
+ Match value:
8
+ When User(id, name), Return Text.concat(prefix, name).
9
+ When other, Return prefix.
10
+ Return f(user).
11
+
12
+ Rule posOrZero given count, produce:
13
+ Let sel be function with value, produce:
14
+ If value greater than 0
15
+ Return value.
16
+ Otherwise
17
+ Return 0.
18
+ Return sel(count).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_cnl_match_bind.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,18 @@
1
+ Module demo.lambdamatchbind.
2
+
3
+ Define User has id, name.
4
+
5
+ Rule greetUser given user, prefix, produce:
6
+ Let f be function with value, produce:
7
+ Match value:
8
+ When User(id, name), Return Text.concat(prefix, name).
9
+ When other, Return prefix.
10
+ Return f(user).
11
+
12
+ Rule posOrZero given count, produce:
13
+ Let sel be function with value, produce:
14
+ If value greater than 0
15
+ Return value.
16
+ Otherwise
17
+ Return 0.
18
+ Return sel(count).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/patterns/lambda_cnl_match_bind.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdamatchmaybe.
2
+
3
+ Rule fromMaybe given value, fallback, produce:
4
+ Let f be function with candidate, produce:
5
+ Match candidate:
6
+ When null, Return fallback.
7
+ When actual, Return actual.
8
+ Return f(value).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_cnl_match_maybe.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdamatchmaybe.
2
+
3
+ Rule fromMaybe given value, fallback, produce:
4
+ Let f be function with candidate, produce:
5
+ Match candidate:
6
+ When null, Return fallback.
7
+ When actual, Return actual.
8
+ Return f(value).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/patterns/lambda_cnl_match_maybe.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdamatchresult.
2
+
3
+ Rule fromResult given result, produce:
4
+ Let f be function with candidate, produce:
5
+ Match candidate:
6
+ When Ok(value), Return value.
7
+ When Err(err), Return Text.concat("E:", err).
8
+ Return f(result).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_cnl_match_result.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdamatchresult.
2
+
3
+ Rule fromResult given result, produce:
4
+ Let f be function with candidate, produce:
5
+ Match candidate:
6
+ When Ok(value), Return value.
7
+ When Err(err), Return Text.concat("E:", err).
8
+ Return f(result).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/patterns/lambda_cnl_match_result.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,11 @@
1
+ Module demo.lambdamixed.
2
+
3
+ Rule demo given pfx, produce:
4
+ Let f be function with x, produce:
5
+ Return Text.concat(pfx, x).
6
+ Let g be function with y, produce:
7
+ Return Text.concat("2", y).
8
+ Return Text.concat(f(""), g("b")).
9
+
10
+ Rule compare given x, y, produce:
11
+ Return cmp(x, y).
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_cnl_mixed.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdagte.
2
+
3
+ Rule isAtLeast given x, threshold, produce:
4
+ Return x at least threshold.
5
+
6
+ Rule isLengthAtLeast given s, minLen, produce:
7
+ Let len be Text.length(s).
8
+ Return len at least minLen.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_gte_test.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,8 @@
1
+ Module demo.lambdalte.
2
+
3
+ Rule isAtMost given x, limit, produce:
4
+ Return x at most limit.
5
+
6
+ Rule isShortEnough given s, maxLen, produce:
7
+ Let len be Text.length(s).
8
+ Return len at most maxLen.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/lambda/lambda_lte_test.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,12 @@
1
+ Module aster.finance.loan.
2
+
3
+ Define LoanApplication has applicantId required, amount, termMonths between 0 and 600, purpose required.
4
+
5
+ Define ApplicantProfile has age between 0 and 120, creditScore between 300 and 850, annualIncome.
6
+
7
+ Define LoanDecision has approved, reason, approvedAmount, interestRateBps, termMonths.
8
+
9
+ Rule evaluateLoanEligibility given application, applicant, produce:
10
+ Return 0.
11
+ Rule determineInterestRateBps given creditScore between 300 and 850, produce:
12
+ Return 350.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/library/finance/loan.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,7 @@
1
+ Module demo.nested_generic_lambda.
2
+
3
+ Rule double given value, produce:
4
+ Let identity be function with x, produce:
5
+ Return x.
6
+ Let result be identity(value).
7
+ Return some of result.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/generics/nested_generic_lambda.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,113 @@
1
+ Module aster.finance.personal_lending.
2
+
3
+ Define PersonalInfo has applicantId, age, educationLevel, employmentStatus, occupation, yearsAtJob, monthsAtAddress, maritalStatus, dependents.
4
+
5
+ Define IncomeProfile has monthlyIncome, additionalIncome, spouseIncome, rentIncome, incomeStability, incomeGrowthRate.
6
+
7
+ Define CreditProfile has creditScore, creditHistory, activeLoans, creditCardCount, creditUtilization, latePayments, defaults, bankruptcies, inquiries.
8
+
9
+ Define DebtProfile has totalMonthlyDebt, mortgagePayment, carPayment, studentLoanPayment, creditCardMinPayment, otherDebtPayment.
10
+
11
+ Define LoanRequest has requestedAmount, purpose, termMonths, downPayment, collateralValue.
12
+
13
+ Define LoanDecision has approved, approvedAmount, interestRateBps, termMonths, monthlyPayment, downPaymentRequired, conditions, riskLevel, decisionScore, reasonCode, recommendations.
14
+
15
+ Define CreditAssessment has scoreGrade, historyGrade, utilizationRatio, negativeMarks, riskIndicator, maxLoanAmount.
16
+
17
+ Define IncomeAssessment has totalMonthlyIncome, stabilityGrade, adequacy, loanCapacity.
18
+
19
+ Define AffordabilityAnalysis has debtToIncomeRatio, residualIncome, affordabilityGrade, maxMonthlyPayment.
20
+
21
+ Rule assessCredit given profile, produce:
22
+ Let utilizationRatio be profile.creditUtilization.
23
+ Let negativeMarks be (profile.latePayments plus (profile.defaults times 3)) plus (profile.bankruptcies times 5).
24
+ If profile.creditScore at least 750
25
+ Return CreditAssessment("EXCELLENT", "STRONG", utilizationRatio, negativeMarks, "LOW", 50000).
26
+ If profile.creditScore at least 700
27
+ Return CreditAssessment("GOOD", "SOLID", utilizationRatio, negativeMarks, "LOW", 30000).
28
+ If profile.creditScore at least 650
29
+ Return CreditAssessment("FAIR", "ADEQUATE", utilizationRatio, negativeMarks, "MEDIUM", 20000).
30
+ Return CreditAssessment("POOR", "LIMITED", utilizationRatio, negativeMarks, "HIGH", 10000).
31
+
32
+ Rule assessIncome given personal, income, produce:
33
+ Let totalIncome be income.monthlyIncome plus income.additionalIncome plus income.spouseIncome plus income.rentIncome.
34
+ Let loanCapacity be totalIncome times 6.
35
+ If income.incomeStability equals to "PERMANENT"
36
+ Return IncomeAssessment(totalIncome, "GOOD", "ADEQUATE", loanCapacity).
37
+ If totalIncome at least 3000
38
+ Return IncomeAssessment(totalIncome, "FAIR", "LOW", loanCapacity).
39
+ Return IncomeAssessment(totalIncome, "POOR", "VERY_LOW", 0).
40
+
41
+ Rule assessAffordability given income, debt, request, produce:
42
+ Let totalIncome be income.monthlyIncome plus income.additionalIncome plus income.spouseIncome plus income.rentIncome.
43
+ Let totalDebt be debt.totalMonthlyDebt.
44
+ Let estimatedPayment be (request.requestedAmount times 8) divided by 1000.
45
+ Let totalDebtWithLoan be totalDebt plus estimatedPayment.
46
+ Let dtiWithLoan be (totalDebtWithLoan times 100) divided by totalIncome.
47
+ Let residual be totalIncome minus totalDebtWithLoan.
48
+ Let maxPayment be (totalIncome times 30) divided by 100.
49
+ If dtiWithLoan at most 36
50
+ Return AffordabilityAnalysis(dtiWithLoan, residual, "EXCELLENT", maxPayment).
51
+ If dtiWithLoan at most 43
52
+ Return AffordabilityAnalysis(dtiWithLoan, residual, "FAIR", maxPayment).
53
+ Return AffordabilityAnalysis(dtiWithLoan, residual, "POOR", maxPayment).
54
+
55
+ Rule calculateStabilityScore given personal, income, produce:
56
+ Let score be 0.
57
+ If personal.age at least 35
58
+ Let score be score plus 10.
59
+ If personal.yearsAtJob at least 5
60
+ Let score be score plus 10.
61
+ If income.incomeStability equals to "PERMANENT"
62
+ Let score be score plus 10.
63
+ If personal.educationLevel equals to "GRADUATE"
64
+ Let score be score plus 5.
65
+ Return score.
66
+
67
+ Rule calculatePurposeAdjustment given purpose, produce:
68
+ If purpose equals to "HOME_RENOVATION"
69
+ Return 105.
70
+ If purpose equals to "EDUCATION"
71
+ Return 108.
72
+ If purpose equals to "BUSINESS"
73
+ Return 100.
74
+ If purpose equals to "DEBT_CONSOLIDATION"
75
+ Return 95.
76
+ If purpose equals to "CAR_PURCHASE"
77
+ Return 100.
78
+ If purpose equals to "MEDICAL"
79
+ Return 105.
80
+ If purpose equals to "WEDDING"
81
+ Return 90.
82
+ If purpose equals to "VACATION"
83
+ Return 80.
84
+ Return 85.
85
+
86
+ Rule evaluatePersonalLoan given personal, income, credit, debt, request, produce:
87
+ If credit.bankruptcies greater than 0
88
+ Return LoanDecision(false, 0, 0, 0, 0, 0, "Declined", "HIGH_RISK", 0, "BANKRUPTCY_HISTORY", "Previous bankruptcy on record").
89
+ Let creditAssessment be assessCredit(credit).
90
+ Let incomeAssessment be assessIncome(personal, income).
91
+ Let affordabilityAnalysis be assessAffordability(income, debt, request).
92
+ Let stabilityScore be calculateStabilityScore(personal, income).
93
+ Let purposeAdjustment be calculatePurposeAdjustment(request.purpose).
94
+ Let baseScore be stabilityScore.
95
+ If creditAssessment.riskIndicator equals to "LOW"
96
+ Let baseScore be baseScore plus 20.
97
+ If incomeAssessment.adequacy equals to "ADEQUATE"
98
+ Let baseScore be baseScore plus 10.
99
+ If affordabilityAnalysis.affordabilityGrade equals to "EXCELLENT"
100
+ Let baseScore be baseScore plus 10.
101
+ Let adjustedScore be (baseScore times purposeAdjustment) divided by 100.
102
+ Let maxLoanAmount be creditAssessment.maxLoanAmount.
103
+ If incomeAssessment.loanCapacity less than maxLoanAmount
104
+ Let maxLoanAmount be incomeAssessment.loanCapacity.
105
+ Let approvedAmt be request.requestedAmount.
106
+ If approvedAmt greater than maxLoanAmount
107
+ Let approvedAmt be maxLoanAmount.
108
+ If adjustedScore at least 70
109
+ Let rate be 550.
110
+ Let payment be (approvedAmt times rate) divided by 100000.
111
+ Let downPmt be 0.
112
+ Return LoanDecision(true, approvedAmt, rate, request.termMonths, payment, downPmt, "Approved", "MODERATE", adjustedScore, "APPROVED_STANDARD", "Standard terms").
113
+ Return LoanDecision(false, 0, 0, 0, 0, request.requestedAmount, "Declined", "HIGH_RISK", adjustedScore, "DECLINED_RISK", "Insufficient score").
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/library/finance/lending/personal.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,9 @@
1
+ Module test.allcomparisons.
2
+
3
+ Rule testAllOperators given x, y, produce:
4
+ Let lt be x less than y.
5
+ Let gt be x greater than y.
6
+ Let lte be x at most y.
7
+ Let gte be x at least y.
8
+ Let neq be not (x equals to y).
9
+ Return neq.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/operators/test_all_comparisons.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,18 @@
1
+ Module test.eligibility.with.ifs.
2
+
3
+ Define Patient has patientId, age, hasInsurance, insuranceType, chronicConditions.
4
+
5
+ Define Service has serviceCode, serviceName, basePrice, requiresPreAuth.
6
+
7
+ Define EligibilityCheck has eligible, reason, coveragePercent, estimatedCost, requiresPreAuth.
8
+
9
+ Rule determineMinorCoverage given insuranceType, service, produce:
10
+ Return 0.
11
+ Rule determineSeniorCoverage given insuranceType, service, produce:
12
+ Return 0.
13
+ Rule determineStandardCoverage given insuranceType, service, chronicConditions, produce:
14
+ Return 0.
15
+ Rule calculatePatientCost given basePrice, coveragePercent, produce:
16
+ Return 0.
17
+ Rule checkServiceEligibility given patient, service, produce:
18
+ Return 0.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/regression/eligibility/test_eligibility_with_ifs.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,6 @@
1
+ Module test.let.with.call.
2
+
3
+ Rule helper given x, produce:
4
+ Return 0.
5
+ Rule testLetWithCall given x, produce:
6
+ Return 0.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/regression/eligibility/test_let_with_call.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,6 @@
1
+ Module test.operators.
2
+
3
+ Rule checkRange given x, produce:
4
+ Let atLeast10 be x at least 10.
5
+ Let atMost100 be x at most 100.
6
+ Return atLeast10.
@@ -0,0 +1,12 @@
1
+ {
2
+ "tier": 2,
3
+ "engines": [
4
+ "ts"
5
+ ],
6
+ "lexicon": "en-US",
7
+ "source": "aster-lang-ts/test/cnl/programs/operators/test_operators.aster",
8
+ "knownGaps": [
9
+ "java-cannot-parse"
10
+ ],
11
+ "divergenceType": "grammar-gap"
12
+ }
@@ -0,0 +1,6 @@
1
+ Module demo.comments.
2
+
3
+ Rule greet given name, produce: // inline comment after header
4
+ Return Text.concat("Hi, ", name). // say hi
5
+ // standalone comment should not be preserved
6
+