@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.
- package/corpus/tier1-equivalence/inputs/01-arithmetic-add.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/02-arithmetic-precedence.cases.json +33 -0
- package/corpus/tier1-equivalence/inputs/04-let-binding.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/05-comparison.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/06-string-concat.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/07-arithmetic-subtract.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/08-arithmetic-divide.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/09-arithmetic-modulo.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/10-arithmetic-negate.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/13-boolean-not.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/15-comparison-less.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/16-comparison-equals.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/19-let-multiple.cases.json +30 -0
- package/corpus/tier1-equivalence/inputs/20-let-dependent.cases.json +27 -0
- package/corpus/tier1-equivalence/inputs/28-business-insurance-premium.cases.json +30 -0
- package/corpus/tier1-equivalence/policies/01-arithmetic-add.aster +4 -0
- package/corpus/tier1-equivalence/policies/01-arithmetic-add.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/02-arithmetic-precedence.aster +4 -0
- package/corpus/tier1-equivalence/policies/02-arithmetic-precedence.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/04-let-binding.aster +5 -0
- package/corpus/tier1-equivalence/policies/04-let-binding.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/05-comparison.aster +4 -0
- package/corpus/tier1-equivalence/policies/05-comparison.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/06-string-concat.aster +4 -0
- package/corpus/tier1-equivalence/policies/06-string-concat.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/07-arithmetic-subtract.aster +4 -0
- package/corpus/tier1-equivalence/policies/07-arithmetic-subtract.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/08-arithmetic-divide.aster +4 -0
- package/corpus/tier1-equivalence/policies/08-arithmetic-divide.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/09-arithmetic-modulo.aster +5 -0
- package/corpus/tier1-equivalence/policies/09-arithmetic-modulo.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/10-arithmetic-negate.aster +4 -0
- package/corpus/tier1-equivalence/policies/10-arithmetic-negate.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/13-boolean-not.aster +4 -0
- package/corpus/tier1-equivalence/policies/13-boolean-not.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/15-comparison-less.aster +4 -0
- package/corpus/tier1-equivalence/policies/15-comparison-less.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/16-comparison-equals.aster +4 -0
- package/corpus/tier1-equivalence/policies/16-comparison-equals.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/19-let-multiple.aster +6 -0
- package/corpus/tier1-equivalence/policies/19-let-multiple.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/20-let-dependent.aster +6 -0
- package/corpus/tier1-equivalence/policies/20-let-dependent.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/28-business-insurance-premium.aster +7 -0
- package/corpus/tier1-equivalence/policies/28-business-insurance-premium.meta.json +12 -0
- package/corpus/tier1-equivalence/policies/arith_compare.aster +7 -0
- package/corpus/tier1-equivalence/policies/arith_compare.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/auto.aster +22 -0
- package/corpus/tier1-equivalence/policies/auto.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/bad_generic.aster +4 -0
- package/corpus/tier1-equivalence/policies/bad_generic.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/bad_generic_return.aster +4 -0
- package/corpus/tier1-equivalence/policies/bad_generic_return.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/bad_generic_return_type.aster +4 -0
- package/corpus/tier1-equivalence/policies/bad_generic_return_type.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/capability-v2.aster +12 -0
- package/corpus/tier1-equivalence/policies/capability-v2.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/capdemo.aster +7 -0
- package/corpus/tier1-equivalence/policies/capdemo.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/claims.aster +14 -0
- package/corpus/tier1-equivalence/policies/claims.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/cli_tool.aster +10 -0
- package/corpus/tier1-equivalence/policies/cli_tool.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/creditcard.aster +40 -0
- package/corpus/tier1-equivalence/policies/creditcard.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_alias_import.aster +22 -0
- package/corpus/tier1-equivalence/policies/eff_alias_import.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_alias_unmapped.aster +12 -0
- package/corpus/tier1-equivalence/policies/eff_alias_unmapped.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_brackets.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_brackets.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_ai_model.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_ai_model.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_files.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_files.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_secrets.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_missing_secrets.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_extra.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_extra.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_files.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_files.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_time.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_enforce_unused_time.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_bare.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_bare.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_brackets.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_brackets.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_files_secrets.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_files_secrets.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_mixed_brackets_and_and.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_mixed_brackets_and_and.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_single.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_caps_parse_single.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_custom_prefix.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_custom_prefix.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_infer_mixed.aster +8 -0
- package/corpus/tier1-equivalence/policies/eff_infer_mixed.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_infer_transitive.aster +10 -0
- package/corpus/tier1-equivalence/policies/eff_infer_transitive.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_infer_wrapper_cpu.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_infer_wrapper_cpu.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_infer_wrapper_io.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_infer_wrapper_io.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_all_caps.aster +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_all_caps.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_cpu_only.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_valid_cpu_only.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_exact_match.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_valid_exact_match.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_exact_match__programs-patterns.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_valid_exact_match__programs-patterns.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_http_sql.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_valid_http_sql.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_nested.aster +13 -0
- package/corpus/tier1-equivalence/policies/eff_valid_nested.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_pure_only.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_valid_pure_only.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_valid_subset_declared.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_valid_subset_declared.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_chain.aster +10 -0
- package/corpus/tier1-equivalence/policies/eff_violation_chain.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_cpu_calls_io.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_violation_cpu_calls_io.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_empty_caps.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_empty_caps.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_files_calls_secrets.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_violation_files_calls_secrets.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_files_only.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_files_only.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_http_calls_sql.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_http_calls_sql.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_http.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_http.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_sql.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_sql.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_time.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_violation_missing_time.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_mixed_caps.aster +6 -0
- package/corpus/tier1-equivalence/policies/eff_violation_mixed_caps.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_multiple_errors.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_violation_multiple_errors.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_nested_a.aster +10 -0
- package/corpus/tier1-equivalence/policies/eff_violation_nested_a.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_nested_b.aster +10 -0
- package/corpus/tier1-equivalence/policies/eff_violation_nested_b.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_pure_calls_cpu.aster +7 -0
- package/corpus/tier1-equivalence/policies/eff_violation_pure_calls_cpu.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_ai.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_ai.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_http.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_secrets_calls_http.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_sql_calls_files.aster +5 -0
- package/corpus/tier1-equivalence/policies/eff_violation_sql_calls_files.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eff_violation_transitive.aster +4 -0
- package/corpus/tier1-equivalence/policies/eff_violation_transitive.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/effect_enforcement.aster +4 -0
- package/corpus/tier1-equivalence/policies/effect_enforcement.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/eligibility.aster +18 -0
- package/corpus/tier1-equivalence/policies/eligibility.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/enum_exhaustiveness.aster +5 -0
- package/corpus/tier1-equivalence/policies/enum_exhaustiveness.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/enum_wildcard.aster +6 -0
- package/corpus/tier1-equivalence/policies/enum_wildcard.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/fetch_dashboard.aster +11 -0
- package/corpus/tier1-equivalence/policies/fetch_dashboard.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/fraud-simple-test.aster +9 -0
- package/corpus/tier1-equivalence/policies/fraud-simple-test.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/fraud.aster +10 -0
- package/corpus/tier1-equivalence/policies/fraud.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/greet.aster +8 -0
- package/corpus/tier1-equivalence/policies/greet.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/hello.aster +4 -0
- package/corpus/tier1-equivalence/policies/hello.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/hipaa-validation-demo.aster +126 -0
- package/corpus/tier1-equivalence/policies/hipaa-validation-demo.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/id_generic.aster +4 -0
- package/corpus/tier1-equivalence/policies/id_generic.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/if_param.aster +7 -0
- package/corpus/tier1-equivalence/policies/if_param.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/incremental.aster +8 -0
- package/corpus/tier1-equivalence/policies/incremental.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/incremental_test.aster +10 -0
- package/corpus/tier1-equivalence/policies/incremental_test.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/incremental_test2.aster +10 -0
- package/corpus/tier1-equivalence/policies/incremental_test2.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/incremental_test3.aster +10 -0
- package/corpus/tier1-equivalence/policies/incremental_test3.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/int_match.aster +8 -0
- package/corpus/tier1-equivalence/policies/int_match.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/int_match_default.aster +7 -0
- package/corpus/tier1-equivalence/policies/int_match_default.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/interop_overload.aster +19 -0
- package/corpus/tier1-equivalence/policies/interop_overload.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/interop_sum.aster +16 -0
- package/corpus/tier1-equivalence/policies/interop_sum.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl.aster +4 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_length.aster +4 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_length.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_length_cmp.aster +4 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_length_cmp.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_math_bool.aster +7 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_math_bool.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_short.aster +4 -0
- package/corpus/tier1-equivalence/policies/lambda_cnl_short.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/life.aster +18 -0
- package/corpus/tier1-equivalence/policies/life.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/list_ops.aster +10 -0
- package/corpus/tier1-equivalence/policies/list_ops.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/loan_fixed.aster +12 -0
- package/corpus/tier1-equivalence/policies/loan_fixed.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/loan_full_test.aster +12 -0
- package/corpus/tier1-equivalence/policies/loan_full_test.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/loan_with_constraints.aster +8 -0
- package/corpus/tier1-equivalence/policies/loan_with_constraints.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/loan_with_int.aster +12 -0
- package/corpus/tier1-equivalence/policies/loan_with_int.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/login.aster +11 -0
- package/corpus/tier1-equivalence/policies/login.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/map_ops.aster +7 -0
- package/corpus/tier1-equivalence/policies/map_ops.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/match_enum.aster +8 -0
- package/corpus/tier1-equivalence/policies/match_enum.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/match_multi.aster +8 -0
- package/corpus/tier1-equivalence/policies/match_multi.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/match_null.aster +6 -0
- package/corpus/tier1-equivalence/policies/match_null.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/nested_generic_function.aster +5 -0
- package/corpus/tier1-equivalence/policies/nested_generic_function.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/patient-record.aster +70 -0
- package/corpus/tier1-equivalence/policies/patient-record.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_function_return.aster +8 -0
- package/corpus/tier1-equivalence/policies/pii_function_return.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_http_safe.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_http_safe.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_http_violation.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_http_violation.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_nested_call.aster +11 -0
- package/corpus/tier1-equivalence/policies/pii_nested_call.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_propagation.aster +5 -0
- package/corpus/tier1-equivalence/policies/pii_propagation.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_basic.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_type_basic.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_in_data.aster +6 -0
- package/corpus/tier1-equivalence/policies/pii_type_in_data.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_in_function.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_type_in_function.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_mixed.aster +8 -0
- package/corpus/tier1-equivalence/policies/pii_type_mixed.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_phone.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_type_phone.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/pii_type_ssn.aster +4 -0
- package/corpus/tier1-equivalence/policies/pii_type_ssn.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/policy_demo.aster +19 -0
- package/corpus/tier1-equivalence/policies/policy_demo.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/policy_engine.aster +28 -0
- package/corpus/tier1-equivalence/policies/policy_engine.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/prescription-workflow.aster +83 -0
- package/corpus/tier1-equivalence/policies/prescription-workflow.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/rest_service.aster +10 -0
- package/corpus/tier1-equivalence/policies/rest_service.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/result_trycatch.aster +4 -0
- package/corpus/tier1-equivalence/policies/result_trycatch.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/risk.aster +8 -0
- package/corpus/tier1-equivalence/policies/risk.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/rules_engine.aster +4 -0
- package/corpus/tier1-equivalence/policies/rules_engine.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/simple_test.aster +6 -0
- package/corpus/tier1-equivalence/policies/simple_test.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/soc2-audit-demo.aster +117 -0
- package/corpus/tier1-equivalence/policies/soc2-audit-demo.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/stdlib_collections.aster +13 -0
- package/corpus/tier1-equivalence/policies/stdlib_collections.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/stdlib_io.aster +13 -0
- package/corpus/tier1-equivalence/policies/stdlib_io.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/stdlib_maybe_result.aster +19 -0
- package/corpus/tier1-equivalence/policies/stdlib_maybe_result.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/stdlib_text.aster +7 -0
- package/corpus/tier1-equivalence/policies/stdlib_text.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/symbolic_operators.aster +21 -0
- package/corpus/tier1-equivalence/policies/symbolic_operators.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test-operators.aster +12 -0
- package/corpus/tier1-equivalence/policies/test-operators.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_all_comparisons.aster +5 -0
- package/corpus/tier1-equivalence/policies/test_all_comparisons.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_arithmetic.aster +4 -0
- package/corpus/tier1-equivalence/policies/test_arithmetic.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_auto.aster +66 -0
- package/corpus/tier1-equivalence/policies/test_auto.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_claims.aster +44 -0
- package/corpus/tier1-equivalence/policies/test_claims.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_complex_return.aster +14 -0
- package/corpus/tier1-equivalence/policies/test_complex_return.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_copy.aster +7 -0
- package/corpus/tier1-equivalence/policies/test_copy.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_division.aster +9 -0
- package/corpus/tier1-equivalence/policies/test_division.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_eligibility.aster +46 -0
- package/corpus/tier1-equivalence/policies/test_eligibility.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_full.aster +14 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_full.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_minimal.aster +10 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_minimal.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_simple.aster +7 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_simple.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_struct.aster +15 -0
- package/corpus/tier1-equivalence/policies/test_eligibility_struct.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_exact_eligibility.aster +18 -0
- package/corpus/tier1-equivalence/policies/test_exact_eligibility.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_gte.aster +4 -0
- package/corpus/tier1-equivalence/policies/test_gte.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_helper1.aster +6 -0
- package/corpus/tier1-equivalence/policies/test_helper1.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_invalid.aster +6 -0
- package/corpus/tier1-equivalence/policies/test_invalid.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_let_in_if.aster +4 -0
- package/corpus/tier1-equivalence/policies/test_let_in_if.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_let_member_call.aster +10 -0
- package/corpus/tier1-equivalence/policies/test_let_member_call.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_life.aster +80 -0
- package/corpus/tier1-equivalence/policies/test_life.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_loan.aster +8 -0
- package/corpus/tier1-equivalence/policies/test_loan.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_operators.aster +5 -0
- package/corpus/tier1-equivalence/policies/test_operators.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_return_with.aster +6 -0
- package/corpus/tier1-equivalence/policies/test_return_with.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_second_func.aster +4 -0
- package/corpus/tier1-equivalence/policies/test_second_func.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_two_ifs.aster +4 -0
- package/corpus/tier1-equivalence/policies/test_two_ifs.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/test_two_statements.aster +12 -0
- package/corpus/tier1-equivalence/policies/test_two_statements.meta.json +9 -0
- package/corpus/tier1-equivalence/policies/text_ops.aster +16 -0
- package/corpus/tier1-equivalence/policies/text_ops.meta.json +9 -0
- package/corpus/tier2-divergent/java-only/11-boolean-and.aster +4 -0
- package/corpus/tier2-divergent/java-only/11-boolean-and.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/12-boolean-or.aster +4 -0
- package/corpus/tier2-divergent/java-only/12-boolean-or.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/14-boolean-short-circuit.aster +4 -0
- package/corpus/tier2-divergent/java-only/14-boolean-short-circuit.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/17-comparison-range.aster +4 -0
- package/corpus/tier2-divergent/java-only/17-comparison-range.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/26-if-bool-condition.aster +9 -0
- package/corpus/tier2-divergent/java-only/26-if-bool-condition.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/27-business-loan-eligibility.aster +4 -0
- package/corpus/tier2-divergent/java-only/27-business-loan-eligibility.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/30-business-gdpr-retention.aster +4 -0
- package/corpus/tier2-divergent/java-only/30-business-gdpr-retention.meta.json +12 -0
- package/corpus/tier2-divergent/java-only/neq_test.aster +10 -0
- package/corpus/tier2-divergent/java-only/neq_test.meta.json +11 -0
- package/corpus/tier2-divergent/ts-only/03-if-else.aster +9 -0
- package/corpus/tier2-divergent/ts-only/03-if-else.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/03-if-else.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/18-comparison-chained.aster +9 -0
- package/corpus/tier2-divergent/ts-only/18-comparison-chained.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/18-comparison-chained.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/21-let-conditional.aster +8 -0
- package/corpus/tier2-divergent/ts-only/21-let-conditional.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/21-let-conditional.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/22-let-shadowing.aster +9 -0
- package/corpus/tier2-divergent/ts-only/22-let-shadowing.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/22-let-shadowing.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/23-if-nested.aster +10 -0
- package/corpus/tier2-divergent/ts-only/23-if-nested.cases.json +30 -0
- package/corpus/tier2-divergent/ts-only/23-if-nested.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/24-if-guard-clause.aster +6 -0
- package/corpus/tier2-divergent/ts-only/24-if-guard-clause.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/24-if-guard-clause.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/25-if-multi-branch.aster +11 -0
- package/corpus/tier2-divergent/ts-only/25-if-multi-branch.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/25-if-multi-branch.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.aster +11 -0
- package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.cases.json +27 -0
- package/corpus/tier2-divergent/ts-only/29-business-tax-bracket.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/comparison_operators.aster +10 -0
- package/corpus/tier2-divergent/ts-only/comparison_operators.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/cross_compiler_ops.aster +73 -0
- package/corpus/tier2-divergent/ts-only/cross_compiler_ops.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/enterprise.aster +119 -0
- package/corpus/tier2-divergent/ts-only/enterprise.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind.aster +18 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind__programs-patterns.aster +18 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_bind__programs-patterns.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe__programs-patterns.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_maybe__programs-patterns.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result__programs-patterns.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_match_result__programs-patterns.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_mixed.aster +11 -0
- package/corpus/tier2-divergent/ts-only/lambda_cnl_mixed.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_gte_test.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_gte_test.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/lambda_lte_test.aster +8 -0
- package/corpus/tier2-divergent/ts-only/lambda_lte_test.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/loan.aster +12 -0
- package/corpus/tier2-divergent/ts-only/loan.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/nested_generic_lambda.aster +7 -0
- package/corpus/tier2-divergent/ts-only/nested_generic_lambda.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/personal.aster +113 -0
- package/corpus/tier2-divergent/ts-only/personal.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/test_all_comparisons__ts-only.aster +9 -0
- package/corpus/tier2-divergent/ts-only/test_all_comparisons__ts-only.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/test_eligibility_with_ifs.aster +18 -0
- package/corpus/tier2-divergent/ts-only/test_eligibility_with_ifs.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/test_let_with_call.aster +6 -0
- package/corpus/tier2-divergent/ts-only/test_let_with_call.meta.json +12 -0
- package/corpus/tier2-divergent/ts-only/test_operators__ts-only.aster +6 -0
- package/corpus/tier2-divergent/ts-only/test_operators__ts-only.meta.json +12 -0
- package/corpus/tier3-fixtures/comments/comment1.in.aster +6 -0
- package/corpus/tier3-fixtures/comments/comment1.in.meta.json +9 -0
- package/corpus/tier3-fixtures/comments/comment1.out.aster +4 -0
- package/corpus/tier3-fixtures/comments/comment1.out.meta.json +9 -0
- package/corpus/tier3-fixtures/comments/comment2.in.aster +6 -0
- package/corpus/tier3-fixtures/comments/comment2.in.meta.json +9 -0
- package/corpus/tier3-fixtures/comments/comment2.out.aster +5 -0
- package/corpus/tier3-fixtures/comments/comment2.out.meta.json +9 -0
- package/corpus/tier3-fixtures/comments/comment3.in.aster +8 -0
- package/corpus/tier3-fixtures/comments/comment3.in.meta.json +9 -0
- package/corpus/tier3-fixtures/comments/comment3.out.aster +8 -0
- package/corpus/tier3-fixtures/comments/comment3.out.meta.json +9 -0
- package/corpus/tier3-fixtures/fixtures/capability-violations.aster +15 -0
- package/corpus/tier3-fixtures/fixtures/capability-violations.meta.json +9 -0
- package/corpus/tier3-fixtures/fixtures/parallel-workflow.aster +4 -0
- package/corpus/tier3-fixtures/fixtures/parallel-workflow.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-ast/workflow-compensate.aster +15 -0
- package/corpus/tier3-fixtures/golden-ast/workflow-compensate.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-ast/workflow-linear__golden-ast.aster +14 -0
- package/corpus/tier3-fixtures/golden-ast/workflow-linear__golden-ast.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/bad_division_by_zero.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/bad_division_by_zero.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/bad_list_index_out_of_bounds.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/bad_list_index_out_of_bounds.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/bad_text_substring_negative.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/bad_text_substring_negative.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/bad_type_mismatch_add_text.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/bad_type_mismatch_add_text.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_empty_generic_list.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_empty_generic_list.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_empty_list_length.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_empty_list_length.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_list_slice_zero.aster +5 -0
- package/corpus/tier3-fixtures/golden-core/boundary_list_slice_zero.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_map_type.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_map_type.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_maybe_match.aster +6 -0
- package/corpus/tier3-fixtures/golden-core/boundary_maybe_match.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_null_match_default.aster +6 -0
- package/corpus/tier3-fixtures/golden-core/boundary_null_match_default.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_result_both.aster +7 -0
- package/corpus/tier3-fixtures/golden-core/boundary_result_both.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_result_err_null.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_result_err_null.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_text_empty_concat.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_text_empty_concat.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/boundary_text_trim_whitespace.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/boundary_text_trim_whitespace.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/eff_generic_func.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/eff_generic_func.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/eff_multiple_caps.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/eff_multiple_caps.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/generic_list_of_results.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/generic_list_of_results.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/generic_result_maybe.aster +6 -0
- package/corpus/tier3-fixtures/golden-core/generic_result_maybe.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/if_param__golden-core.aster +7 -0
- package/corpus/tier3-fixtures/golden-core/if_param__golden-core.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/inventory_workflow.aster +16 -0
- package/corpus/tier3-fixtures/golden-core/inventory_workflow.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/login__golden-core.aster +11 -0
- package/corpus/tier3-fixtures/golden-core/login__golden-core.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/payment_workflow.aster +16 -0
- package/corpus/tier3-fixtures/golden-core/payment_workflow.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/pii_param_return.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/pii_param_return.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/pii_result_type.aster +4 -0
- package/corpus/tier3-fixtures/golden-core/pii_result_type.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/type_inference_cnl.aster +146 -0
- package/corpus/tier3-fixtures/golden-core/type_inference_cnl.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/workflow-diamond.aster +19 -0
- package/corpus/tier3-fixtures/golden-core/workflow-diamond.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-core/workflow-linear__golden-core.aster +22 -0
- package/corpus/tier3-fixtures/golden-core/workflow-linear__golden-core.meta.json +9 -0
- package/corpus/tier3-fixtures/golden-diagnostics/pii_http_violation__golden-diagnostics.aster +4 -0
- package/corpus/tier3-fixtures/golden-diagnostics/pii_http_violation__golden-diagnostics.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello.aster +8 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-en-US.aster +7 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-zh-CN.aster +8 -0
- package/corpus/tier3-fixtures/lexicon-i18n/01-hello__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types.aster +10 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-en-US.aster +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-zh-CN.aster +24 -0
- package/corpus/tier3-fixtures/lexicon-i18n/02-types__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-en-US.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-zh-CN.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/03-functions__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow.aster +35 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-en-US.aster +35 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-zh-CN.aster +35 -0
- package/corpus/tier3-fixtures/lexicon-i18n/04-control-flow__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-en-US.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-zh-CN.aster +27 -0
- package/corpus/tier3-fixtures/lexicon-i18n/05-patterns__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators.aster +49 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-en-US.aster +49 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-en-US.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-zh-CN.aster +49 -0
- package/corpus/tier3-fixtures/lexicon-i18n/06-operators__i18n-zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/arithmetic.aster +24 -0
- package/corpus/tier3-fixtures/lexicon-i18n/arithmetic.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/hello__zh-CN.aster +6 -0
- package/corpus/tier3-fixtures/lexicon-i18n/hello__zh-CN.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/loan_decision.aster +21 -0
- package/corpus/tier3-fixtures/lexicon-i18n/loan_decision.meta.json +9 -0
- package/corpus/tier3-fixtures/lexicon-i18n/user_greeting.aster +10 -0
- package/corpus/tier3-fixtures/lexicon-i18n/user_greeting.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly1.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly1.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly1.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly1.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly10.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly10.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly10.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly10.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly11.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly11.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly11.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly11.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly12.in.aster +6 -0
- package/corpus/tier3-fixtures/lossless/ugly12.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly12.out.aster +5 -0
- package/corpus/tier3-fixtures/lossless/ugly12.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly13.in.aster +6 -0
- package/corpus/tier3-fixtures/lossless/ugly13.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly13.out.aster +6 -0
- package/corpus/tier3-fixtures/lossless/ugly13.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly14.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly14.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly14.out.aster +6 -0
- package/corpus/tier3-fixtures/lossless/ugly14.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly2.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly2.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly2.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly2.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly3.in.aster +6 -0
- package/corpus/tier3-fixtures/lossless/ugly3.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly3.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly3.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly4.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly4.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly4.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly4.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly5.in.aster +7 -0
- package/corpus/tier3-fixtures/lossless/ugly5.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly5.out.aster +5 -0
- package/corpus/tier3-fixtures/lossless/ugly5.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly6.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly6.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly6.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly6.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly7.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly7.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly7.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly7.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly8.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly8.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly8.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly8.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly9.in.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly9.in.meta.json +9 -0
- package/corpus/tier3-fixtures/lossless/ugly9.out.aster +4 -0
- package/corpus/tier3-fixtures/lossless/ugly9.out.meta.json +9 -0
- package/corpus/tier3-fixtures/lsp/a.aster +5 -0
- package/corpus/tier3-fixtures/lsp/a.meta.json +9 -0
- package/corpus/tier3-fixtures/lsp/b.aster +5 -0
- package/corpus/tier3-fixtures/lsp/b.meta.json +9 -0
- package/corpus/tier3-fixtures/lsp/bar.aster +7 -0
- package/corpus/tier3-fixtures/lsp/bar.meta.json +9 -0
- package/corpus/tier3-fixtures/lsp/foo.aster +7 -0
- package/corpus/tier3-fixtures/lsp/foo.meta.json +9 -0
- package/corpus/tier3-fixtures/parser-error/simple_function.aster +4 -0
- package/corpus/tier3-fixtures/parser-error/simple_function.meta.json +9 -0
- package/corpus/tier3-fixtures/parser-error/test-bad-syntax.aster +4 -0
- package/corpus/tier3-fixtures/parser-error/test-bad-syntax.meta.json +9 -0
- package/corpus/tier3-fixtures/parser-error/test-number-type.aster +6 -0
- package/corpus/tier3-fixtures/parser-error/test-number-type.meta.json +9 -0
- package/corpus/tier3-fixtures/parser-error/test_if_syntax.aster +8 -0
- package/corpus/tier3-fixtures/parser-error/test_if_syntax.meta.json +7 -0
- package/corpus/tier3-fixtures/parser-error/with_data_type.aster +4 -0
- package/corpus/tier3-fixtures/parser-error/with_data_type.meta.json +9 -0
- package/corpus/tier3-fixtures/policy-converter/async_policy.aster +9 -0
- package/corpus/tier3-fixtures/policy-converter/async_policy.meta.json +9 -0
- package/corpus/tier3-fixtures/policy-converter/data_policy.aster +9 -0
- package/corpus/tier3-fixtures/policy-converter/data_policy.meta.json +9 -0
- package/corpus/tier3-fixtures/policy-converter/effects_policy.aster +7 -0
- package/corpus/tier3-fixtures/policy-converter/effects_policy.meta.json +9 -0
- package/corpus/tier3-fixtures/policy-converter/simple_policy.aster +7 -0
- package/corpus/tier3-fixtures/policy-converter/simple_policy.meta.json +9 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_max_attempts.aster +13 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_max_attempts.meta.json +9 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_success.aster +13 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_success.meta.json +9 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_with_timeout.aster +4 -0
- package/corpus/tier3-fixtures/runtime-retry/retry_with_timeout.meta.json +9 -0
- package/corpus/tier3-fixtures/truffle/smoke-test.aster +4 -0
- package/corpus/tier3-fixtures/truffle/smoke-test.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/async_duplicate_start.aster +7 -0
- package/corpus/tier3-fixtures/type-checker/async_duplicate_start.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/async_duplicate_wait.aster +7 -0
- package/corpus/tier3-fixtures/type-checker/async_duplicate_wait.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/async_missing_wait.aster +5 -0
- package/corpus/tier3-fixtures/type-checker/async_missing_wait.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/async_wait_not_started.aster +5 -0
- package/corpus/tier3-fixtures/type-checker/async_wait_not_started.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/basic_types.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/basic_types.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/capability_missing_decl.aster +5 -0
- package/corpus/tier3-fixtures/type-checker/capability_missing_decl.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/effect_missing_cpu.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/effect_missing_cpu.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/effect_missing_io.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/effect_missing_io.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/effect_var_basic.aster +8 -0
- package/corpus/tier3-fixtures/type-checker/effect_var_basic.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/generics.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/generics.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/inventory_capability_missing_io.aster +7 -0
- package/corpus/tier3-fixtures/type-checker/inventory_capability_missing_io.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/inventory_capability_success.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/inventory_capability_success.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/lambda_with_effects.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/lambda_with_effects.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/list_literal_mismatch.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/list_literal_mismatch.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/payment_capability_missing_io.aster +7 -0
- package/corpus/tier3-fixtures/type-checker/payment_capability_missing_io.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/payment_capability_success.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/payment_capability_success.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/pii_http_violation__type-checker.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/pii_http_violation__type-checker.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/return_type_mismatch.aster +4 -0
- package/corpus/tier3-fixtures/type-checker/return_type_mismatch.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/type_mismatch_assign.aster +7 -0
- package/corpus/tier3-fixtures/type-checker/type_mismatch_assign.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/with_external_package.aster +6 -0
- package/corpus/tier3-fixtures/type-checker/with_external_package.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-compensate-new-cap.aster +11 -0
- package/corpus/tier3-fixtures/type-checker/workflow-compensate-new-cap.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-linear__type-checker.aster +23 -0
- package/corpus/tier3-fixtures/type-checker/workflow-linear__type-checker.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-missing-compensate.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-missing-compensate.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-missing-io.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-missing-io.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-type-mismatch.aster +11 -0
- package/corpus/tier3-fixtures/type-checker/workflow-type-mismatch.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-undeclared-capability.aster +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow-undeclared-capability.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_exponential.aster +13 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_exponential.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_many_attempts.aster +13 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_many_attempts.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_timeout_conflict.aster +15 -0
- package/corpus/tier3-fixtures/type-checker/workflow_retry_timeout_conflict.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_long.aster +11 -0
- package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_long.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_short.aster +11 -0
- package/corpus/tier3-fixtures/type-checker/workflow_timeout_too_short.meta.json +9 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/external-packages/mock/pkg/analytics/remote.aster +4 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/external-packages/mock/pkg/analytics/remote.meta.json +7 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_a.aster +4 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_a.meta.json +7 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b.aster +6 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b.meta.json +7 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b_external.aster +6 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b_external.meta.json +7 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b_missing_pkg.aster +6 -0
- package/corpus/tier3-fixtures/type-checker-cross-module/module_b_missing_pkg.meta.json +7 -0
- package/dist/loader.d.ts +55 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +97 -0
- package/dist/loader.js.map +1 -0
- package/dist/test/loader.test.d.ts +2 -0
- package/dist/test/loader.test.d.ts.map +1 -0
- package/dist/test/loader.test.js +45 -0
- package/dist/test/loader.test.js.map +1 -0
- package/package.json +34 -0
|
@@ -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,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,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,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,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,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,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,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,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,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,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
|
+
返回 决定 包含 是否批准 将 设为 真, 理由 将 设为 「审核通过」。
|