{"_id":"@airdraft/plugin-media","_rev":"17-25bec9b4b61194a1fd15217591fe68d2","name":"@airdraft/plugin-media","dist-tags":{"latest":"0.2.17"},"versions":{"0.2.0":{"name":"@airdraft/plugin-media","version":"0.2.0","license":"MIT","_id":"@airdraft/plugin-media@0.2.0","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"f510e07b918a009eeb2d282cfca7b8c12dae1d9a","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.0.tgz","fileCount":10,"integrity":"sha512-sJAQyr5L60WaxfdkaZTMy4bqCET7OI6yilrFVwyasdypuSkXFeNNUD2ssLw1OkCVZUO9siumhb9xfewGpQIhyw==","signatures":[{"sig":"MEYCIQCVXyPZU2TjG1bQmpBS1ihJJs0akX7aJWneAJk2VvxhNAIhAMphzR1z8Bw/EBQj4n1UkC17nfi2GYuDkdJmrdXAFNC2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48834},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d6c85dfed37f11c42151c93b49a80ede90699616","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.0_1779387963781_0.5268368086197601","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@airdraft/plugin-media","version":"0.2.1","license":"MIT","_id":"@airdraft/plugin-media@0.2.1","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"2769ce25395cb477314076d3e79d3b014c3e6ce8","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.1.tgz","fileCount":14,"integrity":"sha512-ouSsq2ImSkqerRbwLhel7pFodcDyLNzONPSTXJPSiGoMldS6bet20jI3alGd1GBYtmnpic2xFxE/kgG2Ay+msw==","signatures":[{"sig":"MEYCIQC/Di7QPAgbZh1FtHXjJScevM/0514oTLuH3eL0FNCNXwIhAIVzBnzgs722u5ae4hUMMb04/gZMF7sMQnRPBf9SqGhc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57430},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7db0ac6a326cb291ec138e24bf81448f1dfc4db6","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.1_1779487651934_0.7255869920940896","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@airdraft/plugin-media","version":"0.2.2","license":"MIT","_id":"@airdraft/plugin-media@0.2.2","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"d21517e885b0de6a1ddf17cb4faf3aa6fd0dda0b","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.2.tgz","fileCount":14,"integrity":"sha512-tLPhshs+Ct4Av0SkZk+/tr2ZOwnNyLEdWqewxYpMN5pH7R50nlHWrBkKgTqW8kyCpsb3JmdYgg2lATgCeYcPxw==","signatures":[{"sig":"MEUCIQCvkXYlSh1Sg5JSRu8GPNZvvbTRE0IeCkzF4+5c1fJA5gIgCEiYhw24x9pnA8KBjHXaQdduLJw+j6naNYp/0t6ILOk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64401},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"277e16b37c997996b49d90ec64fa3f5c023f4d0a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.2_1779521564794_0.8211791220692339","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@airdraft/plugin-media","version":"0.2.4","license":"MIT","_id":"@airdraft/plugin-media@0.2.4","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"d10b519695cd73e2205d05a1942a155bf48af630","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.4.tgz","fileCount":15,"integrity":"sha512-2lj7Z9dJq++4T3OuyeL3WII6FotDLwaDbdOAcGyrxX9sxqDQoMce6BFeO1cA9wmaPdvoMLf9HCUH0A+i45p+ZQ==","signatures":[{"sig":"MEUCIFUYg/D0dxY9c/macE7c5kSspDnAv5TnK6UoF8pNAMoLAiEAkfxp8lUZTt5Q2xm0n69EJcZQBaDeww8f8NM1eiv4ws0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69186},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8d692f6e9c48b0c7886d404b7bbc9f1b0a79ca7b","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@airdraft/core":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","standard-version":"^9.5.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.4_1779557671478_0.5868345309025786","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@airdraft/plugin-media","version":"0.2.5","license":"MIT","_id":"@airdraft/plugin-media@0.2.5","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"81ea32ef1dbd98435004b0c616225733247a483d","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.5.tgz","fileCount":15,"integrity":"sha512-EViBmQiA3PCA3EJNVibngntmYXaO8ZhCLK+q1nj6/raaLG38HS6YjLb80cULfxtdihXpoxlvFBaPb8Ud01yxDA==","signatures":[{"sig":"MEUCIC+72MJZUqmmxt27KiSTwZ3rYJbw9XG0Q7khkOzM2yOyAiEAvj41ecTfGhjfNm8EkkvPvepQDoWCYVXA0wPsJFGxKSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70032},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"88185ba7e7a5ed54561a09a53f6d13367587bbfb","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.5_1779564510896_0.06273458447800873","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@airdraft/plugin-media","version":"0.2.6","license":"MIT","_id":"@airdraft/plugin-media@0.2.6","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"b4d0332785134cbe21167432edf3c36a3f4b8067","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.6.tgz","fileCount":15,"integrity":"sha512-meKLfnk8sTgilQPvAn5HolYHLu/Rq6ugSQZ4enc1JMUEnfDdzOeVRkPdrcmtYvyYxY/H7repbSfrC8r7hqVE1A==","signatures":[{"sig":"MEYCIQDwdoYgm3mmCHe0WEz87IlMlbjm3a+eM+n3XuGp+b89SAIhAPSllJ2hxgkG6XXdUSsb+PsfOd9OKE2278PRyo/FtKvv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"829aab190f831c8d252be75e35c26b42715babe2","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.6_1779570895201_0.32848459413867426","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"@airdraft/plugin-media","version":"0.2.7","license":"MIT","_id":"@airdraft/plugin-media@0.2.7","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"dab18adc39fcc0ecde5da8efda3e9f9c5f3fe7ac","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.7.tgz","fileCount":15,"integrity":"sha512-2BgTOiyBMymm3caEH6hshfWUo4gMIrDOvk7Yi4H51QmKgW+S5MIlcNeITdiJMQjSNwjwiT/2PKL1H4cmb82p/A==","signatures":[{"sig":"MEYCIQDOPsYCVknUe8krBsYz8l4fJ6MxS3EpFRyKRfSktxkr/QIhALvYdIZEvdYkqjEXjc1pQBFn9JxCCXL8pNSB6FVLQ95M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73167},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2f338d84192ad35ab1f95120487697c677dfa7bd","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.7_1779745186109_0.884147699102134","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@airdraft/plugin-media","version":"0.2.8","license":"MIT","_id":"@airdraft/plugin-media@0.2.8","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"5053f445421667651fb6f6171a44532dc1dfa503","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.8.tgz","fileCount":15,"integrity":"sha512-JzVDccewkyQg8W8k/vbybKTpXnBLdjSXsqzugr4hVQJRDsJKRJp+LAWd5oBX4BiIKMKuiiEccoWXo3hg85hvIw==","signatures":[{"sig":"MEUCIQDOnxMp4ai6OANmi5v/WR56Aib80wA3KN4o0I3w/eaeKAIgdS9rLci3APVR8lCFWNLud3oifgRu4IdkzSyfMv9gglY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75707},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c0001ede93031d0b5463577e534746b2398b550a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.8_1779774591179_0.9689112305491479","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"@airdraft/plugin-media","version":"0.2.9","license":"MIT","_id":"@airdraft/plugin-media@0.2.9","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"1898920deadc544cb84803a395e4dff1abcf8c2f","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.9.tgz","fileCount":15,"integrity":"sha512-bJy+2WhkfBoch+gctQ9rV+HpODHu4tqjaBcJaRFQrczTlANOfHrbUOv8Yh4rrn3GYSMQr+5QzU6OaENTffNgkA==","signatures":[{"sig":"MEUCIBWHc8yCCeLQDhIAyHo5MBQfyvFwB5m/Fdh1SBSeQDD4AiEAzyNKOvsv7vT7GMA7Lp/0hUZQ9Mu+K+gEjApew2BR7Ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78409},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ca83befbbe7ae1bec0d84ca6f7417ae5abcdb1e5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.9_1779851966811_0.3054690302258629","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"@airdraft/plugin-media","version":"0.2.10","license":"MIT","_id":"@airdraft/plugin-media@0.2.10","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"5d17cb3c4e5c8c295c9eae941379adcf013812ca","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.10.tgz","fileCount":15,"integrity":"sha512-O1LbgJGAruwzndMLxaD2e8gSlQJsX5tlHC0S9Y9UNS+7OtNeCG2IZiBfrhl9MqVLnnHXiH2eEeOFkrf3/BspFg==","signatures":[{"sig":"MEYCIQDhjcBc2KRLv9N1T8Eu5nbCQ6rHt5BdTwlyJZ5rmZy1jQIhALH2PjbSfF8UHBcLjKVMN/zZSXtTY+PDSf4ni91xZ9Qh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84123},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e050c8ca23832da8489261bceca8b41e903f4e53","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"files-sdk":"^1.6.0","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.10_1779905627142_0.42358960010339675","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"@airdraft/plugin-media","version":"0.2.11","license":"MIT","_id":"@airdraft/plugin-media@0.2.11","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"2bb0544f0789a714bb00601da3f9e2a043d96f4f","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.11.tgz","fileCount":15,"integrity":"sha512-juM9DaNAcmKhoBxd18NFRuQEsE4b7imRYKxRyMw0Ird1R3mDEwBDqhYXLFqt2Z9/YeIIPc451z+pdgJY2S5Ocw==","signatures":[{"sig":"MEYCIQDjmZxA4VxJeaT5KTksRi1rQ7Wd2KCHbvpkIS3/cYbzJAIhALdKhZG79YtZmtf3o9LMUCQNsktVPM/lcIrx4lEAUblh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84852},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"40d0f75e99b1dd64e19395a2154a3d475cdc268f","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"files-sdk":"^1.6.0","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.11_1780122354996_0.45410818776785455","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"@airdraft/plugin-media","version":"0.2.12","license":"MIT","_id":"@airdraft/plugin-media@0.2.12","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"b418447e12e89149d3979fcda244731f1a55a2f4","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.12.tgz","fileCount":15,"integrity":"sha512-y8ofDU+GY324cXtEYDbQhO9kCkcEAkPbePjmFR2VyHgJ2cYUDXbUKzwgVhziW1Dg8pS6S0L+rMlglb7E9YdRMQ==","signatures":[{"sig":"MEUCIHzLvO2AvOq9lEw2MHcxJ5eM/TwNw7whuInBQhF5fRYtAiEAqQuEpR1TwWMh+dh9F6/aA942q+OopCzLsEqRl/gQZH0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85534},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8c9d4744b92db08fa725d40bc50f9ef0f1392e59","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"files-sdk":"^1.6.0","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.12_1780221105472_0.42549268478838154","host":"s3://npm-registry-packages-npm-production"}},"0.2.13":{"name":"@airdraft/plugin-media","version":"0.2.13","license":"MIT","_id":"@airdraft/plugin-media@0.2.13","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"0876d0cd8c8c44c72c512e15656bd4f3d8c940b8","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.13.tgz","fileCount":15,"integrity":"sha512-a6f3TffwvqsqzF37a4GwYN1j+NsE2p7zMIcAA1fXfjHrW7ibCGjgkFxwWabUSfYj2Qx8OJ39yMlCLjZHhVrBZQ==","signatures":[{"sig":"MEQCIHHMEKraUgoXOuJlS3GeFX/tJOeySprcIbNBXquZZegFAiB553yoH9hlEuNCuPTLk3tTZVmhViPvDVVUBu31oNfnsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87011},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6860374078f77a4bdcee15ddc66218edfcebc66f","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"files-sdk":"^1.6.0","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8","@aws-sdk/client-s3":">=3","@aws-sdk/s3-presigned-post":">=3","@aws-sdk/s3-request-presigner":">=3"},"peerDependenciesMeta":{"@aws-sdk/client-s3":{"optional":true},"@aws-sdk/s3-presigned-post":{"optional":true},"@aws-sdk/s3-request-presigner":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.13_1780248464723_0.20997086632529371","host":"s3://npm-registry-packages-npm-production"}},"0.2.14":{"name":"@airdraft/plugin-media","version":"0.2.14","license":"MIT","_id":"@airdraft/plugin-media@0.2.14","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"e0a1c59859c32abdea1b498711afffe762e5ad9a","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.14.tgz","fileCount":15,"integrity":"sha512-1iEoijD/hhNB/FZGfdVsbo1zutXN+TRzIJmjxKNBIX+YQqZxexwf6uG3p3ldQdJkoaRJrgATGiZaBsCEupjRLw==","signatures":[{"sig":"MEUCIAFlYmh5S8PVx1OwFgo+2dUIJacKUEEysaRVXqmnM4iaAiEA7QKZNts7sahI88KxQSRgwAfuXajZmCf+F6g5lr7C+Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89969},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9fdb3e0fbca1e58bb84aca8dd92155d0057ca4b1","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"11.9.0","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"24.14.0","dependencies":{"files-sdk":"^1.6.0","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.5.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8","@aws-sdk/client-s3":">=3","@aws-sdk/s3-presigned-post":">=3","@aws-sdk/s3-request-presigner":">=3"},"peerDependenciesMeta":{"@aws-sdk/client-s3":{"optional":true},"@aws-sdk/s3-presigned-post":{"optional":true},"@aws-sdk/s3-request-presigner":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.14_1782407302786_0.528769192679345","host":"s3://npm-registry-packages-npm-production"}},"0.2.15":{"name":"@airdraft/plugin-media","version":"0.2.15","license":"MIT","_id":"@airdraft/plugin-media@0.2.15","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"cb0fec70e3885e26d3e703b12a3e190c050ff0da","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.15.tgz","fileCount":15,"integrity":"sha512-9eZSaVmgYdOK0WivPsIVgXlMP3lhJyfBI5BDV/lr3AhJI0VXY5yVtqsQGjQYBhtv0jCjPsdDEW+SIcKBwUhqfg==","signatures":[{"sig":"MEQCIC6P6bi8swlKLp3bsfnDJ8NxDzimFt6oWpCBbuAiUXqDAiBsnE5uGHHMoqpMZBy9tcvD7lfkdwC9xHtq++F1Z5jvaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDLj1iGhE2HbI79voTZYu5P5nGNQ02hvhi5xGWuk1F16wIhAPWGgVUamj8khCdqsjWrwdfOmS5/UDKunJEnybUbxtPy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":94952},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6616eb58b725c8104eb5c121c8b4fbfa2bfbdfea","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"10.9.8","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"22.23.2","dependencies":{"files-sdk":"^2.4.1","files-sdk-superfiles":"^1.0.4","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^5.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8","@aws-sdk/client-s3":">=3","@aws-sdk/s3-presigned-post":">=3","@aws-sdk/s3-request-presigner":">=3"},"peerDependenciesMeta":{"@aws-sdk/client-s3":{"optional":true},"@aws-sdk/s3-presigned-post":{"optional":true},"@aws-sdk/s3-request-presigner":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.15_1789345142204_0.3359852939197998","host":"s3://npm-registry-packages-npm-production"}},"0.2.16":{"name":"@airdraft/plugin-media","version":"0.2.16","license":"MIT","_id":"@airdraft/plugin-media@0.2.16","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"dist":{"shasum":"87e55b10d605c79f4162e4487a5d3b6174c814dd","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.16.tgz","fileCount":15,"integrity":"sha512-V+OCe/GHwk6DPiQqp2KR/6up71zPf3rosRQEbiJqjUH+TTr7a8q+uVCIJsS0cZ/BX6IU5xoD8jk+0FY2F8o+Bg==","signatures":[{"sig":"MEQCICOG+iNKYKvaX/eUWLAyEq3wcMj4d4DoqMvI0lqiDH5/AiB3JTVHLXpPld1VJ+6WGDzNlGdiHQzlliLxlexi9cBxMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD7l2gCRm0VHxI6TRwQWJeVIIS/dTUReshsUjxfpNR+cwIgAdTFWKP3MD5dx5+ms+zRbp6lrgU+UyQR7pH3Sm8z0g4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92311},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e602ebe0ae75948ef397a914b872869772d2644f","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"10.9.8","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"_nodeVersion":"22.23.2","dependencies":{"files-sdk":"^2.4.1","files-sdk-superfiles":"^1.0.5","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^5.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.8","@aws-sdk/client-s3":">=3","@aws-sdk/s3-presigned-post":">=3","@aws-sdk/s3-request-presigner":">=3"},"peerDependenciesMeta":{"@aws-sdk/client-s3":{"optional":true},"@aws-sdk/s3-presigned-post":{"optional":true},"@aws-sdk/s3-request-presigner":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/plugin-media_0.2.16_1789346530128_0.11366153921232969","host":"s3://npm-registry-packages-npm-production"}},"0.2.17":{"_id":"@airdraft/plugin-media@0.2.17","dist":{"shasum":"70bffa20da11992b372b4545074bf942ba3ae31f","tarball":"https://registry.npmjs.org/@airdraft/plugin-media/-/plugin-media-0.2.17.tgz","fileCount":15,"integrity":"sha512-LFcT230o0DlONFHnFMmHkd/7wyx+1Cd3DV5fRQPKBL6lA4wMgDdPH4Zpx0hLfLgrJDR9s1z2Ehgk0KIylPhhmQ==","signatures":[{"sig":"MEUCIQCqTIgplRO/QFht5eGVfDMOidb/cyO9X6K5QZdcAJCbpwIgYRs9jOWop3ZLBOJN+UcC3pWQRF2JWwXS/MudM6EFLUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICytS+65ZGo07CES0VIH4OP8dLPx3DefVS//9sjbVOJ6AiA7Am7lvBSjVjjDqhPygQwyHLISa+4xGC3xOIqqIurFqA=="}],"unpackedSize":104724},"main":"./dist/index.js","name":"@airdraft/plugin-media","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"228838a5c34dc3641c4c0d6d0730cfb4f1d4b3f2","license":"MIT","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"rm -rf dist","release":"standard-version","typecheck":"tsc --noEmit","test:watch":"vitest","release:major":"standard-version --release-as major","release:minor":"standard-version --release-as minor","release:patch":"standard-version --release-as patch","prepublishOnly":"npm run build"},"version":"0.2.17","_npmUser":{"name":"miracleio","email":"miracleficient@gmail.com"},"_npmVersion":"10.9.8","description":"Airdraft media plugin — image upload, optimisation, CDN","directories":{},"maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"files-sdk":"^2.4.1","files-sdk-superfiles":"^1.0.6","@airdraft/media-adapter-local":"*","@airdraft/media-adapter-github":"*","@airdraft/media-adapter-files-sdk":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^5.0.0","typescript":"^5.4.0","@types/node":"^20.0.0","@airdraft/core":"*","standard-version":"^9.5.0"},"peerDependencies":{"@airdraft/core":">=0.1.26","@aws-sdk/client-s3":">=3","@aws-sdk/s3-presigned-post":">=3","@aws-sdk/s3-request-presigner":">=3"},"peerDependenciesMeta":{"@aws-sdk/client-s3":{"optional":true},"@aws-sdk/s3-presigned-post":{"optional":true},"@aws-sdk/s3-request-presigner":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-media_0.2.17_1789376109968_0.5113391887357999"}}},"time":{"created":"2026-05-21T18:26:03.596Z","modified":"2026-09-14T08:55:10.231Z","0.2.0":"2026-05-21T18:26:03.929Z","0.2.1":"2026-05-22T22:07:32.081Z","0.2.2":"2026-05-23T07:32:44.975Z","0.2.4":"2026-05-23T17:34:31.624Z","0.2.5":"2026-05-23T19:28:31.071Z","0.2.6":"2026-05-23T21:14:55.405Z","0.2.7":"2026-05-25T21:39:46.255Z","0.2.8":"2026-05-26T05:49:51.339Z","0.2.9":"2026-05-27T03:19:26.938Z","0.2.10":"2026-05-27T18:13:47.333Z","0.2.11":"2026-05-30T06:25:55.147Z","0.2.12":"2026-05-31T09:51:45.607Z","0.2.13":"2026-05-31T17:27:44.930Z","0.2.14":"2026-06-25T17:08:22.910Z","0.2.15":"2026-09-14T00:19:02.303Z","0.2.16":"2026-09-14T00:42:10.226Z","0.2.17":"2026-09-14T08:55:10.041Z"},"license":"MIT","description":"Airdraft media plugin — image upload, optimisation, CDN","maintainers":[{"name":"miracleio","email":"miracleficient@gmail.com"}],"readme":"# @airdraft/plugin-media\n\nMedia management plugin for Airdraft. Adds binary file upload/storage, a browsable media library, and automatic URL resolution for `image` and `media` schema fields.\n\n## Installation\n\n```bash\nnpm install @airdraft/plugin-media\n```\n\nYou also need a storage adapter: `@airdraft/media-adapter-local` for local development, `@airdraft/media-adapter-files-sdk` for files-sdk v2 providers such as S3 and Superfiles, or `@airdraft/media-adapter-github` for repo-backed media files.\n\n## Usage\n\n### `withAutoMedia` (recommended)\n\nAuto-selects the right adapter based on environment variables. Complete `SUPERFILES_URL`, `SUPERFILES_TOKEN`, and `SUPERFILES_BUCKET` configuration selects Superfiles; an S3 bucket selects files-sdk S3; otherwise the local adapter is used. GitHub repo-backed media is available via explicit selection.\n\n```ts\nimport { withAutoMedia } from '@airdraft/plugin-media'\n\nconst media = await withAutoMedia({ storageAdapter: adapter })\n\nexport default defineConfig({\n  adapter,\n  plugins: [media],\n})\n```\n\nGitHub backend example:\n\n```ts\nconst media = await withAutoMedia({\n  storageAdapter: adapter,\n  storageBackend: 'github',\n})\n```\n\nThis stores binary media directly in the repository using the same GitHub App credentials or token-relay environment variables already used for content storage.\n\nSuperfiles example:\n\n```env\nAIRDRAFT_MEDIA_ADAPTER=superfiles\nSUPERFILES_URL=https://files.example.com\nSUPERFILES_TOKEN=sf_live_...\nSUPERFILES_BUCKET=media\n```\n\n```ts\nconst media = await withAutoMedia({\n  storageAdapter: adapter,\n  storageBackend: 'superfiles',\n})\n```\n\n### `withMedia` (manual)\n\nExplicit adapter selection:\n\n```ts\nimport { withMedia } from '@airdraft/plugin-media'\nimport { LocalMediaAdapter } from '@airdraft/media-adapter-local'\n\nconst media = withMedia({\n  adapter: new LocalMediaAdapter({ root: './public' }),\n  storageAdapter: adapter,          // content adapter for sidecar metadata\n  prefix: 'uploads',               // key prefix for uploaded files\n  allowedTypes: ['image/jpeg', 'image/png', 'image/webp'],\n  maxSize: 5 * 1024 * 1024,        // 5 MB\n})\n```\n\n## Options\n\n| Option | Type | Default | Description |\n|---|---|---|---|\n| `adapter` | `MediaAdapter` | **required** | Binary storage adapter |\n| `storageAdapter` | `StorageAdapter` | — | Content adapter for sidecar metadata (enables full library mode) |\n| `prefix` | `string` | `'uploads'` | Key prefix for uploaded files |\n| `allowedTypes` | `string[]` | `['image/jpeg', 'image/png', 'image/webp', 'image/gif', 'image/svg+xml']` | Accepted MIME types |\n| `maxSize` | `number` | — | Max upload size in bytes |\n\n## API Routes\n\nThe plugin registers the following routes on the CMS handler:\n\n| Method | Path | Description |\n|---|---|---|\n| `POST` | `/media/upload` | Upload a file (multipart/form-data) |\n| `GET` | `/media` | List media items (supports `prefix`, `limit`, `cursor`) |\n| `GET` | `/media/:key` | Get a single media item's metadata |\n| `PATCH` | `/media/:key` | Update media metadata (alt, caption, title, tags) |\n| `DELETE` | `/media/:key` | Delete a file and its sidecar |\n| `GET` | `/media/:key/url` | Resolve a fresh signed URL for a key |\n\n## `transformEntry` hook\n\nThe plugin injects companion fields for every `image` and `media` field in a collection when an entry is read:\n\n| Field type | Injected companions |\n|---|---|\n| `image` or `media` (single) | `{field}_url: string`, `{field}_media: MediaItem` |\n| `media` (multiple) | `{field}_urls: string[]`, `{field}_medias: MediaItem[]` |\n\nURLs are resolved fresh on every read (pre-signed S3 URLs are always current).\n\n## Changelog\n\nSee [CHANGELOG.md](./CHANGELOG.md).\n","readmeFilename":"README.md"}