openpencil/packages/op-chrome-extension/scripts
Kayshen-X 64d70d672d feat(extension): add OpenPencil web-capture Chrome extension
MV3 extension that captures the rendered active tab (via the shared
snapshot-extractor contract) and imports it into OpenPencil. Logic lives
in the new op-chrome-extension-core crate (wasm): endpoint rules,
chunked-transfer integrity, /mcp envelope + reply classification,
download-name sanitisation, SSO/account session parsing, and hub
snapshot-inbox delivery. JS is glue only (chrome.* APIs, fetch, popup
DOM, injected page functions).

Capture: full page + element pick. Delivery: local ingress
(POST /api/import/web-snapshot) with /mcp fallback, JSON download, and —
when signed in to OP Hub — the account snapshot inbox. Flat popup UI,
15-locale strings with an in-popup language switcher, store packaging.

Why a crate: keeps the security-sensitive logic in tested Rust rather
than glue JS, and the SW/popup split keeps dynamic import() out of the
service-worker graph (guarded by check-sw-imports).
2026-08-04 21:43:01 +08:00
..
build-wasm.sh feat(extension): add OpenPencil web-capture Chrome extension 2026-08-04 21:43:01 +08:00
check-extractor-sync.sh feat(extension): add OpenPencil web-capture Chrome extension 2026-08-04 21:43:01 +08:00
check-locales.mjs feat(extension): add OpenPencil web-capture Chrome extension 2026-08-04 21:43:01 +08:00
check-sw-imports.mjs feat(extension): add OpenPencil web-capture Chrome extension 2026-08-04 21:43:01 +08:00
package-extension.sh feat(extension): add OpenPencil web-capture Chrome extension 2026-08-04 21:43:01 +08:00