{"_id":"@agenisea/sse-kit","_rev":"5-1b1a38f94677e1d261e3f4fb7d331d47","name":"@agenisea/sse-kit","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@agenisea/sse-kit","version":"0.1.0","keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","_id":"@agenisea/sse-kit@0.1.0","maintainers":[{"name":"agenisea-ai","email":"pqueryp@gmail.com"}],"homepage":"https://github.com/agenisea/sse-kit#readme","bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"dist":{"shasum":"4614267b0287211d86f3e1f70736f6e6239d908f","tarball":"https://registry.npmjs.org/@agenisea/sse-kit/-/sse-kit-0.1.0.tgz","fileCount":47,"integrity":"sha512-y2SG++Dgmmm6S5N8TvVNru3JdtSUgaL3GbkbJe6VNtRLOI/cq/1mWS89rerGQrF5OTwO7dqlFWmIXFbrtQ5SKQ==","signatures":[{"sig":"MEUCIQCQv5ywCRrfv8ZZcOKLxZ6aLlWCdoa2AujFrGB8opYcfAIgZbt/6xLyMrP/XLq5QRa/eM5Kjw5Uo4qZUDbjb3svyI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357227},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./server":{"import":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"require":{"types":"./dist/server/index.d.cts","default":"./dist/server/index.cjs"}}},"gitHead":"267fc840a71d175f47d5275f0eeb8986ec29f20b","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist","lint:fix":"eslint src --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run test"},"_npmUser":{"name":"agenisea-ai","email":"pqueryp@gmail.com"},"repository":{"url":"git+https://github.com/agenisea/sse-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a","devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.16","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"react":">=17.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sse-kit_0.1.0_1767038312742_0.6376896668327843","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agenisea/sse-kit","version":"0.1.2","keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","_id":"@agenisea/sse-kit@0.1.2","maintainers":[{"name":"agenisea.ai","email":"pqueryp@gmail.com"}],"homepage":"https://github.com/agenisea/sse-kit#readme","bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"dist":{"shasum":"96c6045dfd8d473f9bdc4bb18ff6c9b0696b2b1a","tarball":"https://registry.npmjs.org/@agenisea/sse-kit/-/sse-kit-0.1.2.tgz","fileCount":49,"integrity":"sha512-3MyRqfAE5980jKOLn8f3jl4hW0a7bJ2X5P7DqQd176tMilYB2I3N0Ds6ACxhyIuveS7N8dJUVDB93lha2Mu93g==","signatures":[{"sig":"MEUCIQDmBgxL/uK1jLZ0p+6q/bcbefo0xP9fqbiWnrKF/cNEGQIgRWYoZPTRxjIkpk6/hMZ9c7BS8VrrWoJ9qpFHg6aYoBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356795},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./server":{"import":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"require":{"types":"./dist/server/index.d.cts","default":"./dist/server/index.cjs"}}},"gitHead":"3e6fca443d9389842f492afa93d1c4cf85b55223","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist","lint:fix":"eslint src --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run test"},"_npmUser":{"name":"agenisea.ai","email":"pqueryp@gmail.com"},"repository":{"url":"git+https://github.com/agenisea/sse-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a","devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.16","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"react":">=17.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sse-kit_0.1.2_1767040516875_0.30145763302704065","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agenisea/sse-kit","version":"0.2.0","keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","_id":"@agenisea/sse-kit@0.2.0","maintainers":[{"name":"agenisea.ai","email":"pqueryp@gmail.com"}],"homepage":"https://github.com/agenisea/sse-kit#readme","bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"dist":{"shasum":"782138278b46b6d3f9ebdfd5045cb57b4c921173","tarball":"https://registry.npmjs.org/@agenisea/sse-kit/-/sse-kit-0.2.0.tgz","fileCount":49,"integrity":"sha512-Y/Y2o0fW4w0gVxJzD0nnwOl5dNJgimfTaTJepwvdezKJ2KmD8i5Rxk7LnMsDNnYKQBaIl4cMfLYBltOR7WgDJw==","signatures":[{"sig":"MEUCIQDuAwF37umfwrv1q3YKTgXTwtc+lmYlTfleGG4dpkX+jQIgTAuA/fj4vJUge2lteK9cqm9At0OgiCew0YffHj/CK/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":357996},"main":"./dist/index.cjs","type":"module","_from":"file:agenisea-sse-kit-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./server":{"import":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"require":{"types":"./dist/server/index.d.cts","default":"./dist/server/index.cjs"}}},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist","lint:fix":"eslint src --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"agenisea.ai","email":"pqueryp@gmail.com"},"_resolved":"/private/var/folders/n9/7xz1ttdx73b6qbc2njbm9b240000gn/T/0e7317f0740ddd237e790b356a1c4aaf/agenisea-sse-kit-0.2.0.tgz","_integrity":"sha512-Y/Y2o0fW4w0gVxJzD0nnwOl5dNJgimfTaTJepwvdezKJ2KmD8i5Rxk7LnMsDNnYKQBaIl4cMfLYBltOR7WgDJw==","repository":{"url":"git+https://github.com/agenisea/sse-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.16","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"react":">=17.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sse-kit_0.2.0_1770882647453_0.7858123636531373","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agenisea/sse-kit","version":"0.3.0","keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","_id":"@agenisea/sse-kit@0.3.0","maintainers":[{"name":"agenisea.ai","email":"pqueryp@gmail.com"}],"homepage":"https://github.com/agenisea/sse-kit#readme","bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"dist":{"shasum":"574433624c02310819b5c7c1183096473209a6fd","tarball":"https://registry.npmjs.org/@agenisea/sse-kit/-/sse-kit-0.3.0.tgz","fileCount":49,"integrity":"sha512-jXZmIfVdmbqEi9jRktk+TcccIxP5NZJp+Ly7WvHgb9YKOZcRctKV2bSZeWltKtewNnORpSN4TAoP50gu4P9Qiw==","signatures":[{"sig":"MEYCIQDsQszrL/x4jo2caRgRCZuN9g3a9kshDfC0UScTTspiqQIhAJyiCs+bIECU3LJyZgGTzXwX0fMhtL3mW2ML6rHbGcGR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359550},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./server":{"import":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"require":{"types":"./dist/server/index.d.cts","default":"./dist/server/index.cjs"}}},"gitHead":"bc4126551532bf5164d0be759c599c26d95967b2","scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist","lint:fix":"eslint src --fix","typecheck":"tsc --noEmit","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run test"},"_npmUser":{"name":"agenisea.ai","email":"pqueryp@gmail.com"},"repository":{"url":"git+https://github.com/agenisea/sse-kit.git","type":"git"},"_npmVersion":"11.6.2","description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a","devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.16","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.0.3","@types/react":"^19.2.7","typescript-eslint":"^8.50.1","@vitest/coverage-v8":"^4.0.16"},"peerDependencies":{"react":">=17.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sse-kit_0.3.0_1774752104090_0.8772538951521702","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agenisea/sse-kit","version":"0.4.0","description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server/index.d.ts","default":"./dist/server/index.js"},"require":{"types":"./dist/server/index.d.cts","default":"./dist/server/index.cjs"}},"./client":{"import":{"types":"./dist/client/index.d.ts","default":"./dist/client/index.js"},"require":{"types":"./dist/client/index.d.cts","default":"./dist/client/index.cjs"}},"./types":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/types/index.js"},"require":{"types":"./dist/types/index.d.cts","default":"./dist/types/index.cjs"}}},"sideEffects":false,"engines":{"node":">=18.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","typecheck":"tsc --noEmit","lint":"eslint src","lint:fix":"eslint src --fix","clean":"rm -rf dist","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run test"},"peerDependencies":{"react":">=17.0.0"},"peerDependenciesMeta":{"react":{"optional":true}},"devDependencies":{"@eslint/js":"^9.39.2","@types/node":"^25.0.3","@types/react":"^19.2.7","@vitest/coverage-v8":"^4.0.16","eslint":"^9.39.2","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.50.1","vitest":"^4.0.16"},"keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/agenisea/sse-kit.git"},"bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"homepage":"https://github.com/agenisea/sse-kit#readme","publishConfig":{"access":"public"},"packageManager":"pnpm@10.17.1+sha512.17c560fca4867ae9473a3899ad84a88334914f379be46d455cbf92e5cf4b39d34985d452d2583baf19967fa76cb5c17bc9e245529d0b98745721aa7200ecaf7a","gitHead":"f959b3c110cbf501d0ad899853bf34b9a9f84f5b","_id":"@agenisea/sse-kit@0.4.0","_nodeVersion":"23.11.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-1cExF8IMGlO50x5AchOqWyPn6wpoT0qcnMYPboZg4djNXwsHb3t7DlSi0ZbfGN1tlggcBVTzAfLFJCE9bCHU+g==","shasum":"f9178671e8950a2e6f2bb519359660f06810934d","tarball":"https://registry.npmjs.org/@agenisea/sse-kit/-/sse-kit-0.4.0.tgz","fileCount":49,"unpackedSize":358672,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDau96QQFWFRRqo7223nZgzWVWLQPasRnydL8KcDnNRKwIhAIp+/IP1ZKxG9ebhckB28A54XYcvxdSvJBs6n/Z5H1F9"}]},"_npmUser":{"name":"agenisea.ai","email":"pqueryp@gmail.com"},"directories":{},"maintainers":[{"name":"agenisea.ai","email":"pqueryp@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sse-kit_0.4.0_1775326646389_0.6217935628234121"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-29T19:58:32.654Z","modified":"2026-04-04T18:17:26.716Z","0.1.0":"2025-12-29T19:58:32.907Z","0.1.2":"2025-12-29T20:35:17.030Z","0.2.0":"2026-02-12T07:50:47.603Z","0.3.0":"2026-03-29T02:41:44.231Z","0.4.0":"2026-04-04T18:17:26.568Z"},"bugs":{"url":"https://github.com/agenisea/sse-kit/issues"},"author":{"name":"Patrick Peña / Agenisea™"},"license":"MIT","homepage":"https://github.com/agenisea/sse-kit#readme","keywords":["sse","server-sent-events","streaming","real-time","typescript","react","next.js","circuit-breaker","retry","backoff","resilience","observability"],"repository":{"type":"git","url":"git+https://github.com/agenisea/sse-kit.git"},"description":"Server-Sent Events streaming for TypeScript. Framework-agnostic with React hooks, circuit breaker, retry, and observability.","maintainers":[{"name":"agenisea.ai","email":"pqueryp@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/agenisea/sse-kit/main/assets/logo.png\" alt=\"sse-kit logo\" width=\"200\" />\n</p>\n\n# @agenisea/sse-kit\n\nServer-Sent Events streaming for TypeScript. Zero dependencies. Works with Next.js, Express, Hono, and any runtime that supports ReadableStream.\n\n## Features\n\n- **Server orchestration** — heartbeat, abort signals, observability hooks\n- **Client parsing** — stateful chunked and full response modes\n- **Resilience** — exponential backoff, circuit breaker, timeouts\n- **React hook** — full lifecycle management with retry support\n- **Tree-shakeable** — import only what you need\n\n## Design Philosophy\n\n`event:` = protocol (stream lifecycle). `data:` = application (your data, any shape).\n\nsse-kit is a pure transport layer. The SSE `event:` line drives state transitions. The `data:` line carries your payload — no wrappers, no reshaping. What you send is what you get.\n\n## Install\n\n```bash\npnpm add @agenisea/sse-kit\n```\n\n## Quick Start\n\n### Server\n\n```typescript\nimport { createStreamingResponse, createSSEResponse } from '@agenisea/sse-kit/server'\n\nexport async function POST(request: Request) {\n  const { stream, orchestrator } = createStreamingResponse({\n    signal: request.signal,\n    heartbeat: { intervalMs: 3000, enabled: true }, // default: 5000ms\n  })\n\n  ;(async () => {\n    orchestrator.startHeartbeat()\n    await orchestrator.sendUpdate('stage', { name: 'parsing', status: 'running' })\n    await orchestrator.sendData({ sections: 12, title: 'Report' })\n    await orchestrator.close()\n  })()\n\n  return createSSEResponse(stream)\n}\n```\n\n### Client\n\n```typescript\nimport { useSSEStream } from '@agenisea/sse-kit/client'\n\nfunction App() {\n  const { state, start, cancel } = useSSEStream({\n    endpoint: '/api/stream',\n    initialEvent: 'idle',\n    completeEvent: 'complete',\n    errorEvent: 'error',\n    onUpdate: (event, data) => {\n      if (event === 'stage') console.log('Stage:', data)\n    },\n    onComplete: (result) => console.log('Done:', result),\n    onError: (error) => console.error('Error:', error),\n  })\n\n  return (\n    <button onClick={() => start({ query: 'test' })}>\n      {state.isStreaming ? 'Streaming...' : 'Start'}\n    </button>\n  )\n}\n```\n\n## Documentation\n\n- [API Reference](./docs/API.md) — full API documentation\n- [Security](./docs/SECURITY.md) — security considerations\n- [Changelog](./CHANGELOG.md) — version history\n\n## License\n\nMIT\n\n---\n\n*Built by [Agenisea](https://agenisea.ai)*\n\n---\n\n&copy; 2025-2026 Patrick Pena / Agenisea\n","readmeFilename":"README.md"}