Merge pull request #37 from wagesj45/codex/evaluate-long-term-cache-storage-options
Fix Services import in ExpressionSearchFilter
This commit is contained in:
commit
a149b6bc8b
4 changed files with 11 additions and 7 deletions
|
@ -10,6 +10,8 @@
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
const storage = (globalThis.messenger ?? browser).storage;
|
||||||
|
|
||||||
let logger;
|
let logger;
|
||||||
let AiClassifier;
|
let AiClassifier;
|
||||||
let aiRules = [];
|
let aiRules = [];
|
||||||
|
@ -42,7 +44,7 @@ async function applyAiRules(idsInput) {
|
||||||
if (!ids.length) return queue;
|
if (!ids.length) return queue;
|
||||||
|
|
||||||
if (!aiRules.length) {
|
if (!aiRules.length) {
|
||||||
const { aiRules: stored } = await browser.storage.local.get("aiRules");
|
const { aiRules: stored } = await storage.local.get("aiRules");
|
||||||
aiRules = Array.isArray(stored) ? stored.map(r => {
|
aiRules = Array.isArray(stored) ? stored.map(r => {
|
||||||
if (r.actions) return r;
|
if (r.actions) return r;
|
||||||
const actions = [];
|
const actions = [];
|
||||||
|
@ -101,7 +103,7 @@ async function applyAiRules(idsInput) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const store = await browser.storage.local.get(["endpoint", "templateName", "customTemplate", "customSystemPrompt", "aiParams", "debugLogging", "aiRules"]);
|
const store = await storage.local.get(["endpoint", "templateName", "customTemplate", "customSystemPrompt", "aiParams", "debugLogging", "aiRules"]);
|
||||||
logger.setDebug(store.debugLogging);
|
logger.setDebug(store.debugLogging);
|
||||||
await AiClassifier.setConfig(store);
|
await AiClassifier.setConfig(store);
|
||||||
aiRules = Array.isArray(store.aiRules) ? store.aiRules.map(r => {
|
aiRules = Array.isArray(store.aiRules) ? store.aiRules.map(r => {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
import { aiLog, setDebug } from "../logger.js";
|
import { aiLog, setDebug } from "../logger.js";
|
||||||
|
|
||||||
|
const storage = (globalThis.messenger ?? globalThis.browser).storage;
|
||||||
|
|
||||||
let Services;
|
let Services;
|
||||||
try {
|
try {
|
||||||
if (typeof globalThis !== "undefined" && globalThis.Services) {
|
if (typeof globalThis !== "undefined" && globalThis.Services) {
|
||||||
|
@ -54,7 +56,7 @@ async function loadCache() {
|
||||||
}
|
}
|
||||||
aiLog(`[AiClassifier] Loading cache`, {debug: true});
|
aiLog(`[AiClassifier] Loading cache`, {debug: true});
|
||||||
try {
|
try {
|
||||||
const { aiCache } = await browser.storage.local.get("aiCache");
|
const { aiCache } = await storage.local.get("aiCache");
|
||||||
if (aiCache) {
|
if (aiCache) {
|
||||||
for (let [k, v] of Object.entries(aiCache)) {
|
for (let [k, v] of Object.entries(aiCache)) {
|
||||||
aiLog(`[AiClassifier] ⮡ Loaded entry '${k}' → ${v}`, {debug: true});
|
aiLog(`[AiClassifier] ⮡ Loaded entry '${k}' → ${v}`, {debug: true});
|
||||||
|
@ -86,7 +88,7 @@ async function saveCache(updatedKey, updatedValue) {
|
||||||
aiLog(`[AiClassifier] ⮡ Persisting entry '${updatedKey}' → ${updatedValue}`, {debug: true});
|
aiLog(`[AiClassifier] ⮡ Persisting entry '${updatedKey}' → ${updatedValue}`, {debug: true});
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await browser.storage.local.set({ aiCache: Object.fromEntries(gCache) });
|
await storage.local.set({ aiCache: Object.fromEntries(gCache) });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
aiLog(`Failed to save cache`, {level: 'error'}, e);
|
aiLog(`Failed to save cache`, {level: 'error'}, e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
var { ExtensionParent } = ChromeUtils.importESModule("resource://gre/modules/ExtensionParent.sys.mjs");
|
var { ExtensionParent } = ChromeUtils.importESModule("resource://gre/modules/ExtensionParent.sys.mjs");
|
||||||
var { MailServices } = ChromeUtils.importESModule("resource:///modules/MailServices.sys.mjs");
|
var { MailServices } = ChromeUtils.importESModule("resource:///modules/MailServices.sys.mjs");
|
||||||
var { Services } = globalThis || ChromeUtils.importESModule("resource://gre/modules/Services.sys.mjs");
|
|
||||||
var { aiLog } = ChromeUtils.import("resource://aifilter/modules/logger.jsm");
|
var { aiLog } = ChromeUtils.import("resource://aifilter/modules/logger.jsm");
|
||||||
var AiClassifier = ChromeUtils.importESModule("resource://aifilter/modules/AiClassifier.js");
|
var AiClassifier = ChromeUtils.importESModule("resource://aifilter/modules/AiClassifier.js");
|
||||||
var { getPlainText } = ChromeUtils.import("resource://aifilter/modules/messageUtils.jsm");
|
var { getPlainText } = ChromeUtils.import("resource://aifilter/modules/messageUtils.jsm");
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
document.addEventListener('DOMContentLoaded', async () => {
|
document.addEventListener('DOMContentLoaded', async () => {
|
||||||
|
const storage = (globalThis.messenger ?? browser).storage;
|
||||||
const logger = await import(browser.runtime.getURL('logger.js'));
|
const logger = await import(browser.runtime.getURL('logger.js'));
|
||||||
const AiClassifier = await import(browser.runtime.getURL('modules/AiClassifier.js'));
|
const AiClassifier = await import(browser.runtime.getURL('modules/AiClassifier.js'));
|
||||||
const defaults = await browser.storage.local.get([
|
const defaults = await storage.local.get([
|
||||||
'endpoint',
|
'endpoint',
|
||||||
'templateName',
|
'templateName',
|
||||||
'customTemplate',
|
'customTemplate',
|
||||||
|
@ -269,7 +270,7 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||||
});
|
});
|
||||||
return { criterion, actions };
|
return { criterion, actions };
|
||||||
}).filter(r => r.criterion);
|
}).filter(r => r.criterion);
|
||||||
await browser.storage.local.set({ endpoint, templateName, customTemplate: customTemplateText, customSystemPrompt, aiParams: aiParamsSave, debugLogging, aiRules: rules });
|
await storage.local.set({ endpoint, templateName, customTemplate: customTemplateText, customSystemPrompt, aiParams: aiParamsSave, debugLogging, aiRules: rules });
|
||||||
try {
|
try {
|
||||||
await AiClassifier.setConfig({ endpoint, templateName, customTemplate: customTemplateText, customSystemPrompt, aiParams: aiParamsSave, debugLogging });
|
await AiClassifier.setConfig({ endpoint, templateName, customTemplate: customTemplateText, customSystemPrompt, aiParams: aiParamsSave, debugLogging });
|
||||||
logger.setDebug(debugLogging);
|
logger.setDebug(debugLogging);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue