{"_id":"@sanity-labs/sanity-plugin-workflows","_rev":"26-1565534d867284eba4bba4a5c4abafa4","name":"@sanity-labs/sanity-plugin-workflows","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.1.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.1.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"df25a83cba8802543fa89c9281d9aa6e132aeb81","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.1.0.tgz","fileCount":41,"integrity":"sha512-I0CIXdqS95sNcsqOXG94n5/uIsW7N6I+fVgPUeInG9FCd6Z9XLmJ44Us29lsO6NcgaeEYrM+gsc6Flcrcre0/w==","signatures":[{"sig":"MEYCIQC/venjWODBAZKOntmLI6HNXIu7zBBByVUw2luSJpbnCwIhAN7dXkRtBZjOgweOZf1HzFp5/PMOZAm2eDN1Zb31hugb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423986},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"source":"./src/index.ts","default":"./dist/index.js","require":"./dist/index.cjs","development":"./src/index.ts"},"./audit":{"source":"./src/audit.ts","default":"./dist/audit.js","require":"./dist/audit.cjs","development":"./src/audit.ts"},"./schema":{"source":"./src/schema.ts","default":"./dist/schema.js","require":"./dist/schema.cjs","development":"./src/schema.ts"},"./actions":{"source":"./src/actions.ts","default":"./dist/actions.js","require":"./dist/actions.cjs","development":"./src/actions.ts"},"./package.json":"./package.json"},"gitHead":"48f465c604c5b117f32f90452ee3d313be6e7f65","scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"samhem","email":"sam.hemingway@sanity.io"},"deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.12.1","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","sanity-workflow-kit":"^0.1.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"publishConfig":{"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"}},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.1.0_1776262589273_0.14292090673361146","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.1.1","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.1.1","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"a0510e8158f2f9faeb47a088916d3ae921cddfb7","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.1.1.tgz","fileCount":41,"integrity":"sha512-7Spoz98UAEXSSRDRd5oTPL2ed9XoauAAVq6Qon2oIpgVolgWQmOfflJP1j8rWgAmgHjgB75+rorMwDvZazltrg==","signatures":[{"sig":"MEQCIC817066L3VC6E90NO+du5vCXLRFVT5JB/NUqKSEQFKdAiAC07b2HTW3PnuHaGxXV8bWefOt+qD/hqtbhh3mcmChOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":423417},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/061da9a8225c5b7e2784d25f3b471d89/sanity-labs-sanity-plugin-workflows-0.1.1.tgz","_integrity":"sha512-7Spoz98UAEXSSRDRd5oTPL2ed9XoauAAVq6Qon2oIpgVolgWQmOfflJP1j8rWgAmgHjgB75+rorMwDvZazltrg==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.1.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.1.1_1776265925207_0.7140500459403321","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.2.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.2.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"2dd83335b0b4c461a03d27d9252e28d301de6e65","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.2.0.tgz","fileCount":41,"integrity":"sha512-A29JX3hdNivOVFUZFckpe0wqWFVOVDYdByPpnhLYFlYzptBNKM7vyWjjO1R3nIf8rED+3Nc1k1z3cTyGFIzm5Q==","signatures":[{"sig":"MEUCIE07SStUaBp7Roo1EzIjTUtAG7uBbPBdy5I4tw6qCU1TAiEA3jBk8W7pGg2StMmO2ZAG9p9LYV48oTypZYuryQrrwaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":458073},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/7b38701d407144f643a5e3f28142510b/sanity-labs-sanity-plugin-workflows-0.2.0.tgz","_integrity":"sha512-A29JX3hdNivOVFUZFckpe0wqWFVOVDYdByPpnhLYFlYzptBNKM7vyWjjO1R3nIf8rED+3Nc1k1z3cTyGFIzm5Q==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.2.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.2.0_1776431177779_0.15402011166551022","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.2.1","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.2.1","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"33dde3eab8b60e247cf0ccd25aaaaad3d95e9b27","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.2.1.tgz","fileCount":41,"integrity":"sha512-GacwM0FTQXiw55YJfpwXMbxngMnsMm690DUU74ix0TkH3d/2VTgKwrlTKPhzpdGLdXUwT+/db5KNuExRjKkpfA==","signatures":[{"sig":"MEUCIQDuYF/W4Kh2j1+jr00ZuPY+uRMgenYBXR8w3TpguIOZzwIgSWSUMj+Z9EIJBIaZd397QGwC8xNC77Vy/Ylh19FLxC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":458789},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.2.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/c134df3a4dd4ce83e35c8ac26b076f5b/sanity-labs-sanity-plugin-workflows-0.2.1.tgz","_integrity":"sha512-GacwM0FTQXiw55YJfpwXMbxngMnsMm690DUU74ix0TkH3d/2VTgKwrlTKPhzpdGLdXUwT+/db5KNuExRjKkpfA==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.2.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.2.1_1776433578961_0.8869369528554056","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.2.2","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.2.2","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"80d411a7fd0f7815a29390ec1ac1ffecb1773ec7","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.2.2.tgz","fileCount":41,"integrity":"sha512-nMNg8x423tj5Z26CK07Xgel2iK4OymWCOnrZLB5Y+/AZyq4jxtTqutbs1w/2S2dI5apdepQoLHQ6n40B5q+uUw==","signatures":[{"sig":"MEUCICfAQJViuEjhc3BaYz6i3PYwYwwchMckUqAxCWElsMyHAiEA9S59udwsSLmGHgGUMaR0gmNoqNiS3sQ6xkAeKdERx5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":472098},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.2.2.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/0b87dd8159f40cbab7d7bef191697bf0/sanity-labs-sanity-plugin-workflows-0.2.2.tgz","_integrity":"sha512-nMNg8x423tj5Z26CK07Xgel2iK4OymWCOnrZLB5Y+/AZyq4jxtTqutbs1w/2S2dI5apdepQoLHQ6n40B5q+uUw==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.2.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.2.2_1776957308111_0.3632760940589852","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.2.3","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.2.3","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"59d0b48f7cc8006d0dfe0a4fead99b52ac0aff58","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.2.3.tgz","fileCount":41,"integrity":"sha512-AuZwxRySEgvl7SeH0GIxARECRKRy5HFp0VHBf/uHLXHK0O1+0K927gUtarA1QhUkTnthvuCzi5loCUaDmiTSoQ==","signatures":[{"sig":"MEYCIQDUU8uyfEpvoCioDQW7yElMJ2j9ytpFrQuqyVaafKChmAIhAKrxbydqI7VTuIV/oE9t6avCUndITZUxBTUPHo7nuZKN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":478710},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.2.3.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/2ccd7d0e6d32209a19eba7bb42310935/sanity-labs-sanity-plugin-workflows-0.2.3.tgz","_integrity":"sha512-AuZwxRySEgvl7SeH0GIxARECRKRy5HFp0VHBf/uHLXHK0O1+0K927gUtarA1QhUkTnthvuCzi5loCUaDmiTSoQ==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.2.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.2.3_1777304290381_0.27181650131371926","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.2.4","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.2.4","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"2611d3cfc576562cc5a90ec8e214aea17d7c98f3","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.2.4.tgz","fileCount":41,"integrity":"sha512-uERBI3cSKda4tUSP65P3GAiGcb5ZpuBtKc0xkas/XlKQWHx8H+M0dPUBgyk9Hsb4krJ678tpSaECNj1GJFM0iw==","signatures":[{"sig":"MEUCIQCpyxqawwgqbIBKylCgdg1Fhm63JTHGuGMTsHd1BBpPugIgVxfWTl9KcSuA++9nlicfvS/JVeEkdlzSsKPP3k/GRGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":485197},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.2.4.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/8f1357126da46332875983deb5ac12d0/sanity-labs-sanity-plugin-workflows-0.2.4.tgz","_integrity":"sha512-uERBI3cSKda4tUSP65P3GAiGcb5ZpuBtKc0xkas/XlKQWHx8H+M0dPUBgyk9Hsb4krJ678tpSaECNj1GJFM0iw==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.2.1"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.2.4_1780057845742_0.33275593065979536","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.3.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.3.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"d625a534382aec9266355fbea099eac8f80fa867","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.3.0.tgz","fileCount":42,"integrity":"sha512-6nh4A3j/ICYDQlIghjPfVakjXONiIL7/S/sg2Sp/Q1rGC7yLkG8FSgs+p4PtkE6drxbimfHH7rOlp+FQYeYAsA==","signatures":[{"sig":"MEYCIQDIaVqVihT+JPzZS+PbMiDKM4zDUzXIoM8wHwWTNtvzJQIhAMVDnNJTz8mb9K6QcIKeEArTGjB/jX7UjaMkEgQd1vow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":461083},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/856fe99895d56014669ff5bda6a5bb35/sanity-labs-sanity-plugin-workflows-0.3.0.tgz","_integrity":"sha512-6nh4A3j/ICYDQlIghjPfVakjXONiIL7/S/sg2Sp/Q1rGC7yLkG8FSgs+p4PtkE6drxbimfHH7rOlp+FQYeYAsA==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity-labs/workflow-kit":"^0.3.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.3.0_1780065345332_0.5844520077964015","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.4.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.4.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"ca890653cc4bfd590c1662c60841ab0adda87c68","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.4.0.tgz","fileCount":43,"integrity":"sha512-5s7uZBDYyFHnbMD+bYGyNDcklcxuTtUjCxUOZmmgeJqbnwkbR20FoPFBMH8HjlQk0HFE55V3+xWeflGQpdxaPQ==","signatures":[{"sig":"MEUCIQDLLHApSsamm1wFFXS3ikH4/qLXFBN3k/mC7RTOFBKulAIgcpv7/Iv5bTI9EL9Mlzdg4XzcIr9MlWSgRYHweRvWkg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":465020},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/c9b9f29dc622652c81b819a1c089a9fe/sanity-labs-sanity-plugin-workflows-0.4.0.tgz","_integrity":"sha512-5s7uZBDYyFHnbMD+bYGyNDcklcxuTtUjCxUOZmmgeJqbnwkbR20FoPFBMH8HjlQk0HFE55V3+xWeflGQpdxaPQ==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.4.0","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.4.0_1780493601373_0.4377032367904392","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.5.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.5.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"0efff8636004bcfabb3fd772b326cb35830b9caf","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.5.0.tgz","fileCount":43,"integrity":"sha512-O0KpcrXqkCW8OL1izBw/9VuqQDUsy3qZ90O9MikgYLC3AtJbOYs5JQyxdJYlqFXybx2VoctsvwS/4aun5J5Glg==","signatures":[{"sig":"MEYCIQCrl35GNOs0DmOB3QeoaoinNXKlhlKD70pACvTCAI5r7gIhAMrw6aczX5+fr08gDtD7PmcNhsB9sgkrsyWLIEWhXJE2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":471807},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.5.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/178c6ac94b4347edf7561ebeb50e4c9b/sanity-labs-sanity-plugin-workflows-0.5.0.tgz","_integrity":"sha512-O0KpcrXqkCW8OL1izBw/9VuqQDUsy3qZ90O9MikgYLC3AtJbOYs5JQyxdJYlqFXybx2VoctsvwS/4aun5J5Glg==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.4.0","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.5.0_1780495302344_0.8923014973327723","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.6.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.6.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"nicholasklem","email":"nicholas@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"eca2fded029c12cda3424d4429b03be84733b483","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.6.0.tgz","fileCount":43,"integrity":"sha512-UO2A3KT9n0atw22u6uh0ZvNQ284EjJI+8Q0FTZBt9PdtAQ0DPtw2kGkSU25yrO4ZFtgZ7MICG2RO4VBumygJkA==","signatures":[{"sig":"MEUCIHKN2cTGBGP2Gyj5cffZtj88U+yDMjFqqUkemw3et89iAiEAtoWstYuDTuLcru2AXxKXtbe8nqWImPCyQ240VsZ6l/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":467063},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.6.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/1eafd56e62d2360b198f6a8ace0953f4/sanity-labs-sanity-plugin-workflows-0.6.0.tgz","_integrity":"sha512-UO2A3KT9n0atw22u6uh0ZvNQ284EjJI+8Q0FTZBt9PdtAQ0DPtw2kGkSU25yrO4ZFtgZ7MICG2RO4VBumygJkA==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.4.0","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19.2","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.6.0_1781129176260_0.5502261404259712","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.6.1","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.6.1","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"nicholasklem","email":"nicholas@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"3a31887fde252da1e61dd07fc97104504e1da4b4","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.6.1.tgz","fileCount":43,"integrity":"sha512-EAQS6Yo6oFR3x3AcYN3T9PtDTwBL4QuGsDrAuImoxze07CnR9BFNR5iqlmkoQ6oHWUI0gIEwbYGgNTVsuPpFpA==","signatures":[{"sig":"MEUCIQDqOPka2otgVqU+BNDQo55gUxPBmX5nGfibLhx8m90PhwIgX8KEOes3v+HkexMvqsa5DPhxwm3o6lOoLsp8H7EK6xE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":472810},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.6.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/b6cf98874fad3e77dec500e1c49ec6f6/sanity-labs-sanity-plugin-workflows-0.6.1.tgz","_integrity":"sha512-EAQS6Yo6oFR3x3AcYN3T9PtDTwBL4QuGsDrAuImoxze07CnR9BFNR5iqlmkoQ6oHWUI0gIEwbYGgNTVsuPpFpA==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.4.0","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19.2","sanity":">=5 <6","@sanity/ui":"^3.1.11","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.6.1_1781181833383_0.44402929392651025","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.7.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.7.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"mttdnt-sanity","email":"matthew.dent@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"nicholasklem","email":"nicholas@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"33e128635e5d3c9d69876c1170d84666a216a0d1","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.7.0.tgz","fileCount":51,"integrity":"sha512-SQfuBlSrXHgX4qIZeu932xsLJd+pq9C96SsABVtt8FPlwYXJ/sUeOm78MwNFDjJtBMaEAYqMz+pVeNHczES7BQ==","signatures":[{"sig":"MEUCIQCVqgfukMERmRi3kIRl9CJB9ClySjIU/ea7Q4D57aNi8gIgXIX4XQEAtB5/Hj6EOK2scn/6g8I1HJ6dKgha3mIYRgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":485689},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.7.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/4a59796fa405b62b68c166d631e30981/sanity-labs-sanity-plugin-workflows-0.7.0.tgz","_integrity":"sha512-SQfuBlSrXHgX4qIZeu932xsLJd+pq9C96SsABVtt8FPlwYXJ/sUeOm78MwNFDjJtBMaEAYqMz+pVeNHczES7BQ==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"@sanity/ui":"^3.1.11","lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.5.0","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19.2","sanity":">=5 <6","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.7.0_1784216444452_0.5513202673778197","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.7.1","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.7.1","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"mttdnt-sanity","email":"matthew.dent@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"nicholasklem","email":"nicholas@sanity.io"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"e970eb40a35d547d3ec7dcad44171f773b06c2dc","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.7.1.tgz","fileCount":51,"integrity":"sha512-myag41vDKx2ge6c/N0z4lCLbg91ACpoBfFVlugYKhJKjqLRwzn3t+vf/psSbGhhIvTR9qol7kMPaSprRImAepg==","signatures":[{"sig":"MEUCIQDq8npXBZpDQxgdwXttnducsRFEVzrApecHVuuV1rQAGwIgHxmXCSzWpCPvrfJaDDK0reQ75BHQw+pz3JDJNg7tK78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":486741},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.7.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts src v2-incompatible.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/34f5a1d959a896009f22b965c0e398c6/sanity-labs-sanity-plugin-workflows-0.7.1.tgz","_integrity":"sha512-myag41vDKx2ge6c/N0z4lCLbg91ACpoBfFVlugYKhJKjqLRwzn3t+vf/psSbGhhIvTR9qol7kMPaSprRImAepg==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.20","baseline 2024"],"dependencies":{"@sanity/ui":"^3.1.11","lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.5.1","sanity-plugin-lucide-icon-picker":"^1.0.3"},"sanityPlugin":{"verifyPackage":{"tsc":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.5","oxlint":"^1.56.0","sanity":"^5.20.0","vitest":"^4.1.4","react-dom":"^19.2.5","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19.2","sanity":">=5 <6","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.7.1_1784224603998_0.0688671103726628","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@sanity-labs/sanity-plugin-workflows","version":"0.8.0","keywords":["sanity","sanity-plugin"],"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","_id":"@sanity-labs/sanity-plugin-workflows@0.8.0","maintainers":[{"name":"simen.svale","email":"simen@sanity.io"},{"name":"mttdnt-sanity","email":"matthew.dent@sanity.io"},{"name":"stipsan","email":"stipsan@gmail.com"},{"name":"joshbrand","email":"josh@homph.co"},{"name":"hermanw","email":"herman@sanity.io"},{"name":"colepeters-sanity","email":"cole.peters@sanity.io"},{"name":"mariuslundgard","email":"studio@mariuslundgard.com"},{"name":"laurenashpolesanity","email":"lauren.ashpole@sanity.io"},{"name":"robinpyon","email":"robin.pyon@gmail.com"},{"name":"samhem","email":"sam.hemingway@sanity.io"},{"name":"sergeisarviro","email":"sergei@sanity.io"},{"name":"rexxars","email":"espen@hovlandsdal.com"},{"name":"snorreeb","email":"snorre.e.brekke@gmail.com"},{"name":"nicholasklem","email":"nicholas@sanity.io"},{"name":"tbeseda","email":"tbeseda@gmail.com"},{"name":"kmelve","email":"knut.melvaer@gmail.com"},{"name":"rostimelk","email":"hello@rosti.no"},{"name":"jw-sanity","email":"jack.wilson@sanity.io"}],"homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"dist":{"shasum":"b754b97187235c429f52d115ffe5d1358588249c","tarball":"https://registry.npmjs.org/@sanity-labs/sanity-plugin-workflows/-/sanity-plugin-workflows-0.8.0.tgz","fileCount":51,"integrity":"sha512-oITen47aYVChk93F4w+JCVGTZbsXkP3KeC7Ew8yC2ihU0wVDWnfC1FwHNI7G0tGYLh+U/KNtc1GtYPgqcfIB9A==","signatures":[{"sig":"MEYCIQDHE49wqkFKxDY59QgaVUj3lRwUWWPA3zQQe61K6yRIQwIhAIGV7tx8M9HjIQuH0R15+tIONB/4+cXHtJAGn6I9r/Dj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@sanity-labs%2fsanity-plugin-workflows@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":547072},"main":"./dist/index.cjs","type":"module","_from":"file:sanity-labs-sanity-plugin-workflows-0.8.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=20.19 <22 || >=22.12"},"exports":{".":{"default":"./dist/index.js","require":"./dist/index.cjs"},"./audit":{"default":"./dist/audit.js","require":"./dist/audit.cjs"},"./schema":{"default":"./dist/schema.js","require":"./dist/schema.cjs"},"./actions":{"default":"./dist/actions.js","require":"./dist/actions.cjs"},"./package.json":"./package.json"},"scripts":{"lint":"oxlint src vitest.config.ts","test":"vitest run --config vitest.config.ts","build":"plugin-kit verify-package --silent && pkg-utils build --strict --check --clean","watch":"pkg-utils watch --strict","format":"oxfmt package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts scripts src v2-incompatible.js","typecheck":"tsgo --noEmit -p tsconfig.json","link-watch":"plugin-kit link-watch","test:watch":"vitest --config vitest.config.ts","format:check":"oxfmt --check package.json tsconfig.json tsconfig.dist.json tsconfig.settings.json package.config.cjs vitest.config.ts scripts src v2-incompatible.js","smoke:compat":"node scripts/compatibility-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4cdda372-9e50-405a-97fa-f7c3707d752c"}},"_resolved":"/tmp/79ccc4aed05cb51687f755410a0bbed6/sanity-labs-sanity-plugin-workflows-0.8.0.tgz","_integrity":"sha512-oITen47aYVChk93F4w+JCVGTZbsXkP3KeC7Ew8yC2ihU0wVDWnfC1FwHNI7G0tGYLh+U/KNtc1GtYPgqcfIB9A==","deprecated":"Prefer Sanity official Workflows feature. This package will enter maintenance mode when that feature is GA: https://www.sanity.io/docs/editorial-workflows","repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"_npmVersion":"11.9.0","description":"Sanity Studio plugin for opinionated document workflows.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","browserslist":["node >=20.19","baseline 2024"],"dependencies":{"@sanity/ui":"^4.0.1","lucide-react":"^0.577.0","@sanity/icons":"^3.7.4","@sanity/color-input":"^6.0.6","@sanity-labs/workflow-kit":"^0.6.0"},"sanityPlugin":{"verifyPackage":{"tsc":false,"nodeEngine":false,"sanityV2Json":false,"eslintImports":false}},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^26.1.0","oxfmt":"^0.41.0","react":"^19.2.8","oxlint":"^1.56.0","sanity":"^6.9.2","vitest":"^4.1.4","react-dom":"^19.2.8","typescript":"^6.0.2","@types/node":"^24.0.4","@types/react":"^19.2.14","@changesets/cli":"^2.30.0","@sanity/pkg-utils":"^10.4.13","styled-components":"^6.4.0","@sanity/plugin-kit":"^4.0.20","@testing-library/react":"^16.3.2","@typescript/native-preview":"7.0.0-dev.20260320.1"},"peerDependencies":{"react":"^19.2","sanity":"^6.9.2","styled-components":"^6"},"_npmOperationalInternal":{"tmp":"tmp/sanity-plugin-workflows_0.8.0_1787587621863_0.35427355941723304","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-15T14:16:29.141Z","modified":"2026-09-03T12:55:32.131Z","0.1.0":"2026-04-15T14:16:29.422Z","0.1.1":"2026-04-15T15:12:05.400Z","0.2.0":"2026-04-17T13:06:17.968Z","0.2.1":"2026-04-17T13:46:19.139Z","0.2.2":"2026-04-23T15:15:08.317Z","0.2.3":"2026-04-27T15:38:10.539Z","0.2.4":"2026-05-29T12:30:45.915Z","0.3.0":"2026-05-29T14:35:45.558Z","0.4.0":"2026-06-03T13:33:21.541Z","0.5.0":"2026-06-03T14:01:42.479Z","0.6.0":"2026-06-10T22:06:16.562Z","0.6.1":"2026-06-11T12:43:53.546Z","0.7.0":"2026-07-16T15:40:44.664Z","0.7.1":"2026-07-16T17:56:44.141Z","0.8.0":"2026-08-24T16:07:02.063Z"},"bugs":{"url":"https://github.com/sanity-labs/sanity-plugin-workflows/issues"},"author":{"name":"Sam Hemingway","email":"sam.hemingway@sanity.io"},"license":"MIT","homepage":"https://github.com/sanity-labs/sanity-plugin-workflows#readme","keywords":["sanity","sanity-plugin"],"repository":{"url":"git+https://github.com/sanity-labs/sanity-plugin-workflows.git","type":"git"},"description":"Sanity Studio plugin for opinionated document workflows.","maintainers":[{"email":"simen@sanity.io","name":"simen.svale"},{"email":"matthew.dent@sanity.io","name":"mttdnt-sanity"},{"email":"stipsan@gmail.com","name":"stipsan"},{"email":"josh@homph.co","name":"joshbrand"},{"email":"herman@sanity.io","name":"hermanw"},{"email":"cole.peters@sanity.io","name":"colepeters-sanity"},{"email":"studio@mariuslundgard.com","name":"mariuslundgard"},{"email":"lauren.ashpole@sanity.io","name":"laurenashpolesanity"},{"email":"robin.pyon@gmail.com","name":"robinpyon"},{"email":"sam.hemingway@sanity.io","name":"samhem"},{"email":"sergei@sanity.io","name":"sergeisarviro"},{"email":"espen@hovlandsdal.com","name":"rexxars"},{"email":"snorre.e.brekke@gmail.com","name":"snorreeb"},{"email":"nicholas@sanity.io","name":"nicholasklem"},{"email":"tbeseda@gmail.com","name":"tbeseda"},{"email":"knut.melvaer@gmail.com","name":"kmelve"},{"email":"hello@rosti.no","name":"rostimelk"},{"email":"jack.wilson@sanity.io","name":"jw-sanity"},{"email":"james.woods@sanity.io","name":"jwoods-sanity"}],"readme":"# @sanity-labs/sanity-plugin-workflows\n\nEditor-configurable document workflows for Sanity Studio.\n\nContent authors define the workflow — stages, off-ramps, roles, task templates, completion gating, publish gating — in a `workflow.definition` document. The plugin then takes care of the Studio wiring: it injects a `status` field, an `assignments` array, and an audit trail onto every workflow-aware document, turns the `Publish` action into a **Move to _next stage_** action, and surfaces an **Audit Trail** inspector.\n\n![Studio: a document with a workflow attached to it](https://raw.githubusercontent.com/sanity-labs/sanity-plugin-workflows/main/docs/media/workflows-plugin-main-screenshot.avif)\n\nThe simplest working setup is one line of config (`plugins: [workflowsPlugin()]`) plus one `workflow.definition` document authored in Studio.\n\n- **Full API reference** → [docs/reference.md](docs/reference.md)\n- **Engine + UI primitives the plugin is built on** → [`@sanity-labs/workflow-kit`](https://github.com/sanity-labs/workflow-kit)\n\n> The plugin works on every Sanity plan, but role-based workflow behavior depends on which project roles your plan supports. See [How the plugin works across Sanity plans](#how-the-plugin-works-across-sanity-plans) before you design approvals, gating overrides, or separation of duties.\n\n---\n\n## Concepts\n\n| Term                 | What it is                                                                                                                                                                                                                                                                                   |\n| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `workflow.definition` | A Studio document that describes _one_ workflow. Targets a single `documentType` and owns that type's stages, off-ramps, and roles.                                                                                                                                                          |\n| Stage                | A step on the happy path (e.g. `draft` → `in_review` → `approved`). Each stage has a label, icon, color, and optional tasks and gating rules.                                                                                                                                                |\n| Off-ramp             | A terminal/abandoned state that isn't part of the forward path (e.g. `spiked`, `archived`). Can unpublish the document on entry.                                                                                                                                                             |\n| Role                 | A workflow role (e.g. Reporter, Section Editor) authored inside the `workflow.definition` document. Each role maps to one or more Sanity project roles via `workflow.role.projectRoles[]`; the plugin uses that mapping to resolve which Sanity users count as which workflow role at runtime. |\n| Task template        | A task auto-created for a stage (on stage entry, or when assignments become ready for the current stage). Role-bound templates wait until `assignments[]` resolve an assignee — they are not created as floating unassigned tasks. Tasks live in the `-comments` addon dataset.              |\n| Completion gating    | If on, a stage can't be left until its required tasks are closed. Roles listed in `gatingOverrideRoles` can override.                                                                                                                                                                        |\n| Publish gating       | Documents can only be published when the current stage has `enablePublishing: true`. Enforced by a custom validator.                                                                                                                                                                         |\n| Audit trail          | Every transition appends a `workflow.setStatus` entry to the document's `statuses` array. Rendered in a per-document inspector.                                                                                                                                                                       |\n\n### How the pieces fit\n\n```mermaid\nflowchart LR\n  Editor[\"Editor authors<br/>workflow.definition doc\"] --> Plugin\n  Config[\"sanity.config.ts:<br/>workflowsPlugin()\"] --> Plugin\n  Plugin[\"Plugin registers:<br/>- withWorkflow decorator<br/>- action resolver<br/>- audit inspector\"] --> Doc\n  Doc[\"Any workflow-aware<br/>document type\"] -->|\"status field\"| Action[\"Move to next stage<br/>(publish action)\"]\n  Action -->|\"patches status,<br/>appends audit entry,<br/>creates tasks\"| DocUpdated[\"Document updated\"]\n  DocUpdated --> Inspector[\"Audit Trail inspector\"]\n```\n\n---\n\n## Quickstart\n\nAbout 5 minutes from `pnpm install` to your first transition.\n\n### 1. Install\n\n```sh\npnpm add @sanity-labs/sanity-plugin-workflows\n```\n\nThe plugin installs `@sanity-labs/workflow-kit` transitively. Add workflow-kit directly\nonly when your Studio or frontend imports its public entrypoints.\n\nThe current plugin release supports Sanity Studio 6.9.2 and later 6.x releases,\nReact 19.2, `@sanity/ui` 4.0.1 or later, and `styled-components` 6. Use Node.js\n22.12 or newer.\n\nFor Sanity Studio 5, install the previous UI 3 release line:\n\n```sh\npnpm add @sanity-labs/sanity-plugin-workflows@^0.7.1 @sanity-labs/workflow-kit@^0.5.1\n```\n\nSanity 6.0–6.9.1 falls between those supported release lines. The 0.7.1 plugin\nmay run there, but its published peers reject Sanity 6 and its Lucide picker\ndeclares Sanity 3/UI 2 peers. Upgrade Studio to 6.9.2 or later rather than\ndepending on that combination.\n\n#### Temporary override for early Sanity 6\n\nIf a Studio upgrade is temporarily blocked, you can test the old UI 3 plugin\nline by pinning every relevant version and correcting its peer declarations\nlocally. For pnpm, the following `package.json` configuration shows the shape:\n\n```json\n{\n  \"dependencies\": {\n    \"@sanity-labs/sanity-plugin-workflows\": \"0.7.1\",\n    \"@sanity-labs/workflow-kit\": \"0.5.1\",\n    \"@sanity/ui\": \"^3.2.0\"\n  },\n  \"pnpm\": {\n    \"overrides\": {\n      \"@sanity/ui\": \"^3.2.0\"\n    },\n    \"packageExtensions\": {\n      \"@sanity-labs/sanity-plugin-workflows@0.7.1\": {\n        \"peerDependencies\": {\n          \"sanity\": \">=5 <6.9.2\"\n        }\n      },\n      \"@sanity-labs/workflow-kit@0.5.1\": {\n        \"peerDependencies\": {\n          \"sanity\": \">=5 <6.9.2\"\n        }\n      },\n      \"sanity-plugin-lucide-icon-picker@1.0.3\": {\n        \"peerDependencies\": {\n          \"@sanity/ui\": \"^3.2.0\",\n          \"sanity\": \">=5 <6.9.2\"\n        }\n      }\n    }\n  }\n}\n```\n\nThis is an unsupported migration escape hatch, not a compatibility guarantee.\nAn override suppresses dependency-contract failures; it does not prove that the\npackages work together. A global UI override can also affect unrelated plugins.\nKeep this setup on UI 3, and test schema loading, icon search and selection,\ntransitions, off-ramps, tooltips, and toast messages before deploying it.\n\n### 2. Initialise the comments / tasks addon dataset\n\nWorkflow tasks (and completion gating) live in Sanity’s **comments addon dataset** (`<your-dataset>-comments`). Creating that dataset with the CLI is not enough — Sanity has to initialise it as a comments/tasks addon.\n\nDo this once per content dataset before you rely on stage tasks:\n\n1. Open Studio against that dataset.\n2. Open any document and use the built-in UI to **add a comment** and/or **create a task**.\n\nThat first comment/task is what provisions the addon dataset correctly. If it was never initialised, workflow task creation and gating silently no-op and the Studio console warns you to do this.\n\n### 3. Register the plugin\n\n```ts\n// sanity.config.ts\nimport { defineConfig } from \"sanity\";\nimport { workflowsPlugin } from \"@sanity-labs/sanity-plugin-workflows\";\n\nexport default defineConfig({\n  name: \"default\",\n  title: \"My Studio\",\n  projectId: \"your-project-id\",\n  dataset: \"production\",\n  plugins: [workflowsPlugin()],\n  schema: {\n    types: [\n      // your existing types\n    ],\n  },\n});\n```\n\nWith zero options, the plugin:\n\n- Registers the workflow schema types (`workflow.definition`, stages, off-ramps, roles, task templates, assignments) plus namespaced support types (`workflow.user`, `workflow.lucideIcon`) required by the audit trail and workflow icons.\n- Applies the `withWorkflow()` decorator to all document types except the plugin's own `workflow.definition` documents, injecting `status`, an `assignments` array, `statuses` (audit trail), and `pendingTransitionReason` fields plus a publish-gating validator.\n- Registers the audit-trail publish action wrapper and the **Audit Trail** inspector.\n\n### 4. Author a workflow.definition in Studio\n\nStart Studio (`sanity dev`), open the new **Workflow Definition** document type, and create one:\n\n1. **Document Type** — the `name` of an existing document type, e.g. `article`.\n2. **Roles** — add at least one (e.g. _Reporter_, slug `reporter`, mapped to the Sanity project roles that count as reporters).\n3. **Stages** — add at least two. For the final \"ready to publish\" stage, toggle **Allow Publishing** on.\n4. Publish the definition.\n\n![Studio: a workflow document with 5 stages and 2 roles applied](https://raw.githubusercontent.com/sanity-labs/sanity-plugin-workflows/main/docs/media/workflows-plugin-document-screenshot.avif)\n\n### 5. See the transition action appear\n\nOpen any document of the target type. You should now see:\n\n- A `Status` field at the top (the injected `StatusPathInput`).\n- The publish button has become **Move to _next stage_**, styled with the next stage's icon and color.\n- Open the **Audit Trail** inspector from the document header — it streams updates as you move through stages.\n\n![Studio: document actions to move to the next stage of a workflow, including role gating](https://raw.githubusercontent.com/sanity-labs/sanity-plugin-workflows/main/docs/media/workflows-plugin-gated-screenshot.avif)\n\n### 6. Move through stages\n\nClick **Move to _next stage_**. If the stage has task templates or stage guidance, you'll see a confirmation dialog. Confirm, and the document's `status` is patched, tasks are created in the `-comments` addon dataset, and a new entry appears in the audit trail.\n\n![Studio: task creation upon moving to the next stage](https://raw.githubusercontent.com/sanity-labs/sanity-plugin-workflows/main/docs/media/workflows-plugin-task-creation-screenshot.avif)\n\nThat's a complete workflow. Everything below is optional customization.\n\n---\n\n## Migrating to 0.3.0\n\nVersion 0.3.0 namespaces the plugin's bundled schema types:\n\n- `workflowDefinition` -> `workflow.definition`\n- `workflowRole` -> `workflow.role`\n- `workflowStage` -> `workflow.stage`\n- `workflowOffRamp` -> `workflow.offRamp`\n- `taskTemplate` -> `workflow.taskTemplate`\n- `assignment` -> `workflow.assignment`\n- `setStatus` -> `workflow.setStatus`\n- `user` -> `workflow.user`\n- `lucide-icon` -> `workflow.lucideIcon`\n\nVersion 0.3.0 also removes the deprecated `workflowsConfig`, `tableView`, and `tableViewColumn` schema types. Those types only supported the deprecated document lifecycle workflows dashboard and are no longer registered or exported by the plugin.\n\nNew workflow audit entries are written as `workflow.setStatus` objects with `completedBy: {_type: 'workflow.user', userId}`. Existing datasets that already have workflow definitions, assignments, or audit history may still contain the old `_type` values. The runtime reads the same fields, so history can still render before migration, but the Studio can report historical entries as unknown object types until they are rewritten.\n\nCopy or run the example migration in [`migrations/namespace-workflow-schema-types`](migrations/namespace-workflow-schema-types):\n\n```ts\nimport {at, defineMigration, set} from 'sanity/migrate'\n\nconst OBJECT_TYPE_RENAMES = {\n  assignment: 'workflow.assignment',\n  setStatus: 'workflow.setStatus',\n  taskTemplate: 'workflow.taskTemplate',\n  workflowOffRamp: 'workflow.offRamp',\n  workflowRole: 'workflow.role',\n  workflowStage: 'workflow.stage',\n}\n\nexport default defineMigration({\n  migrate: {\n    document(doc) {\n      if (doc._type === 'workflowDefinition') {\n        return at('_type', set('workflow.definition'))\n      }\n    },\n    object(obj, path) {\n      const lastSegment = path[path.length - 1]\n      const nextType =\n        obj._type === 'user' && lastSegment === 'completedBy'\n          ? 'workflow.user'\n          : typeof obj._type === 'string'\n            ? OBJECT_TYPE_RENAMES[obj._type]\n            : undefined\n\n      if (nextType) {\n        return set({...obj, _type: nextType})\n      }\n    },\n  },\n  title: 'Namespace workflow schema types',\n})\n```\n\nRun it once per affected dataset from your Studio directory:\n\n```sh\nnpx sanity migration run namespace-workflow-schema-types --no-dry-run --project <project-id> --dataset <dataset>\n```\n\nLucide icon string values do not need data changes. If you used the optional `generateStatusType()` helper, migrate `status` documents to `workflow.status` separately so you do not accidentally rename unrelated project-specific status documents.\n\n---\n\n## How the plugin works across Sanity plans\n\nThe core workflow works on every Sanity plan. Plan differences only show up when you map workflow roles to Sanity project roles. That mapping drives gating overrides, off-ramp access, and assignee eligibility.\n\n| Plan       | Available project roles                                         | What that means for workflow roles                                                                                                                   | Main limitation or advantage                                                                       |\n| ---------- | --------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |\n| Free       | `administrator`, `viewer`                                       | You can still map workflow roles, but anyone who needs to edit or move documents will usually map to `administrator`, because `viewer` is read-only. | Best for basic admin-versus-viewer workflows; separation of duties is limited.                     |\n| Growth     | `administrator`, `editor`, `viewer`, `developer`, `contributor` | More built-in roles give you more realistic editorial handoffs without changing how the plugin works.                                                | Good for lightweight separation of duties, but you are still limited to Sanity's predefined roles. |\n| Enterprise | Everything in Growth plus custom roles                          | You can map workflow roles to custom project roles that match your real team structure.                                                              | Most expressive option for strict approvals, off-ramp permissions, and assignee rules.             |\n\nNothing about the plugin requires Enterprise. Enterprise simply gives role mapping more room to model real-world teams.\n\nFor the schema-level details behind this mapping, see [`workflow.role.projectRoles[]`](docs/reference.md#workflowroleobject) in the [full API reference](docs/reference.md).\n\n---\n\n## How-to guides\n\n### Track team assignments on content documents\n\nEvery workflow-aware document gets an `assignments` array field injected automatically. No schema edit required. Each entry captures a workflow role (auto-populated from `workflow.definition.roles[]`) and the Sanity user id assigned to it — so editors can record who's the reporter on this article, who's the section editor, and so on, with the picker always in sync with the current workflow definition.\n\nWhen assignment user ids are set, the field wrapper calls `ensureWorkflowStageTasks` for the document’s current stage. That is the primary path for first-stage tasks: many workflows gate publishing until a later stage, so publish cannot be relied on to create them. Templates with an `assigneeRole` are deferred until that role’s assignee is known.\n\n#### Opt out or customize\n\n_Opt out entirely_ — suppress the injection with a plugin option:\n\n```ts\nworkflowsPlugin({ injectAssignments: false });\n```\n\nOr declare your own `assignments` field on the document type, and the decorator will leave it alone.\n\n_Customize_ — if you need additional fields on assignments (e.g. a channel or market categorization), define your own schema type with `name: 'workflow.assignment'` and register it via `workflowsPlugin({schemaTypes: [yourAssignment]})`. The plugin merges schema types by name, so yours replaces the default.\n\nCopy the shape from the plugin's own `assignmentObject` export (exported from `@sanity-labs/sanity-plugin-workflows/schema`) as a starting point.\n\n### Customize support schema types\n\nThe plugin registers small default support types so a clean Studio works with only `workflowsPlugin()`:\n\n- `workflow.user` - an object with `userId: string`, used by `workflow.setStatus.completedBy` audit entries.\n- `workflow.lucideIcon` - a string for storing Lucide icon names such as `check-circle-2`.\n\nIf your Studio already has richer versions of these types, register them through `workflowsPlugin({schemaTypes: [...]})` or your normal schema list. Schema types are merged by `name`, so your `workflow.user` or `workflow.lucideIcon` definition replaces the default. For example, you can provide a `workflow.user` object whose `userId` field uses `sanity-plugin-user-select-input`; just make sure that plugin is also registered in `sanity.config.ts`.\n\n### Exclude document types\n\nYou might want to ensure that editors cannot add workflows to specific document types — singletons, config documents, embedded blocks surfaced as documents, etc. By default the plugin only excludes its own `workflow.definition` documents.\n\nTo add your own, disable the plugin's built-in decorator and run `withWorkflow` yourself with your exclude list:\n\n```ts\n// sanity.config.ts\nimport { defineConfig, type SchemaTypeDefinition } from \"sanity\";\nimport { workflowsPlugin } from \"@sanity-labs/sanity-plugin-workflows\";\nimport {\n  withWorkflow,\n  type SchemaDecorator,\n} from \"@sanity-labs/sanity-plugin-workflows/schema\";\n\nconst applySchemaDecorators = (\n  types: SchemaTypeDefinition[],\n  decorators: SchemaDecorator[],\n) => decorators.reduce((acc, decorate) => decorate(acc), types);\n\nexport default defineConfig({\n  // ...\n  schema: {\n    types: (prev) =>\n      applySchemaDecorators(prev, [\n        withWorkflow({ exclude: [\"siteSettings\", \"homepage\"] }),\n      ]),\n  },\n  plugins: [workflowsPlugin({ schemaTypes: [] })],\n});\n```\n\n### Keep a pre-existing `status` field and add only the audit trail\n\nIf a document type already owns a `status` field you want to keep (e.g. a domain-specific lifecycle), the decorator will detect that and skip injection entirely — leaving your field alone. To still get the audit-trail `statuses` array with its custom UI, add `reusableStatusTrackerField` manually:\n\n```ts\n// schemaTypes/documents/storyAdaptationType.ts\nimport { defineField, defineType } from \"sanity\";\nimport { reusableStatusTrackerField } from \"@sanity-labs/sanity-plugin-workflows/schema\";\n\nexport const storyAdaptationType = defineType({\n  name: \"storyAdaptation\",\n  type: \"document\",\n  fields: [\n    defineField({ name: \"title\", type: \"string\" }),\n    defineField({\n      name: \"status\",\n      type: \"string\",\n      options: { list: [\"draft\", \"live\"] },\n    }),\n    { ...reusableStatusTrackerField, group: \"workflows\" },\n  ],\n  groups: [{ name: \"workflows\", title: \"Workflows\" }],\n});\n```\n\n### Compose the action resolver with others, and disable the plugin's built-ins\n\nThe plugin mounts a single action resolver that wraps publish, inserts off-ramp slot actions, and adds the transition dialog. When your Studio already has its own action resolvers to compose with, disable the plugin's defaults and mount the pieces yourself:\n\n```ts\n// sanity.config.ts\nimport { defineConfig } from \"sanity\";\nimport { workflowsPlugin } from \"@sanity-labs/sanity-plugin-workflows\";\nimport { workflowAuditTrailActionResolver } from \"@sanity-labs/sanity-plugin-workflows/actions\";\nimport { createWorkflowAuditInspector } from \"@sanity-labs/sanity-plugin-workflows/audit\";\nimport type { DocumentActionComponent } from \"sanity\";\n\ntype ActionResolver = typeof workflowAuditTrailActionResolver;\n\nconst composeActionResolvers = (\n  ...resolvers: ActionResolver[]\n): ActionResolver => {\n  return (prev, context) =>\n    resolvers.reduce(\n      (acc: DocumentActionComponent[], resolve) => resolve(acc, context),\n      prev,\n    );\n};\n\nconst combinedActions = composeActionResolvers(\n  yourCustomActionResolver,\n  workflowAuditTrailActionResolver,\n  yourOtherActionResolver,\n);\n\nexport default defineConfig({\n  // ...\n  plugins: [\n    workflowsPlugin({\n      actions: false,\n      inspector: false,\n      schemaTypes: workflowSchemaTypes,\n    }),\n  ],\n  document: {\n    actions: combinedActions,\n    inspectors: (prev) => [createWorkflowAuditInspector(), ...prev],\n  },\n});\n```\n\n`workflowAuditTrailActionResolver` is the composite the plugin uses internally. It wraps `publish`, inserts off-ramp actions from `workflowOffRampDocumentActionsResolver`, and runs the transition wrapper from `workflowTransitionActionResolver`.\n\n### Pin the Sanity API version\n\nEvery internal client call uses a single API version (default `'2026-04-12'`, defined in [src/internal/plugin/constants.ts](src/internal/plugin/constants.ts)). Pin a different version when you need to align with the rest of your Studio:\n\n```ts\nworkflowsPlugin({ apiVersion: \"2026-04-12\" });\n```\n\nThe value is stored globally on the plugin's internal constants module — set it once at registration time.\n\n### Show only the audit inspector\n\nDisable actions and mount the inspector on its own when you want history without the transition dialog:\n\n```ts\nworkflowsPlugin({ actions: false, inspector: true });\n```\n\nOr disable both and mount the inspector yourself with custom title/icon:\n\n```ts\nimport { ClipboardListIcon } from \"@sanity/icons\";\nimport { createWorkflowAuditInspector } from \"@sanity-labs/sanity-plugin-workflows/audit\";\n\nconst auditInspector = createWorkflowAuditInspector({\n  icon: ClipboardListIcon,\n  title: \"Status history\",\n});\n\nexport default defineConfig({\n  // ...\n  plugins: [workflowsPlugin({ actions: false, inspector: false })],\n  document: {\n    inspectors: (prev) => [auditInspector, ...prev],\n  },\n});\n```\n\nThe inspector only renders when `useHasWorkflow(documentType)` returns `true`, i.e. a published `workflow.definition` document exists for that type.\n\n### Ship a ready-to-import `workflow.definition`\n\nYou can seed a workflow as an NDJSON import so a repo clone doesn't require authoring a workflow from scratch:\n\n```json\n{\n  \"_id\": \"workflow.definition.article\",\n  \"_type\": \"workflow.definition\",\n  \"title\": \"Article workflow\",\n  \"slug\": { \"_type\": \"slug\", \"current\": \"article\" },\n  \"documentType\": \"article\",\n  \"forwardOnly\": false,\n  \"roles\": [\n    {\n      \"_type\": \"workflow.role\",\n      \"_key\": \"role-reporter\",\n      \"label\": \"Reporter\",\n      \"slug\": { \"_type\": \"slug\", \"current\": \"reporter\" },\n      \"projectRoles\": [\"editor\", \"administrator\"]\n    }\n  ],\n  \"stages\": [\n    {\n      \"_type\": \"workflow.stage\",\n      \"_key\": \"stage-draft\",\n      \"label\": \"Draft\",\n      \"slug\": { \"_type\": \"slug\", \"current\": \"draft\" },\n      \"color\": \"#9CA3AF\",\n      \"enablePublishing\": false\n    },\n    {\n      \"_type\": \"workflow.stage\",\n      \"_key\": \"stage-review\",\n      \"label\": \"In Review\",\n      \"slug\": { \"_type\": \"slug\", \"current\": \"in_review\" },\n      \"color\": \"#3B82F6\",\n      \"enablePublishing\": false\n    },\n    {\n      \"_type\": \"workflow.stage\",\n      \"_key\": \"stage-approved\",\n      \"label\": \"Approved\",\n      \"slug\": { \"_type\": \"slug\", \"current\": \"approved\" },\n      \"color\": \"#10B981\",\n      \"enablePublishing\": true\n    }\n  ]\n}\n```\n\nSave as `workflow.article.ndjson` and import:\n\n```sh\nnpx sanity dataset import workflow.article.ndjson production\n```\n\n---\n\n## Package entrypoints\n\nThe plugin exposes four entrypoints. Each maps directly to a section in [docs/reference.md](docs/reference.md).\n\n| Entrypoint                                     | What you get                                                                                                                                                                                                                  |\n| ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `@sanity-labs/sanity-plugin-workflows`         | `workflowsPlugin`, `WorkflowsPluginOptions` — the plugin function and its options type.                                                                                                                                       |\n| `@sanity-labs/sanity-plugin-workflows/schema`  | `withWorkflow`, every default schema type, every generator function, `reusableStatusTrackerField`, `generateStatusType`, `WorkflowListOption`, `SchemaDecorator`.                                                             |\n| `@sanity-labs/sanity-plugin-workflows/actions` | Action resolvers and direct factories: `workflowAuditTrailActionResolver`, `workflowTransitionActionResolver`, `workflowOffRampDocumentActionsResolver`, `createWorkflowTransitionAction`, `createWorkflowOffRampSlotAction`. |\n| `@sanity-labs/sanity-plugin-workflows/audit`   | `createWorkflowAuditInspector`, `WorkflowAuditInspector`, `useHasWorkflow`, `WorkflowAuditInspectorConfig`, `WorkflowStatusEntry`.                                                                                            |\n\n---\n\n## How this plugin relates to `@sanity-labs/workflow-kit`\n\nThis plugin is built on top of [`@sanity-labs/workflow-kit`](https://github.com/sanity-labs/workflow-kit), which provides the engine (`performWorkflowTransition`, `evaluateWorkflowStageGating`, `fetchWorkflowDefinition`, role/ACL helpers) and the React/Studio primitives (`StatusPathInput`, `WorkflowStatusPath`, the confirm/gated/off-ramp dialogs).\n\nReach for `workflow-kit` directly when:\n\n- You want to render the workflow path on a frontend (Next.js, etc.) — use `WorkflowStatusPath` from `@sanity-labs/workflow-kit/react`.\n- You're building a custom document action or server-side script and only need `performWorkflowTransition` — import it from `@sanity-labs/workflow-kit/engine`.\n- You want to embed the transition dialogs outside this plugin — the `Dialog` + `DialogContent` components are exported from `@sanity-labs/workflow-kit/react`.\n- You're writing a custom Studio input and want to use the raw `StatusPathInput` — import it from `@sanity-labs/workflow-kit/studio`.\n\nIf you're adding workflows to a Studio for the first time, this plugin is the batteries-included entry point. Use `workflow-kit` when you outgrow it.\n\n---\n\n## Troubleshooting\n\n**No \"Move to _next stage_\" action appears on a document.**\n\n- The document type is the plugin's default exclusion: `workflow.definition`.\n- No published `workflow.definition` exists where `documentType == \"<yourType>\"`. The decorator checks for the definition at validate time; the action only renders when `findNextWorkflowStage` returns a stage after the current `status`.\n- The document's `status` is the last stage on the happy path. There's no next stage to move to — the original `Publish` action is shown instead.\n- Publish action itself was suppressed earlier in the action chain. The transition wrapper only wraps actions whose `action === 'publish'`.\n\n**The `status` field doesn't get injected.**\n\nThe `withWorkflow` decorator intentionally skips types that already declare a `status` or `statuses` field (see [src/internal/schema/withWorkflow.tsx](src/internal/schema/withWorkflow.tsx) lines 55–60). This is the escape hatch used by `storyAdaptationType` in news_and_media. If you want the audit-trail `statuses` array on those types, add `reusableStatusTrackerField` manually.\n\n**The `assignments` field appears on a document type where I don't want it.**\n\nBy default the plugin injects an `assignments` array on every workflow-aware document. Two ways to suppress it:\n\n- Declare your own `assignments` field on that document type — the decorator sees an existing field with that name and leaves it alone.\n- Disable the injection globally with `workflowsPlugin({ injectAssignments: false })`. You can still add `{type: 'workflow.assignment'}` to specific array fields yourself.\n\n**Publish is blocked with _\"Cannot publish - document must reach …\"_.**\n\nThe publish-gating validator only allows publish on stages/off-ramps where `enablePublishing: true`. Flip the toggle on the target stage in the `workflow.definition` and republish the definition.\n\n**The transition dialog opens straight to the \"open tasks remaining\" view.**\n\nThe current stage has `enableCompletionGating: true` and there are open required tasks in the `-comments` addon dataset. Close the tasks, or add a role to `gatingOverrideRoles` on the stage so gating-privileged users can override.\n\n**Stage tasks never appear / console warns about a missing `*-comments` dataset.**\n\nTask templates and completion gating need Sanity’s comments/tasks addon dataset. Initialise it from Studio (not the CLI): open any document and **add a comment** or **create a task** once. That provisions `<your-dataset>-comments` correctly. Then retry the transition or assignment-ready ensure.\n\n**Types drift after editing a schema.**\n\nRe-run schema extraction and typegen in the consuming Studio:\n\n```sh\nnpx sanity schema extract\nnpx sanity typegen generate\n```\n\n**API version mismatch / \"could not resolve workflow\" errors.**\n\nIf your Studio pins a Sanity API version elsewhere, pass the same version to the plugin:\n\n```ts\nworkflowsPlugin({ apiVersion: \"2026-04-12\" });\n```\n\n---\n\n## Develop and test\n\nThis plugin uses [@sanity/plugin-kit](https://github.com/sanity-labs/plugin-kit) and [pkg-utils](https://github.com/sanity-io/pkg-utils). See [Testing a plugin in Sanity Studio](https://github.com/sanity-io/plugin-kit#testing-a-plugin-in-sanity-studio) for hot-reload setup.\n\nCommon scripts:\n\n```sh\npnpm build        # pkg-utils build with strict checks\npnpm typecheck    # tsgo --noEmit\npnpm lint         # oxlint\npnpm test         # vitest run\npnpm smoke:compat # build packed workflow-kit and plugin artifacts in a clean Studio\npnpm link-watch   # plugin-kit link-watch (develop against a local Studio)\n```\n\nFor compatibility releases, publish the workflow-kit changeset first. Verify its\npacked artifact in Sanetti, then publish the plugin changeset and repeat the\nSanetti build with the released versions. The CI compatibility matrix covers\nthe Studio 6.9.2/UI 4.0.1 minimum and the current Studio 6/Vite 8 release without\nSanetti dependency overrides.\n\n## License\n\n[MIT](LICENSE) © Sam Hemingway\n","readmeFilename":"README.md"}