mirror of
https://github.com/luxfi/aml.git
synced 2026-09-24 00:25:20 +00:00
A Go AML engine: a configurable rules DSL over expr-lang with weight-of-evidence scoring, sanctions screening against OFAC/UN/EU/HMT, case management, and scored alerting. Single binary, embedded SQLite per org, embedded UI. Surface (all /v1, org-scoped): /v1/aml/transactions ingest and score /v1/aml/rules /rules/test the rules DSL and its dry-run /v1/aml/sanctions/search list screening /v1/aml/cases investigation workflow /v1/aml/health Build: make build produces one static binary with the UI embedded (embedui tag); bare Go tooling needs no Node. Third-party license and notice texts are generated from the module graph the linker actually walks and ship beside every artifact. Co-authored-by: Hanzo Dev <[email protected]>
26 lines
612 B
Go
26 lines
612 B
Go
//go:build embedui
|
|
|
|
// Package ui embeds the AML admin dashboard built with Vite + React.
|
|
//
|
|
// The Go HTTP handler serves the admin UI at the /_/aml/ path. `make ui`
|
|
// produces dist/; the //go:embed directive below picks up the result.
|
|
package ui
|
|
|
|
import (
|
|
"embed"
|
|
"io/fs"
|
|
)
|
|
|
|
//go:embed all:dist
|
|
var distFS embed.FS
|
|
|
|
// DistDirFS returns a rooted fs.FS pointing at dist/ so it can be passed
|
|
// directly to the Base router's Static handler.
|
|
func DistDirFS() fs.FS {
|
|
sub, err := fs.Sub(distFS, "dist")
|
|
if err != nil {
|
|
panic("aml-ui: dist/ missing — run `make ui` first: " + err.Error())
|
|
}
|
|
return sub
|
|
}
|