@fairfox/polly 0.7.1 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/src/background/index.d.ts +1 -1
  2. package/dist/src/background/index.js +10 -3
  3. package/dist/src/background/index.js.map +9 -9
  4. package/dist/src/background/message-router.js +10 -3
  5. package/dist/src/background/message-router.js.map +8 -8
  6. package/dist/src/index.d.ts +9 -9
  7. package/dist/src/index.js +74 -67
  8. package/dist/src/index.js.map +12 -12
  9. package/dist/src/shared/adapters/chrome/context-menus.chrome.d.ts +1 -1
  10. package/dist/src/shared/adapters/chrome/tabs.chrome.d.ts +2 -2
  11. package/dist/src/shared/adapters/context-menus.adapter.d.ts +1 -1
  12. package/dist/src/shared/adapters/index.d.ts +4 -4
  13. package/dist/src/shared/adapters/index.js +9 -2
  14. package/dist/src/shared/adapters/index.js.map +6 -6
  15. package/dist/src/shared/adapters/tabs.adapter.d.ts +2 -2
  16. package/dist/src/shared/lib/context-helpers.js +10 -3
  17. package/dist/src/shared/lib/context-helpers.js.map +8 -8
  18. package/dist/src/shared/lib/message-bus.js +10 -3
  19. package/dist/src/shared/lib/message-bus.js.map +7 -7
  20. package/dist/src/shared/lib/state.js +10 -3
  21. package/dist/src/shared/lib/state.js.map +8 -8
  22. package/dist/src/shared/state/app-state.js +10 -3
  23. package/dist/src/shared/state/app-state.js.map +8 -8
  24. package/dist/tools/init/src/cli.js +17 -2
  25. package/dist/tools/init/src/cli.js.map +4 -4
  26. package/dist/tools/init/templates/pwa/package.json.template +3 -3
  27. package/dist/tools/teach/src/cli.js +2712 -2442
  28. package/dist/tools/teach/src/cli.js.map +11 -11
  29. package/dist/tools/teach/src/index.js +1379 -1379
  30. package/dist/tools/teach/src/index.js.map +10 -10
  31. package/dist/tools/test/src/adapters/index.d.ts +8 -8
  32. package/dist/tools/test/src/adapters/index.js +3 -2
  33. package/dist/tools/test/src/adapters/index.js.map +6 -6
  34. package/dist/tools/test/src/index.d.ts +3 -3
  35. package/dist/tools/test/src/index.js +3 -2
  36. package/dist/tools/test/src/index.js.map +6 -6
  37. package/dist/tools/verify/src/cli.js +190 -68
  38. package/dist/tools/verify/src/cli.js.map +8 -8
  39. package/dist/tools/visualize/src/cli.js +18 -3
  40. package/dist/tools/visualize/src/cli.js.map +4 -4
  41. package/package.json +27 -16
