| Memories.sys.mjs |
This module defines functions to generate, deduplicate, and filter memories.
The primary method in this module is `generateMemories`, which orchestrates the entire pipeline:
1. Generates initial memories from a specified user data user
2. Deduplicates the newly generated memories against all existing memories
3. Filters out memories with sensitive content (i.e. financial, medical, etc.)
4. Returns the final list of memories objects
`generateMemories` requires 3 arguments:
1. `engine`: an instance of `openAIEngine` to call the LLM API
2. `sources`: an object mapping user data source types to aggregated records (i.e., {history: [domainItems, titleItems, searchItems]})
3. `existingMemoriesList`: an array of existing memory summary strings to deduplicate against
Example Usage:
const engine = await openAIEngine.build(MODEL_FEATURES.MEMORIES, DEFAULT_ENGINE_ID, SERVICE_TYPES.MEMORIES);
const sources = {history: [domainItems, titleItems, searchItems]};
const existingMemoriesList = [...]; // Array of existing memory summary strings; this should be fetched from memory storage
const newMemories = await generateMemories(engine, sources, existingMemoriesList);
|
15188 |
- |
| MemoriesChatSource.sys.mjs |
This module handles the user message extraction from chat store
|
4368 |
- |
| MemoriesConstants.sys.mjs |
Memory categories
|
2446 |
- |
| MemoriesConversationScheduler.sys.mjs |
Schedules periodic generation of conversation-based memories.
Triggers memories generation when number of user messages exceeds the configured threshold ({@link MEMORIES_SCHEDULER_MESSAGES_THRESHOLD})
E.g. Usage: MemoriesConversationScheduler.maybeInit()
|
5212 |
- |
| MemoriesDriftDetector.sys.mjs |
@typedef {object} SessionMetric
@property {string|number} sessionId Unique identifier for the session
@property {number} jsScore Jensen–Shannon divergence for the session
@property {number} avgSurprisal Average surprisal for the session
@property {number} [timestampMs] Optional timestamp for debugging
|
13079 |
- |
| MemoriesHistoryScheduler.sys.mjs |
Schedules periodic generation of browsing history based memories.
This decides based on the #pagesVisited and periodically evaluates history drift metrics.
Triggers memories generation when drift exceeds a configured threshold.
E.g. Usage: MemoriesHistoryScheduler.maybeInit()
|
10617 |
- |
| MemoriesHistorySource.sys.mjs |
This module handles the visit extraction data from browsing history
|
25712 |
- |
| MemoriesManager.sys.mjs |
MemoriesManager class
|
27617 |
- |
| MemoriesSchedulers.sys.mjs |
/
export class MemoriesSchedulers {
/**
Entry point to be called when an AI window becomes active.
Starts (or reuses) schedulers. Each scheduler will still enforce its own cooldown.
Usage: MemoriesSchedulers.maybeRunAndSchedule()
|
1371 |
- |
| MemoriesSchemas.sys.mjs |
JSON Schema for initial memories generation
|
3357 |
- |
| moz.build |
|
681 |
- |
| SensitiveInfoDetector.sys.mjs |
Detects and filters sensitive personal information from text
Detects:
- Government IDs (SSN, SIN)
- Financual information (credit cards, bank accounts, routing numbers)
- Contact information (email, phone number)
- Network Identifiers (IP addresses, MAC addresses)
- Physical addresses
|
8132 |
- |