{"_id":"@dunnewold-labs/trading-kit","name":"@dunnewold-labs/trading-kit","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dunnewold-labs/trading-kit","version":"0.1.0","description":"Composable primitives for Coinbase and Alpaca trading","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":"./dist/index.js","./core":"./dist/core/index.js","./coinbase":"./dist/coinbase/index.js","./coinbase/auth":"./dist/coinbase/auth.js","./coinbase/rest":"./dist/coinbase/rest.js","./coinbase/stream":"./dist/coinbase/stream.js","./coinbase/public-stream":"./dist/coinbase/public-stream.js","./alpaca":"./dist/alpaca/index.js","./alpaca/rest":"./dist/alpaca/rest.js","./alpaca/stream":"./dist/alpaca/stream.js","./alpaca/asset-type":"./dist/alpaca/asset-type.js","./candles":"./dist/candles/index.js"},"scripts":{"build":"tsc","check":"tsc --noEmit"},"dependencies":{"jsonwebtoken":"^9.0.2","ws":"^8.17.0"},"devDependencies":{"@types/jsonwebtoken":"^9.0.7","@types/node":"^22.0.0","@types/ws":"^8.18.0","typescript":"^5.7.0"},"_id":"@dunnewold-labs/trading-kit@0.1.0","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-2rkvx5a4kfy+QnUfq4E8p3bAZ3h1mBJaQKyIokzizwhBQ/67sitoPy0UiWLO55CXndzgfCVWx0nk8j1WlViw4g==","shasum":"f1b45d11e4e9a00aa35156c41233310082b16574","tarball":"https://registry.npmjs.org/@dunnewold-labs/trading-kit/-/trading-kit-0.1.0.tgz","fileCount":90,"unpackedSize":149715,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD65pAI6V8CXVhqVQVydRGuUgnEP1IgzqlTi44t5wB95AIgdE1FQOqxfKdl5qwF4wUighfldbzK0KYLKy2cwtQQsjY="}]},"_npmUser":{"name":"ryandunnewold","email":"rmdunnewold@gmail.com"},"directories":{},"maintainers":[{"name":"ryandunnewold","email":"rmdunnewold@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trading-kit_0.1.0_1775505428906_0.31375250193785376"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T19:57:08.836Z","0.1.0":"2026-04-06T19:57:09.078Z","modified":"2026-04-06T19:57:09.289Z"},"maintainers":[{"name":"ryandunnewold","email":"rmdunnewold@gmail.com"}],"description":"Composable primitives for Coinbase and Alpaca trading","readme":"# @dunnewold-labs/trading-kit\n\nComposable primitives for Coinbase and Alpaca trading.\n\n## Install\n\n```bash\nnpm install @dunnewold-labs/trading-kit\n```\n\n## Packages\n\n### Coinbase\n\n```ts\nimport { CoinbaseClient, CoinbaseStream, CoinbasePublicStream, generateJWT } from \"@dunnewold-labs/trading-kit/coinbase\";\n```\n\n- `CoinbaseClient` — REST API client\n- `CoinbaseStream` — authenticated WebSocket stream\n- `CoinbasePublicStream` — unauthenticated WebSocket stream\n- `generateJWT` / `generateWSJWT` — JWT auth helpers\n\n### Alpaca\n\n```ts\nimport { AlpacaClient, AlpacaStream } from \"@dunnewold-labs/trading-kit/alpaca\";\n```\n\n- `AlpacaClient` — REST API client\n- `AlpacaStream` — WebSocket stream\n- `detectAssetType` / `normalizeSymbol` / `partitionByAssetType` — symbol utilities\n\n### Candles\n\n```ts\nimport { CandleBuilder, CandleAggregator, fetchCandlesPaginated } from \"@dunnewold-labs/trading-kit/candles\";\n```\n\n- `CandleBuilder` — build OHLCV candles from trades\n- `CandleAggregator` — aggregate candles across timeframes\n- `fetchCandlesPaginated` — paginated historical candle fetching\n\n### Core\n\n```ts\nimport { TypedEmitter, RequestQueue, ReconnectTimer } from \"@dunnewold-labs/trading-kit/core\";\n```\n\nShared primitives: typed event emitter, rate-limited request queue, reconnect timer.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-a5521f6b75d14945a80c080afb64f630"}