fix(kobo): sync normalized language and ISBN metadata

Normalize heterogeneous language metadata at the Kobo boundary and include validated ISBN values so device details remain accurate. Version metadata hashes to refresh previously synchronized books.

Fixes #920
This commit is contained in:
neon
2026-08-08 04:58:52 +00:00
parent 27040d5dee
commit 494b59562f
6 changed files with 221 additions and 57 deletions
+22
View File
@@ -433,6 +433,9 @@ importers:
jose:
specifier: ^6.2.4
version: 6.2.4
langs:
specifier: ^2.0.0
version: 2.0.0
ms:
specifier: ^2.1.3
version: 2.1.3
@@ -518,6 +521,9 @@ importers:
"@types/express":
specifier: ^5.0.6
version: 5.0.6
"@types/langs":
specifier: ^2.0.5
version: 2.0.5
"@types/node":
specifier: ^26.1.1
version: 26.1.1
@@ -5901,6 +5907,12 @@ packages:
integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==,
}
"@types/langs@2.0.5":
resolution:
{
integrity: sha512-DIUKT4mkbTBxSrX6lmnQR888ObeFVVo1uNEqBH5/ddQHpnG4CA24DibpK7aO8QAcJEZUTcIx0F96TWuzVT9Z4g==,
}
"@types/luxon@3.7.2":
resolution:
{
@@ -10413,6 +10425,12 @@ packages:
integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==,
}
langs@2.0.0:
resolution:
{
integrity: sha512-v4pxOBEQVN1WBTfB1crhTtxzNLZU9HPWgadlwzWKISJtt6Ku/CnpBrwVy+jFv8StjxsPfwPFzO0CMwdZLJ0/BA==,
}
lazystream@1.0.1:
resolution:
{
@@ -18147,6 +18165,8 @@ snapshots:
"@types/ms": 2.1.0
"@types/node": 26.1.1
"@types/langs@2.0.5": {}
"@types/luxon@3.7.2": {}
"@types/methods@1.1.4": {}
@@ -21000,6 +21020,8 @@ snapshots:
kolorist@1.8.0: {}
langs@2.0.0: {}
lazystream@1.0.1:
dependencies:
readable-stream: 2.3.8