{"_id":"@json-render/devtools","_rev":"6-e051b1053c4940151c1001936af38931","name":"@json-render/devtools","dist-tags":{"latest":"0.21.0"},"versions":{"0.18.0":{"name":"@json-render/devtools","version":"0.18.0","keywords":["json","ui","devtools","inspector","generative-ui","debug"],"license":"Apache-2.0","_id":"@json-render/devtools@0.18.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@studiotate.com"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"563bb1b17526fbc8c6d4407da1968271a3feea31","tarball":"https://registry.npmjs.org/@json-render/devtools/-/devtools-0.18.0.tgz","fileCount":9,"integrity":"sha512-H5CuyJnIFGTT5eKB3YBHlTB4KNjvd3q85uNmkDA5hlYWm0qqWwiYrip2m3V7VEWzyZi+Dc+Pi0gaRX1reg1a+Q==","signatures":[{"sig":"MEQCIGiv7JmcPnhLl4xfvOojIkZ7e0eH35yhK3qUH2w/Ik5MAiB5GNSMnyMVLT4XBtPU8VNoWb4r2bB9GaeSoh2TJUUeFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":615572},"main":"./dist/index.js","_from":"file:json-render-devtools-0.18.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vercel-release-bot","email":"infra+release@vercel.com"},"_resolved":"/tmp/f2f66787e5b2ce6bed85746039ffd140/json-render-devtools-0.18.0.tgz","_integrity":"sha512-H5CuyJnIFGTT5eKB3YBHlTB4KNjvd3q85uNmkDA5hlYWm0qqWwiYrip2m3V7VEWzyZi+Dc+Pi0gaRX1reg1a+Q==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/devtools"},"_npmVersion":"10.9.7","description":"Framework-agnostic devtools core for json-render: event store, panel UI, picker, stream taps.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"@json-render/core":"0.18.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@internal/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/devtools_0.18.0_1776455155788_0.46823392066771197","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@json-render/devtools","version":"0.19.0","keywords":["json","ui","devtools","inspector","generative-ui","debug"],"license":"Apache-2.0","_id":"@json-render/devtools@0.19.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"047b27ffad4e4786c0363e77f254cd7c2ceba95c","tarball":"https://registry.npmjs.org/@json-render/devtools/-/devtools-0.19.0.tgz","fileCount":9,"integrity":"sha512-ECToHJCDUIwrlpRi6kX5mEqOsDIZ5k3XMARiJVey36qPi3z53W2yJsNpujBiQZHTTY44iEtIi93JxDptKk1gdg==","signatures":[{"sig":"MEQCIC1tZ7DjlSLgy0fGeIBQbAw7mRj+WvqWlSdIDT2+yiohAiA8x5Mn9RDHBauPVvAfFWo3btsyLnrChjjChb0mjijbNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2fdevtools@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":615572},"main":"./dist/index.js","_from":"file:/tmp/json-render-devtools-0.19.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5743cfef-c825-4d95-926a-3cb3cdb044d9"}},"_resolved":"/tmp/json-render-devtools-0.19.0.tgz","_integrity":"sha512-ECToHJCDUIwrlpRi6kX5mEqOsDIZ5k3XMARiJVey36qPi3z53W2yJsNpujBiQZHTTY44iEtIi93JxDptKk1gdg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/devtools"},"_npmVersion":"11.11.0","description":"Framework-agnostic devtools core for json-render: event store, panel UI, picker, stream taps.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@json-render/core":"0.19.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@internal/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/devtools_0.19.0_1778131427378_0.1997008984322548","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@json-render/devtools","version":"0.20.0","keywords":["json","ui","devtools","inspector","generative-ui","debug"],"license":"Apache-2.0","_id":"@json-render/devtools@0.20.0","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"homepage":"https://json-render.dev","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"5940d476df3b0edbf7aaedfec5855d3fef0375e4","tarball":"https://registry.npmjs.org/@json-render/devtools/-/devtools-0.20.0.tgz","fileCount":9,"integrity":"sha512-icMmtinhw9E7BHSFJlu6H+s1ZaKeZqhb7Zom2xKuP/SqGYQDiEg5BAZDAhGSiJa/8gI2Dz7wCz+V96C7ItCsdw==","signatures":[{"sig":"MEUCIGhFPnDnlRqGvrcjFHxptB/s9RUwPshWLYHVy+zsGjK3AiEAtlPZflw43ranuo1/MKHob3iuwI4IbUcN+23HFdG/vnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2fdevtools@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616780},"main":"./dist/index.js","_from":"file:/tmp/json-render-devtools-0.20.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5743cfef-c825-4d95-926a-3cb3cdb044d9"}},"_resolved":"/tmp/json-render-devtools-0.20.0.tgz","_integrity":"sha512-icMmtinhw9E7BHSFJlu6H+s1ZaKeZqhb7Zom2xKuP/SqGYQDiEg5BAZDAhGSiJa/8gI2Dz7wCz+V96C7ItCsdw==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/devtools"},"_npmVersion":"11.17.0","description":"Framework-agnostic devtools core for json-render: event store, panel UI, picker, stream taps.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@json-render/core":"0.20.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@internal/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/devtools_0.20.0_1786888449326_0.9218378170924093","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"_id":"@json-render/devtools@0.21.0","bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"dist":{"shasum":"ecdcc7743646a359da8ae81d7aa473c304fddec7","tarball":"https://registry.npmjs.org/@json-render/devtools/-/devtools-0.21.0.tgz","fileCount":9,"integrity":"sha512-KFP9l2Ekubkb9a1kjuhk9hly2oOmpJFJlQL0bAKz4j/wYrqXxztHB4EA8Aon+ZRbFgJWugjQjujGlpbW2NrGrg==","signatures":[{"sig":"MEQCIC+2uaxyvMehXMobN4TN0sKdblBFCcqh57fDMT0ENVOgAiBzVHYXenYDRlZg++l+PzkBtqZ1QlRDWFZptt5XSuiPNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDE27J6AYwlbgZqMNMapwcyAFxIrTfF0GxiPIM3rRypPAiEAwKyTAq5e++yaayzHsDF2G0R9sXRMciK3NAjDP2qaA+Q="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@json-render%2fdevtools@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":616780},"main":"./dist/index.js","name":"@json-render/devtools","_from":"file:/tmp/json-render-devtools-0.21.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"license":"Apache-2.0","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"version":"0.21.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5743cfef-c825-4d95-926a-3cb3cdb044d9"}},"homepage":"https://json-render.dev","keywords":["json","ui","devtools","inspector","generative-ui","debug"],"_resolved":"/tmp/json-render-devtools-0.21.0.tgz","_integrity":"sha512-KFP9l2Ekubkb9a1kjuhk9hly2oOmpJFJlQL0bAKz4j/wYrqXxztHB4EA8Aon+ZRbFgJWugjQjujGlpbW2NrGrg==","repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/devtools"},"_npmVersion":"11.19.0","description":"Framework-agnostic devtools core for json-render: event store, panel UI, picker, stream taps.","directories":{},"maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"_nodeVersion":"24.20.0","dependencies":{"@json-render/core":"0.21.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","typescript":"^5.4.5","@internal/typescript-config":"0.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/devtools_0.21.0_1789757468994_0.06487839009509755"}}},"time":{"created":"2026-04-17T19:45:55.661Z","modified":"2026-09-18T18:51:09.422Z","0.18.0":"2026-04-17T19:45:55.970Z","0.19.0":"2026-05-07T05:23:47.717Z","0.20.0":"2026-08-16T13:54:09.447Z","0.21.0":"2026-09-18T18:51:09.080Z"},"bugs":{"url":"https://github.com/vercel-labs/json-render/issues"},"license":"Apache-2.0","homepage":"https://json-render.dev","keywords":["json","ui","devtools","inspector","generative-ui","debug"],"repository":{"url":"git+https://github.com/vercel-labs/json-render.git","type":"git","directory":"packages/devtools"},"description":"Framework-agnostic devtools core for json-render: event store, panel UI, picker, stream taps.","maintainers":[{"name":"matt.straka","email":"matt.j.straka@gmail.com"},{"name":"vercel-release-bot","email":"infra+release@vercel.com"},{"name":"ctate","email":"chris@ctate.dev"}],"readme":"# @json-render/devtools\n\nFramework-agnostic core for the json-render devtools — vanilla TS panel UI, event store, DOM picker, and stream tap utilities.\n\nMost users never import from this package directly. Pick the adapter that matches your renderer and drop the `<JsonRenderDevtools />` component into your app:\n\n- [`@json-render/devtools-react`](https://www.npmjs.com/package/@json-render/devtools-react) — React\n- [`@json-render/devtools-vue`](https://www.npmjs.com/package/@json-render/devtools-vue) — Vue\n- [`@json-render/devtools-svelte`](https://www.npmjs.com/package/@json-render/devtools-svelte) — Svelte\n- [`@json-render/devtools-solid`](https://www.npmjs.com/package/@json-render/devtools-solid) — Solid\n\nSee the [devtools guide](https://json-render.dev/docs/devtools) for the full walkthrough.\n\n## Installation\n\n```bash\nnpm install @json-render/devtools\n```\n\nThis package is pulled in automatically by every framework adapter. Install it directly only if you're building your own adapter or using the stream tap utilities on the server.\n\n## What you get\n\n- **Event store** — capped ring buffer with `push`, `subscribe`, `snapshot`, `clear`.\n- **Panel** — shadow-DOM-isolated drawer with six tabs (Spec, State, Actions, Stream, Catalog, Pick).\n- **Stream taps** — wrap `pipeJsonRender` / YAML transforms to mirror patches into the event store.\n- **Picker** — DOM overlay that maps clicked elements back to spec keys via `data-jr-key`.\n\n## Example: server-side stream tap\n\n```ts\nimport { tapJsonRenderStream, createEventStore } from \"@json-render/devtools\";\nimport { pipeJsonRender } from \"@json-render/core\";\n\nconst events = createEventStore({ bufferSize: 1000 });\n\nconst tapped = tapJsonRenderStream(\n  result.toUIMessageStream(),\n  events,\n);\nwriter.merge(pipeJsonRender(tapped));\n```\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}