@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,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "golden-core",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/e2e/golden/core/pii_result_type.aster"
9
+ }
@@ -0,0 +1,146 @@
1
+ Module tests.type_inference_cnl.
2
+
3
+ // ============================================================
4
+ // CNL 自然语言风格类型推断示例
5
+ // Natural Language Style Type Inference Examples
6
+ // ============================================================
7
+ //
8
+ // 本示例展示 Aster CNL 的类型推断功能,使字段定义更接近自然语言。
9
+ // This example demonstrates Aster CNL's type inference, making
10
+ // field definitions closer to natural language.
11
+ //
12
+ // 类型推断规则 (Type Inference Rules):
13
+ // - *Id, *ID, *Identifier, *Code, *Key, *Token → Text
14
+ // - *Amount, *Price, *Cost, *Fee, *Balance, *Rate → Float
15
+ // - *Count, *Number, *Age, *Score, *Level, *Months, *Days → Int
16
+ // - is*, has*, can*, should*, allow* → Bool
17
+ // - *Date, *Time, *At, *Timestamp, *Created → DateTime
18
+ // - 有 Range 约束 → Int 或 Float (depending on bounds)
19
+ // - 有 Pattern 约束 → Text
20
+ // - 默认 → Text
21
+ // ============================================================
22
+
23
+ // --------------------------------------------------
24
+ // 示例 1: 贷款申请 - 对比传统语法与 CNL 语法
25
+ // Example 1: Loan Application - Traditional vs CNL
26
+ // --------------------------------------------------
27
+
28
+ // 传统语法 (Traditional syntax with explicit types):
29
+ // Define LoanApplication has applicantId: Text, loanAmount: Float, termMonths: Int, isApproved: Bool.
30
+
31
+ // CNL 自然语言语法 (CNL natural language syntax):
32
+ // 字段类型根据命名约定自动推断
33
+ Define LoanApplication has
34
+ applicantId,
35
+ loanAmount,
36
+ termMonths,
37
+ isApproved.
38
+
39
+ // 推断结果:
40
+ // - applicantId → Text (匹配 *Id 后缀)
41
+ // - loanAmount → Float (匹配 *Amount 后缀)
42
+ // - termMonths → Int (匹配 *Months 后缀)
43
+ // - isApproved → Bool (匹配 is* 前缀)
44
+
45
+ // --------------------------------------------------
46
+ // 示例 2: 带约束的字段定义
47
+ // Example 2: Fields with Constraints
48
+ // --------------------------------------------------
49
+
50
+ // 约束驱动类型推断 (Constraint-driven type inference):
51
+ Define ApplicantProfile has
52
+ age between 18 and 120,
53
+ creditScore between 300 and 850,
54
+ annualIncome,
55
+ monthlyDebt,
56
+ yearsEmployed between 0 and 50.
57
+
58
+ // 推断结果:
59
+ // - age → Int (Range 约束使用整数边界)
60
+ // - creditScore → Int (Range 约束使用整数边界)
61
+ // - annualIncome → Float (匹配 *Income 后缀)
62
+ // - monthlyDebt → Float (匹配 *Debt 后缀? 无,默认 Text;实际需要显式声明)
63
+ // - yearsEmployed → Int (Range 约束使用整数边界)
64
+
65
+ // --------------------------------------------------
66
+ // 示例 3: 审批决定 - 混合使用推断与显式类型
67
+ // Example 3: Approval Decision - Mixed Inference and Explicit
68
+ // --------------------------------------------------
69
+
70
+ // 推断类型与显式类型可以混合使用
71
+ Define LoanDecision has
72
+ isApproved,
73
+ approvalReason required,
74
+ approvedAmount,
75
+ interestRate between 0.01 and 0.30,
76
+ termMonths.
77
+
78
+ // 推断结果:
79
+ // - isApproved → Bool (匹配 is* 前缀)
80
+ // - approvalReason → Text (显式声明)
81
+ // - approvedAmount → Float (匹配 *Amount 后缀)
82
+ // - interestRate → Float (Range 约束使用小数边界)
83
+ // - termMonths → Int (匹配 *Months 后缀)
84
+
85
+ // --------------------------------------------------
86
+ // 示例 4: 用户信息 - 各类型推断展示
87
+ // Example 4: User Info - Various Type Inference
88
+ // --------------------------------------------------
89
+
90
+ Define UserInfo has
91
+ // Text 类型推断
92
+ userId,
93
+ userCode,
94
+ apiKey,
95
+ accessToken,
96
+ firstName,
97
+ emailAddress,
98
+
99
+ // Int 类型推断
100
+ itemCount,
101
+ orderNumber,
102
+ memberLevel,
103
+ pageSize,
104
+
105
+ // Float 类型推断
106
+ accountBalance,
107
+ totalPrice,
108
+ serviceFee,
109
+ taxPercentage,
110
+
111
+ // Bool 类型推断
112
+ isActive,
113
+ hasPermission,
114
+ canEdit,
115
+ shouldNotify,
116
+
117
+ // DateTime 类型推断
118
+ createdAt,
119
+ updatedAt,
120
+ expiryDate,
121
+ lastModified.
122
+
123
+ // --------------------------------------------------
124
+ // 示例 5: 评估函数 - 使用推断类型的数据
125
+ // Example 5: Evaluation Function - Using Inferred Types
126
+ // --------------------------------------------------
127
+
128
+ Rule evaluateLoan given application, applicant, produce:
129
+ If applicant.age less than 18
130
+ Return LoanDecision with isApproved set to false, approvalReason set to "Underage", approvedAmount set to 0.0, interestRate set to 0.0, termMonths set to 0.
131
+
132
+ If applicant.creditScore less than 650
133
+ Return LoanDecision with isApproved set to false, approvalReason set to "Low credit", approvedAmount set to 0.0, interestRate set to 0.0, termMonths set to 0.
134
+
135
+ Let baseRate be calculateBaseRate(applicant.creditScore).
136
+
137
+ Return LoanDecision with isApproved set to true, approvalReason set to "Approved", approvedAmount set to application.loanAmount, interestRate set to baseRate, termMonths set to application.termMonths.
138
+
139
+ Rule calculateBaseRate given score, produce:
140
+ If score less than 670
141
+ Return 0.15.
142
+ If score less than 740
143
+ Return 0.10.
144
+ If score less than 800
145
+ Return 0.07.
146
+ Return 0.05.
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "golden-core",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/e2e/golden/core/type_inference_cnl.aster"
9
+ }
@@ -0,0 +1,19 @@
1
+ Module demo.workflow.core.diamond.
2
+
3
+ Rule runDiamond, produce. It performs io:
4
+
5
+ workflow:
6
+ step prepare:
7
+ Let baseline be Time.now().
8
+ Return ok of baseline.
9
+
10
+ step branchA:
11
+ Return ok of Ai.summarize("payload").
12
+
13
+ step branchB:
14
+ Return ok of Files.read("/tmp/data").
15
+
16
+ step finalize:
17
+ Return ok of 42.
18
+
19
+ .
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "golden-core",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/e2e/golden/core/workflow-diamond.aster"
9
+ }
@@ -0,0 +1,22 @@
1
+ Module demo.workflow.core.linear.
2
+
3
+ Rule runLinear, produce. It performs io:
4
+
5
+ workflow:
6
+ step fetch:
7
+ Return ok of Http.get("/orders").
8
+
9
+ step persist:
10
+ Let record be Sql.insert("orders", "payload").
11
+ Return ok of record.
12
+
13
+ compensate:
14
+ Return ok of Secrets.rotate("orders-key").
15
+
16
+ retry:
17
+ max attempts: 3.
18
+ backoff: exponential.
19
+
20
+ timeout: 15 seconds.
21
+
22
+ .
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "golden-core",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/e2e/golden/core/workflow-linear.aster"
9
+ }
@@ -0,0 +1,4 @@
1
+ Module test.pii.http_violation.
2
+
3
+ Rule send_user_email given email, produce. It performs io [Http]:
4
+ Return Http.post("https://api.example.com", email).
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "golden-diagnostics",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/e2e/golden/diagnostics/pii_http_violation.aster"
9
+ }
@@ -0,0 +1,8 @@
1
+ // Deutsches Hello World - Grundfunktion zur Begruessung
2
+ Dieses Modul ist test.hallo.
3
+
4
+ Um begruesse mit name, liefert:
5
+ gib zurueck "Hallo, " plus name.
6
+
7
+ Um halloWelt, liefert:
8
+ gib zurueck "Hallo, Welt!".
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/de-DE/01-hello.aster"
9
+ }
@@ -0,0 +1,7 @@
1
+ Module test.hello.
2
+
3
+ Rule sayHello given name, produce:
4
+ Return "Hello, " plus name.
5
+
6
+ Rule helloWorld, produce:
7
+ Return "Hello, World!".
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/en-US/01-hello.aster"
9
+ }
@@ -0,0 +1,8 @@
1
+ // 中文 Hello World - 返回问候语的基础函数
2
+ 模块 测试.你好。
3
+
4
+ 规则 打招呼 包含 名字,产出:
5
+ 返回 「你好,」 加 名字。
6
+
7
+ 规则 你好世界,产出:
8
+ 返回 「你好,世界!」。
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/zh-CN/01-hello.aster"
9
+ }
@@ -0,0 +1,10 @@
1
+ // Deutsche Typen - Datentypdefinitionen mit Einschraenkungen
2
+ Dieses Modul ist test.typen.
3
+
4
+ Definiere Benutzer mit kennung, name, alter.
5
+
6
+ Definiere Produkt mit sku, preis, aufLager.
7
+
8
+ Definiere Status als eines von Ausstehend, Aktiv, Abgeschlossen, Storniert.
9
+
10
+ Definiere Bestellung mit bestellId, kunde, status, notiz.
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/de-DE/02-types.aster"
9
+ }
@@ -0,0 +1,9 @@
1
+ Module test.types.
2
+
3
+ Define User has id, name, age.
4
+
5
+ Define Product has sku, price, inStock.
6
+
7
+ Define Status as one of Pending, Active, Completed, Cancelled.
8
+
9
+ Define Order has orderId, customer, status, notes.
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/en-US/02-types.aster"
9
+ }
@@ -0,0 +1,24 @@
1
+ // 中文类型 - 带约束的数据类型定义
2
+ 模块 测试.类型。
3
+
4
+ // 基础记录类型
5
+ 定义 用户 包含
6
+ 编号 必填,
7
+ 名字 必填,
8
+ 年龄 介于 0 且 120。
9
+
10
+ // 多字段类型的记录
11
+ 定义 商品 包含
12
+ 货号 必填,
13
+ 价格 至少 0,
14
+ 有货。
15
+
16
+ // 枚举类型定义
17
+ 定义 状态 为以下之一 待处理、进行中、已完成、已取消。
18
+
19
+ // 带可选字段的类型
20
+ 定义 订单 包含
21
+ 订单号 必填,
22
+ 顾客,
23
+ 状态,
24
+ 备注。
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/zh-CN/02-types.aster"
9
+ }
@@ -0,0 +1,27 @@
1
+ // Deutsche Funktionen - Funktionsdefinitionen und Aufrufe
2
+ Dieses Modul ist test.funktionen.
3
+
4
+ Definiere Ergebnis mit erfolg, nachricht.
5
+
6
+ // Einfache Funktion mit einem Parameter
7
+ Um verdoppeln mit wert, liefert:
8
+ gib zurueck wert mal 2.
9
+
10
+ // Funktion mit mehreren Parametern
11
+ Um addieren mit a, b, liefert:
12
+ gib zurueck a plus b.
13
+
14
+ // Funktion die eine andere Funktion aufruft
15
+ Um vierfach mit wert, liefert:
16
+ sei doppelt gleich verdoppeln(wert).
17
+ gib zurueck verdoppeln(doppelt).
18
+
19
+ // Funktion die einen Datensatz zurueckgibt
20
+ Um ergebnisErstellen mit ok, msg, liefert:
21
+ gib zurueck Ergebnis mit erfolg setze auf ok, nachricht setze auf msg.
22
+
23
+ // Funktion mit lokalen Variablen
24
+ Um berechnen mit basis, faktor, offset, liefert:
25
+ sei produkt gleich basis mal faktor.
26
+ sei resultat gleich produkt plus offset.
27
+ gib zurueck resultat.
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/de-DE/03-functions.aster"
9
+ }
@@ -0,0 +1,27 @@
1
+ // English Functions - Function definitions and calls
2
+ Module test.functions.
3
+
4
+ Define Result has success, message.
5
+
6
+ // Simple function with one parameter
7
+ Rule double given x, produce:
8
+ Return x times 2.
9
+
10
+ // Function with multiple parameters
11
+ Rule add given a, b, produce:
12
+ Return a plus b.
13
+
14
+ // Function calling another function
15
+ Rule quadruple given x, produce:
16
+ Let doubled be double(x).
17
+ Return double(doubled).
18
+
19
+ // Function returning a record
20
+ Rule createResult given ok, msg, produce:
21
+ Return Result with success set to ok, message set to msg.
22
+
23
+ // Function with local variables
24
+ Rule calculate given base, multiplier, offset, produce:
25
+ Let product be base times multiplier.
26
+ Let result be product plus offset.
27
+ Return result.
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/en-US/03-functions.aster"
9
+ }
@@ -0,0 +1,27 @@
1
+ // 中文函数 - 函数定义和调用
2
+ 模块 测试.函数。
3
+
4
+ 定义 响应 包含 是否成功,消息。
5
+
6
+ // 单参数简单函数
7
+ 规则 翻倍 包含 数值,产出:
8
+ 返回 数值 乘 2。
9
+
10
+ // 多参数函数
11
+ 规则 相加 包含 甲,乙,产出:
12
+ 返回 甲 加 乙。
13
+
14
+ // 调用其他函数的函数
15
+ 规则 四倍 包含 数值,产出:
16
+ 令 双倍 为 翻倍(数值)。
17
+ 返回 翻倍(双倍)。
18
+
19
+ // 返回记录的函数
20
+ 规则 创建响应 包含 是否成功,消息,产出:
21
+ 返回 「响应已生成」。
22
+
23
+ // 带局部变量的函数
24
+ 规则 计算 包含 基数,倍数,偏移,产出:
25
+ 令 乘积 为 基数 乘 倍数。
26
+ 令 总和 为 乘积 加 偏移。
27
+ 返回 总和。
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/zh-CN/03-functions.aster"
9
+ }
@@ -0,0 +1,35 @@
1
+ // Deutsche Kontrollfluss - Wenn/Sonst Bedingungen
2
+ Dieses Modul ist test.kontrollfluss.
3
+
4
+ Definiere Entscheidung mit genehmigt, grund.
5
+
6
+ // Einfache Wenn-Bedingung
7
+ Um istErwachsen mit alter, liefert:
8
+ wenn alter groesser als 17
9
+ gib zurueck wahr.
10
+ gib zurueck falsch.
11
+
12
+ // Wenn mit Sonst
13
+ Um alterPruefen mit alter, liefert:
14
+ wenn alter kleiner als 18
15
+ gib zurueck "Minderjaehrig".
16
+ sonst
17
+ gib zurueck "Erwachsen".
18
+
19
+ // Verschachtelte Bedingungen
20
+ Um alterKategorisieren mit alter, liefert:
21
+ wenn alter kleiner als 13
22
+ gib zurueck "Kind".
23
+ wenn alter kleiner als 20
24
+ gib zurueck "Jugendlicher".
25
+ wenn alter kleiner als 60
26
+ gib zurueck "Erwachsener".
27
+ gib zurueck "Senior".
28
+
29
+ // Komplexe Entscheidungslogik
30
+ Um antragBewerten mit alter, punktzahl, liefert:
31
+ wenn alter kleiner als 18
32
+ gib zurueck Entscheidung mit genehmigt setze auf falsch, grund setze auf "Minderjaehriger Antragsteller".
33
+ wenn punktzahl kleiner als 600
34
+ gib zurueck Entscheidung mit genehmigt setze auf falsch, grund setze auf "Punktzahl zu niedrig".
35
+ gib zurueck Entscheidung mit genehmigt setze auf wahr, grund setze auf "Genehmigt".
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/de-DE/04-control-flow.aster"
9
+ }
@@ -0,0 +1,35 @@
1
+ // English Control Flow - If/Otherwise conditionals
2
+ Module test.controlflow.
3
+
4
+ Define Decision has approved, reason.
5
+
6
+ // Simple if condition
7
+ Rule isAdult given age, produce:
8
+ If age greater than 17
9
+ Return true.
10
+ Return false.
11
+
12
+ // If with otherwise
13
+ Rule checkAge given age, produce:
14
+ If age less than 18
15
+ Return "Minor".
16
+ Otherwise
17
+ Return "Adult".
18
+
19
+ // Nested conditions
20
+ Rule categorizeAge given age, produce:
21
+ If age less than 13
22
+ Return "Child".
23
+ If age less than 20
24
+ Return "Teenager".
25
+ If age less than 60
26
+ Return "Adult".
27
+ Return "Senior".
28
+
29
+ // Complex decision logic
30
+ Rule evaluateApplication given age, score, produce:
31
+ If age less than 18
32
+ Return Decision with approved set to false, reason set to "Underage applicant".
33
+ If score less than 600
34
+ Return Decision with approved set to false, reason set to "Score too low".
35
+ Return Decision with approved set to true, reason set to "Approved".
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/en-US/04-control-flow.aster"
9
+ }
@@ -0,0 +1,35 @@
1
+ // 中文控制流 - 如果/否则条件语句
2
+ 模块 测试.控制流。
3
+
4
+ 定义 决定 包含 是否批准,理由。
5
+
6
+ // 简单如果条件
7
+ 规则 是否成年 包含 年龄,产出:
8
+ 如果 年龄 大于 17
9
+ 返回 真。
10
+ 返回 假。
11
+
12
+ // 如果加否则
13
+ 规则 检查年龄 包含 年龄,产出:
14
+ 如果 年龄 小于 18
15
+ 返回 「未成年」。
16
+ 否则
17
+ 返回 「成年人」。
18
+
19
+ // 嵌套条件
20
+ 规则 年龄分类 包含 年龄,产出:
21
+ 如果 年龄 小于 13
22
+ 返回 「儿童」。
23
+ 如果 年龄 小于 20
24
+ 返回 「青少年」。
25
+ 如果 年龄 小于 60
26
+ 返回 「成年人」。
27
+ 返回 「老年人」。
28
+
29
+ // 复杂决策逻辑
30
+ 规则 评估申请 包含 年龄,评分,产出:
31
+ 如果 年龄 小于 18
32
+ 返回 决定 包含 是否批准 将 设为 假, 理由 将 设为 「申请人未成年」。
33
+ 如果 评分 小于 600
34
+ 返回 决定 包含 是否批准 将 设为 假, 理由 将 设为 「评分过低」。
35
+ 返回 决定 包含 是否批准 将 设为 真, 理由 将 设为 「审核通过」。
@@ -0,0 +1,9 @@
1
+ {
2
+ "tier": 3,
3
+ "bucket": "lexicon-i18n",
4
+ "engines": [
5
+ "ts"
6
+ ],
7
+ "lexicon": "en-US",
8
+ "source": "aster-lang-ts/test/cnl/programs/i18n/zh-CN/04-control-flow.aster"
9
+ }