@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,11 @@
|
|
|
1
|
+
Define User has id, name.
|
|
2
|
+
|
|
3
|
+
Define Dash has profile, timeline.
|
|
4
|
+
|
|
5
|
+
Define AuthErr as one of InvalidCreds, Locked.
|
|
6
|
+
|
|
7
|
+
Rule fetchDashboard given u, produce. It performs io:
|
|
8
|
+
Start profile as async ProfileSvc.load(u.id).
|
|
9
|
+
Start timeline as async FeedSvc.timeline(u.id).
|
|
10
|
+
Wait for profile and timeline.
|
|
11
|
+
Return ok of Dash(profile, timeline).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Module aster.finance.fraud.
|
|
2
|
+
|
|
3
|
+
Define Transaction has transactionId, accountId, amount, timestamp.
|
|
4
|
+
|
|
5
|
+
Define AccountHistory has accountId, averageAmount, suspiciousCount, accountAge, lastTimestamp.
|
|
6
|
+
|
|
7
|
+
Define FraudResult has isSuspicious, riskScore, reason.
|
|
8
|
+
|
|
9
|
+
Rule detectFraud given transaction, history, produce:
|
|
10
|
+
Return 0.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# ========================================
|
|
2
|
+
# HIPAA Compliance Demo: PHI Validation & Access Control
|
|
3
|
+
# §164.312 - Access Control & Audit Controls
|
|
4
|
+
# ========================================
|
|
5
|
+
|
|
6
|
+
Module examples.compliance.hipaa_validation_demo.
|
|
7
|
+
|
|
8
|
+
# HIPAA 访问控制级别(服务端定义,不可客户端伪造)
|
|
9
|
+
Define AccessLevel has
|
|
10
|
+
level_name,
|
|
11
|
+
can_view_demographics,
|
|
12
|
+
can_view_medical,
|
|
13
|
+
can_view_financial,
|
|
14
|
+
can_modify.
|
|
15
|
+
|
|
16
|
+
# PHI 数据分类
|
|
17
|
+
Define PHICategory has
|
|
18
|
+
category,
|
|
19
|
+
sensitivity,
|
|
20
|
+
requires_consent,
|
|
21
|
+
retention_years.
|
|
22
|
+
|
|
23
|
+
# 访问请求
|
|
24
|
+
Define PHIAccessRequest has
|
|
25
|
+
user_id,
|
|
26
|
+
user_role,
|
|
27
|
+
phi_category_name,
|
|
28
|
+
purpose,
|
|
29
|
+
has_consent.
|
|
30
|
+
|
|
31
|
+
# HIPAA 验证结果
|
|
32
|
+
Define HIPAAValidation has
|
|
33
|
+
is_compliant,
|
|
34
|
+
passed_count,
|
|
35
|
+
failed_count,
|
|
36
|
+
message.
|
|
37
|
+
|
|
38
|
+
# 定义访问级别(服务端权威函数)
|
|
39
|
+
Rule get_access_level given role, produce:
|
|
40
|
+
If role equals to "physician"
|
|
41
|
+
Return AccessLevel with level_name set to "FULL", can_view_demographics set to true, can_view_medical set to true, can_view_financial set to false, can_modify set to true.
|
|
42
|
+
If role equals to "nurse"
|
|
43
|
+
Return AccessLevel with level_name set to "CLINICAL", can_view_demographics set to true, can_view_medical set to true, can_view_financial set to false, can_modify set to false.
|
|
44
|
+
If role equals to "billing"
|
|
45
|
+
Return AccessLevel with level_name set to "BILLING", can_view_demographics set to true, can_view_medical set to false, can_view_financial set to true, can_modify set to false.
|
|
46
|
+
If role equals to "admin"
|
|
47
|
+
Return AccessLevel with level_name set to "ADMIN", can_view_demographics set to true, can_view_medical set to false, can_view_financial set to false, can_modify set to false.
|
|
48
|
+
Return AccessLevel with level_name set to "NONE", can_view_demographics set to false, can_view_medical set to false, can_view_financial set to false, can_modify set to false.
|
|
49
|
+
|
|
50
|
+
# 定义 PHI 类别
|
|
51
|
+
Rule get_phi_category given category_name, produce:
|
|
52
|
+
If category_name equals to "demographics"
|
|
53
|
+
Return PHICategory with category set to "DEMOGRAPHICS", sensitivity set to "L2", requires_consent set to false, retention_years set to 6.
|
|
54
|
+
If category_name equals to "medical"
|
|
55
|
+
Return PHICategory with category set to "MEDICAL", sensitivity set to "L3", requires_consent set to true, retention_years set to 10.
|
|
56
|
+
If category_name equals to "financial"
|
|
57
|
+
Return PHICategory with category set to "FINANCIAL", sensitivity set to "L2", requires_consent set to false, retention_years set to 7.
|
|
58
|
+
If category_name equals to "psychotherapy"
|
|
59
|
+
Return PHICategory with category set to "PSYCHOTHERAPY", sensitivity set to "L3", requires_consent set to true, retention_years set to 10.
|
|
60
|
+
Return PHICategory with category set to "UNKNOWN", sensitivity set to "L3", requires_consent set to true, retention_years set to 10.
|
|
61
|
+
|
|
62
|
+
# HIPAA §164.312(a) - 访问控制验证
|
|
63
|
+
Rule validate_access_control given request, produce:
|
|
64
|
+
Let level be get_access_level(request.user_role).
|
|
65
|
+
Let category be get_phi_category(request.phi_category_name).
|
|
66
|
+
If category.category equals to "MEDICAL"
|
|
67
|
+
If level.can_view_medical equals to false
|
|
68
|
+
Return err of Text.concat("HIPAA: Role ", request.user_role, " cannot access medical records").
|
|
69
|
+
If category.category equals to "FINANCIAL"
|
|
70
|
+
If level.can_view_financial equals to false
|
|
71
|
+
Return err of Text.concat("HIPAA: Role ", request.user_role, " cannot access financial records").
|
|
72
|
+
If category.category equals to "PSYCHOTHERAPY"
|
|
73
|
+
If level.can_view_medical equals to false
|
|
74
|
+
Return err of Text.concat("HIPAA: Role ", request.user_role, " cannot access psychotherapy notes").
|
|
75
|
+
Return ok of Text.concat("Access validated for role: ", request.user_role).
|
|
76
|
+
|
|
77
|
+
# HIPAA §164.508 - 同意验证
|
|
78
|
+
Rule validate_consent given request, produce:
|
|
79
|
+
Let category be get_phi_category(request.phi_category_name).
|
|
80
|
+
If category.requires_consent
|
|
81
|
+
If request.has_consent equals to false
|
|
82
|
+
Return err of Text.concat("HIPAA: Consent required for ", category.category).
|
|
83
|
+
Return ok of "Consent validated".
|
|
84
|
+
|
|
85
|
+
# HIPAA §164.512 - 使用目的验证
|
|
86
|
+
Rule validate_purpose given request, produce:
|
|
87
|
+
If request.purpose equals to "treatment"
|
|
88
|
+
Return ok of "Purpose validated".
|
|
89
|
+
If request.purpose equals to "payment"
|
|
90
|
+
Return ok of "Purpose validated".
|
|
91
|
+
If request.purpose equals to "healthcare_operations"
|
|
92
|
+
Return ok of "Purpose validated".
|
|
93
|
+
Return err of Text.concat("HIPAA: Purpose ", request.purpose, " is not permitted").
|
|
94
|
+
|
|
95
|
+
# 完整 HIPAA 合规验证(简化版 - 仅检查访问控制)
|
|
96
|
+
Rule validate_hipaa_compliance given request, produce:
|
|
97
|
+
Let access_result be validate_access_control(request).
|
|
98
|
+
Let consent_result be validate_consent(request).
|
|
99
|
+
Let purpose_result be validate_purpose(request).
|
|
100
|
+
If Result.isOk(access_result)
|
|
101
|
+
If Result.isOk(consent_result)
|
|
102
|
+
If Result.isOk(purpose_result)
|
|
103
|
+
Return HIPAAValidation with is_compliant set to true, passed_count set to 3, failed_count set to 0, message set to "All HIPAA checks passed".
|
|
104
|
+
Return HIPAAValidation with is_compliant set to false, passed_count set to 0, failed_count set to 1, message set to "HIPAA compliance failed".
|
|
105
|
+
|
|
106
|
+
# 生成 HIPAA 合规报告
|
|
107
|
+
Rule generate_hipaa_report given user_id, validation, produce:
|
|
108
|
+
If validation.is_compliant
|
|
109
|
+
Return Text.concat("HIPAA COMPLIANCE: PASSED for ", user_id).
|
|
110
|
+
Otherwise
|
|
111
|
+
Return Text.concat("HIPAA COMPLIANCE: FAILED for ", user_id, ". Failed checks: ", Int.toString(validation.failed_count)).
|
|
112
|
+
|
|
113
|
+
# 示例:医生访问医疗记录(合规)
|
|
114
|
+
Rule demo_compliant_access, produce:
|
|
115
|
+
Let request be PHIAccessRequest with user_id set to "DR-001", user_role set to "physician", phi_category_name set to "medical", purpose set to "treatment", has_consent set to true.
|
|
116
|
+
Return validate_hipaa_compliance(request).
|
|
117
|
+
|
|
118
|
+
# 示例:账单人员访问医疗记录(不合规)
|
|
119
|
+
Rule demo_non_compliant_access, produce:
|
|
120
|
+
Let request be PHIAccessRequest with user_id set to "BILL-001", user_role set to "billing", phi_category_name set to "medical", purpose set to "payment", has_consent set to false.
|
|
121
|
+
Return validate_hipaa_compliance(request).
|
|
122
|
+
|
|
123
|
+
# 示例:攻击者尝试伪造权限
|
|
124
|
+
Rule demo_spoofed_access_blocked, produce:
|
|
125
|
+
Let request be PHIAccessRequest with user_id set to "ATTACKER-001", user_role set to "admin", phi_category_name set to "medical", purpose set to "curiosity", has_consent set to false.
|
|
126
|
+
Return validate_hipaa_compliance(request).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Module aster.finance.loan.
|
|
2
|
+
|
|
3
|
+
Define LoanApplication has applicantId, amount, termMonths, purpose.
|
|
4
|
+
|
|
5
|
+
Define ApplicantProfile has age, creditScore, annualIncome, monthlyDebt, yearsEmployed.
|
|
6
|
+
|
|
7
|
+
Define LoanDecision has approved, reason, approvedAmount, interestRate, termMonths.
|
|
8
|
+
|
|
9
|
+
Rule evaluateLoanEligibility given application, applicant, produce:
|
|
10
|
+
Return LoanDecision with approved set to true, reason set to "OK", approvedAmount set to 0, interestRate set to 0, termMonths set to 0.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Module aster.finance.loan.
|
|
2
|
+
|
|
3
|
+
Define LoanApplication has applicantId, amount, termMonths, purpose.
|
|
4
|
+
|
|
5
|
+
Define ApplicantProfile has age, creditScore, annualIncome, monthlyDebt, yearsEmployed.
|
|
6
|
+
|
|
7
|
+
Define LoanDecision has approved, reason, approvedAmount, interestRate, termMonths.
|
|
8
|
+
|
|
9
|
+
Rule evaluateLoanEligibility given application, applicant, produce:
|
|
10
|
+
Return 0.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Module aster.finance.loan.
|
|
2
|
+
|
|
3
|
+
Define LoanApplication has applicantId, amount, termMonths, purpose.
|
|
4
|
+
|
|
5
|
+
Define ApplicantProfile has age, creditScore, annualIncome, monthlyDebt, yearsEmployed.
|
|
6
|
+
|
|
7
|
+
Define LoanDecision has approved, reason, approvedAmount, interestRate, termMonths.
|
|
8
|
+
|
|
9
|
+
Rule evaluateLoanEligibility given application, applicant, produce:
|
|
10
|
+
Return 0.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Module demo.interop.
|
|
2
|
+
|
|
3
|
+
Rule pickInt, produce:
|
|
4
|
+
Return Interop.pick(1).
|
|
5
|
+
|
|
6
|
+
Rule pickObj, produce:
|
|
7
|
+
Return Interop.pick(null).
|
|
8
|
+
|
|
9
|
+
Rule pickBool, produce:
|
|
10
|
+
Return Interop.pick(true).
|
|
11
|
+
|
|
12
|
+
Rule pickStr, produce:
|
|
13
|
+
Return Interop.pick("hello").
|
|
14
|
+
|
|
15
|
+
Rule pickLong, produce:
|
|
16
|
+
Return Interop.pick(1L).
|
|
17
|
+
|
|
18
|
+
Rule pickDouble, produce:
|
|
19
|
+
Return Interop.pick(1.0).
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Module demo.interop.sumdemo.
|
|
2
|
+
|
|
3
|
+
Rule sumInt, produce:
|
|
4
|
+
Return Interop.sum(1, 2).
|
|
5
|
+
|
|
6
|
+
Rule sumLong, produce:
|
|
7
|
+
Return Interop.sum(1L, 2L).
|
|
8
|
+
|
|
9
|
+
Rule sumDouble, produce:
|
|
10
|
+
Return Interop.sum(1.0, 2.0).
|
|
11
|
+
|
|
12
|
+
Rule sumIntLong, produce:
|
|
13
|
+
Return Interop.sum(1, 2L).
|
|
14
|
+
|
|
15
|
+
Rule sumIntDouble, produce:
|
|
16
|
+
Return Interop.sum(1, 2.0).
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Module aster.insurance.life.
|
|
2
|
+
|
|
3
|
+
Define Applicant has applicantId, age, gender, smoker, bmi, occupation, healthScore.
|
|
4
|
+
|
|
5
|
+
Define PolicyRequest has coverageAmount, termYears, policyType.
|
|
6
|
+
|
|
7
|
+
Define LifeQuote has approved, reason, monthlyPremium, coverageAmount, termYears.
|
|
8
|
+
|
|
9
|
+
Rule generateLifeQuote given applicant, request, produce:
|
|
10
|
+
Return 0.
|
|
11
|
+
Rule calculateBaseRate given age, termYears, produce:
|
|
12
|
+
Return 0.
|
|
13
|
+
Rule calculateHealthMultiplier given applicant, produce:
|
|
14
|
+
Return 0.
|
|
15
|
+
Rule calculateOccupationMultiplier given occupation, produce:
|
|
16
|
+
Return 0.
|
|
17
|
+
Rule calculateRiskScore given applicant, produce:
|
|
18
|
+
Return 0.
|