{"_id":"@de-otio/trellis-extension-api","_rev":"12-f1a23f94422709f3f0f9995fa2d0c01d","name":"@de-otio/trellis-extension-api","dist-tags":{"latest":"0.10.0"},"versions":{"0.1.0":{"name":"@de-otio/trellis-extension-api","version":"0.1.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.1.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"dist":{"shasum":"a9339c8f80fe56b76fe960e7e5569fc87d2dbfbb","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.1.0.tgz","fileCount":13,"integrity":"sha512-rbDubfvGyfCT24BXkRh6LMFaDDdXqIwl5X23UCxq9VHPDJwY3h3ajMgSQIAiDmc6hjojZtOFp55Ny6jGempgug==","signatures":[{"sig":"MEYCIQDBUl+h9VTuBfv61my5qri0FKojy5+SQrjM4iLsMsZsyQIhAP0am1Kxuj4W5UBbvHuZt/oRnEtOS9Hlz4F5vtK1mkk0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22235},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"ed6af5ea47088fbcdfa3ba7950b34c38c168ecf5","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"rkm1","email":"richard.myers@de-otio.org"},"_npmVersion":"11.9.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"25.6.1","dependencies":{"zod":"^3.23.8"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.1.0_1776593686671_0.4674368781026641","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@de-otio/trellis-extension-api","version":"0.2.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.2.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"dist":{"shasum":"2e5bdede9132a2ad8409c472acbae93742398862","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.2.0.tgz","fileCount":13,"integrity":"sha512-O7/wy7GHz9xxBpzTQ1ciJ6xZB+Elnc270uFCIak2hqPZd9ufvs+hssUlBQrumqM3CiobLANtC126RNGIvnz/4A==","signatures":[{"sig":"MEQCIHoUebDVD9Lx7iI3PFn8dOaPDUvEnouZmBgOaDjjzxEzAiAuUGsekoQlXs32Lmx0CMn+h52pzsfUZ+kq5Sj3vU8CuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22235},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"2e1c53dcdb35bbc87ba31b7dd8463c3eb394ad4a","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c2d46374-4967-41c7-b8f8-7966ab1cfa5f"}},"_npmVersion":"11.11.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.23.8"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.2.0_1777099795528_0.4220468478559407","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@de-otio/trellis-extension-api","version":"0.3.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.3.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"51b68bb79ebfb11101b7d297898fb69ef6885be0","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.3.0.tgz","fileCount":15,"integrity":"sha512-haqK4muaZaB92+Jl4R+5Jtm66pOrDJT7W5HrVCOpEC09QcL6lQyCY2C1MKe+meH3fE74GTHs5hh3Lk1lnQdoiA==","signatures":[{"sig":"MEUCIQDceOYVyJZg/vcY95OOWe81O0XCUNgQ6kWMtX9zcm2c3wIgByJuUFQMT7UEH51qLNMx5ORYLu5SnhPhk89YLuxNKDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":27868},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"328b6a763040aa2b5a2c44c09e75c0148b395eb3","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.13.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.16.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.3.3","typescript":"^6.0.3","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.3.0_1780658930775_0.3946303417162236","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@de-otio/trellis-extension-api","version":"0.4.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.4.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"bc35a799b2e4cc8fcf01bfcb45a59a8300e71cfe","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.4.0.tgz","fileCount":19,"integrity":"sha512-7U5Ws28BrdF3bTDop1vU6CQ86jnN1gP/A7En0FbtCHD5x6wJhBeROo+FkWU9wZla8tsI9w+Mcpl3fElyS4nbXw==","signatures":[{"sig":"MEUCIQCSeoJI+4WKgyST8ecYfFYzpXiVq+hzhW5kCetNXUtPyQIgaSMdcVybEZHfxyPBlH8wgg9n36y2lU03M9Ugiz7I5QI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38159},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"1d1aeac6a0ef11a46b3309254ec6cb577c8f7d6a","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.4.0_1783186098709_0.9473447347163579","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@de-otio/trellis-extension-api","version":"0.5.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.5.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"d42606a9c1be6fcad74d86561b75d78f84425581","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.5.0.tgz","fileCount":19,"integrity":"sha512-dvKUQ6y6XrzHqp0NAuKeb9x2xy597g9nPOqIoOJ/BgHT/ZD1snS7cc9+xmV4INghLoCzXE+T455xsI8eh1+Ibg==","signatures":[{"sig":"MEQCIHZUzHIB2SNsEOr3ZAyUHxDC6nFqRhfTUFKLW1tFbGIlAiAplXki4Jy1JHWrebr/4ucu8I89rQfCSW9Upz9cqJcFsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":41587},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"cae32c83f496b9719f403548f9b63fe052a6034f","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.5.0_1783498135215_0.6041259198694868","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@de-otio/trellis-extension-api","version":"0.7.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.7.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"530c0be326ad9dd0f89b211c5db2bb2e9242bafa","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.7.0.tgz","fileCount":19,"integrity":"sha512-Obts78j5BHVM7PVeGF36bxypQzjvTuiN2vlH1CkuZxyjyQlY4tw9iGG2Cw+9BXMNAUkajTCY6dVUyqgpIos3+g==","signatures":[{"sig":"MEUCIFyxW5KJa7echFDBeQldajyBfBR5mWFf9G+z+xGRjESnAiEAnit04S1upt2K9sWf/F/nRaWVZSMt8QlRNj8eOnJh7v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53267},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"99802fd5bebcfeccc908f82a264fbeae8071c891","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.7.0_1784207724418_0.31653355099784664","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@de-otio/trellis-extension-api","version":"0.8.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.8.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"0910dd7dc69631a45789fbac83fa650f3bf31ec5","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.8.0.tgz","fileCount":19,"integrity":"sha512-GHApr9YcMrvW0nazuztJj5KpDVn6cHDxS1NHQNv96d7HexZbvTumqc1ZBCv+bk09ikuWeVD0q9a41sq0p2U92w==","signatures":[{"sig":"MEUCIQC9rZ732BVQ/t/yEpl/aZp7W5wUNyuTlP9/o68mGPkJeAIgNk8MFU2S4AJOWd1bxqhtkBFPVmEyO8SPfwddiA3K/oM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56000},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"735ce0d379c54d4860bc010ec09c291a2cda6934","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.8.0_1786085762844_0.886624321789931","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@de-otio/trellis-extension-api","version":"0.8.1","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.8.1","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"c341b9bce951ee55c60fd28908e0c3e2c7ef3d5f","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.8.1.tgz","fileCount":19,"integrity":"sha512-66nYuc3d1Jx/sE3qPYpSOduHxi77OyH4AVbSgTGxDwv0rzzBBrSSpzbEmAEyTOGsSdNNSIe68zXWomKQ2y3Yxg==","signatures":[{"sig":"MEQCIGhTtnyr9OCSkJFSN2MM9le2nm+abKime4nMkt4YDXxLAiAiHw6CoGyKRuelvzx3k+aUkhm1vMQST36liLrrvsCmXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56032},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","gitHead":"1a1cd9159d4d127cc0aaeb17d09588417bb7d73f","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.8.1_1786086151744_0.4779456156144397","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@de-otio/trellis-extension-api","version":"0.9.0","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.9.0","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"7c0ca0dfe2e3771c7c4b3e9460f8cd7d334c84eb","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.9.0.tgz","fileCount":23,"integrity":"sha512-+x4kZKg6Sl4m4y1Ys8mGI/gQWoCMzQ96HF768kXAvjKIGMXtUKDd6FI6I3gYxpUrYDA9p+tLygm+mon0yNdpJA==","signatures":[{"sig":"MEUCICmStlKUsbnaw7PzOfivXHCm2+E3HZQ1DPq7cIFxFQWjAiEAjmGpgb3oHcasutTZ5MIhNPwxVQSxr6qVkQwVkOp5zVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":80933},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"e402caf91fe951a418f5e2f3e01d348aba08c348","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.16.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.18.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.4","typescript":"^6.0.3","@types/node":"^26.1.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.9.0_1786547761168_0.6317704551141512","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@de-otio/trellis-extension-api","version":"0.9.1","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.9.1","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"402103a60deb54eea388ba43c1c0b5827e762200","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.9.1.tgz","fileCount":23,"integrity":"sha512-TDjZFglJOXZrxhx+B2umMkqBPz4P/KDh0PZa/pUy/DBHEQYerbeJuSZsvzva2xmseNTRirYf2Czi14uJNvykwA==","signatures":[{"sig":"MEUCIDPN7nCDfUJMswAO2bzhswifxbgZwbOcjO28DqWWq1OUAiEAudlpmwt5hFv48t23VLdY+V8FqvMHiHcTkNZqZhlNK+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91293},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"71b9b326f75385d16a4992baaa7d97abfea3afa3","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json","test:types":"tsc --build tsconfig.json && tsc --noEmit -p tsconfig.type-tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.17.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.6","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.9.1_1786771209894_0.4824545509033267","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@de-otio/trellis-extension-api","version":"0.9.2","author":{"name":"Trellis"},"license":"MIT","_id":"@de-otio/trellis-extension-api@0.9.2","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"homepage":"https://github.com/de-otio/trellis#readme","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"dist":{"shasum":"2dc3cb0d5b612765aae9c97ef643dfe41e8af49d","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.9.2.tgz","fileCount":23,"integrity":"sha512-ISjaKy7i1Xo2guLn1Etb9yK2552gQep9qKK+3BVymYJ0e7086nWC4jSkivB/mQkbuiSlBs790vsEFj4cu0TpMw==","signatures":[{"sig":"MEYCIQDPVyTiZL8K9Aox3j7EXE3iJTEeXJz1YyLjBira+fGk6QIhALhUMtdB3N+OtAJa0oyndPF+MOPnj2TJI0DTLdgN5KFr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":93803},"main":"./lib/index.js","type":"module","types":"./lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"15f60f5985c256ad24d8a8e67bb37aeba9f1120d","scripts":{"dev":"tsc --watch","lint":"prettier --check .","build":"tsc --build tsconfig.json","format":"prettier -w .","prepare":"tsc --build tsconfig.json","test:types":"tsc --build tsconfig.json && tsc --noEmit -p tsconfig.type-tests.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"repository":{"url":"git+https://github.com/de-otio/trellis.git","type":"git","directory":"packages/extension-api"},"_npmVersion":"11.17.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.3"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"^3.9.6","typescript":"^7.0.2","@types/node":"^26.2.0"},"_npmOperationalInternal":{"tmp":"tmp/trellis-extension-api_0.9.2_1786776560106_0.3869422888064846","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@de-otio/trellis-extension-api","version":"0.10.0","description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","type":"module","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"main":"./lib/index.js","types":"./lib/index.d.ts","scripts":{"build":"tsc --build tsconfig.json","test:types":"tsc --build tsconfig.json && tsc --noEmit -p tsconfig.type-tests.json","dev":"tsc --watch","prepare":"tsc --build tsconfig.json","lint":"prettier --check .","format":"prettier -w ."},"author":{"name":"Trellis"},"license":"MIT","dependencies":{"zod":"^4.5.4"},"devDependencies":{"@types/node":"^26.4.0","prettier":"^3.9.6","typescript":"^7.0.2"},"repository":{"type":"git","url":"git+https://github.com/de-otio/trellis.git","directory":"packages/extension-api"},"_id":"@de-otio/trellis-extension-api@0.10.0","bugs":{"url":"https://github.com/de-otio/trellis/issues"},"homepage":"https://github.com/de-otio/trellis#readme","_integrity":"sha512-gqzsTG5mxtb4Kvu6lqChdDl0/cp70zYsFYCPVjiaYWYrBB4R2rQOpFtYYdVuNhRA1ZFz52D2nytScnQV9yTWaQ==","_resolved":"/home/runner/work/trellis/trellis/.publish-artifact/de-otio-trellis-extension-api-0.10.0.tgz","_from":"file:.publish-artifact/de-otio-trellis-extension-api-0.10.0.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-gqzsTG5mxtb4Kvu6lqChdDl0/cp70zYsFYCPVjiaYWYrBB4R2rQOpFtYYdVuNhRA1ZFz52D2nytScnQV9yTWaQ==","shasum":"def3cb9befad91ea221072e990c5e7353e9c7a00","tarball":"https://registry.npmjs.org/@de-otio/trellis-extension-api/-/trellis-extension-api-0.10.0.tgz","fileCount":23,"unpackedSize":113075,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@de-otio%2ftrellis-extension-api@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD6D1gmkj1kPRnQQu93jdRiS/5n1a/2Fv61Y74zxdcEcwIgIVSItKMWTz9gwzBCoU0bQ2tB2rRPpuZjXtmK57fWk/E="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a02bb1a3-cfed-4ead-a23c-62e5e4355c97"}},"directories":{},"maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trellis-extension-api_0.10.0_1788586305911_0.061226310666502304"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-19T10:14:46.609Z","modified":"2026-09-05T05:31:46.358Z","0.1.0":"2026-04-19T10:14:46.827Z","0.2.0":"2026-04-25T06:49:55.687Z","0.3.0":"2026-06-05T11:28:50.907Z","0.4.0":"2026-07-04T17:28:18.848Z","0.5.0":"2026-07-08T08:08:55.375Z","0.7.0":"2026-07-16T13:15:24.539Z","0.8.0":"2026-08-07T06:56:03.079Z","0.8.1":"2026-08-07T07:02:31.913Z","0.9.0":"2026-08-12T15:16:01.329Z","0.9.1":"2026-08-15T05:20:10.068Z","0.9.2":"2026-08-15T06:49:20.248Z","0.10.0":"2026-09-05T05:31:46.038Z"},"bugs":{"url":"https://github.com/de-otio/trellis/issues"},"author":{"name":"Trellis"},"license":"MIT","homepage":"https://github.com/de-otio/trellis#readme","repository":{"type":"git","url":"git+https://github.com/de-otio/trellis.git","directory":"packages/extension-api"},"description":"Shared types for Trellis extensions: TrellisExtension, Route, strategy interfaces","maintainers":[{"name":"rkm1","email":"richard.myers@de-otio.org"}],"readme":"# @de-otio/trellis-extension-api\n\nShared types for building **Trellis** extensions: `TrellisExtension`, `Route`,\nthe strategy/hook interfaces, and the `ExtensionContext` an extension receives\nat registration. Trellis is a generic multi-tenant social-network platform core;\nvertical applications extend it by registering a `TrellisExtension` at startup\nto add domain-specific routes, metadata schemas, and terminology.\n\n## Reference\n\nThe canonical Extension API reference — the full `TrellisExtension` contract,\nhow a vertical registers an extension, and the review criteria (tracker-free /\nanonymized client metadata, and AI Act Art. 50 synthetic-content provenance\ndisclosure) — lives in the Trellis docs:\n\n**→ [Extension API reference](../../docs/reference/extension-api.md)**\n\n## Install\n\n```bash\nnpm install @de-otio/trellis-extension-api\n```\n\n```ts\nimport type { TrellisExtension } from \"@de-otio/trellis-extension-api\";\nimport { EXTENSION_API_VERSION } from \"@de-otio/trellis-extension-api\";\n```\n\nDeclare `extensionApiVersion: EXTENSION_API_VERSION` on your `TrellisExtension`\nso Trellis core checks compatibility for you at startup, instead of comparing\n`EXTENSION_API_VERSION` by hand — see the\n[`extensionApiVersion` reference](../../docs/reference/extension-api.md#extensionapiversion).\n\n## Trust model — extensions are NOT sandboxed\n\nRegistering a `TrellisExtension` is a decision to trust that code at the same\nlevel as Trellis core code. There is no isolation boundary. Read this before\nloading an extension you did not write.\n\n**Two ways to add routes, with very different exposure:**\n\n| | `extensionRoutes` (**preferred**) | `routes` (raw, legacy) |\n|---|---|---|\n| Auth | enforced by core (`auth: \"required\"` by default) | **whatever the extension does — core does not check** |\n| CSRF / CORS | applied by core | not applied |\n| Security headers | applied by core | not applied |\n| Rate limiting | applied by core for cross-tenant-capable extensions | not applied |\n| Handler receives | a scoped `ExtensionContext` (tenant-scoped db, no secrets) | the **full core `Env`** |\n\nThe full core `Env` includes `SESSION_SECRET`, `SESSION_SALT`, `DATABASE_URL`,\nevery KV binding and every queue handle. A raw route can therefore mint session\ncookies for arbitrary users, read or write any table across every tenant, and\nreach any bound infrastructure — regardless of what its own handler advertises.\n\nCore enforces one startup check on this path: `validateExtensions` **rejects**\n(does not merely warn about) any raw `routes` entry that declares no\n`authMiddleware`/`csrfMiddleware`, so an unauthenticated raw route cannot boot.\nThat check bounds *who can call* the route; it does not sandbox *what the\nhandler can do* once called. Raw routes are also blocked from shadowing\nreserved core prefixes (`/api/auth`, `/api/admin`, `/.well-known`, …).\n\n**Guidance**\n\n- Declare routes under `extensionRoutes` and let core wrap them. New extensions\n  should have `routes: []`.\n- Use raw `routes` only for a handler that genuinely needs core internals, and\n  treat it as core code for review purposes.\n- Operators: only load extensions you or your organisation control, and pin\n  them by exact version. Extension code has no reduced privilege.\n- Other extension surfaces (hooks, strategies, `crossTenantRead`) run in-process\n  too. `crossTenantRead` is validated against a core allow-list at startup, but\n  a hook is ordinary trusted code.\n","readmeFilename":"README.md"}