{"_id":"@aparte/titler-latin","_rev":"7-9357bfc30d8fa6815b583d95b86134fd","name":"@aparte/titler-latin","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@aparte/titler-latin","version":"1.0.0","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","multilingual","french","english","spanish","german"],"license":"MIT","_id":"@aparte/titler-latin@1.0.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"d55856b0683c379a4a3df263a63eb59f13a7a8a2","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.0.0.tgz","fileCount":6,"integrity":"sha512-EnMUFUCxEA5hK5gT86bu2SFmht5+YQQe6U9L+q32eupCQeO608SpkZCithzZAlCrlzs1mRM5C2trctqv4Feuqg==","signatures":[{"sig":"MEQCIBLu1SEWX3dDGV0uspHKXPpQk1qzMzEx7rh/CK4ozvoCAiAXXExomUhMG/AnsPNiOWH+WQTFPYfGUPU/30eg6NYQ9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138802},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.0.0.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\c9c01acba15270594b97307df2589070\\aparte-titler-latin-1.0.0.tgz","_integrity":"sha512-EnMUFUCxEA5hK5gT86bu2SFmht5+YQQe6U9L+q32eupCQeO608SpkZCithzZAlCrlzs1mRM5C2trctqv4Feuqg==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with its default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@aparte/titler":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.0.0_1788380632006_0.09471329569093712","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aparte/titler-latin","version":"1.0.1","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"license":"MIT","_id":"@aparte/titler-latin@1.0.1","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"ecfb0db79ee8aeaeeb6d40a550195f01f67a1f37","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.0.1.tgz","fileCount":6,"integrity":"sha512-U5p4IUOMBuVOGNYL6R2LTncRsLLXzaqZrUz5Wh6R0OSwKo/003G9mQrLjPXah6tMzeYogz0rhB1uk6/cO5ee0Q==","signatures":[{"sig":"MEYCIQC1b+Yd6+zRHHRi+0hVVl8FTzYou+bsJ+/AALYKSddCdwIhAOPbMaPT9NRqqtkfu/dyjqkaX5cgDLFWg10n1cugn1Yw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":138868},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.0.1.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\d598dd4cd011703a3c3055bf3f36e958\\aparte-titler-latin-1.0.1.tgz","_integrity":"sha512-U5p4IUOMBuVOGNYL6R2LTncRsLLXzaqZrUz5Wh6R0OSwKo/003G9mQrLjPXah6tMzeYogz0rhB1uk6/cO5ee0Q==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@aparte/titler":"^1.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.0.1_1788381222176_0.6323238733629148","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aparte/titler-latin","version":"1.0.2","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"license":"MIT","_id":"@aparte/titler-latin@1.0.2","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"71f240192b5ba9390fafadf84906445e283cbe9d","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.0.2.tgz","fileCount":6,"integrity":"sha512-FKI/jR+IDxa07aAInRI64o5i06/Z8Yp/0NlXtaZzG72YcAAm8UJZMuE8IonsCJdG2UvrAUqDzkEt41XMsM2nKw==","signatures":[{"sig":"MEUCID/T4Y8H5vMOwH1C2vpfaGVZbNQWcMJ9fSm92PQ0slQqAiEAnuqNk4ThWhNzriuVzBtgMwWdQhiE/czvtwbkmueosCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139260},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.0.2.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\99fb1a0990ae37c6c5668a54a9f38c89\\aparte-titler-latin-1.0.2.tgz","_integrity":"sha512-FKI/jR+IDxa07aAInRI64o5i06/Z8Yp/0NlXtaZzG72YcAAm8UJZMuE8IonsCJdG2UvrAUqDzkEt41XMsM2nKw==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@aparte/titler":"^1.0.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.0.2_1788384803089_0.7175022219090326","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aparte/titler-latin","version":"1.0.3","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"license":"MIT","_id":"@aparte/titler-latin@1.0.3","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"1f4c9f4715b35cbe868e7c60e0b8fea47c9d52f2","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.0.3.tgz","fileCount":8,"integrity":"sha512-c+OPIHF2cYY1mBIeEWr8QEWYqrSX6N7TsFTrcZ7IhsP2vwhMPBuNY5heufIU1A6aqyxmkxb/xCzPuUAnzYI2rA==","signatures":[{"sig":"MEUCIBtUkXvt/WqMM+3WzxSxIf+GvOm9G90QIBcaaiwC1/4dAiEAxcufW5Qf7PnXucirAo6xBzkWglFVzpMHY0lqBxB28kQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":156272},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.0.3.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\a6f54f1e2b4d435d7599f4e63a453c33\\aparte-titler-latin-1.0.3.tgz","_integrity":"sha512-c+OPIHF2cYY1mBIeEWr8QEWYqrSX6N7TsFTrcZ7IhsP2vwhMPBuNY5heufIU1A6aqyxmkxb/xCzPuUAnzYI2rA==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.0.3_1788455127185_0.03589027252376975","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aparte/titler-latin","version":"1.0.4","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"license":"MIT","_id":"@aparte/titler-latin@1.0.4","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"74b62ba0760b2f2af3bb6a59bbea007d7474c0ca","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.0.4.tgz","fileCount":10,"integrity":"sha512-TfF22RsWjxbFwF7pmXBEQz6pI1hVkueGM0MWI3rcNH5+boJTKV8qKcxZDpbqfEPw5cjJAHyg/8k1qc4zZOYl+A==","signatures":[{"sig":"MEYCIQCh4jMudpO4I2B16qZYe5gzaEBXpXZhWjGsUTHfOzbvUwIhAJJ3kMysxhXD1994WhImscoOWh3LcYSQsWgz9Z7C62YB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159507},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.0.4.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"node":"./src/index.node.js","types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\5c3c043e7c57f656744e9787ecf9683c\\aparte-titler-latin-1.0.4.tgz","_integrity":"sha512-TfF22RsWjxbFwF7pmXBEQz6pI1hVkueGM0MWI3rcNH5+boJTKV8qKcxZDpbqfEPw5cjJAHyg/8k1qc4zZOYl+A==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.0.4_1788456760859_0.03317840723883103","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aparte/titler-latin","version":"1.1.0","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"license":"MIT","_id":"@aparte/titler-latin@1.1.0","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"homepage":"https://apartejs.dev/models/titler/","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"d9bd5930ca56127e348d0ce60f2cb7c6cd968ae9","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.1.0.tgz","fileCount":10,"integrity":"sha512-IK+oxdemBT/ivLHAe+DrVphvNluzgRXCdE+6xcPUEqsSZUzX7IKe0Sywf1Q5nIboTc9jL/9ETB1EC95AMl3Crw==","signatures":[{"sig":"MEQCIGZsh6qvUgObwgx/WuPkXG9XdWqZIzjN1qxPdYdnQsGpAiBeWf54ak3SIbkQDwRqOwCKi98t7v8oWlOlKknxywv4rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162424},"main":"./src/index.js","type":"module","_from":"file:aparte-titler-latin-1.1.0.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"node":"./src/index.node.js","types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1.1-latin-int3.bin"},"_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\58f368a5dd36ebab323555225622dbdd\\aparte-titler-latin-1.1.0.tgz","_integrity":"sha512-IK+oxdemBT/ivLHAe+DrVphvNluzgRXCdE+6xcPUEqsSZUzX7IKe0Sywf1Q5nIboTc9jL/9ETB1EC95AMl3Crw==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/titler-latin_1.1.0_1788620965863_0.11633860286165487","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"@aparte/titler-latin@1.2.0","bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"dist":{"shasum":"2f6b92bcec179bd7029f06daccafe0a976733c47","tarball":"https://registry.npmjs.org/@aparte/titler-latin/-/titler-latin-1.2.0.tgz","fileCount":10,"integrity":"sha512-mc/9ppWsMuvxhNEme0tl2YnrRatcIuVIbrZupTnMQhjSbFJVFAmvF2OZztSaObAvuub7lXDUxAYq2g9QWEnJ6Q==","signatures":[{"sig":"MEYCIQCPUI2U4A3XERIpcs6nBq9UYfKnSamGYI8Ms7AMxoAXbAIhAIIo/w6WgnMZDhTxYFfpscpvplnpPs1CwSqvqHErEj7p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE7Em+/6omxwxPOlkkD9vikDIgu2+5ZytVIK+Dl/xr2QAiEAm5VeIugbvPRpAI1nm2FzBTWLja4yt8vHz64TNxWCG0M="}],"unpackedSize":162423},"main":"./src/index.js","name":"@aparte/titler-latin","type":"module","_from":"file:aparte-titler-latin-1.2.0.tgz","types":"./src/index.d.ts","module":"./src/index.js","engines":{"node":">=18"},"exports":{".":{"node":"./src/index.node.js","types":"./src/index.d.ts","default":"./src/index.js"},"./model":"./model/titler-v1.2-latin-int3.bin"},"license":"MIT","version":"1.2.0","_npmUser":{"name":"paulrichez","email":"paul.richez59@gmail.com"},"homepage":"https://apartejs.dev/models/titler/","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"_resolved":"C:\\Users\\paul\\AppData\\Local\\Temp\\ba4ad0b160932558bce536008e533aad\\aparte-titler-latin-1.2.0.tgz","_integrity":"sha512-mc/9ppWsMuvxhNEme0tl2YnrRatcIuVIbrZupTnMQhjSbFJVFAmvF2OZztSaObAvuub7lXDUxAYq2g9QWEnJ6Q==","repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"_npmVersion":"11.9.0","description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","directories":{},"maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/titler-latin_1.2.0_1790420048375_0.05792827575577997"}}},"time":{"created":"2026-09-02T20:23:51.765Z","modified":"2026-09-26T10:54:08.689Z","1.0.0":"2026-09-02T20:23:52.144Z","1.0.1":"2026-09-02T20:33:42.363Z","1.0.2":"2026-09-02T21:33:23.234Z","1.0.3":"2026-09-03T17:05:27.341Z","1.0.4":"2026-09-03T17:32:41.052Z","1.1.0":"2026-09-05T15:09:26.050Z","1.2.0":"2026-09-26T10:54:08.492Z"},"bugs":{"url":"https://github.com/apartejs/aparte-titler-model/issues"},"license":"MIT","homepage":"https://apartejs.dev/models/titler/","keywords":["chat","title","conversation","extractive","tiny-model","browser","offline","aparte","nlp","multilingual","european-languages","english","french","german","spanish","polish","swedish"],"repository":{"url":"git+https://github.com/apartejs/aparte-titler-model.git","type":"git","directory":"packages/titler-latin"},"description":"aparte-titler with the default model bundled: conversation titles in 17 European languages, 133 KB, in the browser, no API call","maintainers":[{"name":"paulrichez","email":"paul.richez59@gmail.com"}],"readme":"# @aparte/titler-latin\r\n\r\n[aparte-titler](https://apartejs.dev/models/titler/) with its default model bundled: a title of 3 to 6 words for a conversation, copied from its first message, in **17 European languages** — English, French, Spanish, German, Portuguese, Italian, Dutch, Polish, Swedish, Danish, Finnish, Czech, Romanian, Norwegian, Hungarian, Croatian, Lithuanian. 133 KB installed, no configuration, no API call, 6–7 ms per title.\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @aparte/titler-latin\r\n```\r\n\r\n## Use\r\n\r\n```js\r\nimport { loadTitler } from \"@aparte/titler-latin\";\r\n\r\nconst titler = await loadTitler();   // the bundled model, loaded once\r\n\r\ntitler.title(\"Salut ! Tu peux me donner une recette de pain sans gluten facile pour ce week-end ?\");\r\n// -> \"recette pain sans gluten facile week-end\"\r\n```\r\n\r\n### In a bundled app\r\n\r\nWith no argument, `loadTitler()` uses the model that ships inside the package: read from disk in Node, fetched from `modelUrl` in a browser that loads the package as plain ES modules.\r\n\r\nA bundler rewrites neither `import.meta.url` nor the model's path, so once your app is built that URL points next to your bundle rather than inside the package. Serve the `.bin` and hand it over:\r\n\r\n```js\r\n// Vite: let the bundler emit the file and give you its URL\r\nimport modelUrl from \"@aparte/titler-latin/model?url\";\r\n\r\nconst titler = await loadTitler(modelUrl);\r\n```\r\n\r\n```js\r\n// anywhere else: copy node_modules/@aparte/titler-latin/model/titler-v1.2-latin-int3.bin\r\n// into the directory you serve, then\r\nconst titler = await loadTitler(\"/models/titler-v1.2-latin-int3.bin\");\r\n```\r\n\r\n`loadTitler()` also accepts an `ArrayBuffer`, a typed array or a `Response`, so the model can come from a cache, a service worker or your own asset pipeline.\r\n\r\n\r\nThe runtime is bundled in, so **this package has no dependency**: one line in your `package.json`, one package installed. It also exports `Titler`, if you want to read another model file yourself.\r\n\r\nGive the model **only the user's first message**, never a system prompt or the history.\r\n\r\n## Sisters\r\n\r\n- [`@aparte/titler-latin-mini`](https://www.npmjs.com/package/@aparte/titler-latin-mini) — same 17 languages, 96 KB, −0.5 point on average.\r\n- [`@aparte/titler-efigsp`](https://www.npmjs.com/package/@aparte/titler-efigsp) — English, French, Spanish, German, Portuguese, Italian, 77 KB.\r\n- [`@aparte/titler`](https://www.npmjs.com/package/@aparte/titler) — the runtime alone, bring your own model (one language = 41 KB).\r\n\r\nScores, sizes and charts: [huggingface.co/apartejs/aparte-titler](https://huggingface.co/apartejs/aparte-titler).\r\n\r\n## License\r\n\r\nMIT © 2026 Paul Richez.\r\n","readmeFilename":"README.md"}