storeLearnedEntry function exported ✓ 100.0%
Last updated: 2026-02-25T14:02:03.587Z
Location
Metrics
LOC: 21
Complexity: 3
Params: 5
Coverage: 100.0% (7/7 lines, 11x executed)
Signature
storeLearnedEntry(
signals: string,
type: FieldType,
generatorType?: FieldType,
source: "auto" | "rule" = "auto",
): : Promise<void>
Summary
Persist a new signal→type mapping. Deduplicates by signals string — if the same signal set was already stored, its entry is updated (type + timestamp). Caps at MAX_LEARNED_ENTRIES. Defaults to type when omitted. Defaults to "auto".
Tags
#@param generatorType - Optional explicit generator type recommended by the AI.#@param source - Origin of the entry: "auto" (organic) or "rule" (from retrain).
Source Code
export async function storeLearnedEntry(
signals: string,
type: FieldType,
generatorType?: FieldType,
source: "auto" | "rule" = "auto",
): Promise<void> {
const normalized = normaliseSignals(signals);
if (!normalized) return;
const existing = await getLearnedEntries();
const filtered = existing.filter((e) => e.signals !== normalized);
filtered.push({
signals: normalized,
type,
generatorType: generatorType ?? type,
timestamp: Date.now(),
source,
});
// Keep only the most recent MAX_LEARNED_ENTRIES
const trimmed = filtered.slice(-MAX_LEARNED_ENTRIES);
await chrome.storage.local.set({ [LEARNED_STORAGE_KEY]: trimmed });
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| normaliseSignals | calls |
| getLearnedEntries | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| handle | uses |
| handle | uses |
| retrainLearnedFromRules | calls |
| makeEntry | uses |
| getContextHtml | uses |