package/dist/src/index.js CHANGED
@@ -200,6 +200,9 @@ class ChromePortAdapter {
200
200
  // src/shared/adapters/chrome/storage.chrome.ts
201
201
  class ChromeStorageAdapter {
202
202
  async get(keys) {
203
+ if (keys === null) {
204
+ return await chrome.storage.local.get();
205
+ }
203
206
  return await chrome.storage.local.get(keys);
204
207
  }
205
208
  async set(items) {
@@ -237,7 +240,11 @@ class ChromeTabsAdapter {
237
240
  return chrome.tabs.sendMessage(tabId, message);
238
241
  }
239
242
  async reload(tabId, reloadProperties) {
240
- await chrome.tabs.reload(tabId, reloadProperties);
243
+ if (reloadProperties) {
244
+ await chrome.tabs.reload(tabId, reloadProperties);
245
+ } else {
246
+ await chrome.tabs.reload(tabId);
247
+ }
241
248
  }
242
249
  onRemoved(callback) {
243
250
  chrome.tabs.onRemoved.addListener(callback);
@@ -626,7 +633,7 @@ function createBackgroundHelpers(adapters) {
626
633
  return adapters.tabs.query({});
627
634
  },
628
635
  getExtensionViews(type) {
629
- return chrome.extension.getViews(type ? { type } : undefined);
636
+ return chrome.extension.getViews(type && (type === "popup" || type === "tab") ? { type } : undefined);
630
637
  },
631
638
  openOptionsPage() {
632
639
  adapters.runtime.openOptionsPage();
@@ -1074,6 +1081,61 @@ function getMessageBus(context, adapters, options) {
1074
1081
  return new MessageBus(context, adapters, options);
1075
1082
  }
1076
1083
 
1084
+ // src/shared/lib/context-helpers.ts
1085
+ function createContext(context, config = {}) {
1086
+ const {
1087
+ onInit,
1088
+ onError,
1089
+ waitForDOM = true,
1090
+ logPrefix = `[${context.charAt(0).toUpperCase() + context.slice(1)}]`
1091
+ } = config;
1092
+ const bus = getMessageBus(context);
1093
+ if (onError) {
1094
+ bus.onError(onError);
1095
+ }
1096
+ const initialize = async () => {
1097
+ try {
1098
+ if (onInit) {
1099
+ await onInit(bus);
1100
+ }
1101
+ } catch (error) {
1102
+ const err = error instanceof Error ? error : new Error(String(error));
1103
+ console.error(`${logPrefix} Initialization failed:`, err);
1104
+ if (onError) {
1105
+ onError(err, bus);
1106
+ } else {
1107
+ throw err;
1108
+ }
1109
+ }
1110
+ };
1111
+ const contextsWithDOM = ["popup", "options", "devtools", "sidepanel", "content"];
1112
+ if (typeof window !== "undefined" && contextsWithDOM.includes(context) && waitForDOM) {
1113
+ if (document.readyState === "loading") {
1114
+ document.addEventListener("DOMContentLoaded", () => {
1115
+ initialize().catch((err) => {
1116
+ console.error(`${logPrefix} Uncaught initialization error:`, err);
1117
+ });
1118
+ });
1119
+ } else {
1120
+ initialize().catch((err) => {
1121
+ console.error(`${logPrefix} Uncaught initialization error:`, err);
1122
+ });
1123
+ }
1124
+ } else {
1125
+ initialize().catch((err) => {
1126
+ console.error(`${logPrefix} Uncaught initialization error:`, err);
1127
+ });
1128
+ }
1129
+ return bus;
1130
+ }
1131
+ function runInContext(context, contexts, fn) {
1132
+ const targetContexts = Array.isArray(contexts) ? contexts : [contexts];
1133
+ if (targetContexts.includes(context)) {
1134
+ const bus = getMessageBus(context);
1135
+ Promise.resolve(fn(bus)).catch(() => {});
1136
+ }
1137
+ }
1138
+
1077
1139
  // src/shared/lib/state.ts
1078
1140
  import { effect, signal } from "@preact/signals";
1079
1141
  var stateRegistry = new Map;
@@ -1304,70 +1366,6 @@ function clearStateRegistry() {
1304
1366
  stateRegistry.clear();
1305
1367
  }
1306
1368
 
1307
- // src/shared/state/app-state.ts
1308
- import { signal as signal2 } from "@preact/signals";
1309
- var settings = $sharedState("app-settings", defaultSettings);
1310
- var currentTab = $syncedState("current-tab", null);
1311
- var uiState = signal2({
1312
- sidebarOpen: false,
1313
- selectedPanel: "main"
1314
- });
1315
-
1316
- // src/shared/lib/context-helpers.ts
1317
- function createContext(context, config = {}) {
1318
- const {
1319
- onInit,
1320
- onError,
1321
- waitForDOM = true,
1322
- logPrefix = `[${context.charAt(0).toUpperCase() + context.slice(1)}]`
1323
- } = config;
1324
- const bus = getMessageBus(context);
1325
- if (onError) {
1326
- bus.onError(onError);
1327
- }
1328
- const initialize = async () => {
1329
- try {
1330
- if (onInit) {
1331
- await onInit(bus);
1332
- }
1333
- } catch (error) {
1334
- const err = error instanceof Error ? error : new Error(String(error));
1335
- console.error(`${logPrefix} Initialization failed:`, err);
1336
- if (onError) {
1337
- onError(err, bus);
1338
- } else {
1339
- throw err;
1340
- }
1341
- }
1342
- };
1343
- const contextsWithDOM = ["popup", "options", "devtools", "sidepanel", "content"];
1344
- if (typeof window !== "undefined" && contextsWithDOM.includes(context) && waitForDOM) {
1345
- if (document.readyState === "loading") {
1346
- document.addEventListener("DOMContentLoaded", () => {
1347
- initialize().catch((err) => {
1348
- console.error(`${logPrefix} Uncaught initialization error:`, err);
1349
- });
1350
- });
1351
- } else {
1352
- initialize().catch((err) => {
1353
- console.error(`${logPrefix} Uncaught initialization error:`, err);
1354
- });
1355
- }
1356
- } else {
1357
- initialize().catch((err) => {
1358
- console.error(`${logPrefix} Uncaught initialization error:`, err);
1359
- });
1360
- }
1361
- return bus;
1362
- }
1363
- function runInContext(context, contexts, fn) {
1364
- const targetContexts = Array.isArray(contexts) ? contexts : [contexts];
1365
- if (targetContexts.includes(context)) {
1366
- const bus = getMessageBus(context);
1367
- Promise.resolve(fn(bus)).catch(() => {});
1368
- }
1369
- }
1370
-
1371
1369
  // src/shared/lib/test-helpers.ts
1372
1370
  class TestRunner {
1373
1371
  suite;
@@ -1497,6 +1495,15 @@ async function quickTest(name, fn) {
1497
1495
  console.error(`❌ ${name}: ${error instanceof Error ? error.message : String(error)} (${duration}ms)`);
1498
1496
  }
1499
1497
  }
1498
+
1499
+ // src/shared/state/app-state.ts
1500
+ import { signal as signal2 } from "@preact/signals";
1501
+ var settings = $sharedState("app-settings", defaultSettings);
1502
+ var currentTab = $syncedState("current-tab", null);
1503
+ var uiState = signal2({
1504
+ sidebarOpen: false,
1505
+ selectedPanel: "main"
1506
+ });
1500
1507
  export {
1501
1508
  settings,
1502
1509
  runInContext,
@@ -1518,4 +1525,4 @@ export {
1518
1525
  $persistedState
1519
1526
  };
1520
1527
 
1521
- //# debugId=6EB80BA3B2CEBE8A64756E2164756E21
1528
+ //# debugId=099A20C25FF495A164756E2164756E21