# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Description
Translation is performed using the models hosted in the repository:
https://github.com/mozilla/firefox-translations-models/
When the translation is first running, the model is downloaded from the
repository.
Testing completed for `npm dev` and Node server environment.
- Add doNotSummarizeUserChat option to exclude user messages from summarization
- Add early return logic to prevent unnecessary similarity checks when summaries are empty
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Description
This PR fixes an issue where a removed module remains active until the
app is restarted if it was enabled at the time of deletion.
# PR Checklist
- [ ] Have you checked if it works normally in all models? *Ignore this
if it doesn't use models.*
- [ ] Have you checked if it works normally in all web, local, and node
hosted versions? If it doesn't, have you blocked it in those versions?
- [ ] Have you added type definitions?
# Preview

# Description
This calculation provides users with an approximate maximum memory
tokens ratio, allowing users to choose appropriate maximum context size
or memory tokens ratio based on their specific needs and circumstances.
The maximum memory tokens ratio is calculated based on:
`maxMemoryRatio = (maxContextTokens - requiredTokens) /
maxContextTokens`
- where `requiredTokens = promptTemplateTokens + charTokens +
maxLoreTokens + (maxResponseTokens * 3)`