Commit 8f35d0c
authored
feat(sdk): add MAS FEAT compliance module (#58)
* feat(masfeat): add MAS FEAT compliance types
Add MAS FEAT (Singapore MAS) compliance types:
Enums:
- MaterialityClassification (high/medium/low)
- SystemStatus (draft/active/suspended/retired)
- FEATAssessmentStatus (pending/in_progress/completed/approved/rejected)
- KillSwitchStatus (enabled/disabled/triggered)
- AISystemUseCase (credit_scoring, robo_advisory, etc.)
Request/Response Types (all with Builder pattern):
- RegisterSystemRequest, AISystemRegistry, RegistrySummary
- CreateAssessmentRequest, UpdateAssessmentRequest, FEATAssessment
- ConfigureKillSwitchRequest, CheckKillSwitchRequest, KillSwitch
- ApproveAssessmentRequest, RejectAssessmentRequest
- TriggerKillSwitchRequest, RestoreKillSwitchRequest
- KillSwitchEvent
Enterprise Feature: Requires AxonFlow Enterprise license.
* docs(changelog): add MAS FEAT compliance module to v2.7.0
* test: add comprehensive tests for MAS FEAT types
Add tests for all enums, request builders, and response types in
the MAS FEAT compliance module to improve coverage.
* feat(masfeat): add Finding class with proper fields
Replace List<String> with List<Finding> for type safety.
Add FEATPillar, FindingSeverity, FindingStatus enums.
Finding includes: id, pillar, severity, category, description,
status, remediation, dueDate.
* feat(masfeat): add MAS FEAT compliance namespace
Add MASFEATNamespace inner class with all MAS FEAT API methods:
Registry:
- registerSystem, activateSystem, getSystem, getRegistrySummary
Assessments:
- createAssessment, getAssessment, updateAssessment
- submitAssessment, approveAssessment, rejectAssessment
Kill Switch:
- getKillSwitch, configureKillSwitch, triggerKillSwitch
- restoreKillSwitch, getKillSwitchHistory
Includes field name mapping (customerImpact → risk_rating_impact, etc.)
and response parsing with alternate field name handling.
* fix(test): use proper Finding objects instead of strings in MASFEATTypesTest
* test(masfeat): add client method tests for MAS FEAT API
* fix(tests): use WireMock for MAS FEAT client tests
- Switch from MockWebServer to WireMock (consistent with project)
- Fix activateSystem test to match PUT /registry/{id} endpoint
- Fix method signatures (approveAssessment, restoreKillSwitch, etc)
- Remove listSystems test (method not implemented yet)
- Use string comparison for KillSwitchEvent eventType1 parent 9d3ad05 commit 8f35d0c
6 files changed
Lines changed: 2786 additions & 0 deletions
File tree
- src
- main/java/com/getaxonflow/sdk
- masfeat
- test/java/com/getaxonflow/sdk/masfeat
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
12 | 22 | | |
13 | 23 | | |
14 | 24 | | |
| |||
0 commit comments