project-nomad/admin/app/services
Chris a8125405eb
feat(drug-reference): rework into an opt-in medicine-standard tier dataset
Reshapes the offline FDA drug reference from a built-in feature into curated
content installed by selecting the Medicine / Standard tier, per maintainer
direction.

- install-state: the ingest writes an installed_resources 'dataset' row on
  ready (version = the openFDA export_date), threaded installer to download to
  ingest; the tier-status math and the home-tile gate read it. Manual ingests
  write no row, so install-state stays tied to the curated path.
- manifest: declare the dataset in the medicine-standard tier (runtime fetches
  the remote manifest, so this also needs to land upstream).
- install-gating: the drug-reference home tiles render only when installed.
- uninstall: DrugReferenceService.uninstall() stops the two drug queues, deletes
  the on-disk parts, truncates drug_labels (schema kept), clears the KV markers,
  and drops the install row. Best-effort, logged, scoped to drug data only.
- downloads: the download phase reports the canonical {percent, downloadedBytes,
  totalBytes} shape as one drug-data card in the Active Downloads aggregator with
  cancel/remove; the heavy ingest stays in the IngestStatus surface with an
  Indexing handoff on the card.
- auto-update: a daily DrugAutoUpdateJob compares the manifest export_date and
  re-downloads when newer, gated on installed + no active job.

typecheck clean; the drug standalone suites pass. Three points are flagged in
code for the maintainer: the InstalledResource 'dataset' approach, the tier
home, and the export_date string format.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 17:30:38 +00:00
..
app_auto_update_service.ts feat(supply-depot): opt-in automatic updates for installed apps 2026-06-23 04:46:52 +00:00
auto_update_service.ts feat(supply-depot): opt-in automatic updates for installed apps 2026-06-23 04:46:52 +00:00
benchmark_service.ts fix(Benchmark): various typescript errors 2026-07-21 16:51:24 +00:00
benchmark_telemetry.ts feat(benchmark): end-of-run score reveal + NVIDIA GPU-util overlay (#1087) 2026-07-20 12:07:45 -07:00
chat_service.ts fix(chat): prefer selected model for suggestions, fall back to smallest 2026-06-23 04:47:00 +00:00
collection_manifest_service.ts feat(drug-reference): rework into an opt-in medicine-standard tier dataset 2026-07-21 17:30:38 +00:00
collection_update_service.ts feat(collections): route a 'dataset' tier resource to the drug pipeline 2026-07-21 17:30:21 +00:00
condition_service.ts fix(drug-reference): address review — defer FULLTEXT, fallback remedies prop, strip fork refs 2026-07-21 17:29:52 +00:00
container_registry_service.ts fix(updates): resolve relative registry pagination URL so tag listing doesn't crash (#945) 2026-06-23 04:46:59 +00:00
content_auto_update_service.ts feat(collections): route a 'dataset' tier resource to the drug pipeline 2026-07-21 17:30:21 +00:00
countries_service.ts feat(Maps): regional map downloads via go-pmtiles extract (#780) 2026-05-20 10:16:00 -07:00
creator_pack_service.ts feat(creator-packs): gated per-creator video packs, offline via Kiwix (#1106) 2026-07-20 16:21:18 -07:00
custom_app_guard.ts feat: supply depot 2026-06-23 04:46:45 +00:00
docker_service.ts feat(debug-info): add storage, docker, GPU health, and auto-update diagnostics (#1102) 2026-07-19 22:25:53 -07:00
docs_service.ts docs: update in-app docs for v1.33 Supply Depot + auto-updates 2026-06-23 04:47:04 +00:00
download_service.ts feat(drug-reference): rework into an opt-in medicine-standard tier dataset 2026-07-21 17:30:38 +00:00
drug_reference_service.ts feat(drug-reference): rework into an opt-in medicine-standard tier dataset 2026-07-21 17:30:38 +00:00
kiwix_catalog_service.ts feat(content): opt-in automatic updates for installed ZIM & map content 2026-06-23 04:47:01 +00:00
kiwix_library_service.ts fix(kiwix): self-heal a missing or corrupt library XML on startup 2026-06-23 04:46:56 +00:00
map_service.ts fix(maps): warn when world basemap missing instead of silent grey map (#1104) 2026-07-20 18:25:39 -07:00
ollama_service.ts feat(AI): per-model thinking toggle with global default (off) (#1079) 2026-07-20 16:33:09 -07:00
queue_service.ts fix(queue): share one ioredis connection across BullMQ queues and workers (#1009) 2026-06-23 04:47:08 +00:00
rag_service.ts fix(rag): add proper .docx text extraction via mammoth (#1100) 2026-07-20 15:17:50 -07:00
system_service.ts feat(debug-info): add storage, docker, GPU health, and auto-update diagnostics (#1102) 2026-07-19 22:25:53 -07:00
system_update_service.ts feat(system): add opt-in automatic updates for the core NOMAD app 2026-06-23 04:46:51 +00:00
zim_extraction_service.ts chore(KB): filter non-content sections + render tables in ZIM extraction (#1044) 2026-07-18 09:03:53 -07:00
zim_service.ts feat(drug-reference): rework into an opt-in medicine-standard tier dataset 2026-07-21 17:30:38 +00:00