{"_id":"@astropods/playground","_rev":"3-43b3607d9de03502a21be0b94bcba30a","name":"@astropods/playground","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@astropods/playground","version":"0.1.0","_id":"@astropods/playground@0.1.0","maintainers":[{"name":"saswat-pstmn","email":"saswat@postman.com"},{"name":"postmanaut","email":"rodric.rabbah@postman.com"}],"homepage":"https://github.com/astropods/playground#readme","bugs":{"url":"https://github.com/astropods/playground/issues"},"dist":{"shasum":"e03d85895c847d76e2255c3e904dc3231232d937","tarball":"https://registry.npmjs.org/@astropods/playground/-/playground-0.1.0.tgz","fileCount":21,"integrity":"sha512-MinYOu0jh8ka+DVoz/P7g393xTxhRZlmb/U4aVjTV5Czmkw159AmE8LoG5ZPcKZsmHgBOKGl/kmALOhVJoNKcw==","signatures":[{"sig":"MEUCIE5Bub9sNKWeWTIvjxSsovRJZLnPs7N5KP4jECNUz+9YAiEAvhZQo6WxdOsNCYqtYuwIWsPtAcep6hfJJKrQYiYGcrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3635081},"type":"module","gitHead":"366e4ab228f31284331299885be41cf017d801be","scripts":{"dev":"vite","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","typecheck":"tsc -b","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"postmanaut","email":"rodric.rabbah@postman.com"},"repository":{"url":"git+https://github.com/astropods/playground.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v24.9.0+arm64 (darwin)","description":"A web UI for testing and interacting with AI agents powered by [astro-messaging](https://github.com/astropods/messaging).","directories":{},"_nodeVersion":"24.9.0","dependencies":{"vite":"7.2.4","react":"^19.2.0","react-dom":"^19.2.0","react-icons":"^5.5.0","tailwindcss":"^4.1.18","lucide-react":"^0.562.0","@xyflow/react":"^12.10.0","@dagrejs/dagre":"^1.1.4","react-markdown":"^10.1.0","tw-animate-css":"^1.3.4","@astropods/theme":"^0.1.1","@tailwindcss/vite":"^4.1.18","@ricky0123/vad-web":"^0.0.30","@vitejs/plugin-react":"^5.1.1","@tailwindcss/typography":"^0.5.16","react-syntax-highlighter":"^16.1.0","@fontsource-variable/geist":"^5.1.1","@fontsource-variable/geist-mono":"^5.1.1","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^4","ws":"^8.19.0","zod":"^3","jsdom":"^26.1.0","lerna":"^9.0.4","vitest":"^3.2.1","@types/ws":"^8.18.1","typescript":"~5.9.3","@types/node":"^25.3.0","@types/react":"^19.2.5","@ai-sdk/openai":"^1","@types/react-dom":"^19.2.3","@testing-library/react":"^16.3.0","vite-plugin-static-copy":"^3.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/playground_0.1.0_1776639828154_0.6433875220161673","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@astropods/playground","version":"0.2.0","_id":"@astropods/playground@0.2.0","maintainers":[{"name":"saswat-pstmn","email":"saswat@postman.com"},{"name":"postmanaut","email":"rodric.rabbah@postman.com"}],"homepage":"https://github.com/astropods/playground#readme","bugs":{"url":"https://github.com/astropods/playground/issues"},"dist":{"shasum":"601b95f3d297a886310fbc9d0e2ac0e12c77e742","tarball":"https://registry.npmjs.org/@astropods/playground/-/playground-0.2.0.tgz","fileCount":21,"integrity":"sha512-K84NeMHosuZyGNI6Kroe32669c5CzLs6thnXlroNYSZ802zsFsy0G1gtjaZId4fpZG5dbe4SRB7JOrqqhVf2WQ==","signatures":[{"sig":"MEYCIQCvj6czzq35CoZgAYAytfNWbmU6rH3mH/usxY6KMPXnIAIhAJCjrwoxBkRmqEjaW7qLDLBbWpbEc3TBDsDQqA7YjUQD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@astropods%2fplayground@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3635081},"type":"module","gitHead":"70b5702d40bc79eec4c5074f08c8987c66a43713","scripts":{"dev":"vite","test":"vitest run","build":"tsc -b && vite build","preview":"vite preview","typecheck":"tsc -b","test:watch":"vitest","prepublishOnly":"bun run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:34818259-c59b-4c54-baca-378d72165088"}},"repository":{"url":"git+https://github.com/astropods/playground.git","type":"git"},"_npmVersion":"lerna/9.0.7/node@v20.20.2+x64 (linux)","description":"A web UI for testing and interacting with AI agents powered by [astro-messaging](https://github.com/astropods/messaging).","directories":{},"_nodeVersion":"20.20.2","dependencies":{"vite":"7.2.4","react":"^19.2.0","react-dom":"^19.2.0","react-icons":"^5.5.0","tailwindcss":"^4.1.18","lucide-react":"^0.562.0","@xyflow/react":"^12.10.0","@dagrejs/dagre":"^1.1.4","react-markdown":"^10.1.0","tw-animate-css":"^1.3.4","@astropods/theme":"^0.1.1","@tailwindcss/vite":"^4.1.18","@ricky0123/vad-web":"^0.0.30","@vitejs/plugin-react":"^5.1.1","@tailwindcss/typography":"^0.5.16","react-syntax-highlighter":"^16.1.0","@fontsource-variable/geist":"^5.1.1","@fontsource-variable/geist-mono":"^5.1.1","@types/react-syntax-highlighter":"^15.5.13"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^4","ws":"^8.19.0","zod":"^3","jsdom":"^26.1.0","lerna":"^9.0.4","vitest":"^3.2.1","@types/ws":"^8.18.1","typescript":"~5.9.3","@types/node":"^25.3.0","@types/react":"^19.2.5","@ai-sdk/openai":"^1","@types/react-dom":"^19.2.3","@testing-library/react":"^16.3.0","vite-plugin-static-copy":"^3.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1","conventional-changelog-conventionalcommits":"^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/playground_0.2.0_1776640310412_0.8774978022599862","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-04-19T23:03:48.072Z","modified":"2026-06-16T23:52:54.337Z","0.1.0":"2026-04-19T23:03:48.402Z","0.2.0":"2026-04-19T23:11:50.632Z"},"bugs":{"url":"https://github.com/astropods/playground/issues"},"homepage":"https://github.com/astropods/playground#readme","repository":{"url":"git+https://github.com/astropods/playground.git","type":"git"},"description":"A web UI for testing and interacting with AI agents powered by [astro-messaging](https://github.com/astropods/messaging).","maintainers":[{"email":"christopher.patty@postman.com","name":"chris_pm"},{"email":"saswat@postman.com","name":"saswat-pstmn"},{"email":"rodric.rabbah@postman.com","name":"postmanaut"}],"readme":"# Astropods Playground\n\nA web UI for testing and interacting with AI agents powered by [astro-messaging](https://github.com/astropods/messaging).\n\n## Features\n\n- Stream responses from AI agents via SSE\n- Multi-model selector (OpenAI, Anthropic, Google)\n- Tool call step indicators with live status\n- Reasoning token display\n- Agent config viewer with graph visualization\n- Markdown + syntax-highlighted code rendering\n\n## Development\n\n```bash\nbun install\nbun run dev\n```\n\nRequires `astro-messaging` running locally with the web adapter enabled:\n\n```bash\nWEB_ENABLED=true astro-messaging\n```\n\n## Docker\n\n```bash\ndocker pull astropods/playground\ndocker run -p 80:80 \\\n  -e BACKEND_URL=http://astro-messaging:8080 \\\n  astropods/playground\n```\n\n### Environment variables\n\n| Variable | Default | Description |\n|---|---|---|\n| `BACKEND_URL` | `http://astro-messaging:8080` | Where nginx proxies `/api` and `/health` requests |\n| `API_URL` | *(empty)* | Frontend API URL override — leave empty to use the nginx proxy |\n\n## Docker Compose\n\n```yaml\nservices:\n  playground:\n    image: astropods/playground\n    ports:\n      - \"80:80\"\n    environment:\n      BACKEND_URL: http://astro-messaging:8080\n```\n","readmeFilename":"README.md"}