@wenathlan/extension 1.1.39 → 1.1.40
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.
- package/README.md +5 -4
- package/dist/capture.d.ts +161 -0
- package/dist/capture.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +360 -4
- package/dist/index.js.map +3 -3
- package/dist/memory.d.ts +17 -1
- package/dist/memory.d.ts.map +1 -1
- package/dist/policy.d.ts +19 -1
- package/dist/policy.d.ts.map +1 -1
- package/dist/protocol.d.ts +18 -2
- package/dist/protocol.d.ts.map +1 -1
- package/dist/types.d.ts +89 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/extension/dist/background.js +841 -50
- package/extension/dist/background.js.map +4 -4
- package/extension/dist/manifest.json +1 -1
- package/extension/dist/pagebridge.js +53 -2
- package/extension/dist/pagebridge.js.map +2 -2
- package/extension/dist/popup.html +1 -1
- package/extension/dist/popup.js +9 -1
- package/extension/dist/popup.js.map +2 -2
- package/extension/dist/sidepanel.html +1 -1
- package/extension/dist/sidepanel.js +138 -1
- package/extension/dist/sidepanel.js.map +2 -2
- package/extension/dist/style.css +2 -0
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": 3,
|
|
3
3
|
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnOEjO8Z0PDgQyfvawGcaO2j+o0GLCFTLNj7TkYC/Avo9l2NenMRq7gp90Nfd7E9MViv/OMcCKSYZ5unv12QPRtv31C+a5UQWDFAOP/cH5mwMd6hsayElrSoW8ta+FwFqmr9dIFkn7cQEU3YhZr4Gcbs+ycUHOxVgDA4NBKB0rQ6e9VW5LvTw0isRYUrqM+M72vKxHk9zUIYYn/LGPvottKBYi2GLr0PHSeC2UE+Shmq7vcFIXj6hDjvD4kLJ5sKoUllEcZ1TPuBcnHUQ9ndKA5iktXDQOIJCUJmi7a0YJ2PGg7fvpYfT9k0ai/qZ+pIoRfoOEwE01bPoDn7NjeYnNQIDAQAB",
|
|
4
4
|
"name": "Devthink",
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.40",
|
|
6
6
|
"description": "A consent-first bridge for reviewed browser-agent tasks.",
|
|
7
7
|
"permissions": [
|
|
8
8
|
"activeTab",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// policy.ts
|
|
4
4
|
var sensitiveactions = /* @__PURE__ */ new Set(["click", "type", "navigate", "select", "presskey", "drag", "drop", "upload", "clear", "check", "uncheck", "toggle", "submit", "reload", "back", "forward", "writestorage", "setattribute", "removeattribute", "evaluate", "tabcreate", "tabactivate", "tabclose", "tabreload", "windowcreate", "windowclose", "windowresize", "downloadfile", "clickpoint", "shiftclick", "dismissdialog", "enterframe", "typetime", "appendtext", "setvalue", "typeedit", "keyhold", "keyrelease", "submitsearch", "selectmulti", "chooseradio", "setslider", "setdate", "setcolor", "openlink", "openprivate", "reloadcache", "stopnav", "followlink", "spanav", "rewritequery", "setfragment", "navlist", "navprofile", "handleauth", "printpdf", "prefetch", "preconnect", "deeplink", "reopentab", "pausenav", "navrate", "openclipboard", "batchopen", "duplicatetab", "closepattern", "pintab", "mutetab", "movetab", "movetabwindow", "grouptabs", "colorgroup", "collapsegroup", "discardtab", "reloadtabs", "zoomin", "zoomout", "switchtab", "maximizewindow", "minimizewindow", "restorewindow", "focuswindow", "scratchwindow", "incognitowindow", "restoretab", "restorelayout", "reopenrun", "badgetab", "fillform", "filllabel", "fillplaceholder", "submitform", "retryform", "runwizard", "selectchain", "picktypeahead", "pickdate", "attachfile", "fillcard", "fillcode", "consentpassword", "exportcsv", "exportjson", "exportexcel", "copytable", "pushsheets", "streamdisk", "paginateextract", "resumeextract", "batchdownload", "pausedownload", "resumedownload", "interceptmime", "readclipboard", "writeclipboard", "copyscreen", "quarantinedownload", "scanvirus", "cleanupartifacts"]);
|
|
5
5
|
var interactionactions = /* @__PURE__ */ new Set(["focus", "scroll", "hover", "clickdeep", "rightclick", "doubleclick", "scrollpage", "scrollby", "scrollend", "scrolltop", "fullscreen", "zoomset", "movepointer", "clicktext", "clickaria", "clickname", "expanddetails", "pierceshadow", "retryaction"]);
|
|
6
|
-
var readactions = /* @__PURE__ */ new Set(["observe", "inspect", "extract", "wait", "waitfor", "waittext", "readattribute", "readstyle", "readgeometry", "readvalue", "readtext", "readhtml", "countelements", "readtable", "readlinks", "readimages", "readmeta", "readforms", "readstorage", "highlight", "tablist", "windowlist", "tabsnapshot", "mapclicks", "verifyvisible", "verifyenabled", "resolvexpath", "a11ytree", "readvisible", "readertree", "detectlists", "detecttables", "readjson", "watchmutate", "waitquiet", "watchbanner", "detectinfinitescroll", "detectvirtual", "detectlazy", "readscrollpos", "readlang", "readoutline", "countpages", "listshadow", "listframes", "classifypage", "fingerprintsection", "diffsnapshots", "readselection", "watchfocus", "detectsticky", "detectscrolllock", "readopengraph", "detectlanguage", "deriveselector", "waitload", "waiturl", "spawait", "detecthttp", "readredirects", "readfinalurl", "trailaudit", "navintent", "checksafe", "querytabs", "watchtab", "findclones", "searchtabs", "listaudio", "snapshotsession", "savelayout", "attachmeta", "detectfields", "generatevalues", "saveprofiles", "asksubmit", "readerrors", "skiphoneypot", "detectlogin", "detecttemplate", "handoffcaptcha", "scrapetable", "importcsv", "looprows", "transformvalues", "deduperows", "mergepages", "stamplerows", "previewgrid", "logprovenance", "verifydownload", "exportnetlog", "namecaptures"]);
|
|
6
|
+
var readactions = /* @__PURE__ */ new Set(["observe", "inspect", "extract", "wait", "waitfor", "waittext", "readattribute", "readstyle", "readgeometry", "readvalue", "readtext", "readhtml", "countelements", "readtable", "readlinks", "readimages", "readmeta", "readforms", "readstorage", "highlight", "tablist", "windowlist", "tabsnapshot", "mapclicks", "verifyvisible", "verifyenabled", "resolvexpath", "a11ytree", "readvisible", "readertree", "detectlists", "detecttables", "readjson", "watchmutate", "waitquiet", "watchbanner", "detectinfinitescroll", "detectvirtual", "detectlazy", "readscrollpos", "readlang", "readoutline", "countpages", "listshadow", "listframes", "classifypage", "fingerprintsection", "diffsnapshots", "readselection", "watchfocus", "detectsticky", "detectscrolllock", "readopengraph", "detectlanguage", "deriveselector", "waitload", "waiturl", "spawait", "detecthttp", "readredirects", "readfinalurl", "trailaudit", "navintent", "checksafe", "querytabs", "watchtab", "findclones", "searchtabs", "listaudio", "snapshotsession", "savelayout", "attachmeta", "detectfields", "generatevalues", "saveprofiles", "asksubmit", "readerrors", "skiphoneypot", "detectlogin", "detecttemplate", "handoffcaptcha", "scrapetable", "importcsv", "looprows", "transformvalues", "deduperows", "mergepages", "stamplerows", "previewgrid", "logprovenance", "verifydownload", "exportnetlog", "namecaptures", "shotview", "shotfullpage", "shotelement", "shotregion", "contactsheet"]);
|
|
7
7
|
var allowedactions = /* @__PURE__ */ new Set([...sensitiveactions, ...interactionactions, ...readactions]);
|
|
8
8
|
function parseoptions(step) {
|
|
9
9
|
if (step.options === void 0) return {};
|
|
@@ -3328,6 +3328,57 @@
|
|
|
3328
3328
|
}
|
|
3329
3329
|
return output;
|
|
3330
3330
|
}
|
|
3331
|
-
|
|
3331
|
+
function measurepage() {
|
|
3332
|
+
const root = document.documentElement;
|
|
3333
|
+
return {
|
|
3334
|
+
scrollwidth: Math.max(root.scrollWidth, document.body?.scrollWidth ?? 0),
|
|
3335
|
+
scrollheight: Math.max(root.scrollHeight, document.body?.scrollHeight ?? 0),
|
|
3336
|
+
viewportwidth: window.innerWidth,
|
|
3337
|
+
viewportheight: window.innerHeight,
|
|
3338
|
+
pixelratio: window.devicePixelRatio || 1,
|
|
3339
|
+
scrollx: window.scrollX,
|
|
3340
|
+
scrolly: window.scrollY
|
|
3341
|
+
};
|
|
3342
|
+
}
|
|
3343
|
+
function elementrect(selector) {
|
|
3344
|
+
const target = document.querySelector(selector);
|
|
3345
|
+
if (!target) return { ok: false, summary: "The reviewed capture element is no longer available." };
|
|
3346
|
+
const bounds = target.getBoundingClientRect();
|
|
3347
|
+
if (bounds.width <= 0 || bounds.height <= 0) return { ok: false, summary: "The reviewed capture element is not currently visible." };
|
|
3348
|
+
const viewport = { width: window.innerWidth, height: window.innerHeight };
|
|
3349
|
+
const rect = { x: Math.round(bounds.left + window.scrollX), y: Math.round(bounds.top + window.scrollY), width: Math.round(bounds.width), height: Math.round(bounds.height) };
|
|
3350
|
+
const viewrect = { x: bounds.left, y: bounds.top, width: bounds.width, height: bounds.height };
|
|
3351
|
+
return { ok: true, rect, pixelratio: window.devicePixelRatio || 1, crossesviewport: viewrect.x < 0 || viewrect.y < 0 || viewrect.x + viewrect.width > viewport.width || viewrect.y + viewrect.height > viewport.height, summary: `Measured the capture element at ${rect.width} by ${rect.height} css pixels.` };
|
|
3352
|
+
}
|
|
3353
|
+
var scrollbarstyleid = "devthinkcapturehider";
|
|
3354
|
+
function preparecapture() {
|
|
3355
|
+
if (!document.getElementById(scrollbarstyleid)) {
|
|
3356
|
+
const style = document.createElement("style");
|
|
3357
|
+
style.id = scrollbarstyleid;
|
|
3358
|
+
style.setAttribute("aria-hidden", "true");
|
|
3359
|
+
style.textContent = "html::-webkit-scrollbar,body::-webkit-scrollbar{display:none!important}html{scrollbar-width:none!important}";
|
|
3360
|
+
document.documentElement.append(style);
|
|
3361
|
+
}
|
|
3362
|
+
return { scrollx: window.scrollX, scrolly: window.scrollY };
|
|
3363
|
+
}
|
|
3364
|
+
function scrollcapture(x, y) {
|
|
3365
|
+
window.scrollTo(x, y);
|
|
3366
|
+
return { x: window.scrollX, y: window.scrollY };
|
|
3367
|
+
}
|
|
3368
|
+
function restorecapture(state) {
|
|
3369
|
+
document.getElementById(scrollbarstyleid)?.remove();
|
|
3370
|
+
window.scrollTo(state.scrollx, state.scrolly);
|
|
3371
|
+
}
|
|
3372
|
+
function scrollcontainercapture(selector, top) {
|
|
3373
|
+
const container = document.querySelector(selector);
|
|
3374
|
+
if (!container) return { ok: false, summary: "The reviewed scrollable container is no longer available." };
|
|
3375
|
+
if (!(container instanceof HTMLElement)) return { ok: false, summary: "The reviewed scrollable container cannot scroll." };
|
|
3376
|
+
container.scrollTo({ top, behavior: "auto" });
|
|
3377
|
+
return { ok: true, top: container.scrollTop, height: container.scrollHeight, viewportheight: container.clientHeight, summary: `Scrolled the container to ${container.scrollTop} of ${container.scrollHeight} pixels.` };
|
|
3378
|
+
}
|
|
3379
|
+
function waitsettle(milliseconds) {
|
|
3380
|
+
return new Promise((resolve) => window.setTimeout(resolve, Math.max(0, milliseconds)));
|
|
3381
|
+
}
|
|
3382
|
+
Object.assign(globalThis, { devthinkbridge: { capturesnapshot, previewtarget, performstep, readdialogs, measurepage, elementrect, preparecapture, scrollcapture, restorecapture, scrollcontainercapture, waitsettle } });
|
|
3332
3383
|
})();
|
|
3333
3384
|
//# sourceMappingURL=pagebridge.js.map
|