{"_id":"discovery-media-player","_rev":"169-7ea33d6060c877461f8cdb3466e75309","name":"discovery-media-player","dist-tags":{"latest":"0.1.172"},"versions":{"0.1.0":{"name":"discovery-media-player","version":"0.1.0","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.0","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"df71f6a1101f7141ed7fb8221a8a7361ce3ecdcb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.0.tgz","fileCount":32,"integrity":"sha512-KLBWknw/UwDmp7V9dwYn4IqKbuESOSXzhBt29e0e13YXlP0Crqn8Lu6fKUr2+PTG1nzwIZUtKgHDWnLHNkljOQ==","signatures":[{"sig":"MEQCIHJroTQSlK9P8089CxgwQAPQJgvkn5ZuxSZeA5hzjEH8AiArYTUqE+DILM1KYas8ZSTGcB0L5PJdZ0eUrmfZqJzH/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":539515},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"adbe88df1c01deaa4ae17e02dd1f6736e70dda4f","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"juli1artha","email":"julien@adnfamily.com"},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"10.8.2","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^2.1.9","esbuild":"0.21.5","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.0_1786627491397_0.670164938241746","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"discovery-media-player","version":"0.1.1","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.1","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1bf7f56c2d92f9d67a131368b3c3a626cd8e9c64","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.1.tgz","fileCount":32,"integrity":"sha512-1tj7GA6WCTS04udPTlztLHPVegvWd15PosFg5LIrD3TshVh1K8nwAN6IALM8Y08cDNPXzf8itWk1xNtgsEb7Ug==","signatures":[{"sig":"MEUCIQDyYyHYBZY7US88cNYMGR+Oq6zoxlGhFgtVINVO73l29gIgVUQn9tOOYSGqZdTVsabUiLqVvtLbbNQVw3z6RB/1ees=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":545444},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"31610111b48ff717bd83afd8b43318b0c737f5bd","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.1_1786628585939_0.9879510108985095","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"discovery-media-player","version":"0.1.2","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.2","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"6b4599c43484b2cfb250b135ffa0fe47facce971","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.2.tgz","fileCount":32,"integrity":"sha512-tu9jYkzDtpZfmSgHY5F0ClH3QukE2ec3ZJQA2vsY81OEL6fVcxcUiEcodxLDaiBlQ+ozZJFgMM+5uf5nm1/slg==","signatures":[{"sig":"MEUCIQCn9kvsDYp4bZo+k8RcY70MTctm37pIeHIGjEeIRyuJtAIgWfwfSD6N/sao2H9vTiX1ECC2Un3zujXBt8cOtRRqSMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556399},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f681598c49e288674ba28f6bdb0a75114147a277","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.2_1786632049193_0.3487261455907025","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"discovery-media-player","version":"0.1.3","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.3","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3ef29cac3ec97ff46bff5a7d31ae03b3687b02d9","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.3.tgz","fileCount":33,"integrity":"sha512-QVgdeEXjL1KgeC/7FOaeoX4izea+dRUGK8zMXiIin3z8Lg4gotL9U65mqQNRwk964IKqVOLNF8724GQse+4krg==","signatures":[{"sig":"MEYCIQDOhPDmfv2yMMoLGdpD9jq1aHuv6K4gl1ZxfyefTIbv9AIhALK9+TV+NqjhTeCTv+faPnryecHokSObQvus1ACzLCdM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":562110},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f1c446cac41523c9e45a2d7a62ea88c770b87336","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.3_1786634089513_0.563861633655588","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"discovery-media-player","version":"0.1.4","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.4","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ce6fd8fdd9697585e229df1c82b50f29afb84ca6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.4.tgz","fileCount":34,"integrity":"sha512-fklCOx1vSMwFVGSu6E7e9cWBA/kUwAgu5p0vVHwBN1wX4QpWzXYj3WbL8mFA99eXVDbFU7X4yYuT/TUQJWqN+w==","signatures":[{"sig":"MEUCIGmbZAWAIGa1VQNEwPpbYNDZRIbDzOYMQV5k/Pai4n4zAiEA50FNkY/sqsfRBFUYoZKT49L41EoXRx3QBTOWvsdAL34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568103},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"5bfe51e26bc9a43a4090b493bbce7c88b4abaa1a","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.4_1786637120389_0.699848462508498","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"discovery-media-player","version":"0.1.5","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.5","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"5d2d7dcb0e8b814902bbd9c2320e6c420bea0688","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.5.tgz","fileCount":34,"integrity":"sha512-4aQsK5pTaAF5vxLBxaelKtjLXm9yWQ50fDVXokw6iEX+o/+J8X3ylRp0WlYdmwcDcBcMgE3SZ9BlDmgpEx/90Q==","signatures":[{"sig":"MEQCICg2yyI9Ni6bj56LQQRn7xD3o3vHFwvytW1baKTAUYm9AiBn6vrd0lIyahQnbzzypHi5ulciZikGLZKYICHZo+ekJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":575748},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"503c42d64c459106a7a13a00e4d0f7471063a6d4","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.5_1786641375709_0.8560537894824414","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"discovery-media-player","version":"0.1.6","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.6","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"5fc2f3fcaef330032f3a31b60528ebb91f92b48a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.6.tgz","fileCount":35,"integrity":"sha512-e8V+6OxlnfZkxRnvuCBuV0ITkP6m8U0qy/Z3FM3S7j9ZmV3weH9whKLJIr0bskjqrvBsnSdXYAv1U9Sd7puPjw==","signatures":[{"sig":"MEQCICSsc34DqDPQHEKPffXpF+xGS5tzXrhvSo03XEy/x0doAiANoiFjJ2+fcP7EVtLPs7mNU2oLI4SpZyxX/y9u14GUlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":583989},"main":"server/handler.js","engines":{"node":">=18"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":"./src/bridge.ts","./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"a1890e659d085f430e3634f2222ddd4d4dbca071","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.6_1786642262927_0.4644640227452965","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"discovery-media-player","version":"0.1.7","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.7","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3e98fd6b9bf1538cba12eb6b572cfe0b6a330044","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.7.tgz","fileCount":18,"integrity":"sha512-Upn2Li8JjI7R6WtaZf5EI0lOn7aXOcs1IqXwB33tN78UwWVS3mSwAwJgBNrOAsU7C9EsWXTkV3WLgvbAjkVPfA==","signatures":[{"sig":"MEUCIQCrHE8wnpPn4PrJ06opv1XZGU41iFnBVHMN0l+sDT2XtwIgWCUzY91CxaiIXyYDdpmMW1y57Q5rKO7aFicMkxRRRhk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":436222},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"38740905e26f1afaf8dfa0cbc3f2d496b1165b8f","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.7_1786688075331_0.8808092248442223","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"discovery-media-player","version":"0.1.8","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.8","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"679d9e79ef7146a84fb482e4c7dd38a98460806c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.8.tgz","fileCount":18,"integrity":"sha512-+X3lOxMYSt7nEq3Mv25u8PRkM56w1p8nZjkNGShYWjVCG2mGbtjOxOzsvondcm+DFNg9kfu4WivKM1Yzs3PFdQ==","signatures":[{"sig":"MEUCIE8whWQtHyFQZ0ThtzHGd+OpKBta8tC9In/8hs+QvN/EAiEAooU7GibpHdZ200qm3w5g0+DAlLM8Lyt4lvWnwt/szWU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":440414},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"7a2a1592ec19abc7fedbde3a082879628f924e4f","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^9.39.4","vitest":"^3.2.7","esbuild":"^0.25.12","@eslint/js":"^9.39.4","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.8_1786689633191_0.012129935144123971","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"discovery-media-player","version":"0.1.9","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.9","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"d71215632067c927cfdf5eacc3fd960e921c66cf","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.9.tgz","fileCount":18,"integrity":"sha512-FLXCOkvumuQ0VHZtYYILaUMjrb+oCez1jqCRT2+Ccuh5qJmMDbUhtwkft8zymSeAG0h75RQgjuUAEqhnTwj99g==","signatures":[{"sig":"MEUCIQClrSjCCzXaHv7W67uPZJVEYbG5nyetpy/ey3o3l/KGNAIgZ/dAyO2kukuS2+tsUZ5pLckIfoQVZprr2XRnjD394eE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":442235},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"385deb7f945d6e8f08ca4addcbe225be94f4bf3d","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.9_1786691761437_0.6360335219504265","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"discovery-media-player","version":"0.1.10","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.10","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"b5788fd8c5e209e3343a38b2e6d94f98e42cfee5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.10.tgz","fileCount":18,"integrity":"sha512-jRW+tCYBKs0bX5mRkYQK+7Yg/x88koNtbvu5HzhAl6kIpNGIYjfkgezyNyN//rsCAFBmzrSByQNjKy05d9PrNw==","signatures":[{"sig":"MEUCIALoN1tTNpxW80GjhTQaWq8hJNAKnD2eDc+hRIK4fIsLAiEAr/pxnxhwjYQHI6AWtP4XB6JYpMwIw13I43/GpHtLkUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445250},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"535f9592173a1785cf81d8301939adfcab626df2","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.16.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.10_1786696902585_0.10205843158683647","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"discovery-media-player","version":"0.1.11","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.11","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"5760d4a200ab06270f23321db5761ff957e15b2e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.11.tgz","fileCount":18,"integrity":"sha512-bzeqfF7I7I+3nqw3yaMjkjAS/Dp+6P8j5rXII+S90jVgOBFTDYo5xaxJqOGGmnJUmapdI5rvoEaYPUImGVoXgg==","signatures":[{"sig":"MEUCID20NaiYPlqI1Jzxj1ON1k/H2bvpt7qW2DWmUJauAE+1AiEAoQYi5+yLbMc781gtkMG4NUswO+hIGJe/YPL9aze/eSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":451958},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"3e3f291989b0b047f2d591cf41ec8fbed609e400","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.11_1786698920256_0.20414594728208302","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"discovery-media-player","version":"0.1.12","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.12","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"905776a9c0d1575bd45523f8728e964cd261bec5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.12.tgz","fileCount":18,"integrity":"sha512-PymiqfNFmBJX8M04zxcJ1o7M72AjUnjplnOjOxywwBt6pVzf6RxXsea0rM2yZYuMP+mKeb3I4ggQdL9PFj3QNw==","signatures":[{"sig":"MEQCIDEDXhqqIOhB6vPAU1q8x6QkcJJL8MJ42wLAgOWp8GgdAiByo+d4Tjvb1/5DRoYB9TtpNyKVY2HYWF0ZGU+pjosoGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":452027},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"dc0d5e74cd33f690a0b485ee19c110434b48fb2c","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.12_1786701629604_0.1618861787636503","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"discovery-media-player","version":"0.1.13","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.13","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"d179c89411146d7876252899c866e0f57c0291f0","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.13.tgz","fileCount":18,"integrity":"sha512-+QBiohk8FTQvbY4NO3ynpq0MipP+gaAtCJtHFNUKDvb9iOVe0Ga933VFNstGx1R5uYk0krN3M905mugFU9+Mfg==","signatures":[{"sig":"MEYCIQC5RW8tdcAlaDLnSG1DuKmWmoVu7jHc4BAsViauzY64TQIhAM0bfUyS92qtcWSWOsiHx000vb4nttDWGxdByb0oTzz7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":454591},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"6eb3600bf9d04f9b038a0ddf3feb113994cf8de8","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.13_1786703034011_0.26991686699519724","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"discovery-media-player","version":"0.1.14","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.14","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"841cdd13a84e87aca41a620dfeacb788d204e870","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.14.tgz","fileCount":18,"integrity":"sha512-2ofhEMCLUci/M37VuX2I7nMfcHsXxh5iTz32UkEYEdomr3bXFZpvClIjuzDS5N+7/ilChdIY7Ydy8fl5LxPluQ==","signatures":[{"sig":"MEQCICng401OUzjleJg9+xZK51uKmvf5JoRfagnJspVoIHY6AiANNZNakXPTZjgeSwZu1sv7+/HiFNwMPYRwS3R3RkQiQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461020},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"436f693b62c11ae5cdf12a082e2103a298c4359f","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.14_1786708404886_0.6332738306268675","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"discovery-media-player","version":"0.1.15","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.15","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ab74c377246631c985f84fc9e053f69681464e7b","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.15.tgz","fileCount":18,"integrity":"sha512-fQtXqKuMdL9k/1DF9YOu0P2IF9JYy0Fuaaq54IiXs3UBABKAymwn+WkS1cNcPiHMnHIDxk0XkEC6V80dIQB+bQ==","signatures":[{"sig":"MEQCIEZznMpjHEEzxxViv/pl4tvlER23SJHKUp+y0rbMkvzlAiBzGwr9TyZNPRdCzBBkrI72JPEoA7ypH6DkzrxmaynkTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461960},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"ad8b4eac98d24adb7691489371a6cc9147ebf470","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.15_1786712063802_0.8823049380212893","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"discovery-media-player","version":"0.1.16","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.16","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c02ddb277d8542f6efb0165e9d9af29917ccf284","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.16.tgz","fileCount":18,"integrity":"sha512-V2eDZwEe4fgFmxQw1tgc7BB8vWDVOsEjWJc3S1BRu+MOJYb/fFKluTaF0mP2AWwqpMJbD5/ALNGwWYciAIHTdg==","signatures":[{"sig":"MEUCIC19XUlnE/kw2V0HmergvP26qhzDHsda5xzf6podSoiyAiEAxdBTvMn0miOW0FiEq4rA/aU9EpQSY535atTVh1jP3m8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":463379},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"c965f60d375247bf9f76ac25917b323b36b855a2","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.16_1786714327801_0.6765632074962955","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"discovery-media-player","version":"0.1.17","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.17","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8ce05c6f49e4fa70dba1e1b987d5dddb12fe4fcd","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.17.tgz","fileCount":18,"integrity":"sha512-xI4MJZZASvCSNrw6/E5PKKJizpMnErwO4vEVzOLIfm5Fjk9BswQuE/nypxKJ2kfpkVURFEWl3rNgIS5AaELjiA==","signatures":[{"sig":"MEUCIBr1s/EbM0SwoIAwBYm8wLFy7kkJOggXj6HAh/KPza/nAiEAlSPVbkb3WVE6eIFxIoMifvMBlidv7ZTZMGn89FWZjcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":465826},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e737d62179144c1a8bcda71147e203a32c20f726","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.17_1786716351586_0.5299979052070012","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"discovery-media-player","version":"0.1.18","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.18","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ee6d752d0ddd473a65b3fed07759b20eeb000e5e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.18.tgz","fileCount":18,"integrity":"sha512-ivPTbtv+xa2XkSmmxJbcG3qGl+K9y15+A+7oHxhG4Yp90+o1QyAKDn3vNXgGWNvODVhGZdNhHwUS6FCds4GCAw==","signatures":[{"sig":"MEYCIQDMNKChkx88RxJdko4DA4oglLgoy0Huy3lZlg9FRPKxXAIhAO3ik6KktIi1r5xgaGmMXYKrfNffoW3wKZD0fTYHu7KP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":468498},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"6d230b8adaf160c55fdcb045304840fcf0234faf","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.18_1786719451357_0.0932957816916562","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"discovery-media-player","version":"0.1.19","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.19","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c07da54bf4c7b5a421faf80001fd133476113826","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.19.tgz","fileCount":18,"integrity":"sha512-OdYHoh+13RDBWkoGdR8/UQq3gyGfw948AenQfOKNU3PxAPOajnbX87t5uIGo0wKVpsbgmqm9IW3b5UmTCKz/Fw==","signatures":[{"sig":"MEYCIQDBLL9zSfYjaP36gP8VTWmr0iKUHaPNaxaRh98nZJsMsAIhANxLR0MSGIQGr/cS/nL2jwMtkpJUyfFVejNlkMF7AkoJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":470990},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"051f15c4fa87e897636596fb193c801e3913d468","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.19_1786720486531_0.26881261031263737","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"discovery-media-player","version":"0.1.20","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.20","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"18132db1b5ba30cad1a37fde55373f57ce9645f0","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.20.tgz","fileCount":18,"integrity":"sha512-hIb0eqZEwaFm+8I5AkV379F6RDgZDrpfdkk3I7LweHKygJNbCbSfuw9/cu7g5pn6yuL3Wj7jfzzN/JbCwN2jLA==","signatures":[{"sig":"MEUCIC8NpEWQr2SS6T8ztR7cXEr3tYY4SIQKSygSni7qotLdAiEAjtM1z3Imj5MsBgDqLtCBW4ByUBAJFFvXKZKKqO/H/VM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471892},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"499318a37e626d5493afd3ae4a2b062b02f27346","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.20_1786721084394_0.4873170139857037","host":"s3://npm-registry-packages-npm-production"}},"0.1.21":{"name":"discovery-media-player","version":"0.1.21","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.21","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1a3f41c8cd2e92740a36f6bd9fabf5b67809f24a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.21.tgz","fileCount":18,"integrity":"sha512-qFqjyTpOJhNN6ZowHSXRuUrXbFksqfEZpYgM/Zp4CvMTq6P2b3crXoccVnzBFz4zV1TaaOjAANP9ap71vcjIGw==","signatures":[{"sig":"MEUCIHbehPiGGN3XyZhDiX4HDZf4c5ALtP/enOF2Sb9CPtUUAiEA1X+3uhIj6PO8j8BnXruHw/tbKI9/pYiCrv9+a4sdqlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":474934},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"362738c0c02c0dcd4bdc851039b74d99f9b8be62","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.21_1786722439691_0.4244482280588173","host":"s3://npm-registry-packages-npm-production"}},"0.1.22":{"name":"discovery-media-player","version":"0.1.22","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.22","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"765c727f6b9f5fe6db1c3e90b8dc2127fb82ec40","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.22.tgz","fileCount":18,"integrity":"sha512-/vacN+DWwu7bQpWJ/b3qyNkjmc87cd9+RxGmJJMA+YTOLpGdhBpjc+sNVb1YdWjOZl6njdvhnK8Rnxug56j/Ug==","signatures":[{"sig":"MEUCIHJzkqYLP4Hj7sER8683dyatLyBshcBcP+Hqs7lHlVENAiEA10zwNG24SC6kAZT8i6uO+u5ZGftJa4HyMTVbm9iiFww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":485101},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"b6dd0d26b60e724c53be9aba380e83277f139878","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.22_1786724196724_0.36069666113956766","host":"s3://npm-registry-packages-npm-production"}},"0.1.23":{"name":"discovery-media-player","version":"0.1.23","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.23","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7e0f5bc8a8bb014f0231f55368cacd76b1af37f5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.23.tgz","fileCount":18,"integrity":"sha512-xbWdtdSDgvUbVX0C7yRpg2Iw0VJzK3LKih+BT7d+d/tjAbBtiSdu1ctX7ZMEYz6jGuIhtyCTMlT6Oh3BxR9oBg==","signatures":[{"sig":"MEUCIFyIgkglIUe/VL9QBktIUQeAchPR9QqsNGdUZbVm2OyXAiEA+5WOzl/Usd2Y2sblCqbo9/ysN9XzpjEns4KaYmP3H6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":488793},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e382812f43be0e8d9e4a9cb95739a351f558a5ea","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.23_1786734606918_0.20966049819243504","host":"s3://npm-registry-packages-npm-production"}},"0.1.24":{"name":"discovery-media-player","version":"0.1.24","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.24","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ea3497422dec42332ea0dd9fa92d7b82b8a2a822","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.24.tgz","fileCount":18,"integrity":"sha512-BJVnhP6955u1uJl3m4Ta/h1smfaz+jz5hJD0ng/l+42VeMDhGMstegPk3QffN+5d2rZR1LJI9eoKjvqk9zh1eQ==","signatures":[{"sig":"MEQCIHcm5GQiih1prkGCHAPyektF4IBsjm7cyrKwaonJTaKYAiAl5tSveJp3v9WaRFO+eDpPlU1gm8mSGdiPGEx2XpK4jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":490469},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"104cf5f890c9c968c4733a34d207b664a49f94da","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.24_1786736501240_0.6327458588416093","host":"s3://npm-registry-packages-npm-production"}},"0.1.25":{"name":"discovery-media-player","version":"0.1.25","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.25","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a8e8b691634d02ceed77cd76e6d30faf33e7b7a3","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.25.tgz","fileCount":18,"integrity":"sha512-2XZTsHIVbHAKcChxDcMeO6rkAlKZPBJyXUupDpHiUwjT/3SOaohz8BB+EdeNKu1CXJJ+gqKkW03q3DFI35hfqw==","signatures":[{"sig":"MEYCIQCWqHkJ+VUnatWAxFYItyMTBfR2SSMLxV2bMkuVbtU4iQIhAOdFNUrAQ5i5Kt5YtuPR5Cmv9tHZmQxI2zRqeNhbOthM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496417},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"ad803b5ca985c8f124ed7089c3497137e690ab92","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"deprecated":"Broken live presentation runtime and public presenter email exposure in this release. Upgrade to >=0.1.28; latest strongly recommended.","repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.25_1786791359692_0.5002455190539203","host":"s3://npm-registry-packages-npm-production"}},"0.1.26":{"name":"discovery-media-player","version":"0.1.26","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.26","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"bd6795a34871f672ea8239b2be1200ca39d52432","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.26.tgz","fileCount":18,"integrity":"sha512-rIFqqu+0aem5W8rEp0BTXAt//puR9VsZmmv3+/+W4Lf2vhetxZCmnXdPYAGHbnZ7QvOWtU3B90L37bvRwa7wmA==","signatures":[{"sig":"MEUCIQC8feXisL/FFWpUqU+ly7Im9/8U0mkmZtRpnQplQ67X3QIgcCuT1ICIcl3sO5sSbxGXE71h7jaIi2zA3AcNXy1uwtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":496873},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"98b76e1dfd91e5a2c59c9b4802a216b4190200e4","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.26_1786792038647_0.10365183374731046","host":"s3://npm-registry-packages-npm-production"}},"0.1.27":{"name":"discovery-media-player","version":"0.1.27","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.27","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"2cf3984a076a9a09de6aa231c927fb9b900b59fb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.27.tgz","fileCount":18,"integrity":"sha512-3nSMpnsOFBgHDgOtYZFcCsO90jB0lSTZ2Rt8NNyMRyEb3PErRmsdsLtq1v1NWY0j0/DVSZCu5ltzSSnlbvcN5w==","signatures":[{"sig":"MEQCIEB50A0RqO9W4B3s9K9xmoloHAGLtdsLA6Uiei0qCcgVAiBSrkv7Ac5eBcMSEQJkafr8F3LuQOVOyRedYtM9w6iZEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500662},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"b67218b5de047da9aafa711fe8741850786f022a","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.27_1786795546708_0.11363809724036567","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"discovery-media-player","version":"0.1.28","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.28","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"fc18e6201044c51b1c0a78293083a25821daa8c3","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.28.tgz","fileCount":18,"integrity":"sha512-8faXeQmSORBurZS5FTKMFq31lMVP0wxIsag+xreTujC8NI3BD8HlzBpCBZ0HWxvL5AD5KdWnjqJ4GPowSCTwKw==","signatures":[{"sig":"MEQCIBNMN+CEmNy4JCKzIlqI8bA7cpAGziTRHHn7ppcwsVDsAiAJnj6TR5/zWRH0NfwG0TXNLhLcJNMWYzjDKGPD3K8+lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":500386},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"513ebc1fd1b9bdd0548527d662887686b360066e","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.28_1786798068559_0.14472658411199957","host":"s3://npm-registry-packages-npm-production"}},"0.1.29":{"name":"discovery-media-player","version":"0.1.29","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.29","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"2b1718e9764b35593c98bdb5baeffd80c75f0492","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.29.tgz","fileCount":18,"integrity":"sha512-p921e3RJDnobfC6Ck7K0tm+AjOEyPpQV4YPSZVcWlVP/zdtckDju9gbuOvsNE302X4XtinCQ1rGcWuqhLueKOQ==","signatures":[{"sig":"MEUCIQCom+mgRy28j0DMh/i8PKwlMj2uKupFzDdjM0krZnkMaQIgWO6kRN2CNkacbLU4Djh3X2HI41vLaFgZzWev6eiTci0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":502323},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"c13a3d350e4727c562eefc6a71b7d48acebf0f8b","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.29_1786800133635_0.4751622294988602","host":"s3://npm-registry-packages-npm-production"}},"0.1.30":{"name":"discovery-media-player","version":"0.1.30","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.30","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"5962f5220a677b38bd4abb0bb6aac949a6353c10","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.30.tgz","fileCount":18,"integrity":"sha512-WdALyLeNgK0UTb9Q2yJt686u/Rraoanz3YQxTqYbcqZ7czKHZXbzI0vlvHh6864OpLEKNrf70nMbety2dAvubQ==","signatures":[{"sig":"MEUCIQDcJyRQMVOXbVbRTBeX0L9y0BxPegNx9PtXzaDA4doryQIgTCxxjJakEGzl33gQXNDBr7mJCH/aru4GnMPGv9wwYe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":505521},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"2f1d952149276f11915ffc2dee4b5bbc1d7baa21","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.30_1786800883402_0.48456876300758656","host":"s3://npm-registry-packages-npm-production"}},"0.1.31":{"name":"discovery-media-player","version":"0.1.31","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.31","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a5c15a2bfa05c24be1a24b7341d08f4285b0a454","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.31.tgz","fileCount":18,"integrity":"sha512-0DSkINjgRSTgMkvgaKhkBz2qI/9xyJ+JZPahkBTlggr0jbC0ll2mNPuXiSZ291yxlhbOlRQit5dwh77C3yZ21A==","signatures":[{"sig":"MEUCIHrR3qp8glR6g1S2Qdg6/Yp0GEb2I18s9T9iFirPaJdnAiEAlGe+L/qWHuKxnYtt+ZnshIqYEzMayXp43vi+JXvEI0E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":506942},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0abd97a4f0ac2cfe1e64510b88703ccefbc2c71d","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.31_1786801758132_0.9404295180950615","host":"s3://npm-registry-packages-npm-production"}},"0.1.32":{"name":"discovery-media-player","version":"0.1.32","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.32","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"642c7d2428e26424ec0c3a7c4cddde1c64390597","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.32.tgz","fileCount":18,"integrity":"sha512-ht5YYlkDuwvzzjyBiN+iCyahl07hOkqAeMQWBiRTfA8kRsSZ6c/Zj0G1+J/33gCSTPFSj2t3Ddr8hHpxC3M8MA==","signatures":[{"sig":"MEUCIC2WJBrc4No+BDR4FVDme/cKAoDnvKIrV5OT5pC9Wt25AiEApSpRJMCejpB0F3ROMfTdFpSnN8dZx+rYR3KLAGRC0Po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":510135},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"d1bc771b876dc1370fb3b8f6ad1fb74445435019","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.32_1786802426380_0.4598636770027542","host":"s3://npm-registry-packages-npm-production"}},"0.1.33":{"name":"discovery-media-player","version":"0.1.33","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.33","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"88271629977540da740c81fac311d7867f7fb0cd","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.33.tgz","fileCount":18,"integrity":"sha512-nt4jQKYuDCbMaHt/pBo251ZAW1is9GPv9NESnXLqwvnw0cK9xNqtDEVh5GkoINr3lIj/I7S4SK3+0zVqN9fcGQ==","signatures":[{"sig":"MEYCIQDJeush6+PFO0YHjnUxpvsD8ldyeCjEwt4ipiqQXrFuIwIhAKP+0nFnGFg9Z0hUEMXPoAuO2sF+BSLcBZPH68cg5PME","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":511116},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"82cb1ce172e9279098ed49d1f7d694d5e688b949","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.33_1786803193696_0.7775261492193888","host":"s3://npm-registry-packages-npm-production"}},"0.1.34":{"name":"discovery-media-player","version":"0.1.34","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.34","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"debf72ff103aa89f496caa52858aeb90c85df554","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.34.tgz","fileCount":18,"integrity":"sha512-1FcJi5ejElnWDU1swxJ9PepqlBMsuaMTDjIHEWpnLew4fxK9CYh6VuNMrpYa1AlivWX1cBSKVJa+Bv5Ipo+DhA==","signatures":[{"sig":"MEUCIQDQyptYGlDvdPUZ5JDAqC3oSoh58sCJCCutxok3UtWeCwIgfCfew5fCTg+BR4nkoy6rlFy93gcqQm7DXBFOAdJrGhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":513815},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"121732a26abdb870cf40c873cd9870f89c8ab864","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.34_1786803627501_0.22023566490327906","host":"s3://npm-registry-packages-npm-production"}},"0.1.35":{"name":"discovery-media-player","version":"0.1.35","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.35","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3df8d3657fa53dee2e2fe4faf8c442eb34b5f40b","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.35.tgz","fileCount":18,"integrity":"sha512-etKQJ+imamj6iw/YvNhg5lLK4EQwVvdK34TrjT5iabFUhtRHRWeXZR9mKMZ5Bfq8W9YWMGLw9vG+BHiHnLCc0A==","signatures":[{"sig":"MEQCIC6PhOoU9FDZ/B6mBd9l4wTyjrGbGW/bcEF09uUwbV2cAiBVd2z5fsTWlksMbpTeEUbl0ezL0MkKg2qD9HW6MdNKDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":515263},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"1c3ae40a997b31f0cc5c041988473031b1a29521","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.35_1786830811697_0.5856353618666619","host":"s3://npm-registry-packages-npm-production"}},"0.1.36":{"name":"discovery-media-player","version":"0.1.36","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.36","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"6339496dead8292c934012a5fc74416a94617c4b","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.36.tgz","fileCount":18,"integrity":"sha512-3HFJc8JSP95erPaat5DscAwsKt6uP78P/kLxcTHJmiCiAsGbPLyqg/Z+AxB/A7IFj0PBlq35ZUpyYXlBXLcFAg==","signatures":[{"sig":"MEYCIQC3vEHHIXl/UMbG/d34vH3m/2BovHMlDAM5Nt7Huk7aeAIhAMIVDxtr6IW+dtoxUXoLX5bhQ2vFWtJnOzRpJseD1ZCi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.36","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":517501},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"23bfb29313e63f60e346fafe55a6f3014311c99e","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.36_1786888135196_0.9260782155244875","host":"s3://npm-registry-packages-npm-production"}},"0.1.37":{"name":"discovery-media-player","version":"0.1.37","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.37","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ecdb10342ebd859dcef81735384d62199af2e8ca","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.37.tgz","fileCount":18,"integrity":"sha512-TiHUf3MkuGGRrKcER+hhNydYQJ38zBlY4rxk+44dgRg6PrwL6fILBH8hPwMgGyoZI/AVLL9cfebozUDyj226cA==","signatures":[{"sig":"MEUCIQDIsuQZIbNgrmWhS/S06fZPN41LpBMuqCxyPcbNQRBMLAIgGfo6SGjUM5vRJduZVzfzUIlv3crim3ORi4B+RnewmUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.37","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":521397},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f78e9a2c727061b15c7d8c37d1420324dee22670","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.37_1786888834415_0.23033692728577604","host":"s3://npm-registry-packages-npm-production"}},"0.1.38":{"name":"discovery-media-player","version":"0.1.38","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.38","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"e7700993b51e8cdf0b6090d3e14c963e7690973d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.38.tgz","fileCount":18,"integrity":"sha512-QPRq0V68Lu8mpwQBHO5TajQr9VMznXLPynxOKK+73xt75oDDqOinlIy9+kX+AP4uY/SqA+KO9pgs+u8xVSgxQQ==","signatures":[{"sig":"MEQCID4g545Ihq3Z86gPpVMH4Bg0FoXoK9kKKH9zt4q9BXlkAiAHcVp07PiXIbMCe2dIBtiB+aghaKgVMalkomxoqlxnDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.38","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522364},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e1171f26ec1a3d9803c3e95dc1c1f58699fdbe3b","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.38_1786889606610_0.7456657050228097","host":"s3://npm-registry-packages-npm-production"}},"0.1.39":{"name":"discovery-media-player","version":"0.1.39","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.39","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"9aa8df01c8e5068b63b7a191be160b0657f983eb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.39.tgz","fileCount":18,"integrity":"sha512-I3DAgWqfwWq/fUEAxID0GeKZ288Q0TzaXVYbA/a4Cfx4dMK5oAL37xYUW7yUnsEARF8b7m56W9qlYzW0jAGQAg==","signatures":[{"sig":"MEUCIQDCZnb3l3B0DLwcZ02hoHvMk3orkHrnQ0ltAOiFeuPTfQIgU/jlWmnw4G6FucIRCYAsN1DVKDQ6bzSECH5afuLcH38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.39","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522323},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"64cd8a7b81854886d876692aedc24d71c92bc310","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.39_1786890878603_0.7571084980343574","host":"s3://npm-registry-packages-npm-production"}},"0.1.40":{"name":"discovery-media-player","version":"0.1.40","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.40","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1b512c4759e8b8a4909865e6f93c815a5e4831bb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.40.tgz","fileCount":18,"integrity":"sha512-pS2lsCHw0XE+3zoOf5zJIrWTjaCeBrhQQrzmgCKhLjJfCkEm+AcX/uQcON79fLszZAm8dSgKtwaJvmh1dS+Pvg==","signatures":[{"sig":"MEUCID1VkitQjB2SYIH87OKdZ1sl30WCA38FsqUOFrXd180kAiEAo9Yp9Pf+cGS4SXqjVFiXDmQbJChI3cqYHFJc+nJcH1M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.40","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":522425},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"25f99de83023529257360934333bc5f630351ff1","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.40_1786896992284_0.1515498870474512","host":"s3://npm-registry-packages-npm-production"}},"0.1.41":{"name":"discovery-media-player","version":"0.1.41","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.41","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"44f618daaac917f4865262b9a5afb08197351dd0","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.41.tgz","fileCount":18,"integrity":"sha512-1fv7OY7KwlfwiIPEi6932BmuP/gnA0rnCp3K82SjOgaHc455Bmfd7ZxxUqXxqEw3FwhrhY9m15cx/pPwmoz4PA==","signatures":[{"sig":"MEYCIQCPPNg6en8WSe0ysvcx5AquOk/a/eMPACwhPe61iU44BAIhAJf/WkukAVmONx87rf8GlFiiP1qYRF13OIIfY0HuZU2H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.41","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":523330},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"4516fdf43ac930a464558afe2c14673ec263e09d","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.41_1786899310731_0.7596964369036858","host":"s3://npm-registry-packages-npm-production"}},"0.1.42":{"name":"discovery-media-player","version":"0.1.42","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.42","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8d7c1c46f50c132d78e68dbcd6abfdc6eda1ae7c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.42.tgz","fileCount":18,"integrity":"sha512-XLInQqpa2KgqfUa8lQT6MECShiAlS+ZgeVStJ08h4ez9T8fFGER8HS1rlQlG4/rtCGIrwJQ0QoYfTJ8r/m+8Tw==","signatures":[{"sig":"MEYCIQDy/4ItwTBhdPWx43ujxt9okkkr8ix3ghzD034QET9P7AIhAJ6slrOuy0MRaDAogdkst9b+OAWAlW00APynW4bfrqgs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.42","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":532969},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"faa5a1bc78e7c381865fc44f6c93f68d7a0be398","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.42_1786902738168_0.9923652943034442","host":"s3://npm-registry-packages-npm-production"}},"0.1.43":{"name":"discovery-media-player","version":"0.1.43","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.43","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"2e81b9a3d52d22cb09135d8c6b7f9ba6e3a8695e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.43.tgz","fileCount":18,"integrity":"sha512-6U58LmDOKuDV9czpoA9zofCVL4w287yY63tFZGeN3Sn7oDGz+Go+iPN90lBIGOHpQAqSlSeabF++sQYZk+qabg==","signatures":[{"sig":"MEUCIQCbjbZXRhkJXJxUDchNnVKqmeWFAv0ypQ2DPU5tZyKHLwIgOkTDPt7HDM5CeB6rvnjTpbV0oNq96zybAemgnVtK9yw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.43","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":534019},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"cabc0e9352c3690ebc3d9393cbc6b898dcb28c4d","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.43_1786905433418_0.010569846871978816","host":"s3://npm-registry-packages-npm-production"}},"0.1.44":{"name":"discovery-media-player","version":"0.1.44","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.44","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"0f96124874f146eb9f9cc6c7763cad3305cb6ece","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.44.tgz","fileCount":18,"integrity":"sha512-7YJFV3TAiFQ27vCQrkKd8rKdft8oXPE9i7u7KqY6QzT8waeHUqXcBTlf/bWAre5QFI4JjYBcquOhUlM4WaX3FA==","signatures":[{"sig":"MEUCIQDsnu/j30hEUbY9HwRoPZzecI3LU6TdgW0sEUEZUH2jPwIgHK2w5navFRi+StjhdxGB+rUiHZD4Bzf8Pa8YEG8zCeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.44","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":539995},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"908a72a0c45a76dea3e6ca39e3b0a35b8a8d8da2","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.44_1786908151963_0.440729223249021","host":"s3://npm-registry-packages-npm-production"}},"0.1.45":{"name":"discovery-media-player","version":"0.1.45","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.45","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"85b2e2643cd7d7c7b0105cff7de828604ab3e9e6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.45.tgz","fileCount":18,"integrity":"sha512-taMm/ZbczUVN4GYbDvpSmrWbyZArpUjeIQw7jKHpekmJTj0ITAiOW62ulAcds147Wu4xzejP15+i+U+2E+H38w==","signatures":[{"sig":"MEQCIEKYLRABRuP8/pSMr+0+SpOdEBqyRisqLK/Pc1bltdHIAiA/DfQnVN5m2gTYXZOaksTayI9qex0R4pUO4BRc+hnU5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.45","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":539968},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f8d051ba4068097e53903d043539cbed19612a50","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.45_1786941264541_0.22701064064658039","host":"s3://npm-registry-packages-npm-production"}},"0.1.46":{"name":"discovery-media-player","version":"0.1.46","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.46","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a6c8702b54c2df1a974ce59d90c53888c416c07b","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.46.tgz","fileCount":19,"integrity":"sha512-AAkQoFmiLxdPh4UFRVR8U1Ss3D47jgveOHkn8+YkJl8GFqWMyFQOXxGgIxUEB+FsWkCMyEPlIEZHGRvy8qIRsQ==","signatures":[{"sig":"MEQCICFO+udG57TsR+0EicvZpm1/qzcUdMXS2xW9DH6su2AHAiBpRoTQ+MvkaVdRHCR8n/srGyNycFEU70z2cKpHDqvm5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.46","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":556246},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"786b7388c3d1cfb627a850cb818f91db94adb9f7","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.46_1786947820674_0.22678212024590239","host":"s3://npm-registry-packages-npm-production"}},"0.1.47":{"name":"discovery-media-player","version":"0.1.47","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.47","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7ef908e65882971b810c8f0db3f7cc4c0053ccd4","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.47.tgz","fileCount":19,"integrity":"sha512-SocaBOJJA/q7uIWJo8jyoSdcHL0AzWZKfpZ0QNqd3O1Mjzw64xBLW6dZbMUjTBOG2ZokCI3JfN9cMHGC0GKZwQ==","signatures":[{"sig":"MEUCIQDI+Ek7YHFveEEIFu7d8loHovKo+FXFOh5mkdZfgzWSigIgBwESg0joKKHMvPiV6dgSNz75OBQDg2yhPE3rn0iOZo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.47","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":557136},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"64b1bd2e78824f30287cc84d4f0f68524e1f1688","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.47_1786949675644_0.13909995226936944","host":"s3://npm-registry-packages-npm-production"}},"0.1.48":{"name":"discovery-media-player","version":"0.1.48","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.48","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"bcb009ddf8d3660e3304e511f6e53e3d6763d7a6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.48.tgz","fileCount":21,"integrity":"sha512-1GCy4nMaKI6x4gU0Ydsm/t/MasuPo3VsztFkLVkoTCvnNVUGOAEorwTBvbSwIj0RI/aPEhEZnTHKzLIuBEflxw==","signatures":[{"sig":"MEQCIFxqWcx0nIJArbip7DikWSOQA68+oobnZnyPKfx2HeUtAiAJx/4lCFmhvOuetjKdhV8WJibe0e9wSJP4gkTf+tbpbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.48","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":567213},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"92eabcabf238f4885a18a07fcf70ff0e37d473d4","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.48_1786952742408_0.9966634631965454","host":"s3://npm-registry-packages-npm-production"}},"0.1.49":{"name":"discovery-media-player","version":"0.1.49","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.49","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"5d6a1574f981b5490d94333742b731317c2102eb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.49.tgz","fileCount":23,"integrity":"sha512-EXKl6WJnfdQyBrhFdGkS5h6NR+ZRS0QBgvJ2vKf9osCb08kA8+ivbCFz4mCj4nssRwpIZ37p060A3bTRHKSRCQ==","signatures":[{"sig":"MEQCIFCZa6bglVrPr+wmtXANZNgZUwYPsi4CWnBouCllzFfcAiBn9YE2NolRCEvBUFFH+Nz8+DrpvHp/sFS8wED3dEc58Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.49","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586289},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"136370e71d70e67106046db5478f3a7ec6b8b71f","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.49_1786955759907_0.20151882993540493","host":"s3://npm-registry-packages-npm-production"}},"0.1.50":{"name":"discovery-media-player","version":"0.1.50","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.50","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"cb83659b18f3790b81ba8412610851228e3645bd","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.50.tgz","fileCount":23,"integrity":"sha512-CzJYzXN0Ap9sy7bb7o7scM2ICT8nsEzFnyiYmlPFxzGS2I3ghYXMJGkJT/jIXDvtLH06+rfBYqEocQ0vCf61fw==","signatures":[{"sig":"MEUCIQC5FSQw8whlCbJrJ5XdruJbwOe2XyAwgeGwo/DKkomJ8wIgawVtiQwUFAz26JoogD93jzmMta8vdE95dxWzJVfUfv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.50","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":586373},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0184a6767004cce0ea31af2005bedfeb334d7d0c","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.50_1786959031648_0.8339454592726983","host":"s3://npm-registry-packages-npm-production"}},"0.1.51":{"name":"discovery-media-player","version":"0.1.51","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.51","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8e1df147a7eb871d9e85664d70c256a18709e603","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.51.tgz","fileCount":23,"integrity":"sha512-NdqUFhTxG7GV1ejxALpNuk+Qzmgo2yfQubBdhq255qPzYkliUHDoejipxGzOv+6L8Y1RyHtGIBcJynpVdIVBOw==","signatures":[{"sig":"MEUCIQDXGKWliDiIKKw5yLUyOWdzCUGZGK8IskJJpWdNmj+xigIgd2vyIltkqshJA6zpOiphgiwhYaB6kCvSkOOdinFYc5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.51","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":591017},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"54ee828ab66505160cff0bdf166dc10b715e2814","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.51_1786962201601_0.8735394516892192","host":"s3://npm-registry-packages-npm-production"}},"0.1.52":{"name":"discovery-media-player","version":"0.1.52","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.52","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ccdecf94d1d6d464b71d4bcfa5b3c6162389df00","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.52.tgz","fileCount":24,"integrity":"sha512-92uqh3Xga5OTl2NuxJcKJeL02YH4B1mRZq8ShDzRa5eG104yeqg4ESkAxAKIaULr3tD//IiyYc6oAZb0OoGnrA==","signatures":[{"sig":"MEYCIQCv31kSntOKW5CHTWF9+K5DrnpzP3yz+xYGUBEHJ9v8/QIhANH8QEcJ30tXfOpsz7jjr6C2zHv+9S4APf8+Zx2Oyynh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.52","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":609713},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"88a6123da71a1bde758a17e684135cad3dc4a1f1","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.52_1786968066626_0.35793127684307","host":"s3://npm-registry-packages-npm-production"}},"0.1.53":{"name":"discovery-media-player","version":"0.1.53","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.53","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"9a139e058d8e8986a8dbd4173177a59cdd539def","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.53.tgz","fileCount":24,"integrity":"sha512-9PWDzuuWkBImPHx1eOerRvcSw9aDRFOt7Xac6l92Pig84L6678yNZesvGzdHByWb4+wIIVO4o5+B8MGUnImfgg==","signatures":[{"sig":"MEUCID91acJ7zrfC4PIpkDEsNDWZMhPefemOMB7e/OlMu+MmAiEAjRMr2Xs5N+WJC8Ji43L83aQYB7MHQFYI1s7EdSCyrhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.53","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":611422},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"511dc9d21f6c8936a40325220c349dcc79dc5385","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.53_1786970115404_0.15032303889145848","host":"s3://npm-registry-packages-npm-production"}},"0.1.54":{"name":"discovery-media-player","version":"0.1.54","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.54","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"fd3cc80d9eb5411d000b15a5add1296134216685","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.54.tgz","fileCount":24,"integrity":"sha512-SL51e+WAhg8tnCLCHIX35QNdIJMPdnCT+nCE7KerLszgbNsdb2s7KDh/PtKsPFFLeETMElUrlaT/wb5EKXw5bw==","signatures":[{"sig":"MEQCIHy38t+8K+2O1G6kTDMSyRldRie4RjrNadg6rJ8Q09GXAiBqy1qz506vkqQdD/6xK82u4WClXlaHNKFLUiIZmTvDfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.54","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":614978},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"cda648bdad547ea21bdd3056de795b99cc2314d9","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.54_1786972270173_0.23407558061588096","host":"s3://npm-registry-packages-npm-production"}},"0.1.55":{"name":"discovery-media-player","version":"0.1.55","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.55","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1092737df36dac4259e167f870ddc1f91d942341","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.55.tgz","fileCount":24,"integrity":"sha512-Xsby7cFHcKresTOehQ3fU1/Y7/uEeMvAj7DCbagsWEC7v0wDqmmEtMGIwEEyLAFMtjjG7nZg/wBW0fw1JIdC4Q==","signatures":[{"sig":"MEUCIQDv2XYOyQ5Xmy/o3LEkqQQrnRsaVgkVZw++vU8kUf0nEAIgagplXR/J/tdUd3mWxRdLi0pEBDZQFgFuXO8XWRF184Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.55","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":615571},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"8d24bd8e70eaecfce47ba0be0cd4d725e1e287eb","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.55_1786976815262_0.8471261292431869","host":"s3://npm-registry-packages-npm-production"}},"0.1.56":{"name":"discovery-media-player","version":"0.1.56","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.56","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"180aeaec97015bca807ac2bb9736bc67fceb06a8","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.56.tgz","fileCount":25,"integrity":"sha512-vsrSEnYhHaTZKR7+yvf1gw03aF8cGyqIW1dbuHSmOug2oNsYsrrsr8RavHRwpFq3TTsL4dmS6hp13NgUehg5EA==","signatures":[{"sig":"MEUCIFn4HDY89FuRAqav3/BmtlNqliDq4bMSGsBerGFwI1tJAiEAqtcqBneDesPrI8JMhtTquEi4gPmWwshtwZwvM1Xngq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.56","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":624229},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"5d5bdd609a3ddbb02d0e90a31e07cba0115fc099","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.56_1787033813497_0.7065336052613416","host":"s3://npm-registry-packages-npm-production"}},"0.1.57":{"name":"discovery-media-player","version":"0.1.57","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.57","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"4ca950b5384009e5ea1cb169ba361cfcf87c3d87","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.57.tgz","fileCount":26,"integrity":"sha512-8QnnsP0o0gU2UNle7m8xFpMQGcTl5l3dHdPhjntRAdrPlso4PuAEDmPGOQKtz9FOrvPu+L5x58MFvBGOhmpSMg==","signatures":[{"sig":"MEYCIQDzVIAp/Eg3HIJHBddWA1ULBIvke9DSxUWZrz/rBKE4KgIhAOWu55MXYIekRO73CdPXmKISQMbjGbW0aTornFas3BYE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.57","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":639704},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"3ce4f2ae4b3c909b071c87fafbc91a80185fa352","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.57_1787044874527_0.12338532996443696","host":"s3://npm-registry-packages-npm-production"}},"0.1.58":{"name":"discovery-media-player","version":"0.1.58","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.58","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"0d94ed394e57e2f18a029cdbba531368e7820f91","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.58.tgz","fileCount":26,"integrity":"sha512-+bMxo1u6fywijWDJfjX6SimiVOc+lC26bcIp7o8lWeOvd+E+3NARqMRhiMohBHIK0PVHm2gEXO9eUUraF0gvcw==","signatures":[{"sig":"MEYCIQCl8ZXHFTlC+TsImmoKgnI6U1vN73DsgW1yW4cMRZJA7gIhAMy7PpAL6I/FXq+fv5CxkNHkFSCHp4g7yHknD3UMNcVV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.58","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":645449},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"88443bd0c6227a97e57d913515563fa07e02bcb7","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.58_1787046998676_0.23694287878714682","host":"s3://npm-registry-packages-npm-production"}},"0.1.59":{"name":"discovery-media-player","version":"0.1.59","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.59","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"bab9ae8fde190034a25a76ea7d78616a94041bde","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.59.tgz","fileCount":26,"integrity":"sha512-MeGLobRgVSn0dQ6DhzOWEt9S/XCyU2CHbse9EYcGEmJkv7/Y7JpmX+RFA8/9uA8LBdJEbspqTowtIwHJex1bmw==","signatures":[{"sig":"MEUCIQCOUedhgkKwBQWL58TXa78bgp7bRRKJe8yQM/2981509QIgar4Htw62g4nllId1k1GyGIB+BAEg3FFTZUtxZN0qg+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.59","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":650812},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"b2ca6630c72d7f11491edf3614f71f682d4a0932","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.59_1787048762558_0.1887818712769327","host":"s3://npm-registry-packages-npm-production"}},"0.1.60":{"name":"discovery-media-player","version":"0.1.60","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.60","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"92cba0ba7505cd6bc2e18878e49b9dc594564d31","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.60.tgz","fileCount":29,"integrity":"sha512-pvIkCDE7vjUw3IlKjgV3RBRiCGkt7PZzAbppESne910Dk+oiYkz1MOPxSLQRumlg6PHqNoFgZ+sTjYSTbIMe2w==","signatures":[{"sig":"MEQCIESlhEeO1KQAy6z0xbBgsFc84dISmrVM8FBGv1pS6fBOAiAR6xBtHHPWBWSjGl4PxOAzFMEQ5nRuGhK6ITLLJ2WUvA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.60","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":670235},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f9b038c5853e27f066ac9e7df13e9ceafc9dc9a2","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.60_1787053429119_0.25407933005005745","host":"s3://npm-registry-packages-npm-production"}},"0.1.61":{"name":"discovery-media-player","version":"0.1.61","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.61","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"527abbb04fa950a4c11d1dabe37e4dd5531089bb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.61.tgz","fileCount":29,"integrity":"sha512-Oyk/JkyQqBmGKiUQ0MKQHf+5AQXaqQZCbEVz5nFnzyQMlRpIxy7HToHcb3Q7KXyKA1Kt8PhvYKRdzV8XUdHuyA==","signatures":[{"sig":"MEYCIQCtaOaIZWS6oUdF4/V6XtkqApnU37/rBz7m6dLmcJ5oYQIhAO2djMPCkXFsCe42CT6yyaLmx5cAkaTDctc4x7v4cdq9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.61","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":675428},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"3d74a8d1fdb95f94528ef30ee28a4619cd37cb42","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.61_1787055610852_0.23559555894538087","host":"s3://npm-registry-packages-npm-production"}},"0.1.62":{"name":"discovery-media-player","version":"0.1.62","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.62","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"cacf8af254d5fad6cb86d3922a4a81d6b1e18559","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.62.tgz","fileCount":30,"integrity":"sha512-0cYccdj+oyNoBgb4GczuegNKh70f95CWvi48cprAigLECtYE3bi0L5TwEYQYBFeYtYDfW9cPoqPMVgos3GzEMA==","signatures":[{"sig":"MEUCIQDNnOXY/bXXtKzpUGkrp/uG5FFeDvHlcs0c6qYTaqOWIQIgFvDj5wogx2eHbd9W0zkbE/uxjptZxNW/WSwd9wFbZqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.62","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":679361},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"feaa441d4a2952eaf29a7bd13759a88b7d259837","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.62_1787059117370_0.8256373972016482","host":"s3://npm-registry-packages-npm-production"}},"0.1.63":{"name":"discovery-media-player","version":"0.1.63","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.63","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ccd3989e8f40bc11f806d13d83a9e449d9568c61","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.63.tgz","fileCount":30,"integrity":"sha512-ENIOTphRu2qVJ3JPoheu3RNfsIvIYCRyaBzy84siYQG3fny8JbiUb6WUCFifh4Fd8rf0QqV0hh5Wt5QQzKkaPw==","signatures":[{"sig":"MEUCIQDh1wcVx475oHSIQw37cPCbSbvDfn33ZX1KRymD859bNQIgNndiwsEg+YSgdzdO+y1YAzapdgH6B68VNcVHrAUdcTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.63","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":682920},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"cfc1d3cd7735e32225319a66f68e4c2f5b9d6e46","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.63_1787061909944_0.9701568486900034","host":"s3://npm-registry-packages-npm-production"}},"0.1.64":{"name":"discovery-media-player","version":"0.1.64","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.64","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7a9698f4ac599d2523d7a524ada92d7a91133cc6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.64.tgz","fileCount":31,"integrity":"sha512-zl+0yPih+b2683AwSUhvai3yCx4sEHrw1qfVrpQ0BIropcfw7z7QEzuTjHUvhFFO/yTkc4LZSBJkLPxDFtRBwQ==","signatures":[{"sig":"MEUCIQCti6amPrk/4z0CDU3kN6RyQoJxzcTCZUn4AwFkYY4IagIgeZntozNTi6E5AgHyJJn93S126Jb7TLe+yaiSs0JzaIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.64","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":690742},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"67d6ecf38cc1e01d06ae4ee2f3fad7d52b927009","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.64_1787081497186_0.5984086933340353","host":"s3://npm-registry-packages-npm-production"}},"0.1.65":{"name":"discovery-media-player","version":"0.1.65","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.65","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"472dae30dabe3f08ec795427ef02f1978322591b","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.65.tgz","fileCount":32,"integrity":"sha512-DEG1dXkqzodSMh0p8AUrM1AdWIXVJQiVJtCp22kOHK4QDlL4w/X+FsV+CmfQNSWbnU61shg84MfDB4nXM3ewvA==","signatures":[{"sig":"MEYCIQDb+QAjcCJB71B4AS6e+tMxzM4CE5OznlDyStQFGAQyJwIhAO3NrPg3o41AWQDmiSEq/OyDjYm+NO2KJoGz9qGxGsUi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.65","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":696573},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e0875e5729526e319dd0f8cd63086000f5814505","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.65_1787086600447_0.5080255383740624","host":"s3://npm-registry-packages-npm-production"}},"0.1.66":{"name":"discovery-media-player","version":"0.1.66","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.66","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1d21ea9c1e07c69a72c8ef396b939273b79a2f4c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.66.tgz","fileCount":32,"integrity":"sha512-bZraM2GzdoVDNjdElOyd/rcvGPgxr0WMTu2pxY5ngjdrIuSFkzwPSHnxeaoGYn/xl0Cv2MP0WTeixAEr0/u8ZQ==","signatures":[{"sig":"MEUCIQDAYCsh38YDugm9NOxVV3rmVAPTLZ8uVollR9uZUq0UQgIgR/MheVG/cI7dkerSjoDBpHOgxeVBNavA9osZAgNiuSE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.66","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":698194},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"9f8268b069f5e4d8336409a381cca1f6d03de69d","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.66_1787115769555_0.30606067203725584","host":"s3://npm-registry-packages-npm-production"}},"0.1.67":{"name":"discovery-media-player","version":"0.1.67","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.67","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"77c809110bfd77c9e5917b45553e6fbc394444d1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.67.tgz","fileCount":32,"integrity":"sha512-9QIQEHKGu67J7hKzqYgrAO84AEvgShKEJ+86gXowmEgqXTdZVDNafE1wwvKBKDjw82hFt/vXc9FhdIU3GB+vAQ==","signatures":[{"sig":"MEUCIDvF0DwWcxmozggxJwtrJaYipahl7gpKWmJsQMw5OGr6AiEA+4awbH0o3Su3tzBeeqwAfO/s3lbX6x/6AFNlvcozEk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.67","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":700268},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"449375117acc06d74d07fa40d9d48ffcff3cd236","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.67_1787118558544_0.45360027974606476","host":"s3://npm-registry-packages-npm-production"}},"0.1.68":{"name":"discovery-media-player","version":"0.1.68","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.68","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ed41617f043e6071d037f9add01d687be17d2ddc","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.68.tgz","fileCount":32,"integrity":"sha512-eHwfqSQd6Ou14hxddpRZ124nvmbpjkZCDfJlPZO+CTThD0NN1hbmKnwyDXsmG95MSsy93qpOcE+nkDjtdqRcRg==","signatures":[{"sig":"MEQCIDeRAQ8bgYhVDZibAJ2jtwbJEDDIwHqz241MW1NPE17kAiAUFRySSnGmOSjp6iTxrCYNRgwezmDJf2LGWSS+nHdKHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.68","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":701289},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"9b69bcadd770a1c16517b96eb9d59cae7c9b1734","scripts":{"lint":"eslint bin context server src build","test":"vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"vitest run --config vitest.e2e.config.mjs","test:base":"vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.68_1787120225994_0.38190486456442274","host":"s3://npm-registry-packages-npm-production"}},"0.1.69":{"name":"discovery-media-player","version":"0.1.69","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.69","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"430b43b72d53d1d1d5d3430195ad9dd16fbc1475","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.69.tgz","fileCount":32,"integrity":"sha512-0T388LvKBSp+5R/vVFYaLO6oDM4k2MMrq4B0V5606Yd6BBDYnS2WTRHY8GevasK1/7/rszf+YLEnFeDXv6pEWg==","signatures":[{"sig":"MEUCIFbY9WezFyaDePpkD/tBHarlpskRxTwJWsK3jtBX2nXsAiEAtDm0rS4pYuu/ROT5CJSIOfgYkPRz5GJYg9beHLo6ahw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.69","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":702143},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"5a7648504f6d6fda60c357fa9554d0e52498b03a","scripts":{"lint":"eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.69_1787122038263_0.30910219665898486","host":"s3://npm-registry-packages-npm-production"}},"0.1.70":{"name":"discovery-media-player","version":"0.1.70","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.70","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"9d690f327488a3c3fba0cc4ad36dbc846ed2de44","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.70.tgz","fileCount":33,"integrity":"sha512-OkoWaMjTEPRPkWoTxJZWDbwBslyKrE50Os9L+hXAVfAxIalYHSwTm9FXIa84CH7TfH7kkCGFsofE1L8D5akqKg==","signatures":[{"sig":"MEQCIAvsJZhF9XzaSXeYJDoNpiORq2Kgv6fUGZC6y0flPE+1AiBBekD1YjNu8PWRboyEApHE5uCndtF3mwPfS9MvBYcaWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.70","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":707709},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0d366799aa99ed588b1dc0aebf540ac51f683ae3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.70_1787125134819_0.1398297212199413","host":"s3://npm-registry-packages-npm-production"}},"0.1.71":{"name":"discovery-media-player","version":"0.1.71","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.71","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3ed604aad7c67edb01019f1c1cfb928567d4f701","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.71.tgz","fileCount":36,"integrity":"sha512-2nrRJzEqaISYv9XUy5ZCGNz/X++EodAWUpyiKqg6aU3x4EZo1t+r23Mp6vy9xyOW0oIhhaN58FuI0PyP53RGog==","signatures":[{"sig":"MEUCIERfai+HwGJoFMwKZ1Gnu/OQMBVqakXGEWYxv7ur1RP5AiEA2IyKZOEACNpoTNMYHn2Q3LBxDn5Okq2u2pjiKpTN334=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.71","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":719912},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"4d5f7225aafdc2da0d0796e3bd2b1f97be77f4a9","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.71_1787127712001_0.9673766339292402","host":"s3://npm-registry-packages-npm-production"}},"0.1.72":{"name":"discovery-media-player","version":"0.1.72","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.72","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"11efeb26c2c6496d929943d3a41d68d039dfefe4","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.72.tgz","fileCount":36,"integrity":"sha512-mD//ct9fqyITL4orN91J3dGUX+UJHQUO1Z0egPHTEghG/o+isCKIhNSMuJ/AkQM6O1PFCbFn+PF4441J1dXzvQ==","signatures":[{"sig":"MEQCIG329CVfzAA8vnfYR5gG+yu84kmVL2X3DS6HHmq/UXAOAiBD6Dfo2BWJCqeOq4p0dNnzheZDAfrgfAgkbrKQmNr2SQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.72","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":720664},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"24f9c56ff6ce00614616ea5e5a8a29403829c13a","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.72_1787129141040_0.7639119033369859","host":"s3://npm-registry-packages-npm-production"}},"0.1.73":{"name":"discovery-media-player","version":"0.1.73","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.73","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1773a84c16c3106beffb7d996afa983672bcbfc7","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.73.tgz","fileCount":36,"integrity":"sha512-F7/D/AWjC1lTvO5dn+itSwXCPiAnk0IbpCp7jgf3ljrNwMg50+hppOm9DxPFO6qBfsiLuehNRR4MjDL7Mk6Sew==","signatures":[{"sig":"MEYCIQCFFdOiCR0To4knRgvOVfE4zSyh3yl2RCD8xGNCLPeR9gIhAPJOplWcei0Vv7r9rqxkYLHnxGLQRtkvbBYg2wA8oOwh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.73","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":720664},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"051b14829a6420620ababe0bcbb0d3b7fed3e2a2","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.73_1787130939733_0.5357404300281026","host":"s3://npm-registry-packages-npm-production"}},"0.1.74":{"name":"discovery-media-player","version":"0.1.74","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.74","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"4f003d3d8a2f98e292153f3d3cdfda45be769fa1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.74.tgz","fileCount":41,"integrity":"sha512-Q8A07w0j7BNs5SZ5U0g6hb5D4+UzZqwjRYymhTVqgW+rFQ3+i70SY0YPQzphucfUY7vrlqVQzPR7GZJSMRYLDw==","signatures":[{"sig":"MEQCIBiqD301Obj2Wdn1ezcAQExnpN+sTlAP205TzJ3l2K3AAiBiOuKhiWqSggG8PI9b7NjblMH3NxJz064c1wqMaf4bOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.74","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":723255},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"7c3b7a4c5c435383e5b364c5fa11704e2abbb0db","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.74_1787134484496_0.4536139296063788","host":"s3://npm-registry-packages-npm-production"}},"0.1.75":{"name":"discovery-media-player","version":"0.1.75","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.75","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"4ae20e1615c050f453577704ced3eb588f23cba2","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.75.tgz","fileCount":46,"integrity":"sha512-gIEhDfxqhyvRwOp2wZqqcyvl3DaZUEXvunBnaxLOiIEHVtmyukdohcx+HmzC+0dCe8QM42iy5bbYzvBDfmJDoQ==","signatures":[{"sig":"MEUCIQDkFNQHdGe0DupGLSbwBw2Sot4k0J4Yu8rNJmzfAakGiAIgVjxwtyx01CAAMkrQ+qw89BA2fnTaYDBHC4FpKjWWvvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.75","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":726311},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e62a91e9d924636ff35e5788330b19f267a578b4","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.75_1787135781811_0.47711738340394994","host":"s3://npm-registry-packages-npm-production"}},"0.1.76":{"name":"discovery-media-player","version":"0.1.76","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.76","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"1c7e3f2085cf201401bfabfff17789545e90f11f","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.76.tgz","fileCount":51,"integrity":"sha512-qRspgFuq+Q7P7Z8Vkql9hBAFzL+aYCMtD7SFfyiFPyloWRNXkNioOefhWxVe481l5o5OTIjEIMdM2dBtD+zfYw==","signatures":[{"sig":"MEUCIQDjcuUy5hYZPx+kFQjt/WT22PhFlYKzkYvZMihpGC0GOwIgCyDCOctGyM1EM1LaYucCpqLY0+ihGDfl6v+x2PjQoeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.76","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":731738},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"edee5f14eb45bb4038d3c19a71ada34869124531","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.76_1787137510408_0.6273912356953353","host":"s3://npm-registry-packages-npm-production"}},"0.1.77":{"name":"discovery-media-player","version":"0.1.77","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.77","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"598423d6beb3ebdd047e7a410c4586f268a6a69c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.77.tgz","fileCount":52,"integrity":"sha512-hA516+d71TEewNPomNfEZI/YZEKAWgVNeNoiwgXmVBxELhOwIQLAg6pDQ8NwIWjMkZi0JMVTCFkjSzXEx0/ZZg==","signatures":[{"sig":"MEQCIBkYLfMNUe7KHmz53q5E1V1KgJjz2BK+q2QSpOomS1PBAiACcpTykZaFEF6R2/aT+Q2kYh5qZ0Qbxc7SoxIu0rRY6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.77","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":740265},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"fe2e52d612a49de8545ccbe075c946e7a5dfc375","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.77_1787138506512_0.18080248053980674","host":"s3://npm-registry-packages-npm-production"}},"0.1.78":{"name":"discovery-media-player","version":"0.1.78","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.78","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a1c8ed21055eecbfb043f3163499a4b4f83e2765","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.78.tgz","fileCount":53,"integrity":"sha512-GtTFMZ1wZ3CtgN292lBJV+4fxQPkn6Br5FCfQ4bDTx7PiQmkW+uu0XElGGi1Ulm1jxwtuXlgpTlRojIldBfjcA==","signatures":[{"sig":"MEUCIFhWI1/Vf9IowZoGLaTzA4H07NEiDlvG4WIbjQllT+O9AiEA5x9iCUVHrdVlZgLVBo/3uD77QoB5+9E8iaYGdUSs2Ok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.78","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":752274},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e4d29b382591c70575e4d79a3be1f38d9a9e3c73","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.78_1787145485068_0.048078899565837885","host":"s3://npm-registry-packages-npm-production"}},"0.1.79":{"name":"discovery-media-player","version":"0.1.79","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.79","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"735d3a411a0fa57fff16227ff21ffc9c308d042e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.79.tgz","fileCount":53,"integrity":"sha512-68i3zJLdA9+FhNMccrvgkGrU+cg0ddn8GkayoKyhh7qL5jR1U4ZCAkl5IvyZ/T7jeajpaeX0GhnzPNG7ecEoDA==","signatures":[{"sig":"MEYCIQDU44RGuhllLWxCKjcBW69SMIdBtoySQN68OLKDpPgC2gIhAJq/ZjThslo5lRNJou59UDcj14VRhPyaORt31mJuyX5+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.79","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":758985},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"bcd40ebe3f75d20403c75ec0150f3aee10edf653","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.79_1787148549926_0.25879220470282394","host":"s3://npm-registry-packages-npm-production"}},"0.1.80":{"name":"discovery-media-player","version":"0.1.80","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.80","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3f01b03d8a82d606ccd8b856fa0beb997f3dd4ee","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.80.tgz","fileCount":53,"integrity":"sha512-PB2IlHh/ZmShjK3REVTiJBFk8kMDFB5j30gXDwRjQfP9TrYSTEBcTr+VP/6EfLul9SuJMI/qCdBoPp6lrPJW6g==","signatures":[{"sig":"MEUCIQDWHs3hUKFYUcgrzPzLx7xuiy00AZg1kRP0hqMyrVXmKAIgbcfCiKhBgKCz+oU/9xYU+qCkMrS27s5971L5jp8J5xY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.80","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":760749},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"1b42f3a0a6bea7f44f72a5c3d0321db2eb12d5ad","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.80_1787151430859_0.2501756917597797","host":"s3://npm-registry-packages-npm-production"}},"0.1.81":{"name":"discovery-media-player","version":"0.1.81","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.81","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"833ab8eb0c369085e7599cf47778174a7e7fe87f","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.81.tgz","fileCount":53,"integrity":"sha512-R1/bGqLclJQRxZz3VieJ4vBbswX0JBALADb5BnIiDtsu9lzBdR1Y/amRlVrhHdakuj8cTFa6GsWKaR23g6u1gg==","signatures":[{"sig":"MEUCIQDZ1TetB+Omh+j0hhYUPkn8p/RhkQQ13rkfRpb6HH7nYQIgWOFM9pRly3vNt56+as5ou2vf9fvZbQkeeP2V24DTiPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.81","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":762818},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"76279b2cd682076ea940c16ee03a6e870ccc712b","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.81_1787153296304_0.049305106508254815","host":"s3://npm-registry-packages-npm-production"}},"0.1.82":{"name":"discovery-media-player","version":"0.1.82","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.82","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ed7cb359e96799ebccd02cf1e4950a178cfb07b6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.82.tgz","fileCount":53,"integrity":"sha512-MLvW74Biy4byrvGgLuY0XnnrWLHx72PN7d8GqJ1Zjn1HE9wK1gJQtkcynTpIs1/+9EU3S/rzUpiLwaHCxRk3Yg==","signatures":[{"sig":"MEUCIQDH1fpIdLQhGkn5a2oH/7MmdcGxrYO+NVO7C18RscMZmQIgCD6ji16PtR0VY62hrrZGrHrI1oGbEJVWjul1Qvkfjy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.82","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":763102},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"ec5bc3415d838aa53f258694f9c5ac23fbe9262c","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.82_1787155968461_0.8868427192559749","host":"s3://npm-registry-packages-npm-production"}},"0.1.83":{"name":"discovery-media-player","version":"0.1.83","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.83","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ecba0835fe758ab9077465b5dad9bef51770d9c5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.83.tgz","fileCount":53,"integrity":"sha512-cRSQKjXXbBSHQsKa23IFMGFQhxlKPVNs7BiCKrKcQBdX3YFcO203puZVA2txJX0xmcber4zFEY6oYVJuIXj/ug==","signatures":[{"sig":"MEQCIEfyDstn7KB3amUVNau2+3DpXR8tWfyRLv564uYz3Yx8AiAdfG0LpXgYAG6ugl+5AH6Jj2KRuy4JLaKMSRcbiHezPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.83","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":763596},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"1e4b1760a8d0591fe6247f2a54bd9ac8e23e5e79","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.83_1787172492191_0.4176532301835525","host":"s3://npm-registry-packages-npm-production"}},"0.1.84":{"name":"discovery-media-player","version":"0.1.84","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.84","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"e9612fb62ee366429ed2283694914a68401afbd1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.84.tgz","fileCount":53,"integrity":"sha512-M8h/Ik32olyOOYftWjTFysWKrW8mWmVeXnqNZKG+UP56RqrVDtndwwCuZgIeroDMl0qA+gfkBEjEBTlOzC78EA==","signatures":[{"sig":"MEUCIQDAOr1KaA5dbJ4VpTQAK16saS90JnQdSKFZvDKDNPO0sAIgCPKyjz5H9atK+yBHIFL/kZeq69oEs8SyffwBOTXhcg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.84","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":767437},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"6b0c239f4942fb6a72c000c059f8033946b57c04","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.84_1787180368071_0.3946706693952866","host":"s3://npm-registry-packages-npm-production"}},"0.1.85":{"name":"discovery-media-player","version":"0.1.85","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.85","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"0ea18dda59bc42ef9ced3a492b2c8998ee0a4ce3","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.85.tgz","fileCount":53,"integrity":"sha512-QtKkd5e3WgyBMdN2ByCtvFKniMP15GiLKLcw3i1+i7aka2qIb9T6hRDzCSoOQVK+X7JJVLIXuH8A3ChXs/2XlA==","signatures":[{"sig":"MEQCIGMzE5Z5N6PT2Db14sc1Yb2Qxw5gR+3ATlczRarGtFBwAiByAHjVo//0pkWx/Rmfw9BHtsVesMoaQDKRF8h/WcaQIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.85","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":768337},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"c0b4cdf7a26a5e2cef1d4b7fca795c30fa9de6d3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.85_1787182600339_0.9042150483005991","host":"s3://npm-registry-packages-npm-production"}},"0.1.86":{"name":"discovery-media-player","version":"0.1.86","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.86","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a3afdfe9aa9c7682a000c4732b72e2bc3111227a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.86.tgz","fileCount":53,"integrity":"sha512-fxwoBamHL08oXPkffvr95YmgjgX39T4FRZSTyK3ihLN+cjRTUN1JFlYShotp8rnk3wyl3XupBVjZ7ZNMpy1FIw==","signatures":[{"sig":"MEQCIClh1/TMinUVnS0NY0JVfK5vlc02fRQ68tTbZ06sCF0LAiAwCTkPzAjGjerDLpbd/GiXOe/z/No5/tiRlz/COFuhhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.86","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":769120},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"9cca7a74fc01b38641a259372ab06363f0791c17","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.86_1787205365965_0.1373803143620307","host":"s3://npm-registry-packages-npm-production"}},"0.1.87":{"name":"discovery-media-player","version":"0.1.87","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.87","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"f9547f7245d6b84bd5d90a39b65b5220f357bad0","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.87.tgz","fileCount":53,"integrity":"sha512-vaYdH6l4ixF0EBhz+wHW8vxA29Af2vPcrEui5YOKNVrsq71wMQ1b28ZM33FrradySMD+2NpiZQaiHL40kJGPUw==","signatures":[{"sig":"MEQCIAuUS9h+gZRoCnOVVXXZUWTaXabUZLhyPaKN0jzBAj4HAiAn1CTvB+GBAWMSYcIYLEoRt7aQ4seBtjbBh+wqP8oAaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.87","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":770851},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"bda51e54f4b794c1d384ea4fd0294eed1410e9df","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.87_1787206664430_0.6880850708976818","host":"s3://npm-registry-packages-npm-production"}},"0.1.88":{"name":"discovery-media-player","version":"0.1.88","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.88","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"0148f49899368ebc6c34407757ca24a120d3979e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.88.tgz","fileCount":54,"integrity":"sha512-sXAmje30H1g2cLY7ihIITx4OSb/BuN4NgBG3SSmwBuylxKWQrIz9ZaosxtcZFphE9OSsCan6bhYiezy9AgiacQ==","signatures":[{"sig":"MEUCIQCOFQ8bMOg+YjtD9TaKgbwWsfJawuTS4DWw0yA3O0ng1QIgWcAFWKMQMu4xTpzK5e9i1hHrCXLdvxe3xOvjZnpnrMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.88","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":787449},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"906ede004389e7d052073b4037d0d9516a96fd68","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.88_1787209455486_0.5622322717136521","host":"s3://npm-registry-packages-npm-production"}},"0.1.89":{"name":"discovery-media-player","version":"0.1.89","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.89","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"6fa169d940e852b3f42d7d21f46b602d63dbe737","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.89.tgz","fileCount":54,"integrity":"sha512-vXRviy9AG6mulzW+qeCzLNjpFMu4ZRPQ7GNDDbfAdsvPfnuO9b0IKRYDJHC9IPbYx2+uehIyEt6phYrMfk2RWw==","signatures":[{"sig":"MEUCIQCwluB/3K2ZIgxqwICWu2fX67fxFMqNKz5UX3bZFGxTewIgDfL9+6W/O2B1+7m9qhQ6MsoQ/CHMCyCcJvhEMLpZNQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.89","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":788436},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0cebf82c5fe3a998525bd9a93181c4e0926b7e81","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.89_1787210809388_0.259338677320069","host":"s3://npm-registry-packages-npm-production"}},"0.1.90":{"name":"discovery-media-player","version":"0.1.90","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.90","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3bb5ddb561f8e291359cfb5fc1570b045acb3724","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.90.tgz","fileCount":55,"integrity":"sha512-v1zlf/wSLyO8nLmgw3MJ6nU+k3LN3mYFR1ePv8UY3MbNNeXKj7LfFahFdLjBa1Z9htKk5TWOIMNXR1ZC0+lt8w==","signatures":[{"sig":"MEYCIQDlqOS0PSxEKV20YZflYg2lzD4ofGyrka6FU1XLG+HoWwIhAN9VX21qIvMMxvTtOJ7/cXnhYLaqJwhmiFJXgKSxLhuv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.90","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":796489},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"df6cfb7aa254c55697a8b471432e7f054929dff1","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.90_1787213664683_0.8423911258886894","host":"s3://npm-registry-packages-npm-production"}},"0.1.91":{"name":"discovery-media-player","version":"0.1.91","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.91","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c8d5d94fae3472d8ae199196879d809484ac9255","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.91.tgz","fileCount":55,"integrity":"sha512-oRXahXL553Z3Sj/QAv/IQry3NywoMM443LD/v5mIKu+hIGHON7vjYza6UVblJbGjuCvmKxms4S4GxKMgRIlJeQ==","signatures":[{"sig":"MEYCIQCh/XKolbXp0wD8hmevBuHMjgTJX5aTjgMuYjkdNHXcbgIhAOZ8nx+8JB2Gb67LICcu5NOMedBWKQLOqHDfxSUMiGkx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.91","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":797633},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e02b9712923dfa39c00bfc09167ad0fdc2c8be39","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.91_1787215243651_0.663680211081167","host":"s3://npm-registry-packages-npm-production"}},"0.1.92":{"name":"discovery-media-player","version":"0.1.92","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.92","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"04799abfc95a16e1862b1f687572b5eac79e6311","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.92.tgz","fileCount":55,"integrity":"sha512-hBN9Ew7jtjOppNfJvEwlfmNBiqZv1CfOrUTcSP+du7Nd+um9O5BGkmP1qYFpbtl6H0/IHTsH6S4EuvHjiDyQiw==","signatures":[{"sig":"MEQCIC1LNayd6/9mr633s6XKPJLcsiWj2V+bUG0Eg3PsoUaNAiA4l0DKEwT7CoCHfsB8mP0jidjcjinIWOObCkHEGksuyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.92","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":799574},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"ee8501a6a0fb9ed3cdbe126dabe51766abadfbde","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.92_1787216928997_0.6200554907169731","host":"s3://npm-registry-packages-npm-production"}},"0.1.93":{"name":"discovery-media-player","version":"0.1.93","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.93","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c55dec786170f52b9767736bf9c3e76f90862f04","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.93.tgz","fileCount":55,"integrity":"sha512-ZfjFNstKhYffkCcBSQfCPwICKtzbwH4cmGFundVydV+gYf7e4hVZMfgsVbaiq0cDQilndEtRQ/W01WXQSZx0JQ==","signatures":[{"sig":"MEUCIQCJ3Vcd2qi/f3NEH0a1ZscjoFNTwpgZm92uckSqCCiT2wIgI1szdUMP4zKom6YQhU+UoU3Koj1CXv8vooVSXX0dmvA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.93","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":800402},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"967afa628c8adc406323fde12d01039719234063","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.93_1787218129685_0.1469376906094384","host":"s3://npm-registry-packages-npm-production"}},"0.1.94":{"name":"discovery-media-player","version":"0.1.94","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.94","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"9690dc6f000fa2de17fd8510de63395a0cda0b10","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.94.tgz","fileCount":55,"integrity":"sha512-RUIEidYSZO9jPaMqW/a+PRAsj3qs/WJsFpwj7SEKsBnAx8/EFbBU5rBUY7/COzny2Znub1eydVkCdp5nmDag1w==","signatures":[{"sig":"MEYCIQDUBrJp1hDr/DBOKxlHjalfnmPWsRjV72nrx8ZElqySCAIhAKRuuKBAnuYJ+RjwRe8HbjkQuF838/fsEt89CPAlKSTt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.94","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":800896},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"3def1b3cba0f72b2c68cffb8f25c96f2fa42f54b","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.94_1787219866114_0.14175355502751397","host":"s3://npm-registry-packages-npm-production"}},"0.1.95":{"name":"discovery-media-player","version":"0.1.95","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.95","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ad541a9b23c8cc2306b1a17f5960a66bd3741fc2","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.95.tgz","fileCount":55,"integrity":"sha512-NVlVrkberBredGvf7/ulqSPMLMMDkMuipPv8ZIhnWtLrZHX1j6v0EPE2Iay1PXB1Em7agMVlwVXzr6O/9e8Wag==","signatures":[{"sig":"MEYCIQDk7yO2BzUbESrCR9zflKVbzEfNH7+rHudvJyK79jDXjwIhAPKLiCxjeVASj2cnQs8WgeExU2y1liJrIbK81pc0c24k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.95","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":801740},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"6e71e3944c207c21e837b4c3f0f93dc60965bba7","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.95_1787221896125_0.9051015084227063","host":"s3://npm-registry-packages-npm-production"}},"0.1.96":{"name":"discovery-media-player","version":"0.1.96","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.96","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"bded2cb16e1566f0b2cd0a9d5cea91f0159710bf","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.96.tgz","fileCount":55,"integrity":"sha512-rYLBJbdotdG6ZwlQ8BjNm2qikJz+DvGOI+H+gG+j3sCd6FIeFWIturOfV5GBV/o0LdnAHVYFqnPjWWeDq5qjFg==","signatures":[{"sig":"MEUCICrh5CPth0LzZqVXje7nzxxRciGgmnTTW5fkB74vcu4AAiEAg3fgU2G2WGWBXEW524bdvXR1p4lE3Zi6bEMt8hfNrXE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.96","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":804961},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"de4c07e0b1226992495d71380451562239cd25d4","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.96_1787223132161_0.6708809376857132","host":"s3://npm-registry-packages-npm-production"}},"0.1.97":{"name":"discovery-media-player","version":"0.1.97","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.97","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ab8e49aba8c37be667cbe2e1aaf9b7711bf09e3e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.97.tgz","fileCount":56,"integrity":"sha512-4/CyUdNw0bAG1dGSlzHekYmvmugH5YzHJ0guM7e8Vu/4DVJ9EJT1W3195bUiusNAWewj8Akew/YL5hmENK957g==","signatures":[{"sig":"MEUCIBSoqdv7Zn2pBI62wFNGIZ2Yi2W3wwo3cQmuCNNZUUTCAiEAisv24vT3qOPasn9wys504485xQ2hY07gY31dj65crgM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.97","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":817188},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"a7497a6ffc211a8ff11973a106d4a7bcf0832ecf","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.97_1787224813452_0.4075614397740406","host":"s3://npm-registry-packages-npm-production"}},"0.1.98":{"name":"discovery-media-player","version":"0.1.98","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.98","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"d641a7c0a898c04bfcd07bfbd21fc19b2ee331de","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.98.tgz","fileCount":56,"integrity":"sha512-GFxjxns7NG/Tr1xuDz/EuVxIVvXDiPEyiE2bWZc2PiF89O70WDB7xeF2NY7jjmue/ReUvj/Sy1AiIBDuPsfEgw==","signatures":[{"sig":"MEUCIAmCbRCEEIdwKYQKRW+ricrOwZ1oEe1z9nITey/cp2xkAiEA0GbqyeXZzTPornEwuGfONj/bucygT8HU9DPZS4TvNk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.98","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":818242},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"747e4a442094ad6c5bbb02ac76822b4d79b92bef","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.98_1787225923756_0.7675484335918905","host":"s3://npm-registry-packages-npm-production"}},"0.1.99":{"name":"discovery-media-player","version":"0.1.99","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.99","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"f9aea7375dfbb508b27393288c78c2214748ec6a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.99.tgz","fileCount":56,"integrity":"sha512-NGdfd9gbV19WCXN0lN3T4JyJvwTMBAXi6iUroaefkxn87L9PKFJWrX1YGwVHEdex1t+FLR2j9XP62J2QzrKG2g==","signatures":[{"sig":"MEYCIQC1vh+CxvvhTnhd+5uNCfS8nRavjQKbpcDAKAkvkf7IgQIhAOikPjnsy4XNPDSvh4QXqeoIV1RnIhb8BYLP5C2VvJtZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.99","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":820044},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"b902e43d022b0b4e831221a891bbfdb0dc8c0a84","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.99_1787227024186_0.5854835090973738","host":"s3://npm-registry-packages-npm-production"}},"0.1.100":{"name":"discovery-media-player","version":"0.1.100","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.100","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"616950a5546020f87df1256cfff85bcd99581bcb","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.100.tgz","fileCount":56,"integrity":"sha512-I3a1ok4H+wvINBOJoLw+G33r4Weytyk2H2AEJnLRKV1cjEyp+ADiXSw0awEj6E6uj7n8jJeajYPUmcjc4ko2Fg==","signatures":[{"sig":"MEYCIQCw+fzAk2hrKsdhdYtzHKN0RW58/PLEZfFByMLlvHMXIgIhALWv5JxMyWrD7aCsSfOwMlSJBMuPOJoeDMH6O/2EU58F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.100","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":820045},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"ac418d2081447807d5339936c7f9cefea755245d","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.100_1787228237025_0.712336436005278","host":"s3://npm-registry-packages-npm-production"}},"0.1.101":{"name":"discovery-media-player","version":"0.1.101","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.101","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"cd32edcee5c5feaf49fbd8be188513c1b82c8146","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.101.tgz","fileCount":57,"integrity":"sha512-tyKUChjASAwR1ZY8DxvnQaMUozxZpWhI4npm0VEOeuXNFeJ6ye5/mZbnr2Uh+w5z8AIxIvHHbMUvSGxjqtQEwA==","signatures":[{"sig":"MEUCIQDpbiwO4td3hx7ZqQaystXwnzCOKhtVcoOzotKmXsmuWQIgOtq7Gvnu4sN2k51BXHZ0+K/Adxz1+T8pslKpkquK0e8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.101","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":833897},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"8f1d423b2fc8e825e9ebbc83eac9ffe25e1c5bd0","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.101_1787229491103_0.724726234768452","host":"s3://npm-registry-packages-npm-production"}},"0.1.102":{"name":"discovery-media-player","version":"0.1.102","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.102","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8e2f12ffba9c64b2a7ee8222baa3291b5aff5f43","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.102.tgz","fileCount":57,"integrity":"sha512-BPpRIbo45OwOWTr916/IiAGDoLrb5Bchi8Vw3eoRIkoIa2FuyNApmiJnxKh65Pzy02MZNKTJYwgKghEHAYiegA==","signatures":[{"sig":"MEYCIQCsjK2zqlGL+rbT7f7wmjInyxY8Z1tLL++hZlws+ooyywIhAIWRdS0LIihlPSh9lnb5Bl8r2QvXaIOhpo3DHPwLBKBE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.102","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":833897},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"daecdf1bfdab492cb125821c93118f63771ff6d6","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.102_1787230497673_0.58586438080181","host":"s3://npm-registry-packages-npm-production"}},"0.1.103":{"name":"discovery-media-player","version":"0.1.103","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.103","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"2c0cb5c86a11b319a012b5e8db259303e8fe61c6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.103.tgz","fileCount":57,"integrity":"sha512-FCTO5SPcMceHnfaH0MOvFG2jAVuW32KrCjvJJjA5YEYVTxIjbNltPTqwDEuG1gqFumP15CJJw3zxWWP0qxalDw==","signatures":[{"sig":"MEUCIFeu2mFWYU5r/kx40/Wx1wlJGhF2aTdqSLHRuJo3e8N0AiEAii+ECVExbgOq2P07CGwT5yFixxfU5maR+PLlUbkypFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.103","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":834785},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"cd7ac6ae441d3e9dd232a16c1b8645c65a34bf6b","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.103_1787231376508_0.4469369124338518","host":"s3://npm-registry-packages-npm-production"}},"0.1.104":{"name":"discovery-media-player","version":"0.1.104","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.104","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3158e1306f16319d858e83ba7e8d37d39a6ab72d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.104.tgz","fileCount":57,"integrity":"sha512-zvEDkETT28lz8Hrs+/xnlIiaavgB8bLYsyq9EDCDLOBQozx+/R+VTcYeQ0rZlj6yE2cZkRy8o9Dmem3FpsI7Rg==","signatures":[{"sig":"MEQCIHs36tu76TLkx4aFuc1L6PvVCL8l0g0HP4S40XkQhP2tAiBjq6bX0++ZoaaUgFxBcvkSKU7Y0TtGCvhsZu8hL8osFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.104","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":834785},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"9bd9fcae1f8d8b6503a353799b20afb22d9cb9be","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.104_1787232947150_0.49996512318807107","host":"s3://npm-registry-packages-npm-production"}},"0.1.105":{"name":"discovery-media-player","version":"0.1.105","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.105","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"10954c820bdb393ca5c566fe8d40c85c29444771","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.105.tgz","fileCount":57,"integrity":"sha512-mf0iXSspzsiF+98LoeMzWMwmsaIVFOey5gG6LLmPUVlxOwkk3C6OLVi8bFcYJokczsUXPfHxTNwPcRcnyDxFPw==","signatures":[{"sig":"MEYCIQDo6AWfif8zWCtI8lqiuVqKEAIyNqkS7ZZzS2Kk6tIryAIhAKBfq2G7EgQVNoWWU9N0SjxKEwNzwS/nsQK2MMJo6Y9W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.105","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":836272},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"3c8b84c16c69d5e61148816cb9d3d5827f7bbd9d","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.105_1787235554959_0.41443139548599217","host":"s3://npm-registry-packages-npm-production"}},"0.1.106":{"name":"discovery-media-player","version":"0.1.106","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.106","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"921d3608aa4ee878b629b1a0ec3396f363e640b5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.106.tgz","fileCount":57,"integrity":"sha512-XKJqY+WAGRt8qUK6uft0Ot7pedFvrYs07e7GOus2mbxKEZuVPdO5My++xZFTAb3/bETotCv2R3loY9uF8sF+ww==","signatures":[{"sig":"MEQCIBwzM0t1zlK0bRu3rXH7x+MRyqasP0FqE497IEimvr3yAiAH3uNbfXE1t/AT/ALYTEkoJogXw9H9NCVUj5xcqXpNMg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.106","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":836920},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0e86c957a3042103ebaf6931e029a3700f80c185","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.106_1787236088454_0.6856702718392724","host":"s3://npm-registry-packages-npm-production"}},"0.1.107":{"name":"discovery-media-player","version":"0.1.107","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.107","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"082281d33e3c4c88da189ee83553e13ea09cb1f7","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.107.tgz","fileCount":57,"integrity":"sha512-ZarZx4tbsOLYYogN+kuTH98XY8OYRCsMdkEnLx7fWedKR9KX3lRpVFiy1+EKvyGpqnNX0mmbtofZszpRlATOZw==","signatures":[{"sig":"MEUCIDKgNWZu2oVh5GrV168GkjyatLPUkHsaq9Ic/nE4bMN6AiEAk9IBC1PgiY+TBxMMgVd/31YDJ6cn0bJf7/yonDX4PUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.107","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":838803},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"6c7d5463f041f208cff2f2f7a4baa4ce2edfa922","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.107_1787237946648_0.2592038838725248","host":"s3://npm-registry-packages-npm-production"}},"0.1.108":{"name":"discovery-media-player","version":"0.1.108","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.108","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"14274d54d981f7ccb8d8b4edf11d61d8a2db6237","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.108.tgz","fileCount":57,"integrity":"sha512-/vw6AvRvmzC1Jlmg5dK3D4ZH+a7riDj8Zk4zpnGqIMGmstVlO3tPU7DFHDG+A6g+2x9WdQYMwDEM6X85lW40kA==","signatures":[{"sig":"MEQCIHhl5AO6JC1sebOMg5TzmYzUkFUsGGHXFG785k+s2eHXAiAkLO4amH0HP9IgAgaEMOAzba9TFkWkFGs6mXY7DS3Ryw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.108","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":840105},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e75380fb927022f5d19d6c0494328526d049ef3e","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.108_1787238829908_0.23993562363280696","host":"s3://npm-registry-packages-npm-production"}},"0.1.109":{"name":"discovery-media-player","version":"0.1.109","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.109","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"104a49b110ac51648421bf64313c00b1bbf3243e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.109.tgz","fileCount":57,"integrity":"sha512-CvQHNN7CSySRsVmExsnNwl4pX3yEY36XLinxNFOL4EdZF2puDwd/kxw3BErV7lFzXijBRmmIX1EPQ0uDOokhVg==","signatures":[{"sig":"MEYCIQC+EgCHxxflgxVEgTDD/Jx+wA1sfW4MO5E8phDg/jV/WAIhAMraLAzLVnrJm2eZewizBPaG8O8V9qGaO4WxX2I6CT0d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.109","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":841118},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"957d5a16c65dbd3964a0f1cebe517197ea7d44e3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.109_1787239807501_0.07692728088406153","host":"s3://npm-registry-packages-npm-production"}},"0.1.110":{"name":"discovery-media-player","version":"0.1.110","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.110","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"de061c6bff4bc9db2c60c8c664881d3958e7b7d4","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.110.tgz","fileCount":57,"integrity":"sha512-ES2a/LOzf9JMOkuItnnzQE5IM40UFlt9y59j7G0tLIwVRaW0ZIqhnWUWlkDrqXpPrrAOQiF99c7JtHInIMgbmA==","signatures":[{"sig":"MEYCIQCVpzf+wfkXoIKgvoUT/8utVY7vMgzSrfZ6ziKThmejpgIhANgXS1NM0yqH3xWN3M9GyaugZHrd9DNXX818B34m3oTH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.110","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":842449},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"e22c3b40e8e823d60d8a9f3f3cde63b16b5a9853","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.110_1787240536720_0.377077891279044","host":"s3://npm-registry-packages-npm-production"}},"0.1.111":{"name":"discovery-media-player","version":"0.1.111","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.111","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3174a3a08aba8cce0cf7344896d41777e2b3fa31","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.111.tgz","fileCount":57,"integrity":"sha512-LirfjmXepgMvQ749PVYybMB1bHbWShQ3FsDNtkwWnzeEh+8aa/Wif9YY7ZGOuRwLzhfcauxWGTZvIO6pjUoZrA==","signatures":[{"sig":"MEQCICvXvZDXE0jmwIMYUPMGDUeB7JTjCN9C4LLP86LTPjVZAiBCm7YJnno+wsdKnD1IFEXKlRDt48zXxPrNEB/mWh0dgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.111","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":846587},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"61f34bf9c210d59fc5fc6c404fff9b0103e94741","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.111_1787258755388_0.6126053119875088","host":"s3://npm-registry-packages-npm-production"}},"0.1.112":{"name":"discovery-media-player","version":"0.1.112","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.112","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"70d6eca491e2d44ff070449d4e1941389105a17d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.112.tgz","fileCount":57,"integrity":"sha512-QJ3BAG4UP4VGdvT3JOMa/Z7nIuT4rvnhbBC0X5PnKQJ5z7iLcZ5vcME7LeAestbC09hcSHZnuF88eiTc/CTMug==","signatures":[{"sig":"MEQCIF2hWvFFl/ApLIEd4Rbr5CrBEXCmoSlzGBl6tbjGxh3jAiBXZmZ4T/NXc+g6VlEfQ76kqaGjVYlXIpjx55ZRo1XJmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.112","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":849738},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"0af928f3a765316dcf1b20b701547ea4917f9636","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.112_1787259567082_0.007598034328059944","host":"s3://npm-registry-packages-npm-production"}},"0.1.113":{"name":"discovery-media-player","version":"0.1.113","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.113","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"160c09470cace4d7826c14ded2397b9d87c59a32","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.113.tgz","fileCount":57,"integrity":"sha512-jDZZYbrGNWQF+aG/p1mhDi7muljxPpn/L5eHkCNEHNh46h4IzWf/PFtYqLedN+PV/BGu2SNnRrX14Gi1tbMfKw==","signatures":[{"sig":"MEQCID3LQUUVjS2KAeIylk3FmM8yEyM+FpvKNaPKHPhvo+0TAiB9x2sBaqJfSKMfEQwYCR8fVk4VOZ/7GXnw9FbCLGA90w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.113","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":854503},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"a1b1b48459fa0c34e596706b6c4fefb1b838f67c","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.113_1787260414685_0.947456276260356","host":"s3://npm-registry-packages-npm-production"}},"0.1.114":{"name":"discovery-media-player","version":"0.1.114","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.114","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3ac943609adcaad7b781c1979164a49df9b77cbf","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.114.tgz","fileCount":57,"integrity":"sha512-GcrSyA9J4EanczknsOBl2v6L3FzySI4c3XCfNV9opS/312RPRIQ6F1u4svf6lYYuA7VixdGmpXFqtmc/VlGRwg==","signatures":[{"sig":"MEUCID4orW82jG5FCQ5Cqrp09hpN5w76AMcg3ZEc/bRcmiZ3AiEAufHX24vkk56Mr5ndgBqrYgoPbe/C/ZGxIQzDRbX4TAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.114","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":856847},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"79c127a3354c5e68a072e8930e25e655dde12e01","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.114_1787261315750_0.07319772483983145","host":"s3://npm-registry-packages-npm-production"}},"0.1.115":{"name":"discovery-media-player","version":"0.1.115","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.115","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"133816d24005b3eae07f254b5d5a451b6932e7c3","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.115.tgz","fileCount":57,"integrity":"sha512-bdqEoKYcefVL7YBcQJHqKaM/tIuUbS+FIG63dTGki8G8PNZuYav2thJ59q1zsqWyTVZVuRoklH26OICfNcGFBA==","signatures":[{"sig":"MEQCIBhsq1PUr8ovdxpI0hdazBv//2Iq1xgSImwZMax7N+uoAiAxSpB8d6uCBImvsUH8kGgeudmCH/3U4eayXPPHvvQnxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.115","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":859998},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"c6b415747ba06e6f546fdbaca1d4c2ec7d62139c","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.115_1787264469747_0.1681573894691495","host":"s3://npm-registry-packages-npm-production"}},"0.1.116":{"name":"discovery-media-player","version":"0.1.116","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.116","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"d9103f297b8640cd895455abca232d11403c3fb9","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.116.tgz","fileCount":57,"integrity":"sha512-HWu2v8HeQo52LnPsA42fZ2cYXwAXVZctduofVA5SyizpeaJHpkxNNxAc9xdab2J+qJelpaALVRLEu3oj0Y5Ebw==","signatures":[{"sig":"MEYCIQC66WDtutB9iuk1sxBV2aFXsujVqiwfn7bbeBe/v87LRAIhALZLbiPkuRzjJ4y/zPtXNPVeaUrn8wlyrEr0UjZyMhn5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.116","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":861544},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"c873cf4f20798aaa107dd56957e08768bfcce237","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.116_1787294502950_0.7677207164138538","host":"s3://npm-registry-packages-npm-production"}},"0.1.117":{"name":"discovery-media-player","version":"0.1.117","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.117","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"85c90e730c946b3e979cfa9c4d045747069e2ed1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.117.tgz","fileCount":57,"integrity":"sha512-lIRtvEvciwpvTrXmpXtiuZcBcxku4nQEHq8FYTj2lrGDbWrXwbgLQo+cg93sKjXfyHUJyDhTc6btDmnnlb8/mA==","signatures":[{"sig":"MEQCIBU/xflTe0M7UXfqQKWlhZ2YwoZcs/X2yal0TaZ+fllZAiBknzzgci/hH+frsKWGIGCu5qRkD1cDVWOkK5583YFzuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.117","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":867574},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"bb1fc8daf511014f7a8c1835b19db093d95e7bc4","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.117_1787298543028_0.7077245351097956","host":"s3://npm-registry-packages-npm-production"}},"0.1.118":{"name":"discovery-media-player","version":"0.1.118","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.118","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"cc19d6cfd6f3f34cd1d5bd9b5399b353ce1559cc","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.118.tgz","fileCount":57,"integrity":"sha512-E0w3mWhL10Uma/ePK6Mkhwdh1m20VUM0+tuZeuop0VivSoHzM91xd/RacK2czuwIWQNnPypUAOxUF2bhBr216g==","signatures":[{"sig":"MEQCIEaOqxqXfudvv8PmJKFnjPxuNgsk3D4uLi0ciYQhaXNEAiBQvL7tag+TVwZ8BHkG/q1tvdUJF5Vmh79z4ecXjDiP3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.118","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":871807},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"55f89ab2d32dc1d9c8ba52ba4cd17b59b300c92f","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.118_1787300036978_0.8823697256437308","host":"s3://npm-registry-packages-npm-production"}},"0.1.119":{"name":"discovery-media-player","version":"0.1.119","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.119","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"b6425326ef84ca3c008cc186e50cc2172a20a661","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.119.tgz","fileCount":57,"integrity":"sha512-048xqfK+m1vv8OPhuOkorYvTjs0ahNxlXEKbIXF2l2QAOJMALP7H51K8NHQFFlNz5ZEd5s4BQsTCu48TQHAaIQ==","signatures":[{"sig":"MEYCIQCm5eevS/jO4jDi/jSHmyKd/witqnkdz9ytyUVkWnDjLAIhAOFgXUADlEvJiPk/35vveiZ2mD669CzGSS5uhXX8FQQc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.119","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":874025},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"51f751ba40c4a9bcbe138d01990e502f790f0b82","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.119_1787301469161_0.17069422269522128","host":"s3://npm-registry-packages-npm-production"}},"0.1.120":{"name":"discovery-media-player","version":"0.1.120","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.120","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"048c42b13beaa6af0b1132faa967039d9544954d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.120.tgz","fileCount":58,"integrity":"sha512-PtBgokyl4bqgsGMqJHxl9Zagd/2U+eZMkchJuIZ4yOInorgz/4CfmEzrwwkhKmmZA7XLpcjf09gN9osCS8VWog==","signatures":[{"sig":"MEUCIDF+swN3M6h/Ef6dgEIugH/NxqumkkDGVgqmVqi7yOwwAiEAsmuhULdxBKw+FDzfso94Dx4HuQ0LJulsMmw34uIZAr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.120","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":882446},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"8ddc7b039b0865ba003f73f3bb4bc1652618060c","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.120_1787303539251_0.7975451274524119","host":"s3://npm-registry-packages-npm-production"}},"0.1.121":{"name":"discovery-media-player","version":"0.1.121","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.121","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3a27ddd9a0a66e89aa24c4bb6ece38e8f0561664","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.121.tgz","fileCount":58,"integrity":"sha512-hZBJcVU29Jb68gUcawNvLBmmeDxnA7/n0JyaDEi7YpY6wIESP+5rvhvLA7QZwJjkP0GaeGYqEcE+e1pBC01/Eg==","signatures":[{"sig":"MEYCIQC4iDLwRdMLz/fEZQf+rKxG3aMkzQZ+TRVPrgOBhH8QMQIhANiDCt6soIFo91jASD05o7SqGqivujXQtqC4K2ZSNevl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.121","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":884671},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"8b81798e02cf73e74ef716b25ebf9f37d854e398","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.121_1787308528785_0.6052409791083773","host":"s3://npm-registry-packages-npm-production"}},"0.1.122":{"name":"discovery-media-player","version":"0.1.122","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.122","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"e8378b4ae289e04f2e1a2793f8c4450fd3c25ad9","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.122.tgz","fileCount":58,"integrity":"sha512-eOfWr7XVGmOMlDyz750l4UbIfnu1r69FWNPkEkt0e7jDTHA/NgpImQtxt2HygooiWx7EpFRJgKGUb2ByAuSx6g==","signatures":[{"sig":"MEUCIQCqD5LHVq+zV53VaKRLFKiNSm21gjHwdXn/Cksz8VRBkgIgY6Hb27MR5zd1OEIddY379flMGAIJEJSCZZnxCz3yYv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.122","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":887569},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"9b0b181c4ad6de8daf7d791994537ba55fb0e2a0","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.122_1787309790953_0.4554528010661394","host":"s3://npm-registry-packages-npm-production"}},"0.1.123":{"name":"discovery-media-player","version":"0.1.123","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.123","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"aaedffcc2ab63b11bbb80c17416eb8b7d317b206","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.123.tgz","fileCount":58,"integrity":"sha512-PZSHFMfQy/+ihCtLd6om93YAmhA1JplF7M7nRF6DDSgL9CW7uVP9NCpOaD2rJDb6SWSEA8zsFBq38jI1q/vYFA==","signatures":[{"sig":"MEUCIQCIiqH6gKBGJrlQ+tP7N8IDXhJONVj4YM8SL1wJ0JBHoAIgP8IkApyFU5wqEWkXtf0nUOExh7e/jrjMiEW0UzzAmbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.123","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":892171},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"f6226f2680bab71ab1efe1919dfe2c2a07ed0a51","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.123_1787311123132_0.1185500612690884","host":"s3://npm-registry-packages-npm-production"}},"0.1.124":{"name":"discovery-media-player","version":"0.1.124","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.124","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3125088067b6f5ccaf904b647cc3416d3161fb1d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.124.tgz","fileCount":58,"integrity":"sha512-n/oUKjlAcaGFODlBeXHIPMDv7FugpW7YoLGlEMV1U3i1jHVnHTS2G3AGbGIF64xtSG3nYj5u1JvLvfhpLS/y/w==","signatures":[{"sig":"MEYCIQDJBeu8mhA6Ou5L9udPEGJVEy+5koLMSIPKAMrZv9saTwIhAKMKAlMKMNPQjpbID/TiMtec4v8ukHAiNF+D4EEbuN+w","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.124","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":896181},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":"./server/handler.js","./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":"./context/standalone.js"},"gitHead":"73f4aba3aa53a1ca59f5b113d4076a2c48c55de6","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.124_1787313719588_0.20488063426367442","host":"s3://npm-registry-packages-npm-production"}},"0.1.125":{"name":"discovery-media-player","version":"0.1.125","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.125","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3488e1eee639e960fa22b7be524b94ba3c2573e7","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.125.tgz","fileCount":61,"integrity":"sha512-s44HnH4++oNMNQO0oJZYBJwL00HDdufOB8ZnmHmDncYZH5AqKxBTpD8QBQg1G9V9Yo/PZQsgxb8Phx1T/qSaQQ==","signatures":[{"sig":"MEUCIFmWrB7VANBNj4Wzc2SfzUyzE2yqqZjS7jGyNwpBfE32AiEAtSHOhe5dXXfvFxyZstRtGrLjPLZTAx2IB349nw9tybg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.125","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":908626},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"bae00f55337a3def41a651caf704ecab67f0956d","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.125_1787324244168_0.4186572671510673","host":"s3://npm-registry-packages-npm-production"}},"0.1.126":{"name":"discovery-media-player","version":"0.1.126","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.126","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"21f8bfec1eef3214d16cfaef88c8be29b639c7c1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.126.tgz","fileCount":61,"integrity":"sha512-g305SIyBYatSIN95I+IThDHdkzCRAew48fjUL+xQSJWyOJVlHJIfBQILWUrmsHopOHO3QyMRdAnUQr6EV3e0MA==","signatures":[{"sig":"MEQCIGIjRxx7fF7zpTdAKBk1QG0DfG138l/j/JP0d/Ryu1BNAiA3pLisaEq2Aiu0aeXmeWhxXro1RMwemOVKCbYzrnTi6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.126","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":911375},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"4dce2a4edb5b64d3b89e2965354017d468a8f4e3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.126_1787326068714_0.5017793725144688","host":"s3://npm-registry-packages-npm-production"}},"0.1.127":{"name":"discovery-media-player","version":"0.1.127","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.127","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3d20401cdf469a5d6de876b6416780a0be3d7933","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.127.tgz","fileCount":62,"integrity":"sha512-X2xxINg7qBRAfNijdRIpJW+x31uNP5jpDmh9kulvN3x9zTk52JRIk1hnoeL8eM0AynFZfQEf5bvj4xe8bmIwjg==","signatures":[{"sig":"MEUCIQC47UnUbX9aIhtPCURIO8beE7JIv8LjbCMYD44cvZ9CBAIgN3FbmyEifJ/wVo5m8swyQ/p6JM+P5lwVkEjjfmE8CwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.127","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":931930},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"61ed3f6b6185d0903382d3e8f9940354f9497559","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.127_1787343724685_0.8103044419972332","host":"s3://npm-registry-packages-npm-production"}},"0.1.128":{"name":"discovery-media-player","version":"0.1.128","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.128","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"82a2c053a164a1df084bc65704809578fecff1d6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.128.tgz","fileCount":62,"integrity":"sha512-ByJ5jJnAHnLicUreCBvHLoKBCpIO+mKVhFX1nxf74ggM9AIPa/EX8nd3qN/OI7Ojlw6EHgXGGqvYxoM+56z/5A==","signatures":[{"sig":"MEUCIAc5NdzcnTx1MuPdSX7XV+CNKaRxnF/6bK7RHCiRAXvtAiEA+CoYsbnYGTRnigiEhhfD8LixgTajH53sJqa9zdzLdxc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.128","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":940924},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"85023b252e5b1a9c21523195f2a54f266d60c662","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","typescript":"^5.5.4","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.128_1787345553923_0.6105183190860255","host":"s3://npm-registry-packages-npm-production"}},"0.1.129":{"name":"discovery-media-player","version":"0.1.129","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.129","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a4654c01b664c5dffc839d81406d7269e121a522","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.129.tgz","fileCount":62,"integrity":"sha512-MMqa+LBEuoCJpY1Ns2Q5ArSIhwraJqm3wwTT2tpFb8eSTVfjFvfXH0t6n9nhNZBFrIWXtme+jKsmsNmys2f9AA==","signatures":[{"sig":"MEYCIQCXnCl4ITOcjNlWam2s4E2zA5M5D1r3MWyB1HQ9Ln3LWwIhAJNhrIT5MTcBKofrGkPLe425TFVzsEa0ta77FYv/zd9y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.129","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":945378},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"d8e15d9edac152ecb3ca023cfdc2f75711de18bd","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.129_1787475046613_0.46690071461745175","host":"s3://npm-registry-packages-npm-production"}},"0.1.130":{"name":"discovery-media-player","version":"0.1.130","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.130","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"47effed32f5ac0e3e0e7d1f4a0904ae6535eadc1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.130.tgz","fileCount":62,"integrity":"sha512-7NEmmbydltMEfNplrtLa4F5mvzSkj0uA2ZDHFK9dNrmRQYNcs+QZlrTo1Wa/nhS1jY1x4ZU2u6REIYEZv2o8ng==","signatures":[{"sig":"MEUCIDUDFcfrIo2Phe+zhZbLKiYZ7haq9z6CMdnxl5D65egxAiEA4C+NCeio71c2YKYq5inKEKFKr7TOtM0OpH69rGX2NLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.130","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":949536},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"020e965bfc3242b3d628a405fe17f6a980b04a6f","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.130_1787555665908_0.3962900199592756","host":"s3://npm-registry-packages-npm-production"}},"0.1.131":{"name":"discovery-media-player","version":"0.1.131","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.131","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7f8a02af21b9e689a7770ccabee9f27e9571a7d1","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.131.tgz","fileCount":62,"integrity":"sha512-lSqf5fnDkIZzVpChMgIgdpK3b+eauA+qYDhC3vsEU5SwH+GxtVDc4JRGf2uFMRZNDMk4Vfeuyn9JF1awdwqfLQ==","signatures":[{"sig":"MEQCIGVcLTWqj1mdU1lfECr481hTSx/WNcKMc/bpXUQsCIKwAiASpLfXooFrrnY7jvKcb5cs/xHVY/HUntymqZ7jld/GHA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.131","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":953229},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"bee8ace10154e19fe3c1f52ce7d7750101c01bd5","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.131_1787560505359_0.7003430429240605","host":"s3://npm-registry-packages-npm-production"}},"0.1.133":{"name":"discovery-media-player","version":"0.1.133","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.133","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"13cbb21dc94a3cf601114a8a19a6a0166a1be8e0","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.133.tgz","fileCount":62,"integrity":"sha512-N4fuJ34ydzKar1TMuUmSNFUPIhWgXbbtnAcl85O6kIwKl5oI7UVuQIjYTeBnShmAu8bBoU9v8diK1+HYUzs0cw==","signatures":[{"sig":"MEUCIQD16qhTb881rgt0XXYGzHWBHWfUhohz4SkuJmsxolpVuwIgc6pxmKKbP5fdd7t9k3RtSXwh4jdujNpAff2853G12NU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.133","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":957444},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"1b7ca27b575065ccc2472ecd34cf2033dbc4ff7e","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.133_1787579890098_0.5889079783563202","host":"s3://npm-registry-packages-npm-production"}},"0.1.134":{"name":"discovery-media-player","version":"0.1.134","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.134","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"4ac895f9821bcc8b02a4b886db2063910f058f29","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.134.tgz","fileCount":63,"integrity":"sha512-GMiPXq6A8A4yctntF+kYYV/cq84GMGerIZA6R1hyWafODfe/g73jncJv1Vi6Nzm0XZEWcHfLtNrCzc4mL+kjAQ==","signatures":[{"sig":"MEYCIQC8KcfcopjTAee+YPDByEZ+qENP1wPcc/oRjeQnwnOm1gIhANv0/L9T6xi1W/4t71hG1u+l5knuuugLsn2XguoaumWE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.134","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":964099},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"3b3ea8abb640079991473d29bfa1b977c03ad09b","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.134_1787601436777_0.536273772826457","host":"s3://npm-registry-packages-npm-production"}},"0.1.135":{"name":"discovery-media-player","version":"0.1.135","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.135","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"2b693b66b61ba4f1b25381842fffcfad71ab6fea","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.135.tgz","fileCount":62,"integrity":"sha512-VEbQbOM3VMeJjdXlBlYeiEYrpAULy/OJgmra6ydbsuCS/Wu7QTS25Wr1thudEqE51rTH+41aNpXC5WuUYx52fg==","signatures":[{"sig":"MEUCIGuls7/FvmIGwy/WjQrzQ2u3VzQlp7wc3Eo4ZdNJiNHRAiEAttMCCaSH4CDUyQXOIqve/uevJES75jW66nPD5yNMwn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.135","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":960538},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"f5b3a32905ad4f5a577ff39c6897ab1ca4360429","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.135_1787629315912_0.5881685635784515","host":"s3://npm-registry-packages-npm-production"}},"0.1.136":{"name":"discovery-media-player","version":"0.1.136","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.136","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7270f02c8ff61bbf5bf37292b6b8303e6e21b211","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.136.tgz","fileCount":62,"integrity":"sha512-/xUoqQ3G6Od7X9ox+yVRJ0de1Vx2nDt3VVTqvXG2bWWwnSPb3xaEaFNb1nTmT5rqDFkRdhGghM2mN9xE+BulUQ==","signatures":[{"sig":"MEYCIQCv5NVm6R9v+lryUQhrDB8C0JPZRcoHlwGeuNu0sIpNzgIhAPn38qNVWqH1V94gObcyVFI1s9DlLY/4+Y86iJlBR/F9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.136","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":960576},"main":"server/handler.js","engines":{"node":">=22"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"d0bfe3d8b0c33dc065e75cf221ea98ff3d60c280","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.136_1787652646083_0.7961318085534554","host":"s3://npm-registry-packages-npm-production"}},"0.1.137":{"name":"discovery-media-player","version":"0.1.137","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.137","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"07437834310c2fa44ed6f9d5857b25d0ec98ab75","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.137.tgz","fileCount":62,"integrity":"sha512-lrmgFdmdj9lYAuhFnYs2u7riSW0mfLaIyNF7SLZrxaKM+fLU3jeI4LPnydn26R9coRV2rfK3ZuFSmV3ge2uNRQ==","signatures":[{"sig":"MEUCIB7xFaZyB63ifL3kS7xQwIrWil5VdIJf7X3/s+4kHEQKAiEA/IX3mjKeI21vYNKlo7XiyP9r1gkhC5fgiB22S4r/4dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.137","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":966307},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"407e07fb051c19ea5e6a2eae5775ec56c1673ca5","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.137_1787669551238_0.7320222150722262","host":"s3://npm-registry-packages-npm-production"}},"0.1.138":{"name":"discovery-media-player","version":"0.1.138","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.138","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ff54a118e5968f535f918ed21f0a2e722b5a03b4","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.138.tgz","fileCount":64,"integrity":"sha512-VQrHW5fr+JfOo6has2badiGkCkjVIJysGvnp/pZzLCF6EoJNt7j0xGyqCwQzVgm3QzE/uJCZoSmX+1EMX+YcMQ==","signatures":[{"sig":"MEQCIDSVEK0n0Fw9AmJADCHpTEYX+eOG0qiMVBSJfOmpG1vWAiAExRRK9X/cm2XiCE+HR5Ez8kFT4Mmz/7ItVXP7h1fu7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.138","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":984571},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"c285ffacfc5e0588a75ac8a9c0cf762be33e883e","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.138_1787725435055_0.1511910347091061","host":"s3://npm-registry-packages-npm-production"}},"0.1.139":{"name":"discovery-media-player","version":"0.1.139","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.139","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"34cd54beb7c4bd931627eb4b2e6adc939352f524","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.139.tgz","fileCount":64,"integrity":"sha512-O/YQBpKPBE7pgGbxmM77o96LD3NymsmWsMCw+uj8pxc6n7aliNmXVDm5YM4ifjqy4qkC6BwZ7XkUTfWxt/OZbg==","signatures":[{"sig":"MEYCIQDwuiHKFUf+uBS2vKgfYxHVWCINXZAu3ahXdpktvqqtSAIhAL388y9rUs3f8UgvcFANr2rGm39qurjA/qBrdGs0RksQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.139","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":992500},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"cea97385b6ea13169b23e4ab2d95ea003ccf47e0","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.139_1787745140552_0.7374232195687094","host":"s3://npm-registry-packages-npm-production"}},"0.1.140":{"name":"discovery-media-player","version":"0.1.140","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.140","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c4db5504cd99a44d8d194efefbf5db09eeed9b7a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.140.tgz","fileCount":68,"integrity":"sha512-CKhrhe6E2Sw4QeiSpCPQLFP+HFQoWw6xEmAa5K912+kfMaNg4qpR0Il4ajFXG+50R/S8AD9q8qjO6slpPu/sNg==","signatures":[{"sig":"MEUCIQCrwa6FthNSWmNTyOWiUvCBvPTgNXeeKOHTf/XR6w/wUQIgMP3/FQfDmlkGNbwzNy2IrBWEPNZVIdKF4r4r8XniOaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.140","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1081049},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"578c6f0ca5b0e6d34c70f7eecd535e069bec766e","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.140_1787813023297_0.7727573240681609","host":"s3://npm-registry-packages-npm-production"}},"0.1.142":{"name":"discovery-media-player","version":"0.1.142","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.142","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"cd673103d49b123b1d2ccc28ed4d6736fe99abef","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.142.tgz","fileCount":68,"integrity":"sha512-fASr14IJU8Oa+F23vVGUclAqowgtZsittbA4DsR19FCFUmcWUY1gHF/LtRSu5pUJWIMShGGJTOkcZWUAn0BrUg==","signatures":[{"sig":"MEYCIQDKpymHncLXHlyNCJNR+QpJC2VY2NJ0i3dpQUKhLA0FvQIhAIQIhLD1neCdgO1LlI+5Q96acVYZ+COqdxRkP1/2y2lg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.142","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1086827},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"1ea363b8c291db695c99a505851357b145056982","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.142_1787863506741_0.962458423111936","host":"s3://npm-registry-packages-npm-production"}},"0.1.143":{"name":"discovery-media-player","version":"0.1.143","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.143","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"86cd2aa965700b8a71555611f18885166af04863","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.143.tgz","fileCount":69,"integrity":"sha512-14EU1ePHPPwZ/cOm/O3C4RIquzhI3Uj0jb9EeKcYbbkW6JsQ0vj6JRgdKjxIgr5XlQWaoWl+O0yGvuqzF5GNBw==","signatures":[{"sig":"MEQCIF3ZSBEbZcIRhmjDo4mUUuSQ9uLjBPDgrtOVJfpefEDEAiBr30Fh4cUynxKl4raIFj4zZczNkSgrxKt7ZkK+L1HvmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.143","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1138930},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"200158f544b45b616a4a8de8c4d49d335f61b8ed","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.143_1788102635083_0.8163021946248217","host":"s3://npm-registry-packages-npm-production"}},"0.1.144":{"name":"discovery-media-player","version":"0.1.144","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.144","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"ab19960b549fb31f4bcfb819a6133450eb88f03f","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.144.tgz","fileCount":69,"integrity":"sha512-aB/cBUILO2DZ1AaTrl+RUFGOXcQ8eGKXzdlJokVEFOAhPqrrwNaDXS/BgkyGnUJ3TDoN5IqYjscT1MoyNpJrvg==","signatures":[{"sig":"MEUCIQDYi+9QH8T1pUW/SgtIrtQDnx5FgzcL5l1a+Bgmq4SVCgIgQGO3DIiTZlOTkovagsA8UOiCos4/C7ouPUMDDeDtCcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.144","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1142224},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"c5b019fdc71c29e7c27ca8e66df79d13beb01544","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.144_1788124369124_0.8009154638716536","host":"s3://npm-registry-packages-npm-production"}},"0.1.145":{"name":"discovery-media-player","version":"0.1.145","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.145","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8589595da4624ce560614fba2c981d91761b5fcc","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.145.tgz","fileCount":69,"integrity":"sha512-AqNejmjZPG9ypt+4Gfl0uIf9ikrfi0lEo1tJxZLH4yEinI2pD7EVJQVbB90y0Eb053YLK8tfHS4qcsCLgOze8A==","signatures":[{"sig":"MEUCIQD6qJT0M3QGgjwnF9FHKZxHXyLyqZnQaw6v/RNu42vAzAIgFVJxlOBpwNXV1QN+1w4T3oNE/XjRiiFyIuR/4WjMvD4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.145","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1142224},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"570f8f51e8f01635f43a20a00bc4b1752a21f2fd","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.145_1788177889228_0.5007564178280242","host":"s3://npm-registry-packages-npm-production"}},"0.1.147":{"name":"discovery-media-player","version":"0.1.147","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.147","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"de550a94d26b4472e6079f14fa265a167dd9614d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.147.tgz","fileCount":72,"integrity":"sha512-2pV7XBOomDyumO9JSy74K491S2A9kXWJd21C4GVMixsiF7lLKfwrRXeUomkKcReA3UJd+2h6jJjNnCYWUbpNlw==","signatures":[{"sig":"MEUCIDuXaqyf/rgifpg0ont426SugO6+Eydn/aSFVk05OyOqAiEAgX0Hyyq4q7cNJ/wp0WA4C3SUhgfzTjxv24l/SyQjHIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.147","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1193808},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"12845dc214b66eb30073a1c6dfef86e7a62f10a4","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.147_1788295258286_0.2540729464807885","host":"s3://npm-registry-packages-npm-production"}},"0.1.148":{"name":"discovery-media-player","version":"0.1.148","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.148","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"46d53bf14aa95f862106b046f69c5992863c603a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.148.tgz","fileCount":72,"integrity":"sha512-5F1Zrh1d5ra4WEwIE/kaz5UtnfyxxkF5Ql06hlRmXi6yRan481+fKOAtO3N5ziZAwuYgguUlcVxtQ6J3I3KGEg==","signatures":[{"sig":"MEQCIHR6RgW8VEVlEyPao5W06ZDFn5eBa9QVoUeuNEUglOFbAiBcVwTwtiQoU4Cvdd7nKOdw6y0JdNU0gwhj2m7yLy4ACA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.148","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1202003},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"19d5195d22c918da11fe7de661d268c7b6288899","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.148_1788298536976_0.34133460824042716","host":"s3://npm-registry-packages-npm-production"}},"0.1.149":{"name":"discovery-media-player","version":"0.1.149","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.149","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"282818bf4464bfcbadcc9819a7fa7ee035eee411","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.149.tgz","fileCount":72,"integrity":"sha512-0iLS+7Z+MtMXSBADZaeSg10ZaBMmc8rF7GUsnKVzHohdZGw0Fnp6iNiQ08Zj8nFWu8By6w07pBwICNzX1Oz2wA==","signatures":[{"sig":"MEUCIQCBvloeul8kH4SpQphgUYc2tAuONvWWsdXXLOpABcbAqgIgWU62RzWFrvwzzJnmte/YW9+GQ+Xr7PYQXgCmONMPoyw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.149","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1210056},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"a44e69a0182f82964e803dc28e0bda1834b1ff07","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.149_1788327611362_0.7451853152879557","host":"s3://npm-registry-packages-npm-production"}},"0.1.150":{"name":"discovery-media-player","version":"0.1.150","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.150","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3b68de7bbcfbba506d76bd1d27e09cd68ac496a7","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.150.tgz","fileCount":72,"integrity":"sha512-MuP5zgeLgZkyUFVc2g3hAdRSrBEJhaxOSfzM9u+nJFjkB6bSGL+Jn3ly8JRWmQ4V89Y3Xj9jkmXIr6Wr/EFDsQ==","signatures":[{"sig":"MEQCIDer6VFBDH/SOU+QC3dKL+PS5W8uCCsXJao2yjjbRciJAiApnG7j43zL26fCEiT6+tteojzKmaznaUseDnTC9e3tow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.150","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1217573},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"6eba9810e2ee49b4cd2fdc49c3e59f9c32c37845","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.150_1788340542661_0.0890836900156724","host":"s3://npm-registry-packages-npm-production"}},"0.1.151":{"name":"discovery-media-player","version":"0.1.151","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.151","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"33494f1e60f68106f243d865ec88ae6f79f92be8","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.151.tgz","fileCount":72,"integrity":"sha512-h4FHtYYag05ANbedRwT+7C1/CaknbxxkRC4nyUUAgi9vRDTYZcJADR/pKA6Y2Ft1JDeqtq355c3NH5pY8E8GtA==","signatures":[{"sig":"MEYCIQCeiTBaJbtMBjzlyRqxkTjDqWxlU7zCNiPHHySPOmwq1QIhAJerkLesc3fF01oHq5PFL9VTKXBIG8a3mC6E40Lph1Kd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.151","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1227343},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"f5fae71a713b82ed4da946681b2ca10d80b9e20d","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.151_1788348256722_0.8750409800533574","host":"s3://npm-registry-packages-npm-production"}},"0.1.152":{"name":"discovery-media-player","version":"0.1.152","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.152","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"83d2ad6361c1fbaa7b9b569812209d3fed6d9bb8","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.152.tgz","fileCount":72,"integrity":"sha512-XoHwn4RbbPxy0wufHI9+PRtrc4NFibcA3U7Jew1iFr7FNPi9shrpeiGLqDbXksltytLbe+yCob58YebexopEpg==","signatures":[{"sig":"MEUCIQCoVA5lJ1gg5IccIRwWEAzRPTdaDEwL2XNpimrvxcb2dgIgEFzKNYI1kMpNiRgCmW2r11eg5IMUJqoe1I6dQYnrOXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.152","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1230442},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"2773c461c183a240f9826f7dca1d643b7abca9b0","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.152_1788357249951_0.8816008288061605","host":"s3://npm-registry-packages-npm-production"}},"0.1.153":{"name":"discovery-media-player","version":"0.1.153","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.153","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"3c2be43fa0744c3df459ed61441f1d8500f9995c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.153.tgz","fileCount":72,"integrity":"sha512-lugcwStNiGbLnqWNn5dFaSSElEXIpt2ZYHj6vxkvQ1tv/Zbp5e6XnKQsSu6l7JjvYr6rwyQQT0AAvGyCmH8UDw==","signatures":[{"sig":"MEUCIQCpoxlM+8goi8G6EgHU2TrRAJrCoG/O5zd/6XOmeNnP7wIgVkKbyjH+uFjoNU0qeVfV/jKVGjkeodf0NGflecTvlSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.153","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1237093},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"ba4f8f11808713f3cbab17f095349c1cf95c00ba","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.153_1788385899482_0.6086409215241799","host":"s3://npm-registry-packages-npm-production"}},"0.1.154":{"name":"discovery-media-player","version":"0.1.154","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.154","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"79d7a70cfa76ea6052fd36392edb9054269c5f60","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.154.tgz","fileCount":72,"integrity":"sha512-yr7JKj4HsPN5QmiYsFMid1OGaLRs8IwEmS/PDHtzFnq9IPbsA658FsQ0n3lt9Gfl7Fu3fPnJtKZ4Ctm1yPrXbA==","signatures":[{"sig":"MEYCIQDaF2BoZ630kzon3iQ0Q7rvPSDq9VJyGyHZPa/MVnyxFgIhAKEKyzInQ1K8WP5uTCV6fC465h2ZREqA56OJtmWmE0m9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.154","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1239900},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"060058bee0f5d968019363125787f2a1c32fd9a3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.154_1788418398523_0.21642034061400905","host":"s3://npm-registry-packages-npm-production"}},"0.1.155":{"name":"discovery-media-player","version":"0.1.155","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.155","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"6addf0ad5ff97838ca0b96fb6158b90b25837b62","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.155.tgz","fileCount":72,"integrity":"sha512-m0V6yg5+7okAZsTf/1GN3facIwT5FfugawMV/Y/xKfnsCTp1oxB4dkvmSLlpphra/9rbAFZgZbzGkq1sQMr/hA==","signatures":[{"sig":"MEYCIQDMVCqQhkFpNcroCiEqApdmwZ0UQMrVmAUzbWwYT0MMGwIhAITk3M62QqZEXIikahGUIUBzD+mHLgWshG2Y0N79qT7v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.155","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1243047},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"0c0802db3a8b57218f4ee3e4085ffe1fb5fcc81a","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.17.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.155_1788476932926_0.6964805323465459","host":"s3://npm-registry-packages-npm-production"}},"0.1.156":{"name":"discovery-media-player","version":"0.1.156","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.156","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"54adb8c3179be5b4d6f5e3843a97b1c221a7c911","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.156.tgz","fileCount":72,"integrity":"sha512-eK/DndC/iJeqd7FQrjEuG2yFk6/oql0AFExojfiHiRIhx+Stn4PAcHSJoDvXnRrrnspJiSLxAG8DZplzmAHLwA==","signatures":[{"sig":"MEQCIDiXG+huDT8g1AETAG8EIPBFrdbDf/WOO2pouQrHoVqvAiAkzaIA0ZA2Aa8+ur8i1pbCcbjmJB7poKUcxfyVhVyokQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.156","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1243754},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"3d2568b9d03a89ad1cab57cb4efed0e68faa601f","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.156_1788638597898_0.35349787334178817","host":"s3://npm-registry-packages-npm-production"}},"0.1.157":{"name":"discovery-media-player","version":"0.1.157","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.157","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"25d0975a844aafdd4071cc7f0c27f2d6cad3c13e","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.157.tgz","fileCount":72,"integrity":"sha512-Rz/DjR3lkPZ1hpRoi29Wjq1YAgWG6PbzXnFAFnTxb8Qh86VDLEQRmhubhFopE9crAvuz3vlDosrkV3UcU/umgg==","signatures":[{"sig":"MEUCIQC5/ups082tVASH00n53DgJR5SGoz1hWBJ+Z0DNZcOukAIgcYPGV8ITjPYD0TOksQPBfR0EVlsJ0sYkkUOeq4x7U00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.157","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1249370},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"5d9f33c01ba47446bc536e6dcdc5297866094e59","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.157_1788829131167_0.6868033340567736","host":"s3://npm-registry-packages-npm-production"}},"0.1.158":{"name":"discovery-media-player","version":"0.1.158","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.158","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"50ff058f823bd4a82aa5ac0408b3bda2ba650cff","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.158.tgz","fileCount":72,"integrity":"sha512-Q/khIoVUKAYLESGizI+/f/U3YTXWyApgisVUKKdiVYVZ8ekpYBTHz14M78t90tc3+sLJO94t34RSOx5Bi5CclA==","signatures":[{"sig":"MEQCIAYwLrWsDAq9Ep2ipvZvC1Yu7QijZr9SAxn7DXiekb0IAiBSVnIRbMOpmLiftIdRA0sZVSBVp527iD6Bge8yrjx9yg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.158","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1254307},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"765d87b0a698a2f4e45d749fc909c43aeb761140","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.158_1788899649562_0.7184282094085201","host":"s3://npm-registry-packages-npm-production"}},"0.1.160":{"name":"discovery-media-player","version":"0.1.160","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.160","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"f5e8a887772037851d9e3de859ada3531c68916a","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.160.tgz","fileCount":72,"integrity":"sha512-oDuDw/uQUgeNx+OigD4RpASa2HNAiSreKPbms3ELs6RWi5fws2zN2/emEnLKk7pBX9DpuX/BO31l+ROUtu609g==","signatures":[{"sig":"MEUCIQDk7SCYJS4Qv3lVuBh/ZW2/imW2DdImNOjWICuionGwXQIgN9v8ANI5/z3uR1lBuJTm/jli47HVOysYF/Er/pzOYuU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.160","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1254307},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"ac971577db8c406c10058446c1095f12f1de35c8","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.160_1788974142244_0.6910550076783633","host":"s3://npm-registry-packages-npm-production"}},"0.1.162":{"name":"discovery-media-player","version":"0.1.162","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.162","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"8006c54ab9539ec6c4a9e4287ce9dbb113892dce","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.162.tgz","fileCount":72,"integrity":"sha512-EnR+UTvXzkj1bvPXn7IsDk/tOEZDCnWeIjGS+auuwc1FkEGhRACLcNsos4JnntDLWY3XduVt5V1GuYMqHvObhw==","signatures":[{"sig":"MEUCIF1Bv8voB5uqyheSBmt0k/JuM25t6pGPoijT/gifMrTiAiEAyrOuRBT7EQA7o9CZGkEW/vPaSPAJUzR5YxrHlNekotY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.162","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1254307},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"4979141b3fa34feb857cbf6b9d220bce8d65960d","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.162_1789030284641_0.8813770261612599","host":"s3://npm-registry-packages-npm-production"}},"0.1.163":{"name":"discovery-media-player","version":"0.1.163","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.163","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"460e42edd85d19de97d25855e2d6073c5abacb87","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.163.tgz","fileCount":73,"integrity":"sha512-3Ggc/I6HT0jcvLhDjteAsS0zIsi53EF9XUlW9b4J9kkM/miVTlprlEBbuR23XsCqqMJjb5aSK2OPXXQ/v4az6Q==","signatures":[{"sig":"MEUCIQCWl0VvE5r79s94aNC3Imq3d5XBXpztYRrpgnjeEeFi+gIgOvWs+a26Fyjv8qEtXm1/pXJZ2nZ3UlNBr+TBqPnv1ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.163","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1262490},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"c75748d57af3cde8f1e1ce44caceb7e51949d367","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.163_1789144907827_0.8304651507135534","host":"s3://npm-registry-packages-npm-production"}},"0.1.164":{"name":"discovery-media-player","version":"0.1.164","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.164","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"7b21032cec4e29041ef3c88c5028deae17880da6","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.164.tgz","fileCount":73,"integrity":"sha512-M2VyTuCPsCj1yO9ejrz2cyAdqL9frv/Q6hZ3WJ2tONXQkBFN44WiXUbtcfGF6D7Hb+XKJxS+fx0zm9PAyEmhzA==","signatures":[{"sig":"MEYCIQC6fDf9gODEOBDbT6fxYyX69TRozseirthC69rHqkmmeQIhAN9nBIsY3f+qYYa6CIZSh8U1O1vrK71lB+x0PEEu9LIP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.164","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1304966},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"b6c153f3052d8d48a1ea051a9609af12cdfc7bdc","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.164_1789235570387_0.44967182057756916","host":"s3://npm-registry-packages-npm-production"}},"0.1.165":{"name":"discovery-media-player","version":"0.1.165","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.165","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"61d3a576adecd29b149428777c547e0a9f49fc42","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.165.tgz","fileCount":73,"integrity":"sha512-OsoAbm7SliejJtJTIztHigvlLkcqeqZiWxCgziriPjij2RshTEguOSdDoaQhXYylxbGfPBvii6kRBZ3jFRpMnQ==","signatures":[{"sig":"MEYCIQDr0WKhNPhp3r2hWGwCuJM/odpOjP3b5Nvazbhud4IPqgIhAOasz2IM2yDBr6umQUuwSa0fgHD1uLx2RyyqWiIvEvU5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.165","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1334896},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"2a9f1049d21f16cf064407bf4aa5a1f9b549d2ce","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.165_1789326663421_0.7817759695698556","host":"s3://npm-registry-packages-npm-production"}},"0.1.166":{"name":"discovery-media-player","version":"0.1.166","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.166","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"b7bb3a81c8c247f6cbda36411b7a0fa7eceb952c","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.166.tgz","fileCount":74,"integrity":"sha512-2t6RDwFPmMaxVlg7K0a0gkSCCOMSJ/tCye0huyeBBfcko0yQbO4lzPijIKH1OifspnJAX6KHCqacZ3sOZj31uw==","signatures":[{"sig":"MEUCIHEu5EH1Kz8X32hYcrcDRNDSYpirB9MIpOpOM5HSObKAAiEAtTqq6vwMOAtW09vUdiHC98ZbvzVQalvGVgGeYbM/pj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.166","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1345704},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"3017cc38e48edbd84a0b0718d2fe0c713c17c94e","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.166_1789370930661_0.34261589872889764","host":"s3://npm-registry-packages-npm-production"}},"0.1.167":{"name":"discovery-media-player","version":"0.1.167","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.167","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"a3927b1639c9dc0a2386f5c9377a065e9608fb97","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.167.tgz","fileCount":75,"integrity":"sha512-Sr5TVB/I12FZGHsemlP+cjYTBKD1cdYiDKx20tG21F9N8pywEs5TrmoeiuWBprBEfDOO5UdZQNwS4NtK0I0SZQ==","signatures":[{"sig":"MEUCIDb1V+Gjze2ZMvh1TRTr0pJI4JZtZgnVE9AHX9IOR+s8AiEAnNzQtlCjI942GkiyjCzs7kPGoghH3ceYRhisCPYbOuk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.167","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1353971},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"3117358c4046ea980f6402fa130f96c72cf11ca4","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.167_1789387619447_0.13363831878279897","host":"s3://npm-registry-packages-npm-production"}},"0.1.168":{"name":"discovery-media-player","version":"0.1.168","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.168","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"6b3de44d1b3dca4eb3fdefdba484b8ceb477c2c5","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.168.tgz","fileCount":75,"integrity":"sha512-5KW5AYswlbXrzvT4hTH/oSPHT7749TlcjOxTaz2ghGB2jnEv17fSLAR1G/4zC91VK2Z/IQNXZ2h/jL97dfe7bw==","signatures":[{"sig":"MEUCIQCGAaR5k6HyxPWcwV5lQXEAvfXvhSS6hkN897JrRi8FgwIgbFsS1ma3gFCJni2V8hHTb0WzU5ZMeP7RLjFpTRswIhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBvu2Z8PeCBli65gO6dcgg1UqlLCvZJgqhbbHNmRH8ptAiAlj+kIsI8pWLjPeSOm3kpOh/GLcI9tTQbrK0qj2KfnOw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.168","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1358235},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"f5f0ae705f2ed59a5c540ce751f4805b421500f3","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.168_1789421972829_0.10048412169418963","host":"s3://npm-registry-packages-npm-production"}},"0.1.169":{"name":"discovery-media-player","version":"0.1.169","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.169","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"637480ea2e2f8040d3c24b39eee677c6a66295cf","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.169.tgz","fileCount":75,"integrity":"sha512-HPZ+QGK4lKJzl2qgVgdAsLL6npzgg8ytiHdWQ4c3E1EQHVtg98N9wOZFYCT7tjcmpkWRob05uHXU+6TQV4Nj4A==","signatures":[{"sig":"MEYCIQC8h0Eq+UPNTF9imaul9Vt5xv0rUGuWAqR1rx8xGhyGsQIhALkQfzusPRfxKoq+cqRzMBJkT5dZJ3eyeh+Zb4sHnbNx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDyRtD/+WKAINBhir+E1IxUrQ2MM6tF3YkD3oYf966aigIgUum2PeF1zLkICjYgP3oE2Q1hQeVhMpvRQGgt5cJtje0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.169","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1360636},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"c52c227a7fdc037288ed2003f3f058637c66d986","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.169_1789439608474_0.08714616323638769","host":"s3://npm-registry-packages-npm-production"}},"0.1.170":{"name":"discovery-media-player","version":"0.1.170","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.170","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"c9a087f2993c4d8618485656ab94302428e3249d","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.170.tgz","fileCount":77,"integrity":"sha512-UlGqFFIQFC2joMgY5qLRIUdYgec5qnL/onlYb9A/H/DckW/efZ3oX9kR091pToAIAfX1DkZYvf8luqbnsj66tw==","signatures":[{"sig":"MEUCIFmPrB64JSFLf2BCGitavqzI5nzP+LEvUMjKzu+4ybM/AiEAvM9NuaVFcmuVO4MajdX9tpdujGAUefemqFE0wVfASE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAGZD0ENPV8jGxgJF9RIbzDAdPAZptUlsZcETu45TJAFAiEA59843T23QMrX9gFQ3XxhA3SUBC57LZc4hKTB3sZP5Vo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.170","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1389540},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"c304e145b5367c977bb7714e4ea09520abf6c8e9","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.170_1790841032307_0.5064165590383147","host":"s3://npm-registry-packages-npm-production"}},"0.1.171":{"name":"discovery-media-player","version":"0.1.171","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","_id":"discovery-media-player@0.1.171","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"bin":{"discovery-media-player":"bin/serve.js"},"dist":{"shasum":"875eb902763d01d812b51af79e693742c083c516","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.171.tgz","fileCount":77,"integrity":"sha512-h8rmDa9q/0tJ7DgqSeK48B2ou0sLTZSZL252bShfuBPmzm5o/7qxOYU+rGh5v0HVwEQos9LsVjP6aOj5RMIwhQ==","signatures":[{"sig":"MEUCIQDoRCfyI+myAIFzwAD3GK/RL+sGeeuaS7tTOfjQfbZI9wIgAn0512fasfGFKAdqqZtc8xNkwYocL9KdkgLJAX8GRIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC+TPOvHScTDFwA7hqSOXNQq03BmN5iQ3xYikpX1NmrFgIgfOD53aCJQ28PuolRBcDasoR633d1vKcfvfkx3V2+tgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.171","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1389867},"main":"server/handler.js","engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"26f9c77a19ee5852119763266b6eba40a91fa975","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"_nodeVersion":"24.21.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"tmp":"tmp/discovery-media-player_0.1.171_1790845578076_0.34787283733922214","host":"s3://npm-registry-packages-npm-production"}},"0.1.172":{"_id":"discovery-media-player@0.1.172","bin":{"discovery-media-player":"bin/serve.js"},"bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"dist":{"shasum":"ff07572602f54ae7e1402accf48e23a6176aa93f","tarball":"https://registry.npmjs.org/discovery-media-player/-/discovery-media-player-0.1.172.tgz","fileCount":77,"integrity":"sha512-uJZNx35wFSyFJE27LdB03dzIkPNl59eq7Jot0PAmKA7m9dA+g7hM22gv6jf0WCxcJvGDnUScG4cqfn3mVPK+6A==","signatures":[{"sig":"MEUCIQDxDU1Vc6R8J1Ccf2KBOF4kesfTfc7bPnieniLmPYoWFwIgX5Wk2CC+prkngMThGjNUC/nFmocQnWeKMCH4APNlQDE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCHYkBU3Usd/DIG+bdqIXvmKBrh3DYgfH7M8e1JzRKq8AIhAJFMQ2XboELIGtI0rNjgHBgC4n8Dx2dKkwXNxFRw47Ti"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/discovery-media-player@0.1.172","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1394264},"main":"server/handler.js","name":"discovery-media-player","author":{"name":"3D Discovery"},"engines":{"node":">=22.13.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./server/handler.js"},"./brands":"./server/brands.js","./bridge":{"types":"./dist/bridge.d.ts","import":"./dist/bridge.js","default":"./dist/bridge.js"},"./shares":"./server/shares.js","./contrat":"./docs/HOST-CONTRACT.md","./retention":"./docs/RETENTION.md","./package.json":"./package.json","./presentations":"./server/presentations.js","./context/storage":"./context/storage.js","./context/standalone":{"types":"./types/standalone.d.ts","default":"./context/standalone.js"}},"gitHead":"29455c8c5139bfc214f49ece6e6b4e930ebe9fbe","license":"AGPL-3.0-or-later","scripts":{"lint":"node -e \"require('fs').existsSync('eslint.config.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && eslint bin context server src build tools charge base --max-warnings 0","test":"node -e \"require('fs').existsSync('server/__tests__')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run","build":"node -e \"require('fs').existsSync('build/bundle.mjs')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && node build/bundle.mjs && tsc -p tsconfig.build.json && node -e \"import('./build/bundle.mjs').then(m=>m.marquerDistEsm())\"","start":"node bin/serve.js","prepare":"node tools/install-hooks.mjs","lint:fix":"eslint bin context server src build tools charge --fix","test:e2e":"node -e \"require('fs').existsSync('vitest.e2e.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.e2e.config.mjs","test:base":"node -e \"require('fs').existsSync('vitest.base.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.base.config.mjs","typecheck":"node -e \"require('fs').existsSync('tsconfig.json')||(console.error('Ce script ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && tsc --noEmit","test:stats":"node -e \"require('fs').existsSync('vitest.stats.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.stats.config.mjs","test:watch":"vitest","test:charge":"node -e \"require('fs').existsSync('vitest.charge.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.charge.config.mjs","test:campagne":"node -e \"require('fs').existsSync('vitest.campagne.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.campagne.config.mjs","prepublishOnly":"npm run build && npm test","test:endurance":"node -e \"require('fs').existsSync('vitest.endurance.config.mjs')||(console.error('Ce banc ne vit pas dans le paquet publié - le champ scripts annonce plus que le tarball ne contient. Clonez le depot puis npm ci : https://github.com/Juli1artha/discovery-media-player'),process.exit(1))\" && vitest run --config vitest.endurance.config.mjs"},"version":"0.1.172","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"b1acb4e0-3938-4e41-8bea-91c9b203b080"}},"homepage":"https://github.com/Juli1artha/discovery-media-player#readme","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"_npmVersion":"11.19.0","description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","directories":{},"maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"_nodeVersion":"24.21.0","dependencies":{"pdfjs-dist":"6.2.108"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.20.0","yaml":"2.9.0","jsdom":"^30.0.1","eslint":"^10.8.1","semver":"^7.8.5","vitest":"^4.1.10","esbuild":"^0.28.2","axe-core":"^4.13.0","@eslint/js":"^10.0.1","fast-check":"4.9.0","typescript":"^5.5.4","dockerfile-ast":"0.7.1","playwright-core":"^1.62.1","typescript-eslint":"^8.46.4","@vitest/coverage-v8":"^4.1.11"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/discovery-media-player_0.1.172_1790878881078_0.9692929013277591"}}},"time":{"created":"2026-08-13T13:24:51.246Z","modified":"2026-10-01T18:21:21.579Z","0.1.0":"2026-08-13T13:24:51.532Z","0.1.1":"2026-08-13T13:43:06.102Z","0.1.2":"2026-08-13T14:40:49.347Z","0.1.3":"2026-08-13T15:14:49.676Z","0.1.4":"2026-08-13T16:05:20.564Z","0.1.5":"2026-08-13T17:16:16.148Z","0.1.6":"2026-08-13T17:31:03.077Z","0.1.7":"2026-08-14T06:14:35.523Z","0.1.8":"2026-08-14T06:40:33.344Z","0.1.9":"2026-08-14T07:16:01.593Z","0.1.10":"2026-08-14T08:41:42.740Z","0.1.11":"2026-08-14T09:15:20.409Z","0.1.12":"2026-08-14T10:00:29.792Z","0.1.13":"2026-08-14T10:23:54.161Z","0.1.14":"2026-08-14T11:53:25.034Z","0.1.15":"2026-08-14T12:54:24.009Z","0.1.16":"2026-08-14T13:32:07.954Z","0.1.17":"2026-08-14T14:05:51.743Z","0.1.18":"2026-08-14T14:57:31.507Z","0.1.19":"2026-08-14T15:14:46.711Z","0.1.20":"2026-08-14T15:24:44.538Z","0.1.21":"2026-08-14T15:47:19.880Z","0.1.22":"2026-08-14T16:16:36.911Z","0.1.23":"2026-08-14T19:10:07.140Z","0.1.24":"2026-08-14T19:41:41.485Z","0.1.25":"2026-08-15T10:55:59.854Z","0.1.26":"2026-08-15T11:07:18.822Z","0.1.27":"2026-08-15T12:05:46.870Z","0.1.28":"2026-08-15T12:47:48.715Z","0.1.29":"2026-08-15T13:22:13.803Z","0.1.30":"2026-08-15T13:34:43.533Z","0.1.31":"2026-08-15T13:49:18.284Z","0.1.32":"2026-08-15T14:00:26.509Z","0.1.33":"2026-08-15T14:13:13.855Z","0.1.34":"2026-08-15T14:20:27.646Z","0.1.35":"2026-08-15T21:53:31.860Z","0.1.36":"2026-08-16T13:48:55.327Z","0.1.37":"2026-08-16T14:00:34.552Z","0.1.38":"2026-08-16T14:13:26.758Z","0.1.39":"2026-08-16T14:34:38.743Z","0.1.40":"2026-08-16T16:16:32.466Z","0.1.41":"2026-08-16T16:55:10.883Z","0.1.42":"2026-08-16T17:52:18.315Z","0.1.43":"2026-08-16T18:37:13.572Z","0.1.44":"2026-08-16T19:22:32.121Z","0.1.45":"2026-08-17T04:34:24.669Z","0.1.46":"2026-08-17T06:23:40.838Z","0.1.47":"2026-08-17T06:54:35.783Z","0.1.48":"2026-08-17T07:45:42.593Z","0.1.49":"2026-08-17T08:36:00.038Z","0.1.50":"2026-08-17T09:30:31.815Z","0.1.51":"2026-08-17T10:23:21.729Z","0.1.52":"2026-08-17T12:01:06.775Z","0.1.53":"2026-08-17T12:35:15.557Z","0.1.54":"2026-08-17T13:11:10.314Z","0.1.55":"2026-08-17T14:26:55.393Z","0.1.56":"2026-08-18T06:16:53.752Z","0.1.57":"2026-08-18T09:21:14.684Z","0.1.58":"2026-08-18T09:56:38.816Z","0.1.59":"2026-08-18T10:26:02.722Z","0.1.60":"2026-08-18T11:43:49.276Z","0.1.61":"2026-08-18T12:20:11.007Z","0.1.62":"2026-08-18T13:18:37.534Z","0.1.63":"2026-08-18T14:05:10.102Z","0.1.64":"2026-08-18T19:31:37.353Z","0.1.65":"2026-08-18T20:56:40.606Z","0.1.66":"2026-08-19T05:02:49.750Z","0.1.67":"2026-08-19T05:49:18.684Z","0.1.68":"2026-08-19T06:17:06.166Z","0.1.69":"2026-08-19T06:47:18.395Z","0.1.70":"2026-08-19T07:38:54.965Z","0.1.71":"2026-08-19T08:21:52.157Z","0.1.72":"2026-08-19T08:45:41.233Z","0.1.73":"2026-08-19T09:15:39.924Z","0.1.74":"2026-08-19T10:14:44.645Z","0.1.75":"2026-08-19T10:36:21.963Z","0.1.76":"2026-08-19T11:05:10.573Z","0.1.77":"2026-08-19T11:21:46.650Z","0.1.78":"2026-08-19T13:18:05.243Z","0.1.79":"2026-08-19T14:09:10.058Z","0.1.80":"2026-08-19T14:57:11.003Z","0.1.81":"2026-08-19T15:28:16.477Z","0.1.82":"2026-08-19T16:12:48.608Z","0.1.83":"2026-08-19T20:48:12.342Z","0.1.84":"2026-08-19T22:59:28.214Z","0.1.85":"2026-08-19T23:36:40.491Z","0.1.86":"2026-08-20T05:56:06.161Z","0.1.87":"2026-08-20T06:17:44.624Z","0.1.88":"2026-08-20T07:04:15.699Z","0.1.89":"2026-08-20T07:26:49.584Z","0.1.90":"2026-08-20T08:14:24.849Z","0.1.91":"2026-08-20T08:40:43.801Z","0.1.92":"2026-08-20T09:08:49.171Z","0.1.93":"2026-08-20T09:28:49.826Z","0.1.94":"2026-08-20T09:57:46.326Z","0.1.95":"2026-08-20T10:31:36.277Z","0.1.96":"2026-08-20T10:52:12.323Z","0.1.97":"2026-08-20T11:20:13.577Z","0.1.98":"2026-08-20T11:38:43.943Z","0.1.99":"2026-08-20T11:57:04.338Z","0.1.100":"2026-08-20T12:17:17.183Z","0.1.101":"2026-08-20T12:38:11.249Z","0.1.102":"2026-08-20T12:54:57.810Z","0.1.103":"2026-08-20T13:09:36.726Z","0.1.104":"2026-08-20T13:35:47.312Z","0.1.105":"2026-08-20T14:19:15.165Z","0.1.106":"2026-08-20T14:28:08.698Z","0.1.107":"2026-08-20T14:59:06.814Z","0.1.108":"2026-08-20T15:13:50.060Z","0.1.109":"2026-08-20T15:30:07.663Z","0.1.110":"2026-08-20T15:42:16.901Z","0.1.111":"2026-08-20T20:45:55.549Z","0.1.112":"2026-08-20T20:59:27.269Z","0.1.113":"2026-08-20T21:13:34.844Z","0.1.114":"2026-08-20T21:28:35.885Z","0.1.115":"2026-08-20T22:21:09.962Z","0.1.116":"2026-08-21T06:41:43.123Z","0.1.117":"2026-08-21T07:49:03.185Z","0.1.118":"2026-08-21T08:13:57.136Z","0.1.119":"2026-08-21T08:37:49.330Z","0.1.120":"2026-08-21T09:12:19.394Z","0.1.121":"2026-08-21T10:35:28.922Z","0.1.122":"2026-08-21T10:56:31.166Z","0.1.123":"2026-08-21T11:18:43.283Z","0.1.124":"2026-08-21T12:01:59.735Z","0.1.125":"2026-08-21T14:57:24.371Z","0.1.126":"2026-08-21T15:27:48.886Z","0.1.127":"2026-08-21T20:22:04.840Z","0.1.128":"2026-08-21T20:52:34.077Z","0.1.129":"2026-08-23T08:50:46.764Z","0.1.130":"2026-08-24T07:14:26.064Z","0.1.131":"2026-08-24T08:35:05.500Z","0.1.133":"2026-08-24T13:58:10.269Z","0.1.134":"2026-08-24T19:57:16.919Z","0.1.135":"2026-08-25T03:41:56.078Z","0.1.136":"2026-08-25T10:10:46.310Z","0.1.137":"2026-08-25T14:52:31.400Z","0.1.138":"2026-08-26T06:23:55.263Z","0.1.139":"2026-08-26T11:52:20.690Z","0.1.140":"2026-08-27T06:43:43.493Z","0.1.142":"2026-08-27T20:45:06.927Z","0.1.143":"2026-08-30T15:10:35.239Z","0.1.144":"2026-08-30T21:12:49.268Z","0.1.145":"2026-08-31T12:04:49.368Z","0.1.147":"2026-09-01T20:40:58.473Z","0.1.148":"2026-09-01T21:35:37.158Z","0.1.149":"2026-09-02T05:40:11.525Z","0.1.150":"2026-09-02T09:15:42.805Z","0.1.151":"2026-09-02T11:24:16.862Z","0.1.152":"2026-09-02T13:54:10.108Z","0.1.153":"2026-09-02T21:51:39.650Z","0.1.154":"2026-09-03T06:53:18.660Z","0.1.155":"2026-09-03T23:08:53.101Z","0.1.156":"2026-09-05T20:03:18.065Z","0.1.157":"2026-09-08T00:58:51.314Z","0.1.158":"2026-09-08T20:34:09.707Z","0.1.160":"2026-09-09T17:15:42.390Z","0.1.162":"2026-09-10T08:51:24.782Z","0.1.163":"2026-09-11T16:41:47.977Z","0.1.164":"2026-09-12T17:52:50.547Z","0.1.165":"2026-09-13T19:11:03.714Z","0.1.166":"2026-09-14T07:28:50.840Z","0.1.167":"2026-09-14T12:06:59.687Z","0.1.168":"2026-09-14T21:39:32.974Z","0.1.169":"2026-09-15T02:33:28.760Z","0.1.170":"2026-10-01T07:50:32.431Z","0.1.171":"2026-10-01T09:06:18.247Z","0.1.172":"2026-10-01T18:21:21.205Z"},"bugs":{"url":"https://github.com/Juli1artha/discovery-media-player/issues"},"author":{"name":"3D Discovery"},"license":"AGPL-3.0-or-later","homepage":"https://github.com/Juli1artha/discovery-media-player#readme","keywords":["pdf-viewer","document-tracking","read-receipts","document-analytics","live-presentation","self-hosted","pdfjs","sales-enablement"],"repository":{"url":"git+https://github.com/Juli1artha/discovery-media-player.git","type":"git"},"description":"Self-hosted document viewer: per-recipient tracked links, reading analytics, live presentation. The core knows nothing about the application hosting it — everything it borrows arrives through an injected context.","maintainers":[{"name":"juli1artha","email":"julien@adnfamily.com"}],"readme":"<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/Juli1artha/discovery-media-player/main/assets/logo-dark.svg\">\n  <img alt=\"Discovery Media Player\" src=\"https://raw.githubusercontent.com/Juli1artha/discovery-media-player/main/assets/logo.svg\" width=\"520\">\n</picture>\n\n<br><br>\n\n**Send a document. Know if it was read.**\n\nA self-hosted document viewer with per-recipient tracked links, reading analytics,\nand live presentation — for teams who would rather not hand their commercial documents\nto a third-party SaaS.\n\n[![CI](https://github.com/Juli1artha/discovery-media-player/actions/workflows/ci.yml/badge.svg)](https://github.com/Juli1artha/discovery-media-player/actions/workflows/ci.yml)\n[![CodeQL](https://github.com/Juli1artha/discovery-media-player/actions/workflows/codeql.yml/badge.svg)](https://github.com/Juli1artha/discovery-media-player/actions/workflows/codeql.yml)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/Juli1artha/discovery-media-player/badge)](https://scorecard.dev/viewer/?uri=github.com/Juli1artha/discovery-media-player)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/14197/badge)](https://www.bestpractices.dev/projects/14197)\n[![npm](https://img.shields.io/npm/v/discovery-media-player?logo=npm&color=cb3837)](https://www.npmjs.com/package/discovery-media-player)\n[![Container](https://img.shields.io/badge/ghcr.io-discovery--media--player-2496ed?logo=docker&logoColor=white)](https://github.com/Juli1artha/discovery-media-player/pkgs/container/discovery-media-player)\n[![Node](https://img.shields.io/node/v/discovery-media-player?logo=node.js&color=5fa04e)](package.json)\n[![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-blue.svg)](LICENSE)\n\n<br>\n\n<img src=\"https://raw.githubusercontent.com/Juli1artha/discovery-media-player/main/assets/captures/viewer.png\" alt=\"The viewer: a document, a toolbar, and the tracked-reading timer running\" width=\"900\">\n\n<br>\n\n</div>\n\n---\n\n## Try it in two minutes\n\n**[▶ Open the live demo](https://discovery-media-player-demo.vercel.app)** — a document, in the\nreal viewer, nothing to install.\n\nOr on your own machine, over your own files:\n\n```bash\ndocker run --rm -p 3000:3000 -v \"$PWD/documents:/data\" ghcr.io/juli1artha/discovery-media-player\n```\n\nDrop a PDF in `./documents` and open `http://localhost:3000`. No database, no account, no\nconfiguration — the viewer, progressive page loading and the reading timer all work from a folder\non disk.\n\n<img src=\"https://raw.githubusercontent.com/Juli1artha/discovery-media-player/main/assets/captures/folder.png\" alt=\"Folder mode: the server lists what it can display\" width=\"760\">\n\nFrom source, the same thing:\n\n```bash\ngit clone https://github.com/Juli1artha/discovery-media-player\ncd discovery-media-player && npm install\nPLAYER_LOCAL_ROOT=./documents npm start\n```\n\nThat is the whole demo. Tracked links, analytics and live presentation need a database —\nsee [Going further](#going-further).\n\n---\n\n## Why this exists\n\nSending a PDF by email tells you nothing. Did they open it? Did they reach the page with the\nprice? Did they forward it? The products that answer those questions are SaaS: your commercial\ndocuments, your prospects' email addresses and your reading data live on someone else's servers.\n\nThis player answers the same questions and runs on your own infrastructure.\n\n|  | What you get |\n|---|---|\n| **Tracked links** | One link per recipient. Revocable. Re-shares are chained to their parent, so you see when a document travels. |\n| **Reading analytics** | Time per page, furthest page reached, device. Counted only while the tab is visible and recently active — a hidden tab, or one idle past the threshold, is not reading. |\n| **Live presentation** | Present a document to a remote audience, with chat, presence, and handover. The audience follows your page without a video call. |\n| **Access wall** | Optional: a document can require an email + code before it opens. |\n| **Brand per client** | The loader carries your client's logo, resolved at display time — fix a logo and links already in inboxes follow. |\n| **Anything on disk** | PDFs and images from a local folder, from S3-compatible storage, or from your own application's file route. |\n\nTwo populations are never merged: a prospect reading your proposal and a colleague re-reading\nit in-house produce different records. Mixing them makes \"this prospect read for 12 minutes\"\na lie, which is worse than having no number at all.\n\n### What it displays\n\n| Format | Status | What that means |\n|---|:---:|---|\n| **PDF** | ✅ | The format the player is built around. Rendered by pdf.js, progressive — the first page shows before the file has finished arriving. Per-page reading time, furthest page reached, page-level presenter sync. |\n| **Images** — `.png` `.jpg` `.jpeg` `.webp` `.gif` `.avif` | ✅ | Displayed, zoomable, tracked as a single page. Total reading time is real; there is no per-page breakdown because there are no pages. |\n| **Video** | ❌ | Not displayed. A document can *carry* a presenter video during a live presentation, but a video file is not something you can open as a document. |\n| **HTML** | ❌ | Deliberately. Displaying arbitrary HTML means executing someone's script in your instance's origin, next to sessions and analytics. The same reason `.svg` is refused. |\n| **Office** (`.docx`, `.pptx`, …) | ❌ | Convert to PDF before sending. Nothing in the player renders them, and pretending otherwise would show an empty page. |\n\nAn unsupported file is never a security question either. A relayed file opens on the *player's*\norigin — the domain holding sessions and analytics — so anything a browser would **render** rather\nthan download (SVG, HTML, XML) is served inert: generic type, forced download, `nosniff`. It stays\nretrievable; it cannot execute.\n\n---\n\n## How it fits your application\n\nThe player is a request handler, not a framework. It knows nothing about the application that\nhosts it: everything it borrows — storage, database, identity, rate limits, branding, logging —\narrives through a single injected context.\n\n```mermaid\nflowchart LR\n    R([Reader]) -->|/doc/:slug| P\n    subgraph P[\"Discovery Media Player\"]\n        H[handler] --- D[(shares · presentations)]\n    end\n    P -->|\"context.identity<br/>context.branding\"| A[\"Your application\"]\n    P -->|\"context.storage\"| F[(\"Files<br/>disk · S3 · your route\")]\n    A -.->|\"iframe + postMessage\"| P\n```\n\nThat seam is what lets one codebase serve several products without either of them\nforking it. A fix lands once and reaches every instance on its next deploy.\n\n- **Serverless** — `module.exports = require(\"discovery-media-player\").handler`\n- **Node / Express / Next.js** — same handler, mounted on a route\n- **Standalone** — `npm start`, or the Docker image\n\nIt reads `req.query` when the platform provides it (serverless, Express) and falls back to parsing\n`req.url` when it does not — so a bare `http.createServer` works too, without a shim.\n\nSee [`docs/ARCHITECTURE.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/ARCHITECTURE.md) for the boundary, and\n[`docs/API.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/API.md) for the surface an integrator implements.\n\n---\n\n## Going further\n\nTracked links, analytics and live presentation need a Postgres database (Supabase REST for now):\n\n```bash\npsql \"$DATABASE_URL\" -f supabase/init.sql\n```\n\nOne file, replayable, no migration history to sort through. It installs **already hardened** —\nno anonymous read policy is ever created.\n\nMinimum configuration:\n\n| Variable | What it does |\n|---|---|\n| `PLAYER_LOCAL_ROOT` | serve documents from a folder (the two-minute demo) |\n| `SUPABASE_URL`, `SUPABASE_SERVICE_ROLE_KEY` | tracked links, analytics, presentations |\n| `PLAYER_BRAND_NAME`, `PLAYER_LOADER_NAME` | your name in the tab title and the loader |\n| `PLAYER_SOURCE_URL` | where readers can obtain the source (AGPL, see below) |\n\nFull list: [`docs/CONFIGURATION.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/CONFIGURATION.md).\nExamples you can copy: [`examples/`](https://github.com/Juli1artha/discovery-media-player/tree/main/examples).\n\n---\n\n## Security\n\nThe file proxy denies by default. It accepts three sources and nothing else: a public object\non an allow-listed storage origin, one explicitly configured route of your own application,\nor a file under a configured local root. No credentials in URLs, no redirect following into\nyour private network.\n\nThe project has been through repeated external audits. The reports are published in the\nrepository, unedited, with their follow-up ledgers — findings, fixes, and what was rejected\nwith its reason: see [`docs/`](https://github.com/Juli1artha/discovery-media-player/blob/main/docs/README.md). Fixes are traced version by version in the\n[CHANGELOG](https://github.com/Juli1artha/discovery-media-player/blob/main/CHANGELOG.md).\n\nFound a hole? [`SECURITY.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/SECURITY.md) — please do not open a public issue.\n\n---\n\n## Licence\n\n**AGPL-3.0-or-later** ([`LICENSE`](LICENSE)). It carries an obligation most licences do not:\nif you run a modified version and people read documents through it over a network, they must be\nable to obtain your source. Set `PLAYER_SOURCE_URL` to where yours lives — the pages served\nlink to it.\n\n**The name and the logo are not covered by it.** `assets/` and the words *Discovery Media\nPlayer* are trademarks of 3D Discovery: fork the code freely, but call your fork something else.\nThis is the usual arrangement in open source, and it protects you as much as us — nobody should\nbe able to publish something under this name that we did not write.\n\nOne exception, on purpose: **[`src/bridge.ts`](https://github.com/Juli1artha/discovery-media-player/blob/main/src/bridge.ts) is MIT**\n([`LICENSE-MIT`](LICENSE-MIT)). It is the message contract a host application imports to talk to\nthe player. Putting it under the core licence would make integration itself a toll. We protect\nthe player, not the people plugging into it.\n\n---\n\n## Contributing\n\n[`CONTRIBUTING.md`](https://github.com/Juli1artha/discovery-media-player/blob/main/CONTRIBUTING.md) — how to run the tests, what the review looks for, and the\none rule that matters: a behaviour worth keeping is worth a test that fails without it.\n\nYour first pull request asks you to sign the [CLA](https://github.com/Juli1artha/discovery-media-player/blob/main/CLA.md) — one reply, once, for good. You keep\nthe copyright in your work; you grant a licence that may be sublicensed, so that the core can stay\nAGPL while a commercial licence remains possible for organisations that cannot live with the\nnetwork clause. Better said before you write the patch than after.\n\nThe code comments are in French. The project was built in a French company and the reasoning\nbehind each decision is written where the decision is; translating it would have meant either\nlosing it or maintaining two versions. Everything an integrator needs is in English.\n","readmeFilename":"README.md"}