Los agentes de IA toman decisiones a diario sin verificación. Soulprint lo resuelve: ZK Proofs, 100% local, código abierto.
🇨🇱 El RUN chileno no está en Soulprint. ¿Lo agregas?
🇨🇱 Chile: RUN/RUT
Formato: 12345678-9 o 12345678-K. Algoritmo mod-11 para dÃgito verificador.
// packages/verify-local/src/document/countries/CL.ts
const CL: CountryVerifier = {
countryCode: "CL", countryName: "Chile",
documentTypes: ["run"],
parse(ocrText: string): DocumentResult {
const run = ocrText.match(/(\d{7,8}-[\dK])/)?.[1] ?? "";
return { valid: !!run, doc_number: run.replace("-",""), country: "CL" };
},
validate(docNumber: string): NumberValidation {
const clean = docNumber.replace(/[.-]/g,"").toUpperCase();
const body = clean.slice(0,-1), dv = clean.slice(-1);
let sum=0, mult=2;
for(let i=body.length-1;i>=0;i--){ sum+=Number(body[i])*mult; mult=mult===7?2:mult+1; }
const expected = (11-(sum%11))===11?"0":(11-(sum%11))===10?"K":String(11-(sum%11));
return { valid: dv===expected };
},
};
export default CL;
💻 GitHub · Un PR. Un paÃs.
Top comments (0)