{"_id":"@bubblydoo/uxp-puppeteer-transport","_rev":"4-92d751b667106c7e83a0f1f5d985fe3c","name":"@bubblydoo/uxp-puppeteer-transport","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.2":{"name":"@bubblydoo/uxp-puppeteer-transport","version":"0.0.2","_id":"@bubblydoo/uxp-puppeteer-transport@0.0.2","maintainers":[{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},{"name":"krystianpiatkowski","email":"krystianpiatkowski@bubbly-doo.com"},{"name":"jeremy_navarro","email":"jeremynavarro@bubbly-doo.com"}],"dist":{"shasum":"757fbf104bee06b0d8aeeade950c5f1e8aaad4e8","tarball":"https://registry.npmjs.org/@bubblydoo/uxp-puppeteer-transport/-/uxp-puppeteer-transport-0.0.2.tgz","fileCount":3,"integrity":"sha512-OV4YQNtMWJtocEw+8dkcyAnG7VhgS/uwG4tp66xkx55v/dBeK+bFalct+Wgiq5BO+y9eMxEB+oRTpblhHq/TBw==","signatures":[{"sig":"MEQCIFpPrxvDj0LMmcziooNa9FBAyuSgJYm8kWfr1eoRWjMzAiAK8fMVVdIDeQdreordUgE1+mOCz1av+AP5rBvFTMiEMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16713},"tsup":{"dts":true,"entry":["src/index.ts"],"format":["esm"]},"type":"module","_from":"file:bubblydoo-uxp-puppeteer-transport-0.0.2.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},"_resolved":"/tmp/af6dc5406a20efaef47bbc42d7804a8e/bubblydoo-uxp-puppeteer-transport-0.0.2.tgz","_integrity":"sha512-OV4YQNtMWJtocEw+8dkcyAnG7VhgS/uwG4tp66xkx55v/dBeK+bFalct+Wgiq5BO+y9eMxEB+oRTpblhHq/TBw==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/ws":"^8.18.1","typescript":"^5.8.3","@types/node":"^20.8.7","puppeteer-core":"^24.0.0","@bubblydoo/tsconfig":"0.0.3"},"peerDependencies":{"puppeteer-core":">=22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/uxp-puppeteer-transport_0.0.2_1770893694287_0.83132683391102","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@bubblydoo/uxp-puppeteer-transport","version":"0.0.3","_id":"@bubblydoo/uxp-puppeteer-transport@0.0.3","maintainers":[{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},{"name":"krystianpiatkowski","email":"krystianpiatkowski@bubbly-doo.com"},{"name":"jeremy_navarro","email":"jeremynavarro@bubbly-doo.com"}],"dist":{"shasum":"f1b17d6ff7e2059cab887bf9ef52ba95767d6ddc","tarball":"https://registry.npmjs.org/@bubblydoo/uxp-puppeteer-transport/-/uxp-puppeteer-transport-0.0.3.tgz","fileCount":4,"integrity":"sha512-TyqEcIlWK/sjUDakMWBMQTUQTgDPgqzNMPaEl3UTJ8pkbkqpG9Rsq/kgjwbUmm921j6gbZNLRB8RwwwpphVZyA==","signatures":[{"sig":"MEYCIQDxKMRu+cVNL8Fn08DRbW/U6mVQS4kzeROhqr8Hl4YiIwIhANOau0LrOzBifICFWnwHCZWu53tCXbLI/JCK+eWwZcBU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18097},"tsup":{"dts":true,"entry":["src/index.ts"],"format":["esm"]},"type":"module","_from":"file:bubblydoo-uxp-puppeteer-transport-0.0.3.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","docs-json":"typedoc --json docs.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},"_resolved":"/tmp/720ab3a41c0bdb5b103feaa30f58d460/bubblydoo-uxp-puppeteer-transport-0.0.3.tgz","_integrity":"sha512-TyqEcIlWK/sjUDakMWBMQTUQTgDPgqzNMPaEl3UTJ8pkbkqpG9Rsq/kgjwbUmm921j6gbZNLRB8RwwwpphVZyA==","_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bubblydoo/uxp-puppeteer-transport)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","@types/ws":"^8.18.1","typescript":"^5.8.3","@types/node":"^20.8.7","puppeteer-core":"^24.0.0","@bubblydoo/tsconfig":"0.0.3"},"peerDependencies":{"puppeteer-core":">=22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/uxp-puppeteer-transport_0.0.3_1771337667737_0.6569404364614153","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@bubblydoo/uxp-puppeteer-transport","type":"module","version":"0.0.4","author":{"name":"Hans Otto Wirtz","email":"hansottowirtz@gmail.com"},"license":"MIT","homepage":"https://github.com/bubblydoo/uxp-toolkit/tree/main/packages/uxp-puppeteer-transport","repository":{"type":"git","url":"git+https://github.com/bubblydoo/uxp-toolkit.git"},"bugs":{"url":"https://github.com/bubblydoo/uxp-toolkit/issues"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"publishConfig":{"access":"public"},"peerDependencies":{"puppeteer-core":">=22.0.0"},"dependencies":{"ws":"^8.19.0"},"devDependencies":{"@types/node":"^20.8.7","@types/ws":"^8.18.1","puppeteer-core":"^24.0.0","tsup":"^8.3.5","typescript":"^5.8.3","@bubblydoo/tsconfig":"0.0.3"},"tsup":{"entry":["src/index.ts"],"format":["esm"],"dts":true},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","docs-json":"typedoc --json docs.json"},"_id":"@bubblydoo/uxp-puppeteer-transport@0.0.4","description":"[![NPM Version](https://img.shields.io/npm/v/@bubblydoo/uxp-puppeteer-transport)](https://www.npmjs.com/package/@bubblydoo/uxp-puppeteer-transport)","_integrity":"sha512-qd5J1fxjw6Ciier2v7MkoH4YMSqKj0FuXcXQfkO6F5Svrb6sehjvI702Ju3ToQWxnC+ttOoNNBJpw+uIfyn7zw==","_resolved":"/tmp/62403712f3d1adfad59eae47052a285c/bubblydoo-uxp-puppeteer-transport-0.0.4.tgz","_from":"file:bubblydoo-uxp-puppeteer-transport-0.0.4.tgz","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-qd5J1fxjw6Ciier2v7MkoH4YMSqKj0FuXcXQfkO6F5Svrb6sehjvI702Ju3ToQWxnC+ttOoNNBJpw+uIfyn7zw==","shasum":"31a2c8c4f7149078c1c406b47bdcd264848ba382","tarball":"https://registry.npmjs.org/@bubblydoo/uxp-puppeteer-transport/-/uxp-puppeteer-transport-0.0.4.tgz","fileCount":4,"unpackedSize":18521,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDx5pgUMH2nG1Y/EA7e0l5uuQommhm6bK0K2jfu1DKWQAIgT0KMI9leeiI48l+TJA+jHC0JeYSVq3RiwOY7S8yLY+8="}]},"_npmUser":{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},"directories":{},"maintainers":[{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},{"name":"krystianpiatkowski","email":"krystianpiatkowski@bubbly-doo.com"},{"name":"leo-bubblydoo","email":"leonardoescuer@bubbly-doo.com"},{"name":"jeremy_navarro","email":"jeremynavarro@bubbly-doo.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uxp-puppeteer-transport_0.0.4_1779278982759_0.9835175972253694"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-12T10:54:54.206Z","modified":"2026-05-20T12:09:43.094Z","0.0.2":"2026-02-12T10:54:54.417Z","0.0.3":"2026-02-17T14:14:27.878Z","0.0.4":"2026-05-20T12:09:42.928Z"},"description":"[![NPM Version](https://img.shields.io/npm/v/@bubblydoo/uxp-puppeteer-transport)](https://www.npmjs.com/package/@bubblydoo/uxp-puppeteer-transport)","maintainers":[{"name":"hansottowirtz","email":"hansottowirtz@gmail.com"},{"name":"krystianpiatkowski","email":"krystianpiatkowski@bubbly-doo.com"},{"name":"leo-bubblydoo","email":"leonardoescuer@bubbly-doo.com"},{"name":"jeremy_navarro","email":"jeremynavarro@bubbly-doo.com"}],"readme":"# @bubblydoo/uxp-puppeteer-transport\n\n[![NPM Version](https://img.shields.io/npm/v/@bubblydoo/uxp-puppeteer-transport)](https://www.npmjs.com/package/@bubblydoo/uxp-puppeteer-transport)\n\nPuppeteer `ConnectionTransport` adapter for Adobe UXP CDP endpoints.\n\n## Install\n\n```bash\npnpm add @bubblydoo/uxp-puppeteer-transport puppeteer-core\n```\n\n## Usage\n\n```ts\nimport puppeteer from 'puppeteer-core';\nimport { createUxpPuppeteerTransport } from '@bubblydoo/uxp-puppeteer-transport';\n\nconst transport = await createUxpPuppeteerTransport(cdpUrl, executionContextId);\nconst browser = await puppeteer.connect({ transport, defaultViewport: null });\nconst [page] = await browser.pages();\nconst value = await page.evaluate(() => 1 + 1);\n```\n\n## Why this exists\n\nPuppeteer expects a browser-level CDP target (`Target.*`, `Browser.*`), but Photoshop exposes a page-level UXP endpoint. This transport bridges that mismatch by emulating browser-target behavior and forwarding compatible runtime commands.\n\n## Unexpected but useful details\n\n- Synthesizes `Target.targetCreated` / `Target.attachedToTarget` and related browser-level responses so `puppeteer.connect()` can succeed.\n- Includes a promise-resolution workaround for UXP CDP by polling `Runtime.getProperties` when `awaitPromise` is unreliable.\n- Re-wraps forwarded responses with a synthetic `sessionId` so Puppeteer can route messages through a stable session.\n","readmeFilename":"README.md","homepage":"https://github.com/bubblydoo/uxp-toolkit/tree/main/packages/uxp-puppeteer-transport","repository":{"type":"git","url":"git+https://github.com/bubblydoo/uxp-toolkit.git"},"author":{"name":"Hans Otto Wirtz","email":"hansottowirtz@gmail.com"},"bugs":{"url":"https://github.com/bubblydoo/uxp-toolkit/issues"},"license":"MIT"}