{"id":179665159,"number":"0.21.3","published_at":"2026-03-10T12:35:37.112Z","licenses":"","integrity":"sha512-2A5c1ZgZzAquxD7LD1UkLlXG089WW8mgkJmq7i1av89jWDx1XE0R6Erya4eN94ZJ81H+VSLdCmyCpmDsEAeU9Q==","status":null,"download_url":"https://registry.npmjs.org/@loopstack/loopstack-studio/-/loopstack-studio-0.21.3.tgz","registry_url":"https://www.npmjs.com/package/@loopstack/loopstack-studio/v/0.21.3","documentation_url":null,"install_command":"npm install @loopstack/loopstack-studio@0.21.3","metadata":{"deprecated":null,"_npmUser":{"name":"loopstack.ai","email":"jakob@loopstack.ai"},"dist":{"shasum":"1e3a36351fd55a406f2468636fd570e7e002c228","tarball":"https://registry.npmjs.org/@loopstack/loopstack-studio/-/loopstack-studio-0.21.3.tgz","fileCount":1651,"integrity":"sha512-2A5c1ZgZzAquxD7LD1UkLlXG089WW8mgkJmq7i1av89jWDx1XE0R6Erya4eN94ZJ81H+VSLdCmyCpmDsEAeU9Q==","signatures":[{"sig":"MEQCIEhSXS+Zzh+P3DoGHx/yXDlsaQdzS20fMarciNL2Dye9AiB6oLElToINpRVI4WzD77sK7S8udJbz6ciSnIDyKt5MrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17489873},"gitHead":"eca3257ecdc12e8c145ed82f0bc2a32b85743ba0","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.788Z","updated_at":"2026-03-16T08:52:06.788Z","purl":"pkg:npm/%40loopstack/loopstack-studio@0.21.3","related_tag":null,"latest":false,"version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@loopstack%2Floopstack-studio/versions/0.21.3","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@loopstack%2Floopstack-studio/versions/0.21.3/codemeta","dependencies":[{"id":1956908213,"ecosystem":"npm","package_name":"ai","requirements":"^6.0.97","kind":"runtime","optional":false},{"id":1956908214,"ecosystem":"npm","package_name":"zod","requirements":"^4.3.6","kind":"runtime","optional":false},{"id":1956908215,"ecosystem":"npm","package_name":"clsx","requirements":"^2.1.1","kind":"runtime","optional":false},{"id":1956908216,"ecosystem":"npm","package_name":"cmdk","requirements":"^1.1.1","kind":"runtime","optional":false},{"id":1956908217,"ecosystem":"npm","package_name":"vaul","requirements":"^1.1.2","kind":"runtime","optional":false},{"id":1956908218,"ecosystem":"npm","package_name":"axios","requirements":"^1.13.5","kind":"runtime","optional":false},{"id":1956908219,"ecosystem":"npm","package_name":"katex","requirements":"^0.16.33","kind":"runtime","optional":false},{"id":1956908220,"ecosystem":"npm","package_name":"react","requirements":"^19.2.4","kind":"runtime","optional":false},{"id":1956908221,"ecosystem":"npm","package_name":"shiki","requirements":"^3.22.0","kind":"runtime","optional":false},{"id":1956908222,"ecosystem":"npm","package_name":"lodash","requirements":"^4.17.23","kind":"runtime","optional":false},{"id":1956908223,"ecosystem":"npm","package_name":"motion","requirements":"^12.34.3","kind":"runtime","optional":false},{"id":1956908224,"ecosystem":"npm","package_name":"nanoid","requirements":"^5.1.6","kind":"runtime","optional":false},{"id":1956908225,"ecosystem":"npm","package_name":"sonner","requirements":"^2.0.7","kind":"runtime","optional":false},{"id":1956908226,"ecosystem":"npm","package_name":"mermaid","requirements":"^11.12.3","kind":"runtime","optional":false},{"id":1956908227,"ecosystem":"npm","package_name":"date-fns","requirements":"^4.1.0","kind":"runtime","optional":false},{"id":1956908228,"ecosystem":"npm","package_name":"react-dom","requirements":"^19.2.4","kind":"runtime","optional":false},{"id":1956908229,"ecosystem":"npm","package_name":"tokenlens","requirements":"^1.3.1","kind":"runtime","optional":false},{"id":1956908230,"ecosystem":"npm","package_name":"remark-gfm","requirements":"^4.0.1","kind":"runtime","optional":false},{"id":1956908231,"ecosystem":"npm","package_name":"streamdown","requirements":"^2.3.0","kind":"runtime","optional":false},{"id":1956908232,"ecosystem":"npm","package_name":"remark-math","requirements":"^6.0.0","kind":"runtime","optional":false},{"id":1956908233,"ecosystem":"npm","package_name":"tailwindcss","requirements":"^4.2.1","kind":"runtime","optional":false},{"id":1956908234,"ecosystem":"npm","package_name":"lucide-react","requirements":"^0.575.0","kind":"runtime","optional":false},{"id":1956908235,"ecosystem":"npm","package_name":"rehype-katex","requirements":"^7.0.1","kind":"runtime","optional":false},{"id":1956908236,"ecosystem":"npm","package_name":"@xyflow/react","requirements":"^12.10.1","kind":"runtime","optional":false},{"id":1956908237,"ecosystem":"npm","package_name":"react-markdown","requirements":"^10.1.0","kind":"runtime","optional":false},{"id":1956908238,"ecosystem":"npm","package_name":"tailwind-merge","requirements":"^3.5.0","kind":"runtime","optional":false},{"id":1956908239,"ecosystem":"npm","package_name":"react-hook-form","requirements":"^7.71.2","kind":"runtime","optional":false},{"id":1956908240,"ecosystem":"npm","package_name":"react-router-dom","requirements":"^7.13.1","kind":"runtime","optional":false},{"id":1956908241,"ecosystem":"npm","package_name":"@tailwindcss/vite","requirements":"^4.2.1","kind":"runtime","optional":false},{"id":1956908242,"ecosystem":"npm","package_name":"@fontsource/roboto","requirements":"^5.2.10","kind":"runtime","optional":false},{"id":1956908243,"ecosystem":"npm","package_name":"@hookform/resolvers","requirements":"^5.2.2","kind":"runtime","optional":false},{"id":1956908244,"ecosystem":"npm","package_name":"use-stick-to-bottom","requirements":"^1.1.3","kind":"runtime","optional":false},{"id":1956908245,"ecosystem":"npm","package_name":"@loopstack/contracts","requirements":"^0.22.0","kind":"runtime","optional":false},{"id":1956908246,"ecosystem":"npm","package_name":"@radix-ui/react-slot","requirements":"^1.2.4","kind":"runtime","optional":false},{"id":1956908247,"ecosystem":"npm","package_name":"@radix-ui/react-tabs","requirements":"^1.1.13","kind":"runtime","optional":false},{"id":1956908248,"ecosystem":"npm","package_name":"embla-carousel-react","requirements":"^8.6.0","kind":"runtime","optional":false},{"id":1956908249,"ecosystem":"npm","package_name":"@loopstack/api-client","requirements":"^0.20.1","kind":"runtime","optional":false},{"id":1956908250,"ecosystem":"npm","package_name":"@radix-ui/react-label","requirements":"^2.1.8","kind":"runtime","optional":false},{"id":1956908251,"ecosystem":"npm","package_name":"@tanstack/react-query","requirements":"^5.90.21","kind":"runtime","optional":false},{"id":1956908252,"ecosystem":"npm","package_name":"@radix-ui/react-avatar","requirements":"^1.1.11","kind":"runtime","optional":false},{"id":1956908253,"ecosystem":"npm","package_name":"@radix-ui/react-dialog","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956908254,"ecosystem":"npm","package_name":"@radix-ui/react-select","requirements":"^2.2.6","kind":"runtime","optional":false},{"id":1956908255,"ecosystem":"npm","package_name":"@radix-ui/react-slider","requirements":"^1.3.6","kind":"runtime","optional":false},{"id":1956908256,"ecosystem":"npm","package_name":"@radix-ui/react-switch","requirements":"^1.2.6","kind":"runtime","optional":false},{"id":1956908257,"ecosystem":"npm","package_name":"unique-names-generator","requirements":"^4.7.1","kind":"runtime","optional":false},{"id":1956908258,"ecosystem":"npm","package_name":"@radix-ui/react-menubar","requirements":"^1.1.16","kind":"runtime","optional":false},{"id":1956908259,"ecosystem":"npm","package_name":"@radix-ui/react-popover","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956908260,"ecosystem":"npm","package_name":"@radix-ui/react-tooltip","requirements":"^1.2.8","kind":"runtime","optional":false},{"id":1956908261,"ecosystem":"npm","package_name":"@radix-ui/react-checkbox","requirements":"^1.3.3","kind":"runtime","optional":false},{"id":1956908262,"ecosystem":"npm","package_name":"@radix-ui/react-progress","requirements":"^1.1.8","kind":"runtime","optional":false},{"id":1956908263,"ecosystem":"npm","package_name":"class-variance-authority","requirements":"^0.7.1","kind":"runtime","optional":false},{"id":1956908264,"ecosystem":"npm","package_name":"react-syntax-highlighter","requirements":"^16.1.0","kind":"runtime","optional":false},{"id":1956908265,"ecosystem":"npm","package_name":"@radix-ui/react-accordion","requirements":"^1.2.12","kind":"runtime","optional":false},{"id":1956908266,"ecosystem":"npm","package_name":"@radix-ui/react-separator","requirements":"^1.1.8","kind":"runtime","optional":false},{"id":1956908267,"ecosystem":"npm","package_name":"@radix-ui/react-hover-card","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956908268,"ecosystem":"npm","package_name":"@radix-ui/react-collapsible","requirements":"^1.1.12","kind":"runtime","optional":false},{"id":1956908269,"ecosystem":"npm","package_name":"@radix-ui/react-radio-group","requirements":"^1.3.8","kind":"runtime","optional":false},{"id":1956908270,"ecosystem":"npm","package_name":"@radix-ui/react-scroll-area","requirements":"^1.2.10","kind":"runtime","optional":false},{"id":1956908271,"ecosystem":"npm","package_name":"@radix-ui/react-alert-dialog","requirements":"^1.1.15","kind":"runtime","optional":false},{"id":1956908272,"ecosystem":"npm","package_name":"@radix-ui/react-context-menu","requirements":"^2.2.16","kind":"runtime","optional":false},{"id":1956908273,"ecosystem":"npm","package_name":"@radix-ui/react-dropdown-menu","requirements":"^2.1.16","kind":"runtime","optional":false},{"id":1956908274,"ecosystem":"npm","package_name":"@radix-ui/react-use-controllable-state","requirements":"^1.2.2","kind":"runtime","optional":false},{"id":1956908275,"ecosystem":"npm","package_name":"vite","requirements":"npm:rolldown-vite@7.3.1","kind":"Development","optional":false},{"id":1956908276,"ecosystem":"npm","package_name":"husky","requirements":"^9.1.7","kind":"Development","optional":false},{"id":1956908277,"ecosystem":"npm","package_name":"eslint","requirements":"^10.0.2","kind":"Development","optional":false},{"id":1956908278,"ecosystem":"npm","package_name":"vitest","requirements":"^4.0.18","kind":"Development","optional":false},{"id":1956908279,"ecosystem":"npm","package_name":"globals","requirements":"^17.3.0","kind":"Development","optional":false},{"id":1956908280,"ecosystem":"npm","package_name":"prettier","requirements":"^3.8.1","kind":"Development","optional":false},{"id":1956908281,"ecosystem":"npm","package_name":"@eslint/js","requirements":"^10.0.1","kind":"Development","optional":false},{"id":1956908282,"ecosystem":"npm","package_name":"typescript","requirements":"^5.9.3","kind":"Development","optional":false},{"id":1956908283,"ecosystem":"npm","package_name":"@types/node","requirements":"^25.3.0","kind":"Development","optional":false},{"id":1956908284,"ecosystem":"npm","package_name":"lint-staged","requirements":"^16.2.7","kind":"Development","optional":false},{"id":1956908285,"ecosystem":"npm","package_name":"@types/dagre","requirements":"^0.7.53","kind":"Development","optional":false},{"id":1956908286,"ecosystem":"npm","package_name":"@types/react","requirements":"^19.2.14","kind":"Development","optional":false},{"id":1956908287,"ecosystem":"npm","package_name":"@types/lodash","requirements":"^4.17.24","kind":"Development","optional":false},{"id":1956908288,"ecosystem":"npm","package_name":"@dagrejs/dagre","requirements":"^2.0.4","kind":"Development","optional":false},{"id":1956908289,"ecosystem":"npm","package_name":"tw-animate-css","requirements":"^1.4.0","kind":"Development","optional":false},{"id":1956908290,"ecosystem":"npm","package_name":"vite-plugin-dts","requirements":"^4.5.4","kind":"Development","optional":false},{"id":1956908291,"ecosystem":"npm","package_name":"@types/react-dom","requirements":"^19.2.3","kind":"Development","optional":false},{"id":1956908292,"ecosystem":"npm","package_name":"typescript-eslint","requirements":"^8.56.1","kind":"Development","optional":false},{"id":1956908293,"ecosystem":"npm","package_name":"@vitejs/plugin-react","requirements":"^5.1.4","kind":"Development","optional":false},{"id":1956908294,"ecosystem":"npm","package_name":"@testing-library/react","requirements":"^16.3.2","kind":"Development","optional":false},{"id":1956908295,"ecosystem":"npm","package_name":"eslint-config-prettier","requirements":"^10.1.8","kind":"Development","optional":false},{"id":1956908296,"ecosystem":"npm","package_name":"eslint-plugin-prettier","requirements":"^5.5.5","kind":"Development","optional":false},{"id":1956908297,"ecosystem":"npm","package_name":"@testing-library/jest-dom","requirements":"^6.9.1","kind":"Development","optional":false},{"id":1956908298,"ecosystem":"npm","package_name":"@testing-library/user-event","requirements":"^14.6.1","kind":"Development","optional":false},{"id":1956908299,"ecosystem":"npm","package_name":"babel-plugin-react-compiler","requirements":"^19.1.0-rc.3","kind":"Development","optional":false},{"id":1956908300,"ecosystem":"npm","package_name":"eslint-plugin-react-refresh","requirements":"^0.5.2","kind":"Development","optional":false},{"id":1956908301,"ecosystem":"npm","package_name":"prettier-plugin-tailwindcss","requirements":"^0.7.2","kind":"Development","optional":false},{"id":1956908302,"ecosystem":"npm","package_name":"@types/react-syntax-highlighter","requirements":"^15.5.13","kind":"Development","optional":false},{"id":1956908303,"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"}