{"id":179665156,"number":"0.21.0","published_at":"2026-02-26T10:25:48.467Z","licenses":"","integrity":"sha512-QrYwyjad+p5Q8haygaqfgOmNgdEmJ5HEmhh/Cyud3NnV2Xo8XYveJZfF7miZkEqL339Lk67o/S47FMVTqtXRiw==","status":null,"download_url":"https://registry.npmjs.org/@loopstack/loopstack-studio/-/loopstack-studio-0.21.0.tgz","registry_url":"https://www.npmjs.com/package/@loopstack/loopstack-studio/v/0.21.0","documentation_url":null,"install_command":"npm install @loopstack/loopstack-studio@0.21.0","metadata":{"deprecated":null,"_npmUser":{"name":"loopstack.ai","email":"jakob@loopstack.ai"},"dist":{"shasum":"107050ce40d490229b4c6d7a0dc9f6924e4f8648","tarball":"https://registry.npmjs.org/@loopstack/loopstack-studio/-/loopstack-studio-0.21.0.tgz","fileCount":1018,"integrity":"sha512-QrYwyjad+p5Q8haygaqfgOmNgdEmJ5HEmhh/Cyud3NnV2Xo8XYveJZfF7miZkEqL339Lk67o/S47FMVTqtXRiw==","signatures":[{"sig":"MEQCIE8R4sI05wsiUjHXz1NM2SA43kF0dtbxyY+dNXfdomFUAiB05yVmfm0grJc1qha/1E0NXspY8R66XXZ5KkS+fKkhrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5924381},"gitHead":"7e9a87e6f4e2026464eb1863526884eac1279be4","main":"./dist/index.js","scripts":{"dev":"tsc -b \u0026\u0026 vite","lint":"eslint .","test":"vitest run","build":"tsc -b \u0026\u0026 vite build","format":"prettier --write .","preview":"vite preview","build:prod":"tsc -b \u0026\u0026 vite build --mode prod"},"_npmVersion":"10.8.2","_nodeVersion":"20.20.0","_hasShrinkwrap":false,"directories":{},"engines":null,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./*":{"types":"./dist/*.d.ts","import":"./dist/*.js"}},"browserify":null},"created_at":"2026-03-16T08:52:06.784Z","updated_at":"2026-03-16T08:52:06.784Z","purl":"pkg:npm/%40loopstack/loopstack-studio@0.21.0","related_tag":null,"latest":false,"version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@loopstack%2Floopstack-studio/versions/0.21.0","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@loopstack%2Floopstack-studio/versions/0.21.0/codemeta","dependencies":[{"id":1956907692,"ecosystem":"npm","package_name":"ai","requirements":"^6.0.97","kind":"runtime","optional":false},{"id":1956907693,"ecosystem":"npm","package_name":"zod","requirements":"^4.3.6","kind":"runtime","optional":false},{"id":1956907694,"ecosystem":"npm","package_name":"clsx","requirements":"^2.1.1","kind":"runtime","optional":false},{"id":1956907754,"ecosystem":"npm","package_name":"cmdk","requirements":"^1.1.1","kind":"runtime","optional":false},{"id":1956907756,"ecosystem":"npm","package_name":"vaul","requirements":"^1.1.2","kind":"runtime","optional":false},{"id":1956907759,"ecosystem":"npm","package_name":"axios","requirements":"^1.13.5","kind":"runtime","optional":false},{"id":1956907760,"ecosystem":"npm","package_name":"katex","requirements":"^0.16.33","kind":"runtime","optional":false},{"id":1956907761,"ecosystem":"npm","package_name":"react","requirements":"^19.2.4","kind":"runtime","optional":false},{"id":1956907762,"ecosystem":"npm","package_name":"shiki","requirements":"^3.22.0","kind":"runtime","optional":false},{"id":1956907792,"ecosystem":"npm","package_name":"lodash","requirements":"^4.17.23","kind":"runtime","optional":false},{"id":1956907793,"ecosystem":"npm","package_name":"motion","requirements":"^12.34.3","kind":"runtime","optional":false},{"id":1956907803,"ecosystem":"npm","package_name":"nanoid","requirements":"^5.1.6","kind":"runtime","optional":false},{"id":1956907804,"ecosystem":"npm","package_name":"sonner","requirements":"^2.0.7","kind":"runtime","optional":false},{"id":1956907805,"ecosystem":"npm","package_name":"mermaid","requirements":"^11.12.3","kind":"runtime","optional":false},{"id":1956907806,"ecosystem":"npm","package_name":"date-fns","requirements":"^4.1.0","kind":"runtime","optional":false},{"id":1956907807,"ecosystem":"npm","package_name":"react-dom","requirements":"^19.2.4","kind":"runtime","optional":false},{"id":1956907808,"ecosystem":"npm","package_name":"tokenlens","requirements":"^1.3.1","kind":"runtime","optional":false},{"id":1956907833,"ecosystem":"npm","package_name":"remark-gfm","requirements":"^4.0.1","kind":"runtime","optional":false},{"id":1956907837,"ecosystem":"npm","package_name":"streamdown","requirements":"^2.3.0","kind":"runtime","optional":false},{"id":1956907862,"ecosystem":"npm","package_name":"remark-math","requirements":"^6.0.0","kind":"runtime","optional":false},{"id":1956907887,"ecosystem":"npm","package_name":"tailwindcss","requirements":"^4.2.1","kind":"runtime","optional":false},{"id":1956907888,"ecosystem":"npm","package_name":"lucide-react","requirements":"^0.575.0","kind":"runtime","optional":false},{"id":1956907889,"ecosystem":"npm","package_name":"rehype-katex","requirements":"^7.0.1","kind":"runtime","optional":false},{"id":1956907891,"ecosystem":"npm","package_name":"@xyflow/react","requirements":"^12.10.1","kind":"runtime","optional":false},{"id":1956907916,"ecosystem":"npm","package_name":"react-markdown","requirements":"^10.1.0","kind":"runtime","optional":false},{"id":1956907917,"ecosystem":"npm","package_name":"tailwind-merge","requirements":"^3.5.0","kind":"runtime","optional":false},{"id":1956907918,"ecosystem":"npm","package_name":"react-hook-form","requirements":"^7.71.2","kind":"runtime","optional":false},{"id":1956907919,"ecosystem":"npm","package_name":"react-router-dom","requirements":"^7.13.1","kind":"runtime","optional":false},{"id":1956907920,"ecosystem":"npm","package_name":"@tailwindcss/vite","requirements":"^4.2.1","kind":"runtime","optional":false},{"id":1956907921,"ecosystem":"npm","package_name":"@fontsource/roboto","requirements":"^5.2.10","kind":"runtime","optional":false},{"id":1956907922,"ecosystem":"npm","package_name":"@hookform/resolvers","requirements":"^5.2.2","kind":"runtime","optional":false},{"id":1956907923,"ecosystem":"npm","package_name":"use-stick-to-bottom","requirements":"^1.1.3","kind":"runtime","optional":false},{"id":1956907924,"ecosystem":"npm","package_name":"@loopstack/contracts","requirements":"^0.21.0","kind":"runtime","optional":false},{"id":1956907950,"ecosystem":"npm","package_name":"@radix-ui/react-slot","requirements":"^1.2.4","kind":"runtime","optional":false},{"id":1956907954,"ecosystem":"npm","package_name":"@radix-ui/react-tabs","requirements":"^1.1.13","kind":"runtime","optional":false},{"id":1956907975,"ecosystem":"npm","package_name":"embla-carousel-react","requirements":"^8.6.0","kind":"runtime","optional":false},{"id":1956907976,"ecosystem":"npm","package_name":"@loopstack/api-client","requirements":"^0.19.0","kind":"runtime","optional":false},{"id":1956907977,"ecosystem":"npm","package_name":"@radix-ui/react-label","requirements":"^2.1.8","kind":"runtime","optional":false},{"id":1956907978,"ecosystem":"npm","package_name":"@tanstack/react-query","requirements":"^5.90.21","kind":"runtime","optional":false},{"id":1956907979,"ecosystem":"npm","package_name":"@radix-ui/react-avatar","requirements":"^1.1.11","kind":"runtime","optional":false},{"id":1956907980,"ecosystem":"npm","package_name":"@radix-ui/react-dialog","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956907981,"ecosystem":"npm","package_name":"@radix-ui/react-select","requirements":"^2.2.6","kind":"runtime","optional":false},{"id":1956907982,"ecosystem":"npm","package_name":"@radix-ui/react-slider","requirements":"^1.3.6","kind":"runtime","optional":false},{"id":1956907983,"ecosystem":"npm","package_name":"@radix-ui/react-switch","requirements":"^1.2.6","kind":"runtime","optional":false},{"id":1956907984,"ecosystem":"npm","package_name":"unique-names-generator","requirements":"^4.7.1","kind":"runtime","optional":false},{"id":1956907985,"ecosystem":"npm","package_name":"@radix-ui/react-menubar","requirements":"^1.1.16","kind":"runtime","optional":false},{"id":1956907986,"ecosystem":"npm","package_name":"@radix-ui/react-popover","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956907987,"ecosystem":"npm","package_name":"@radix-ui/react-tooltip","requirements":"^1.2.8","kind":"runtime","optional":false},{"id":1956907988,"ecosystem":"npm","package_name":"@radix-ui/react-checkbox","requirements":"^1.3.3","kind":"runtime","optional":false},{"id":1956907989,"ecosystem":"npm","package_name":"@radix-ui/react-progress","requirements":"^1.1.8","kind":"runtime","optional":false},{"id":1956907990,"ecosystem":"npm","package_name":"class-variance-authority","requirements":"^0.7.1","kind":"runtime","optional":false},{"id":1956907991,"ecosystem":"npm","package_name":"react-syntax-highlighter","requirements":"^16.1.0","kind":"runtime","optional":false},{"id":1956907992,"ecosystem":"npm","package_name":"@radix-ui/react-accordion","requirements":"^1.2.12","kind":"runtime","optional":false},{"id":1956907993,"ecosystem":"npm","package_name":"@radix-ui/react-separator","requirements":"^1.1.8","kind":"runtime","optional":false},{"id":1956907994,"ecosystem":"npm","package_name":"@radix-ui/react-hover-card","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956907995,"ecosystem":"npm","package_name":"@radix-ui/react-collapsible","requirements":"^1.1.12","kind":"runtime","optional":false},{"id":1956907996,"ecosystem":"npm","package_name":"@radix-ui/react-radio-group","requirements":"^1.3.8","kind":"runtime","optional":false},{"id":1956907997,"ecosystem":"npm","package_name":"@radix-ui/react-scroll-area","requirements":"^1.2.10","kind":"runtime","optional":false},{"id":1956907998,"ecosystem":"npm","package_name":"@radix-ui/react-alert-dialog","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956907999,"ecosystem":"npm","package_name":"@radix-ui/react-context-menu","requirements":"^2.2.16","kind":"runtime","optional":false},{"id":1956908000,"ecosystem":"npm","package_name":"@radix-ui/react-dropdown-menu","requirements":"^2.1.16","kind":"runtime","optional":false},{"id":1956908001,"ecosystem":"npm","package_name":"@radix-ui/react-use-controllable-state","requirements":"^1.2.2","kind":"runtime","optional":false},{"id":1956908002,"ecosystem":"npm","package_name":"vite","requirements":"npm:rolldown-vite@7.3.1","kind":"Development","optional":false},{"id":1956908003,"ecosystem":"npm","package_name":"husky","requirements":"^9.1.7","kind":"Development","optional":false},{"id":1956908004,"ecosystem":"npm","package_name":"eslint","requirements":"^10.0.2","kind":"Development","optional":false},{"id":1956908005,"ecosystem":"npm","package_name":"vitest","requirements":"^4.0.18","kind":"Development","optional":false},{"id":1956908006,"ecosystem":"npm","package_name":"globals","requirements":"^17.3.0","kind":"Development","optional":false},{"id":1956908007,"ecosystem":"npm","package_name":"prettier","requirements":"^3.8.1","kind":"Development","optional":false},{"id":1956908008,"ecosystem":"npm","package_name":"@eslint/js","requirements":"^10.0.1","kind":"Development","optional":false},{"id":1956908009,"ecosystem":"npm","package_name":"typescript","requirements":"^5.9.3","kind":"Development","optional":false},{"id":1956908010,"ecosystem":"npm","package_name":"@types/node","requirements":"^25.3.0","kind":"Development","optional":false},{"id":1956908011,"ecosystem":"npm","package_name":"lint-staged","requirements":"^16.2.7","kind":"Development","optional":false},{"id":1956908012,"ecosystem":"npm","package_name":"@types/dagre","requirements":"^0.7.53","kind":"Development","optional":false},{"id":1956908013,"ecosystem":"npm","package_name":"@types/react","requirements":"^19.2.14","kind":"Development","optional":false},{"id":1956908014,"ecosystem":"npm","package_name":"@types/lodash","requirements":"^4.17.24","kind":"Development","optional":false},{"id":1956908015,"ecosystem":"npm","package_name":"@dagrejs/dagre","requirements":"^2.0.4","kind":"Development","optional":false},{"id":1956908016,"ecosystem":"npm","package_name":"tw-animate-css","requirements":"^1.4.0","kind":"Development","optional":false},{"id":1956908017,"ecosystem":"npm","package_name":"vite-plugin-dts","requirements":"^4.5.4","kind":"Development","optional":false},{"id":1956908018,"ecosystem":"npm","package_name":"@types/react-dom","requirements":"^19.2.3","kind":"Development","optional":false},{"id":1956908019,"ecosystem":"npm","package_name":"typescript-eslint","requirements":"^8.56.1","kind":"Development","optional":false},{"id":1956908020,"ecosystem":"npm","package_name":"@vitejs/plugin-react","requirements":"^5.1.4","kind":"Development","optional":false},{"id":1956908021,"ecosystem":"npm","package_name":"@testing-library/react","requirements":"^16.3.2","kind":"Development","optional":false},{"id":1956908022,"ecosystem":"npm","package_name":"eslint-config-prettier","requirements":"^10.1.8","kind":"Development","optional":false},{"id":1956908023,"ecosystem":"npm","package_name":"eslint-plugin-prettier","requirements":"^5.5.5","kind":"Development","optional":false},{"id":1956908024,"ecosystem":"npm","package_name":"@testing-library/jest-dom","requirements":"^6.9.1","kind":"Development","optional":false},{"id":1956908025,"ecosystem":"npm","package_name":"@testing-library/user-event","requirements":"^14.6.1","kind":"Development","optional":false},{"id":1956908026,"ecosystem":"npm","package_name":"babel-plugin-react-compiler","requirements":"^19.1.0-rc.3","kind":"Development","optional":false},{"id":1956908027,"ecosystem":"npm","package_name":"eslint-plugin-react-refresh","requirements":"^0.5.2","kind":"Development","optional":false},{"id":1956908028,"ecosystem":"npm","package_name":"prettier-plugin-tailwindcss","requirements":"^0.7.2","kind":"Development","optional":false},{"id":1956908029,"ecosystem":"npm","package_name":"@types/react-syntax-highlighter","requirements":"^15.5.13","kind":"Development","optional":false},{"id":1956908030,"ecosystem":"npm","package_name":"@trivago/prettier-plugin-sort-imports","requirements":"^6.0.2","kind":"Development","optional":false}],"package_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@loopstack%2Floopstack-studio"}