Implements Rule 46: Ontology-Driven Cache Segmentation Semantic Cache Enhancements: - Add institutionSubtype, recordSetType, wikidataEntity to ExtractedEntities - Add extractionMethod field to track vocabulary vs regex extraction - Implement async extractEntitiesWithVocabulary() using term log - Maintain sync regex fallback for cache key generation (<5ms) Build Pipeline: - Add prebuild hook to regenerate types-vocab.json from LinkML schemas - Extract vocabulary from *Type.yaml and *Types.yaml schema files - Generate GLAMORCUBESFIXPHDNT code mappings automatically New Script: - scripts/extract-types-vocab.ts - Extracts vocabulary from LinkML schemas - Supports --skip-embeddings flag for faster builds - Outputs to apps/archief-assistent/public/types-vocab.json This enables richer cache segmentation using ontology-derived subtypes (e.g., 'MUNICIPAL_ARCHIVE', 'ART_MUSEUM') instead of just top-level GLAMORCUBESFIXPHDNT codes.
53 lines
1.5 KiB
JSON
53 lines
1.5 KiB
JSON
{
|
|
"name": "archief-assistent",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"prebuild": "tsx ../../scripts/extract-types-vocab.ts --skip-embeddings",
|
|
"build": "tsc -b && vite build",
|
|
"lint": "eslint .",
|
|
"preview": "vite preview",
|
|
"test": "vitest",
|
|
"test:run": "vitest run",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"test:e2e:headed": "playwright test --headed",
|
|
"test:e2e:report": "playwright show-report"
|
|
},
|
|
"dependencies": {
|
|
"@emotion/react": "^11.14.0",
|
|
"@emotion/styled": "^11.14.1",
|
|
"@glam/api-client": "workspace:*",
|
|
"@glam/hooks": "workspace:*",
|
|
"@glam/theme": "workspace:*",
|
|
"@glam/ui": "workspace:*",
|
|
"@mui/icons-material": "^7.3.6",
|
|
"@mui/material": "^7.3.5",
|
|
"@tanstack/react-query": "^5.90.10",
|
|
"d3": "^7.9.0",
|
|
"js-yaml": "^4.1.1",
|
|
"lucide-react": "^0.511.0",
|
|
"maplibre-gl": "^5.14.0",
|
|
"react": "^19.2.0",
|
|
"react-dom": "^19.2.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-router-dom": "^7.9.6",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-gfm": "^4.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.56.1",
|
|
"@types/d3": "^7.4.3",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/node": "^24.10.4",
|
|
"@types/react": "^19.2.5",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-react": "^5.1.1",
|
|
"@vitest/ui": "^4.0.13",
|
|
"typescript": "~5.9.3",
|
|
"vite": "^6.3.5",
|
|
"vitest": "^4.0.13"
|
|
}
|
|
}
|