UNPKG

@ansvar/singapore-law-mcp

Version:

Complete Singapore law database — 523 Acts, 28K+ provisions from Singapore Statutes Online (sso.agc.gov.sg) with full-text search, definitions, and citation support

46 lines 1.68 kB
/** * get_singapore_implementations — Find Singapore statutes implementing a specific EU directive/regulation * or international framework. * * Singapore is not an EU member but many Singapore laws align with or reference * EU regulations (e.g., PDPA aligns with GDPR) and international frameworks (ASEAN). */ import { generateResponseMetadata } from '../utils/metadata.js'; export async function getSingaporeImplementations(db, input) { try { db.prepare('SELECT 1 FROM eu_references LIMIT 1').get(); } catch { return { results: [], _metadata: { ...generateResponseMetadata(db), ...{ note: 'EU/international references not available in this database tier' }, }, }; } let sql = ` SELECT ld.id as document_id, ld.title as document_title, ld.status, er.reference_type, MAX(er.implementation_status) as implementation_status, MAX(er.is_primary_implementation) as is_primary, COUNT(*) as reference_count FROM eu_references er JOIN legal_documents ld ON ld.id = er.document_id WHERE er.eu_document_id = ? `; const params = [input.eu_document_id]; if (input.primary_only) { sql += ' AND er.is_primary_implementation = 1'; } if (input.in_force_only) { sql += " AND ld.status = 'in_force'"; } sql += ' GROUP BY ld.id, er.reference_type ORDER BY is_primary DESC, reference_count DESC'; const rows = db.prepare(sql).all(...params); return { results: rows, _metadata: generateResponseMetadata(db) }; } //# sourceMappingURL=get-singapore-implementations.js.map