Pulse Agent
|
0889ee9117
|
feat(lib): add useLiveStream WS hook + useLiveMetrics + LiveMetricChart
feat(hooks): add useLiveStream generic WebSocket hook
- supports websocket/sse/polling transports
- exponential backoff reconnect with jitter
- circular buffer with configurable size
- typed filter callback per use case
- manual disconnect + reconnect + error state
feat(hooks): add useLiveMetrics derived hook
- sliding time-window cut
- moving average (configurable window)
- current / avg / min / max / ratePerSecond
- zero allocations per tick (memoized)
feat(charts): add LiveMetricChart molecule (Recharts)
- line + area variants, grid + tooltip
- moving-average overlay (dashed)
- ConnectionStatus atom in header
- status bar + compact mode
- 100% responsive, GPU via SVG ViewBox
feat(atoms): add ConnectionStatus indicator
- 5 states: disconnected/connecting/connected/reconnecting/error
- animated pulse, JetBrains Mono, pill style
- exported helpers: formatLatency / formatBytes
docs(pkg): bump v0.1.0 → v0.2.0, add recharts peerDep
|
2026-05-20 22:59:10 -03:00 |
|
pulse-agent
|
bbdb68a6de
|
feat(lib-core): biblioteca atomica @pulse-libs/core v1.0.0-beta.1
Esta commit conteudo a estrutura atomica completa:
- types: Result<T,E>, AsyncState<T>, Paginated<T>, SortConfig<T>
- utils: date, str, num, cn, debounce, throttle, storage, arr, obj
- validators: Zod schemas — email, password, uuid, url, phone, CPF/CNPJ, sanitizedStr, safeParse
- hooks: useToggle, useAsync, useDebounce, useLocalStorage, useMedia, useInterval, useOnClickOutside, useClipboard, useFetch
- components: Button, Input, Alert, Card, Spinner (atomic design pattern)
- build: tsup v8 ESM+CJS + DTS + sourcemaps — 0 erros
- tests: 57 testes 100% usuarios
- docker: multi-stage Dockerfile (node 20-alpine)
- config: vitest, tsup, tsconfig strict, .npmignore
Filosofia atomica:/utils ← /types ← /validators ← /hooks ← /components
Build: npm run build | Test: npm test | Publish: npm publish
🤖 Generated with Pulse (openclaw + nova-self-improver)
|
2026-05-19 21:43:03 -03:00 |
|