{"_id":"owls-insight-ts","_rev":"69-8d1c9eb35f192636be13823ff58b2299","name":"owls-insight-ts","dist-tags":{"latest":"0.73.0"},"versions":{"0.1.0":{"name":"owls-insight-ts","version":"0.1.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://github.com/Davidgsilva/owls-insight-sdk-js#readme","bugs":{"url":"https://github.com/Davidgsilva/owls-insight-sdk-js/issues"},"dist":{"shasum":"41ac544dd9a6a86eb61f7c9f119f70e851ddb48c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.0.tgz","fileCount":8,"integrity":"sha512-2CR+TYIiRFBmIFzG6p8PxplWWlPq9gH1Swp0ggQ1JZg7BnkE4V3ptyePj9B6D7Xil7YFMBfQOQV90StZuBJalQ==","signatures":[{"sig":"MEUCICnwN3tLA7yzCQHaLjrfrOKk4HUQmHXBXMvu/fjcOBKQAiEAkR6k62Bv13LwOQ/4feQWgnuYmwAdlN14QxNZlBfAUfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190066},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"321b0254b950531d821f33debfc552c5d3ecf837","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"repository":{"url":"git+https://github.com/Davidgsilva/owls-insight-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.0_1772860699341_0.9514100614922365","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"owls-insight-ts","version":"0.1.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","bugs":{"url":"https://github.com/Davidgsilva/owls-insight-sdk-js/issues"},"dist":{"shasum":"6424310ce0152527df61a9bf4b4d91bd69473a24","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.1.tgz","fileCount":8,"integrity":"sha512-MOr6nrKG1zfOof5fu+FklccUl/h6h3Q45K7mjJ6m48eqRZmZnU/5YMjPM4lNpC5TJOP6uLnfZvVqgDEUhfscuQ==","signatures":[{"sig":"MEYCIQDDmlKtvVpn6A0k6duBcmUGVXUU3i2LftK8tlLB8vrVagIhAJjCXuq42LPbjNU2vpq5tWzCQdeaRCP7+0E8BhZ1YLDI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190032},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"321b0254b950531d821f33debfc552c5d3ecf837","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"repository":{"url":"git+https://github.com/Davidgsilva/owls-insight-sdk-js.git","type":"git"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.1_1772861120560_0.16474668495672784","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"owls-insight-ts","version":"0.1.2","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.2","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"dd37e92f69b98f0f8c3fd6a4d2f8851b2155ec1e","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.2.tgz","fileCount":8,"integrity":"sha512-TxuOxpD4LklJS9c83e462eHCjK5Gg76EekGeFJ7G9gyHXaIPBb/YIgsHx1rXY6xiB4wP0bNvRjkIeYPG9IZf9A==","signatures":[{"sig":"MEYCIQD9suxAsa4wPtPSt+DKNERx8qAfajgzcqv0jQnyCM7GWAIhAPRZ8Q843aZhSNacGPaqig/1v5UksGaiha34vkFCOhH7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189832},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"321b0254b950531d821f33debfc552c5d3ecf837","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.2_1772861189429_0.8456586720276316","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"owls-insight-ts","version":"0.1.3","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.3","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"b27486933c3c522fc8384a00db3b01a74a0a8124","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.3.tgz","fileCount":8,"integrity":"sha512-iW9jUAUe/jl+99dckehL3mN31j9Fw7Mz+jqcbp5GXBnqspPV8/HkQR7SJ473qjy6c30mVgHROfebwRUMjo4TPg==","signatures":[{"sig":"MEYCIQCh71JnPkGsat+HcH5a7zfWqVR6E+CU4K4Vnkg1gFqz0gIhANv4TyScVdVutGToG5DpDn2gT99s1UNov6vLcwf6KKB6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189936},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"7a7d8400078341926ae86c7f67439f6e2f31e286","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.3_1772862308478_0.4204764655615383","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"owls-insight-ts","version":"0.1.4","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.4","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"7e32b5f8cfb8f63f9365063de9f59ef8ea8b6de0","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.4.tgz","fileCount":8,"integrity":"sha512-YyHPZWkNpCouycchCRHrUUO2Bz+A4a1IoSyiGkYBAZun1VeyclS+78m8IV7vOY2TH0qOk1mxdcsLp3bl/EU7sw==","signatures":[{"sig":"MEYCIQDyWnA4gDCzuoMxKUSW2V0hJU9WKDnMfRZKoamjwsvnwQIhAJP3n9cZMXpYFuccxc86yPbiNRMu4WBLpxw1HIIc6RMC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190119},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"7a7d8400078341926ae86c7f67439f6e2f31e286","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.4_1772866138969_0.9806286318313422","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"owls-insight-ts","version":"0.1.5","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.5","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"d096efe7a75100983eb94fc1047cb931bac41b90","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.5.tgz","fileCount":8,"integrity":"sha512-6/JtUDP4qsGEz8y95k1jJCO8qA4143f5B3fezpnb7SH0plivrOUlg9+vI+gWcauq2o+8rhA7RNgLpU0RVbue/A==","signatures":[{"sig":"MEUCIQDrRlDFgwrdmyN4tmL59pmrGq36uFcakZv+nln3Q2i9TgIgLxAnA3S6bhvCEMOXWn1PMP4t/rrZKspq7UeOlbHa7n4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199985},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"8b57d89a459237f1148c8cbab87dadf1281103e5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.5_1772870678715_0.6379047301173095","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"owls-insight-ts","version":"0.1.6","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.6","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"a12798a79c1eba48b91ff44f7ce42834619bab75","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.6.tgz","fileCount":8,"integrity":"sha512-csWNogCjxv8Ok/3q3vDk/VWgwu4OrEI7NGezUhbrwJCz9vYxUo8YqGehv+u2euIp97R65TRI41OF2Z4JWDjAyQ==","signatures":[{"sig":"MEYCIQCum8i8x/iBpqG8wFz28dxr+DEFuo1BIfP9l0TmlJzqdgIhAN0qMIj+eB+zhTgUOod/45iG3vFDnLqWrt48HFo6ZT3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207160},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"004e7c816e5423b58357ca6036a82197bf745ff0","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.6_1772921926323_0.9807236915018287","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"owls-insight-ts","version":"0.1.7","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.7","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"520824cbac18a8ced95d4cbc3444e2f43aab5b52","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.7.tgz","fileCount":8,"integrity":"sha512-YoZP77wdVwFCcX/vVvMGwusMSWAWj68dg4hHdsv/OkP30SQ1RbVyIrKtKT1FDgq4qEL18GfM7ALCnO7b1EhMlA==","signatures":[{"sig":"MEYCIQC0yRjQtUoRo2qjLnA0dMMuS8LrZ9J682Vtzjpx/VhotwIhAI4jS9yqOnXrNxevan2QsexbNnI7/pYLPuomcAkoDwiW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":207030},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"f86368f9818cff97d7ba903c99158b2249efd948","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.7_1772997180320_0.24129216162763512","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"owls-insight-ts","version":"0.1.8","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.8","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"de61898a07f9281457853ec5274335bd9658006f","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.8.tgz","fileCount":8,"integrity":"sha512-qHNH228rwaG2RnomGPAaxcivtcRAXQPcZmdI7T3WS7lAl9MBmyT5Epj7k1SW4zm5Y2JlAly/G6v44TejvrWpRw==","signatures":[{"sig":"MEUCIDNiTc9Or54dIXf1FdtxR3qIfXaI4nxN9+OmP7Q1CAcfAiEArW3rYR+GlWk2npnq/Q6IHa4RfWCSYdC/afe5k9khHSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210147},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"8381e864808f494280a33301c2c117dfe344f869","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.8_1773025956970_0.06403751975049454","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"owls-insight-ts","version":"0.1.9","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.1.9","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"0af8290d9f2285556da604998fa8c95dd4b7ae63","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.1.9.tgz","fileCount":8,"integrity":"sha512-bWELKmdRJqXSAR2rH+OfsQuFNomIc7MJuEFcC4oXxn9TzSrOzOgt4SX3U7AmniMBLYoewvSxJF9N6NaCNOBBQQ==","signatures":[{"sig":"MEUCIQChBnTetzncbGdGHA1WCDFlItGAZ2wljVaXiHgEefEZnwIgdg75Dt8AMWTs1Dr/6h9YwYFERh6/0AP1hpWGs4ugDmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209677},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"267e187c6f88b1c49bfef14bb55989159e02caaa","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.1.9_1773031367815_0.19734258859896103","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"owls-insight-ts","version":"0.2.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.2.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"1f0f2060f585f3a8f4e9ca3c504bc0b430fc90a6","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.2.0.tgz","fileCount":8,"integrity":"sha512-vTZ7GuDI6SH5zi2tbbHX7vCMConlRWzyebsDK0BwU86OjfVsjA47aG2qQDTHIulsIOVdx3wD4BkBxLuRswPlyA==","signatures":[{"sig":"MEUCIDFCeZrK3rIDhxX3ax/fKmP6/8ujVgX5wf/uYloz7cLYAiEAjOMTeMUbPgL0KSHciuEcv+Fsz04xvOdLqQHiSTGxX7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230470},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"6206b0881ba659568004759c79d731c76cce0be5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.2.0_1773114509843_0.7612642548525774","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"owls-insight-ts","version":"0.2.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.2.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"7a595d02c0f58855515aee6a62cc97160f5631d2","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.2.1.tgz","fileCount":8,"integrity":"sha512-NRBBBPqew+6x8U04CPY07mpj+nAQQKbQxkrg5ijg5erUIE/0QKxs8ewGd5j7/qta+T31pNsrYjIUXb3zFXTVpA==","signatures":[{"sig":"MEUCIG9R6aAGK/vuxDePRl8VxY4IbiFujPss4QbB4DczU4dVAiEAv42A2wsoTcaiVWNN+2HJ7bpM2Jdu9D9/n601OWMPpV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":234633},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"13f590fd30fdd8392d15706a721b799eb6e7d824","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.2.1_1773261814003_0.16684378272945533","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"owls-insight-ts","version":"0.3.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.3.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"1b046f49867c535b85bbc3d944b51d946b638763","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.3.0.tgz","fileCount":8,"integrity":"sha512-ZrR5vMgOrUT+HeUNGaM1OQk2kChrvXjMcc1fk+A1JJoFePT0RDlcuAJT97kT1zqVj46sZjm9f0KK5Dxsa7Llxg==","signatures":[{"sig":"MEYCIQDfFs7kewjg7fVkpeMAP05XDX/YjLzlRZjvDaraPqX78gIhAOy578vTusCJnsiOqOLM14sllWhbr50M3PWiMSmaQXi+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245884},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"ed0e00ba85328366828d973a0491405ca3cd4093","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.3.0_1773307049666_0.936871133121461","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"owls-insight-ts","version":"0.4.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.4.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"45fd8eb8f4bbe07ecb123ca8b373789658d99726","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.4.0.tgz","fileCount":8,"integrity":"sha512-CF89Qhmj/NIwRvhzFZHbvTi7e/ugk2YgyNeUO3QQPx42qJGCqIseB14oigALtn0Ea9nmhxTCi91WSwgxs/T8KA==","signatures":[{"sig":"MEQCIEHGTu8ChEJlUVw/OQx3SmYUgN0MIV/ArmI4OKMUCETpAiA/nw1MvqUyQvmp3WqTxvQ4qCGYwT0sbQ4ZrdYvnarisQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":262400},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"a82ad01305b13f52d937448e9cf979e2139164ab","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.4.0_1773420182291_0.2925007864790983","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"owls-insight-ts","version":"0.5.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.5.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"58490b0219dd776757266ed7dc1cb6672bde27f6","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.5.0.tgz","fileCount":8,"integrity":"sha512-MWHYe7yuCJvpt4mViFq3xXY+TC030HjhWTcZHCz90/g2u9PrG+5s8OsGz7nBHLX+udsbIhzEzOwOtfpQ76Hr+w==","signatures":[{"sig":"MEUCIH2GDU9ZUBKgwnRY1YYaqwT+MKAtFhc+SMRlm/NaDiejAiEAzuAwiVPdHUIUmS0Wx1N2kB0gJrU0sBEyphIOfkNUi5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":252514},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"e42c8d687ba9489617164d625652dedfae0539b7","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.5.0_1773459429766_0.9081666306723184","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"owls-insight-ts","version":"0.5.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.5.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"7cc1061e776a772991e2c5a2769c70ea61da9b2f","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.5.1.tgz","fileCount":8,"integrity":"sha512-s6XZ7c4tc5hbVMgDJjZR7dCFnSuLLc/+4ZKMeUOB2SGc2/CTWZz4Siap5gidPpEx+ephb1JPk6dbO5YQ02TdVQ==","signatures":[{"sig":"MEYCIQDmXXVaA+mVpdh4byBH5b7E/O0PQt6QOaJxzuCGzCRKDAIhAJik4IhKro55pTQmcGFe+8XorZc1Ym3eeKzKQ4DYF/NI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246413},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"74f0a8b612f07ccbd04908fc6db136f844519401","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.5.1_1773471112734_0.7509405475389381","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"owls-insight-ts","version":"0.6.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.6.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"f6034f8457a6de98b29a7fd64adc3d0d9a643634","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.6.0.tgz","fileCount":8,"integrity":"sha512-PQJLK95uHsGYgpnXr7x0xen+B58PgGUtlbh6YY/tmerrrorBhV4A3/mLjZVoMf55WFOShnwCWtddvM30cSfvoQ==","signatures":[{"sig":"MEUCICjFzLg65CQeu53I9QEajc2mzOrYzkIkHSBJg1KWGJW+AiEAqUvBCqdme2O59Gn+XDYIBEKIdJYacrFzuaagvfB/GKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":248086},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"e420ef7d8bed6506360d08967b87f73a8f67be2d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.6.0_1773550507823_0.9440711942374052","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"owls-insight-ts","version":"0.7.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.7.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"207b2d1462f0409a5554e0e5504abf0ad18d5b5d","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.7.0.tgz","fileCount":8,"integrity":"sha512-BxO4tciKYqGj6Pl/v7/xMxVDJTZt1F5yCITQHlKio8j56hnSlCo4BzaZpTWngMViI4Yqmb1TtHZQZRGhcfCsWA==","signatures":[{"sig":"MEYCIQDrpLgBf20jS2HTjnyM5PNHsVcq9emmyYTg7y3CwgPg0QIhAJ8TtILx7hx2m2aw/HOX1nHg962+3BVzbvhxR1gySSDe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257004},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"0863a0b4cce399699c91947e3a25b159d9f67365","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"10.9.2","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.7.0_1773812194158_0.6758948480432585","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"owls-insight-ts","version":"0.7.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.7.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"90e9d9f8274058eaf3b404ccea4d7bb3cf39dedd","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.7.1.tgz","fileCount":8,"integrity":"sha512-3+/RfXsMj5Hw/wKC1Afbj8yf4kQMCqCG84IBhptQDdSbhPrgZWZiUH2BesTUNkKrWhb2n05Ne+iWEpu6PGsJcQ==","signatures":[{"sig":"MEQCIGm0WTlX4r1zKEcVKw/ZlrVQoao5H6KFpnY908yHBMjmAiA+lKD35ZCXQOhr0ClR071kz9NUd+vDHsZsRyksXuBK/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":256584},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"342c7a1f4d8e55f4879fc9cf3446cfd989b3aade","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.7.1_1773911537438_0.05330737420591469","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"owls-insight-ts","version":"0.7.2","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.7.2","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"257320984adb9d007633f24ee86db338e0b7701c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.7.2.tgz","fileCount":8,"integrity":"sha512-IeqZRD4ITooPoWQjt0cls7fnRt6CvfWLQfvL9fVX5RCJlHJWLIJPuejEpCC0DW2flc0vYK0mqqt60Lie5O/gNA==","signatures":[{"sig":"MEYCIQCJpRrXtlbcJRUq42o6Yml3PqBNp7tZuywGkAN8niJpgwIhAK1nbkeZ0b3Nq5jwa32B5us+/4kxnf931tOSbH/A1UaO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257875},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"bfda0fb16b10d58eb585bb5bb18bdce616ac0980","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.7.2_1773997663340_0.745519720124745","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"owls-insight-ts","version":"0.8.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.8.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"15572713b529f107466324f5ea57acebdaf5fa6d","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.8.0.tgz","fileCount":8,"integrity":"sha512-8hLSXSizNwdVXIQ5odx6uq+lPrW9Gb9P2hFeFTgmIA9QDnvhs6hgV1Gr9vCYYrFL2C9JB/A2KdEVDj8wBLtklQ==","signatures":[{"sig":"MEYCIQCJ4jvCyG3wsGnRMUPVitMlpPK09RDxJuVpEjL450UzxwIhAJ6KWVyBZzfJ3eQaaD5dbubOFWQxKgtlpba7Sa34m77k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265130},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"a606a80a3e5c5ee87fe7e69a2f4cef3ca05516ec","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.8.0_1774083500782_0.0004981725177326535","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"owls-insight-ts","version":"0.9.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.9.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"15f0cd371fbb5e6826126f65e961d51050470c01","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.9.0.tgz","fileCount":8,"integrity":"sha512-Jk5VCUqYefanJ/wNlumV0+IwTX2eC7j4Fm83sgfKCXBuMBcSdkTYU/OVDIQABnJcTsVdgnFFph1EuwMtO/R6rw==","signatures":[{"sig":"MEQCIHyuTDfXrAOaS7UYZf4ggDuQMlAQmnt/v8KGJj6hODeNAiAuLlxoC8bM25IJp+OelHSsGcw5Lt4yVHabY7GmO9Qukw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":266716},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"8a2497d06f551a3e9caf879a88ee20924fd1ffe0","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.9.0_1774118703099_0.5646389228746067","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"owls-insight-ts","version":"0.10.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.10.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"df87274af8339403536b385bbbac24347b67fce7","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.10.0.tgz","fileCount":8,"integrity":"sha512-hL263pxX2YeHCRIpwAVYk/xFi4ucV6XhUcbbXHlmNYc79Tuh25J2OIf824x8eJnJBDgJcHree0cLc3gnrbC+HQ==","signatures":[{"sig":"MEUCIC1swNa9MSJz7D7dn7yM0/M+yiHwdkxVDlRbzGwkjrTJAiEA4QbKzX6+/kDpC2DEZfyITKzJwXX3SmW/Vs44yhPazPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272545},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"78575ea41bd7d0f60993dd9d170e806fbf43282d","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.10.0_1774424851471_0.47400708965151095","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"owls-insight-ts","version":"0.11.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.11.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"3a91d13ee3a308aceeefe63534e2ef9f8a587e6d","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.11.0.tgz","fileCount":8,"integrity":"sha512-9TUi2DhnYAcxcfsszddu2Ly6pg5fhjKaPBVWU4nix8texwto6JqEZ3YZQGsGGDWJHZZYFz+hHi1BSf+ZXRdT4g==","signatures":[{"sig":"MEQCIFvYcyLOqFpdX6iufCJUMayyiSreJliWVsgUTVXG4QMPAiB3vmBShacgG5oi3FsYd260Sy0/xyYZa4QKImEDyowrDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272837},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"f064926442dddc798a69c51c9c2dc2c369ec5821","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.11.0_1774689201638_0.490913267697082","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"owls-insight-ts","version":"0.12.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.12.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"db74ef07432d6a09a2f57b73e9fa1fee42bdc1ed","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.12.0.tgz","fileCount":8,"integrity":"sha512-KPwYEjxqhGkJq4q9iJKRZQ/nHKD+GEeKVbrzJ4G3mCd8nKLCGgL+jyRSh09CULCU/E0iAdccuowzIzjvYOCDxw==","signatures":[{"sig":"MEQCICSC3h6F1m+CACOhk7EdN3jmgjMReJU5RYm9YF1EzM6qAiBhw0ZUUZHcVjPKvobiXGLCoJtZsYQosBcGCH9SvniFIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272965},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"bf0ae219118f648465525b5f1b6d22d67a0a5e94","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.12.0_1774943999413_0.7221175143223437","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"owls-insight-ts","version":"0.12.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.12.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"77f8ef036490dff8ae346ee0eda600233d6ea8ee","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.12.1.tgz","fileCount":8,"integrity":"sha512-bT3d/5PlMG5u0k8U8RpnYtEWfkCnQYtzGrLjjIVtwNCi00jcSaeU3n5cAirorHDBOi3DojoaiKU35JU/7Chljg==","signatures":[{"sig":"MEQCIClZh86uQpwutI+QvHHWDjruHB1CiKQtYNfpIBr0AVQvAiBrIBst8PzzDUJQz2Rir0/MqhHnGT+EjOTbICraz9+bTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273469},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"227661dbdf7a098613b4d8f70ba9edeb04a47e08","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.12.1_1775035711756_0.6139965347546672","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"owls-insight-ts","version":"0.14.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.14.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"c874557b3f9b79a99e310b34c82c90fa1e5ebd32","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.14.0.tgz","fileCount":8,"integrity":"sha512-zs3022Jjm0kvm7J0jejODLycfu1m9xzzTndgd9+yU2C4KcXNeWwFt+cR08f6eRODCOUM9X44ihs/lmfqLDfnAA==","signatures":[{"sig":"MEYCIQDmgOd33EOwUvo6qRoy4v0nASYqRwUuZUVYy9VDjWcSEQIhALTfDcU+9prc3reE3BtVuvZ/JTf8Q6CO5zRyD3/XTPLd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277123},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"7b3d9e37cd583dc99214d1a04c2b47c8500656e5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.14.0_1775630510824_0.7197794103623725","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"owls-insight-ts","version":"0.16.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.16.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2c0c0c4e7bfcecef68e4813b863f1d72c5a5f724","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.16.0.tgz","fileCount":8,"integrity":"sha512-7oJ2B+doQoVgYNVDGk57588/qAoXFuXaAV5WBkMf9U+D0huktv59Frf+fAQz0vsFlN7W1BZjbhsFBU9oNHYcvA==","signatures":[{"sig":"MEQCIGvg4CQF5BQaslt02FRmg+d89Kg95EY4CAkGDC6/btSwAiBKnisT8ArYXW4qDrHw5Cz74TjP4eXa/7ZZDOfJjamH/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":330912},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"2d73486f196164ff65c3e009ee4f5b4f8699e619","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.16.0_1776141483322_0.7477623935003896","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"owls-insight-ts","version":"0.17.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.17.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"43a85d82dcc45d794bf6332206050ff4026fe8b3","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.17.0.tgz","fileCount":8,"integrity":"sha512-clKYJ4ihptNlGFL2VaW9uPM++8PXj2DvELj3XnMCSrTlIZ86+yGFH1bZGCSRkZ64Q8I7cmUdmfywUBqhwsvPjw==","signatures":[{"sig":"MEYCIQD9GKPX7DyJkBz81z0MVJlJQyrc+dvhrYN53Dt/AYuDigIhAKZU41VMqUgZwAqiFNPGx97VH2beXi7wYpUqdTb3esNx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":354160},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"4d57f74f08df34a45998525b877cd2075b16ebcb","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.17.0_1776443956223_0.3826516544849259","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"owls-insight-ts","version":"0.18.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.18.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"096136ca3b268331c35a2394dafced8b0b5605aa","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.18.0.tgz","fileCount":8,"integrity":"sha512-2CHCTGdL+832A8ALkclXNyDRL1IYt4JTUqQJRfk/6rOr1zVjoIzMUKz/g/IbdrIjOoI5tVk3I6BMsHoN3Mu7Jw==","signatures":[{"sig":"MEYCIQC6FjFpfLj4g7375qg812nVFO2cRtQMApLXT+EXOStF3wIhAKyecgdIjWIMVyH8B4NTkUBXoCTth7Ow4G8NPqW+6MYh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":355536},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"9cb795fb3b17a7c3aee21b1173ccdda4441820af","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.18.0_1776920703485_0.15317376926332327","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"owls-insight-ts","version":"0.19.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.19.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"bf3647809cc85fb8ebbe58081dee47bebb5d6f01","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.19.0.tgz","fileCount":8,"integrity":"sha512-eSQo0owQei/zBeM1b2jtFESaKewcs7ypFrBgM9EwU+na4fZcq+QWyoY/COT+oC0yQsO2gNpbpO2pV93nOXpUPQ==","signatures":[{"sig":"MEYCIQCbQK09xHDXxq8yZr2QHT0tm33dv8fZM1eVQLYYI57k3QIhAJgWUG3Wg1Zsiu5us1BdNtplUOSn7zJClfrgQgfANzN/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":363588},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"c442f8c006d6893c2dfab33802859c9fdea7e9ea","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.19.0_1777360535205_0.04627763803906526","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"owls-insight-ts","version":"0.20.1","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.20.1","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"3d52f8c31db8adb3f3ab8d91d4ab80668f5b2993","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.20.1.tgz","fileCount":8,"integrity":"sha512-lvQ15BdLMsRX8+0IIUiXYVAs9nBD7CHJS/HiaCRIdpdQzwD2Pa/0jH+UdFIdYfQsVpMDO7AH4oloBc1NVZtUZg==","signatures":[{"sig":"MEQCIHIkBOz652pV3tzR8yDCfQNmlgBU7f8lNecZcb35xReVAiBk88KmJsz+DEX4v02j5As8P5uriheN3wq4Y27LzQ+z1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376253},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"9bd73cbeb200aff74feaeced1f7cc43238d13d54","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.20.1_1777441471015_0.9124212439559134","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"owls-insight-ts","version":"0.21.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.21.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"a95b46720c314ad4439f4bc9b24df768f54eb755","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.21.0.tgz","fileCount":8,"integrity":"sha512-mMkzYa8VcsluP7p0pd1PykJGer2AUpdHRji/50DT48ljP1oQB0ghGYAhKotOPjWy8VpRTM04SoLULvA70EArtA==","signatures":[{"sig":"MEQCIF1z2kOyVY60AZfqOpOqeH5J+Av02XVGq4UotWSCjakZAiA3K1QAHKFEaKtSHfYrYpKanUi7Kvks68St/0E5zfw9nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429258},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"a19ddfc291c133a0c19b298ec28ca6d6ed94cc21","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.21.0_1777612381113_0.9032241817443794","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"owls-insight-ts","version":"0.22.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.22.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2cec9cc5fda2f1e4b14f7fbd206d1d0d9f55f19c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.22.0.tgz","fileCount":8,"integrity":"sha512-Rr44XWHviXusHOtFDw6Gtlq7kljt/fkRyAJtxuCvgFt34Y4ncSJCzdlLXLing4IJJDhTxmLq2DmMwD1n/tazPg==","signatures":[{"sig":"MEYCIQDKz1EGeVHEo9iZNRfAoRZmULEOoh+UDME+ZGvi76TUkAIhAPki0nSFp366sgCmXZgDmILJHJcK9X4xrAR0ozZI+ICl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":450852},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"dfe04b4bf0244f80eeebd15ec2ce4ab4bdb6c434","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.22.0_1777833715474_0.4458567413712162","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"owls-insight-ts","version":"0.23.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.23.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"44cedd690637033c214fb73405fd8414af62c172","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.23.0.tgz","fileCount":8,"integrity":"sha512-7RF/ekpfGfa2vnJodFm7PNHpsrOJIiRi1VuEYYynt9uncYILlBamESOGlIJdsTT2Yn2UedZ+LSbSOOSeZcfgPg==","signatures":[{"sig":"MEQCIC0/3odUAGx+2EgXa2iyutOMgVPa7SNNwcrYqgUp5IAwAiBkVCGPCVRGuP0jdeoaLsxAXT3VfWJ0xA4ZkWb50M391g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451128},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"993fd469f255cec6e8fd910fa8f9da9824a825f3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.23.0_1777965270929_0.29853633491461773","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"owls-insight-ts","version":"0.24.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.24.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"4e5a9462860bbf9a465cb10ef230566de083d50c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.24.0.tgz","fileCount":8,"integrity":"sha512-HlLKa7dM1JNj9Ma6gmYxxQAFgom2lMxWV8rslBIvV107hBv0TzCiAkAEo0dcvl6Ep3mbx1FhVFymc8/yGdDcHA==","signatures":[{"sig":"MEYCIQCjUMUCH4OD4oY4eWWwH9VI2UTFDdCaDIh9HfDMK60v/gIhAKsweHfJUfwdPC31uMOgRhe5l9Vz81z824/VuBY8ptxR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":451818},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"f3d796c66b517996a85fcaa66f0ca098f152f725","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.24.0_1778143397634_0.2907605320054498","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"owls-insight-ts","version":"0.26.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.26.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"11414cfcec3a5482deb877ab4962287552478b6a","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.26.0.tgz","fileCount":8,"integrity":"sha512-JJ2eN11bYMllFqT6MizD/1arf81cbOSozt2pertj1fhPHQtowh7xp5BRo/fe2TLc+0e9NNJ9XSRFcGcd22kHkg==","signatures":[{"sig":"MEYCIQCjRZRFMLUgFYa6IfGfFs9nthcHwWtd7RvF0ZIRGfOomgIhAK+cIr7oOK7nPJLv3lBzENCzcZoCZULql3i72hAIej4X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493750},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"77947a32677f7c4b022b5d7f6dab4ab50c60b9fc","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.26.0_1778567283373_0.7714536572147923","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"owls-insight-ts","version":"0.27.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.27.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"fb66eb3cf13775629a39981c7c1c2578e2714dd2","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.27.0.tgz","fileCount":8,"integrity":"sha512-OAEXqibxVGNhydW+eUCXMawLrc0E24CNcYqUQZMO860PM0b2rK4yqOOpe1kw8RblDBDIBJ+BYFVa3W5x+BVBHg==","signatures":[{"sig":"MEUCIAh1LRcE9Dr/EoT/la3otDqqOJWVND4JBSo4VN96x0nQAiEA/gTwIsBboncKTjxLvBP8XjhklhUKGqlKWrwaUWYCAcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498747},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"7b321d0f500b9bf500115a61320259a306f55f9c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.27.0_1778570615863_0.5330748205725195","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"owls-insight-ts","version":"0.29.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.29.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"0568641b3830802f61754b9a4894ad69f30392dd","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.29.0.tgz","fileCount":8,"integrity":"sha512-dGOxkiEwtJCn120LjvjthDZVJ+2QdHQmXXTBnHnTm8Uab+d3vbtjmiFuPl3MudOyZFUpTWWkXydXFGDRCqq6dg==","signatures":[{"sig":"MEYCIQDWbkT/EZUOn6tCtXLnU8d6xrWVk6dZglbQD0j/5Nw2IQIhAPTcWZy2gPcRWhFiZN78nwZFA35VLXNPLBtWqLM78fHz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517892},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"1d0afcf284bb5b1924e5e6be04e5d7ff402e982b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.29.0_1778740637951_0.14737677482956624","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"owls-insight-ts","version":"0.30.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.30.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"a8bd6581cc8687638a0d9cec7cc8621fbb85c52c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.30.0.tgz","fileCount":8,"integrity":"sha512-5218O3C8n1eLTuS5/6Kd67+eSgzQYJW/5YD8FFbuqae/b/2fzRwpT+X6Vijtl4rzuUyf1xwUUprX1NCx0/Xk3A==","signatures":[{"sig":"MEUCIH5v38FzHZqPPNHvmjOqyQ0Fnr4ApJoG8bOGwPji0r+sAiEA8PBgJkdKZDbDd3/oNT4nQlSfraZxqXISvjqAUsOLpqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":530670},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"8724f9462e95871880203fa037fad91877c18825","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.30.0_1779339646762_0.9707349471853233","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"name":"owls-insight-ts","version":"0.31.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.31.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"069f66c9be83c7734aad161f37e928b0fa4b7727","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.31.0.tgz","fileCount":8,"integrity":"sha512-FfKvo5cW+dLn3x9swGQwrulex3O8vsd5d15eQkqapoh+4OSTrbFQQNR3/8HYQGIzwZWNtISuJGJ9t53ryKZbEg==","signatures":[{"sig":"MEQCIB0JbFW7NHi0ach88+ijAKQTm7ytxe0PY8RoHDJH+c85AiBOq1zxaXuPrZYqdpZ9i7l4MRXKmznoTpGGcbpbRrBTSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":536787},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"03008320d6611e727ee3964f658067f0447523eb","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.31.0_1780037557033_0.2836208545540102","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"owls-insight-ts","version":"0.34.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.34.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"83517b503bd4de5dcb40deaba9dfc4220a142b61","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.34.0.tgz","fileCount":8,"integrity":"sha512-0gU2EwwqeRlu52oEsIogET3KGXVMoi3RYBhzFE3X8GQrHDTMk70U3cqNfRDt+rXrBolhPjLYgG1MalqshwEY7g==","signatures":[{"sig":"MEYCIQDCEDfQLuBiqLcPkpBUtjK5SCu7s3PrOeveyiKM8mqRyQIhANHTsbKx4ICZuUOrsN5f4pcT32ZZRYde0c9womaVTJ70","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":588102},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"43a2cf4cca290429a460d1d5450065e19aa01a76","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.34.0_1780995638744_0.6677442096181625","host":"s3://npm-registry-packages-npm-production"}},"0.35.0":{"name":"owls-insight-ts","version":"0.35.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.35.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2af43d4357e3f23ff1d938cb318519801c02b9c4","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.35.0.tgz","fileCount":8,"integrity":"sha512-xfTFa46M8Y6c4zC4btanDnFuOQT8WAcLYgTM6F+afWRAq4NrB5WIs4HZXUnVzlGQJ7AlPwFO5C5wMVZiDgqlvA==","signatures":[{"sig":"MEQCID6f18ZTkeACNRDE92XanfNtCvBMr4bA6xyaAKdvHMNlAiAhsVt0pKFNNIldMB57vAtHs6UVVhgJEo6gfOssNYZYhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607921},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"69cbf80b366dc33f9d9f438fbcb5d3ce718e3986","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.35.0_1781071963139_0.5778827052993312","host":"s3://npm-registry-packages-npm-production"}},"0.36.0":{"name":"owls-insight-ts","version":"0.36.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.36.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"0adcd9c5b05c07bba4081ffb950130d68dcf983f","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.36.0.tgz","fileCount":8,"integrity":"sha512-g+jjXcYkQUrTcPXs7kBc7l9AAklGCTg5f+6B1QEqjk2Y0Qnmc4K4Gn2I2zWkEhsx78qqF5FyMpIhLNmucpzHtQ==","signatures":[{"sig":"MEYCIQDr4VOd3Ww1QBjyhyeBdidBs9KTAO1ZRZphrQiB6FCUawIhANQ95FTfQ2rR5JgYteh9NRBVkazD0WUZaCkAHU77LFaD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627907},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"9c3523c2d81914d92799f5a957981a9f338f1d89","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.36.0_1781078759805_0.03607629815923219","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"owls-insight-ts","version":"0.37.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.37.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"15bd72afd5ac954772083144edbd6d1be98d062a","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.37.0.tgz","fileCount":8,"integrity":"sha512-NCYkwRxDD3SmX4MBGzqQ+oJrLn3+yNzoAUHBCHUpW8ZgCVWK2Qp/fD5DXOo1wDBCyBYAU+/2mdo7wzXyivqvow==","signatures":[{"sig":"MEQCIGOt6EHObtutMhosSbMEJRl9LmDHiDcQq6fZHTfG0QteAiBN7skXme19rJB7VDo08Qx27HnmfZv1C/8fT+79rCWEkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640523},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"861374b4e6b84d79063083446e2e85418600f29b","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.37.0_1782193043963_0.7784777802007041","host":"s3://npm-registry-packages-npm-production"}},"0.38.0":{"name":"owls-insight-ts","version":"0.38.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.38.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"7c99208fe2601d568e9471d6d33df61576b8c30b","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.38.0.tgz","fileCount":8,"integrity":"sha512-F9djVlhY0oH+EvqhhCLjq1X0pVPKKPd5jlJ+ifa6PxzYfpj63mzBPRElrgzOS7of01I8JbMGFNQfgmACUbAr6A==","signatures":[{"sig":"MEUCIQC5XF+yyccTDDSuzauCf0uLMRsDnn/TKwziSoX7NmurMwIgRM6XFONlILXU7nTkqSHEVm/9VfvDgU91K9T5qWF1n+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650227},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"a0acefc40ffceb80491ef11bb418f640f3dc4709","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.38.0_1782268710660_0.6886885458005274","host":"s3://npm-registry-packages-npm-production"}},"0.39.0":{"name":"owls-insight-ts","version":"0.39.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.39.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"7f245c5ceeec62a1782502e224676045024b3232","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.39.0.tgz","fileCount":8,"integrity":"sha512-ZSzw+akLRp6U8RmHT0AcIptOE7N4/vG3D4kS0eU439T+C1IWuC27l+/78ST7N0huEhdnwZyhJkyASeENsggYkQ==","signatures":[{"sig":"MEUCIADKijhyF2/bFoO6l9D8X+0wSNaaVm6Ter+7udFOChkwAiEA28LDgQZCjfeUEqodifys3VagzkZHyEBy1kW9tjYS324=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":652537},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"3fb0ca88604ca2af3e181b32f2caa2c3f312d7b1","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.39.0_1782457073567_0.13065705149117712","host":"s3://npm-registry-packages-npm-production"}},"0.40.0":{"name":"owls-insight-ts","version":"0.40.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.40.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"5cb6ed79ec6daca079d405712446826a72bd3dff","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.40.0.tgz","fileCount":8,"integrity":"sha512-T8JyiWxhOgS2yDsv17+9pZVLJLGCm/Cvvs2pGg63XKNF48ygefVaz1/Us+JsKWZ48G7AryOQq5BXIFsGqtHrRg==","signatures":[{"sig":"MEUCIQC1zpPgYCLCxk+F//hR36afB8eyRJgT8WU7pucwtgTwogIgdDFFUzYiv/NiLJnGWG2Mm6/b/9sSzd+wqmCtuW0zU4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":666472},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"05668c5cd261e37637a49f883b771b7514927cb9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.40.0_1784093182575_0.9584962823795","host":"s3://npm-registry-packages-npm-production"}},"0.43.0":{"name":"owls-insight-ts","version":"0.43.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.43.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"3da5aa9af6ccde11b047239ad577047d662972cf","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.43.0.tgz","fileCount":8,"integrity":"sha512-R8MK9GpfAVBeFIpGF08O/JfifHQEaT0dpu13UEaA9SvyZ82mxxOEXXpGwQMBzBzLa8GHXEvXvNj4cnJ9Y36JSw==","signatures":[{"sig":"MEQCICaI8nxE4Eq7/7Zj83ti4q+EPmmJuzUxnA/N7LTWaDpUAiB1PjrHkJE1D9BGIoQo4GNXl4ZXSyAJ36d0H03jof+5Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":705514},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"f109db426cb4565457a1658148b4f0520294369c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.43.0_1786425771126_0.030353393733158374","host":"s3://npm-registry-packages-npm-production"}},"0.44.0":{"name":"owls-insight-ts","version":"0.44.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.44.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"cde8ab1a5b481e0c06b8e22884bcb35cc9904735","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.44.0.tgz","fileCount":8,"integrity":"sha512-1tVFv0jaS5+sNsBvbRPS4d9oJva6+vN6wg3Lsjd8ftByp8UU7ed0xMxJruWEFqDoaJFKJ67TYuV8PCjlLRVBbg==","signatures":[{"sig":"MEYCIQDbzSEUqvKVXEDjblabS7eD9NH/brYUE0dCAt9BJX/jXAIhALqrgXVVQu7lIdwNi/eo0lyQ7TZaXRl2nUfJhH+id/Rn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":714077},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"1cd3e1189ee039c9a276e7b8cc40c92b17c6e3b4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.44.0_1786521094051_0.273958632641532","host":"s3://npm-registry-packages-npm-production"}},"0.47.0":{"name":"owls-insight-ts","version":"0.47.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.47.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"aa6218b767d94b452a635f960c1d22da915b4e8a","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.47.0.tgz","fileCount":8,"integrity":"sha512-PsA7gsIDd14OCaVNcy1u/BHK33SMOQqRoKNYc1op80vUyIQrq1HLgEebWCkAekkRwjezWJwaO6J81Yu4Tlv1Zw==","signatures":[{"sig":"MEUCIF+nyN3ZW7C3NJh0blvvVx5uzPSXMVIivQd51fgeHD9/AiEAmHGIfuuL9Sfs9tf5E5kHFTaoswbLzD5fe1t4DYameRI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":794327},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"b3e4923f82955e30da2d733037e349c7a1bc8991","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.47.0_1786694031578_0.07477319046323205","host":"s3://npm-registry-packages-npm-production"}},"0.48.0":{"name":"owls-insight-ts","version":"0.48.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.48.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2fefc29816040001d739ee5a57cc204595ffed76","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.48.0.tgz","fileCount":8,"integrity":"sha512-VwZPTUvFBy5YMbdYKw/Wf0n4f4TWJ7bUotkKXG4AsnGfslmiG9t1iLN7y3/nE6SH8oJN3KMCUrxcKy1s6iA8qQ==","signatures":[{"sig":"MEUCIQD1E6+lvWqx+K8ycoDoRVMasDCuqxzYc+HBnYjJ5x6qTAIgdA3BxHvifhOJq3+AxS8WFzEplTetJpWFvvIvVU4x12A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":840699},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"cfa8c1f2e80da69b23bbfe311a552cecb73fb949","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.48.0_1787327385007_0.33344938035893623","host":"s3://npm-registry-packages-npm-production"}},"0.49.0":{"name":"owls-insight-ts","version":"0.49.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.49.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"d45adf841c480c81708458a5501f990aaa49b57c","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.49.0.tgz","fileCount":8,"integrity":"sha512-W09tHnq09P8t1mnsp3Gfj2N7n9GC9ZRfNE7DHw4KKLJGV554iDqKQ+A9v8/TomicMOGgFjZHFuCpQzBfuqWm5g==","signatures":[{"sig":"MEYCIQDD11k8LNU0djCR7BxmnG4qVtPQq/n7UOOWQ5JAkAvJvQIhAPaV0x5ml7toiGPr+waV7/NKp+9R62I4YurIJ0r4DUKU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":846751},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"4f7ec8b5a12ce978338c01805c2ba2d491ff8767","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.49.0_1787724921064_0.10688267023678977","host":"s3://npm-registry-packages-npm-production"}},"0.50.0":{"name":"owls-insight-ts","version":"0.50.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.50.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"058572b814fcd769ca166245030707b50847ff9e","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.50.0.tgz","fileCount":8,"integrity":"sha512-9cVjpPUVK9f1BZrSSTTorwAKCxwki9IuPr1/7Z5VqkCI5EEUc/vNWl9uC07WiBqfpxRFSUqJpXQ2I8+dR2qF3A==","signatures":[{"sig":"MEUCIQD2TLXZXjYCrBedY3AlSHGwtwDQax4VmN4QTetV7iURvgIgGx2WqDPStgUhxHaV4Bwadkp73Y4hSZxpFy1JQ7POAQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":846769},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"5db348b4f68d8a826f0304c9f74469e12af950dd","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.50.0_1787819990490_0.7082118906305124","host":"s3://npm-registry-packages-npm-production"}},"0.51.0":{"name":"owls-insight-ts","version":"0.51.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.51.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"f7a7de57ccbc668253820811838b7df6bda07a67","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.51.0.tgz","fileCount":8,"integrity":"sha512-CGIxSntxcjc2BZVp+L4KqUQ/eQuwjl/l5oal1/5PSqs37eIcXMgiXyE3kQ0WhtuvsHEz+1G1dJAB6uBz+N91TA==","signatures":[{"sig":"MEUCIQCkZiZ//9X0qug30o7iZ0uaTA9RSIWXx82Wb6+KvqPw0wIgB80yycTmdJ9uQesYMk6+D0cSWEGLD9BFGgoXPoq3WCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAYrnqbJMRv/kaoS1pKcpwKlUUKKB8x1N/AW8tXrS/QKAiBKUbH5oRVH+D2NNrsF4pj/d7q/9oqeFi4mGQW6gBbUiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":960693},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"e8c6644b01fc01e3addfc306c5e2b28ea2ca1169","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.51.0_1788151645943_0.013951308045934363","host":"s3://npm-registry-packages-npm-production"}},"0.52.0":{"name":"owls-insight-ts","version":"0.52.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.52.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"46272f4ddb772e8e5e898f5fb2e12dcabc30f926","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.52.0.tgz","fileCount":8,"integrity":"sha512-s8DscLaDCjhz1DeMnaQeEpP8yqAEIkA5VETHhbt0OJtlo11bAg58VjuMVOWaxph7Pj80iP9NTz3C8OlnxqsRKw==","signatures":[{"sig":"MEQCIHgqg69VissmRaS4ODJ16OGAINQSsAMYpLjc4LksM2hYAiB0pYVwtC5KLPSol7P1RGPeJH5TW/u+dxWQBqsvF6F7aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDRF/yTh5XMAu8gpmj78uLsBNoDdoykuAN3LumGJ0aDdAiEArSSPkGdop+h2siObp5w0lvcP0XACm1Rid14iwYbQ3KE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1048501},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"f4a2c7a4c35cc0e5a75487bb3280ec7f39c498b4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.52.0_1788316079039_0.20396276738800356","host":"s3://npm-registry-packages-npm-production"}},"0.53.0":{"name":"owls-insight-ts","version":"0.53.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.53.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"d5a0bb7fd5851304f4362675bae57645033ebbcb","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.53.0.tgz","fileCount":8,"integrity":"sha512-s6Vj7sNXsD65oZxCy93MGCo1bOH+Y6WknAdn/9JSsX7hQ+GtF8BzNuAMPl+Iixh8or/RVNiTTmcNb5FFQowG3A==","signatures":[{"sig":"MEUCIQDNpgdObxctTz6LM+mYa2HOQamw3aDSRsAQS/54AkE86AIgGo2CMvNP6h+n81rkELcV82Vq10csbHGfGyg9umsTHKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDwGn7EbZ3flBNlGABJINEIR5ugJhLdwhuWbu/L+TVTwAiEAwtYnOikG8+ha2kYfcvIq/WHRPq8jK2cjiULWU5Vzs3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1058641},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"0b59d1b3fee08702deffcaa9138a153d4be091f9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.53.0_1788325874182_0.7156347765822355","host":"s3://npm-registry-packages-npm-production"}},"0.57.0":{"name":"owls-insight-ts","version":"0.57.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.57.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"f8cf359f6d346ec4bfac2d59acbd72066029f642","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.57.0.tgz","fileCount":8,"integrity":"sha512-lqrc8PO0QLQlEqAz8sEegYftklCe4ZXeZgNBv0++Zp51jsYM53hg70a980e7oEvUT3zIS8x8g2b+GU0iwPMvUA==","signatures":[{"sig":"MEUCIQC3RA0lv+DSSISm4bA3c063KffuvaHxTg2KJd6QmVU2FQIgCHk/hEAJ3xOX0JLn71ZMv2pupxF6hHQgthCGf7XxYLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAS7nHpxOnQtghXEgO3Q4vMI+W+XBuvyK8sooY8PIQyCAiEAwNrbz7EpAQOIvx0N9vWsT5YLOMHDZ/5h44+XugkluNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1150666},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"5883bfa50909d6c3ee99180870418b05a19dbd57","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.57.0_1788837873081_0.4361684357700504","host":"s3://npm-registry-packages-npm-production"}},"0.58.0":{"name":"owls-insight-ts","version":"0.58.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.58.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"6bfe929c2d3d849f2447aade876b81f0aa6470f0","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.58.0.tgz","fileCount":8,"integrity":"sha512-pgVUi2Ov/CkL8QRamRPc47Y/F8R8EgnQ1Cvf1He2/6O8PrWefdvy7aKHRm0etHTlKrgPGkU2VpT0qZ5N8Fr6eA==","signatures":[{"sig":"MEQCIGZJYph+WmA7ghYXJJQipd+WwNkV5uXaJ2+QUOHtGSFEAiAOW+UUCiSAXbuVayMhsSdUVQT8eFzW+kcdufWXmwsTXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF79SL90vZAt1wF2gj1Mo28hEDvka2nn/qo6Mk1IHrozAiEAmrIET46VPBeaiEqCTzb5zFIEzJVf8oqirLQISUokYO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1150080},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"dd7ea37d49ef000ea53a200547a07ff55bc78c02","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.58.0_1788920989643_0.2343708491428973","host":"s3://npm-registry-packages-npm-production"}},"0.59.0":{"name":"owls-insight-ts","version":"0.59.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.59.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"6bfcc62536551059c43a611583f35153f56edcfd","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.59.0.tgz","fileCount":8,"integrity":"sha512-c+qkOM9NaGHGGNUhfLbaOHIexJITlMuwryJGEIzbeWSn2Jx8lYK3LhjrTMYtGKLwv6HYSyLyjcwH/6HlcbdT9Q==","signatures":[{"sig":"MEUCIQCV5SkSGs5W/T/lFHd+vEA3ZGnAokaOUFRqk8fwf+VNCwIgXclAc/QNUC2GN/ahRgHRdOvb2k9OadfMZXcfs3mbHLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCBlDFIbqOookOom1Jh8LpbrsukqQzr1a+LVpi7ZNROCwIhAKaTJLQf8guG4r+2LfaaWBP5r96hii5D0jKv3oqltLSX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1183475},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"6bee82cd6b01b715ec6ac4161def5f851e8490e4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.59.0_1788926037990_0.6984181849663362","host":"s3://npm-registry-packages-npm-production"}},"0.60.0":{"name":"owls-insight-ts","version":"0.60.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.60.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"d08cd55ee87cdea3ac1f558a123a5805a09355fb","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.60.0.tgz","fileCount":8,"integrity":"sha512-/vfAk1PtPtW0N7lSiTMQHT3b+Xm4vSxxal2xV2R+6vvHEMmKF1DSLrCWeOvVxj3GFk49ynGOca2qeFkPanwD/Q==","signatures":[{"sig":"MEUCIQCH9hIYpWGA3YM2fxC5lc/QmLj0EC4szqySxR7J+dAtcwIgKuOaN1KYk1HC4uuvvdb/1pJ2qhUMYx77gG27BF95eeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBu5G1PVnDJscAFAQvuVjXIUzrVxQtEUPQhhlUIpKv2AIgYvi3gCpYEU1UuJJJeRnpUAy6XssC1psPkzWkf1OLIdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1245615},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"437d0c2b38f3e534f8883de4590995b630da2f28","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.60.0_1789183430089_0.9839903938834473","host":"s3://npm-registry-packages-npm-production"}},"0.64.0":{"name":"owls-insight-ts","version":"0.64.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.64.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"f38db2ad3407f101119f2826bd33b72dc8e29e63","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.64.0.tgz","fileCount":8,"integrity":"sha512-c44UGRwvJr3Bdfu+h5AAXnrcufbxslVBxNDDAM6RwqX2bUqCFeXmHAIRYQrHzFYNtORU1ZlQk232x7l+lfBOKg==","signatures":[{"sig":"MEUCICW55HMmu4dklcFg+XSG9DW6wmGxU97K0mZOUpHFbzqbAiEAucMROcRotb/Mbhmz0fDOkQhdQ2NgcpNV0BoGsIyMNuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCy2IIK/wvfoijm9c4Keh2jPlsSlr7krTW2v956+1rMvQIhANdCUBPdn2tcaqOXkcq1iGuw77CmoNnHqarqNF6OTiHh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1324539},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"d5cc955b10450e6a50efb3991b8324e13ec6ce31","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.64.0_1789703987822_0.7760065552231288","host":"s3://npm-registry-packages-npm-production"}},"0.65.0":{"name":"owls-insight-ts","version":"0.65.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.65.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"40fe400d325db3b12c6e71c659c16bcf4e0e40e0","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.65.0.tgz","fileCount":8,"integrity":"sha512-qoSDoeWtJc91XOM6K1R+emY6N8qjQwOgLSzx1QD5p5IS4pocH/AGx5ArB/inf34t6Nra5RDvugC3aG/FnBNHRw==","signatures":[{"sig":"MEUCIA8D+VoN3+bK3Ji6/x9scHRKg7nyt/5ZNqDx+ocXADVpAiEAj2adToVf0q3w2K9QzM7j92HhFAUPEGq6FmVHqQ/1cXU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHsNyp9XZEmjVAOzqj7Pv0RjLOhe/FUUCj+FRHP+IfRKAiEAyI2EcCaV3SI9V+PxlfKCvthLa73F0zn+fm61+KJgl2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1343992},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"d794a0333bbce34d505fa47a55f7157b572744f5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.65.0_1790105783035_0.34158000394739685","host":"s3://npm-registry-packages-npm-production"}},"0.66.0":{"name":"owls-insight-ts","version":"0.66.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.66.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"fe116f253f00bc555e2b9ea7f00858cec9771120","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.66.0.tgz","fileCount":8,"integrity":"sha512-DTGWBcznjyzJ48zzXsXJQPEoGCx99NzdMuTM+9v439BXTW+IJDsSyTVqsP5tQ2/wh3yseA8oMLhmuFUnYrYe3A==","signatures":[{"sig":"MEYCIQC5vB5XJyKkvVdkvq9z1Nq7gFoSiUy5wJvDegETbh8IIgIhAO9xroU76J5Bt1m4/PYKdjgtwFQ3RKOS21htB0/wOmNI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD98zm/Ugep3vs5ycygfRQa0iVXLLqz/mcmyVJjqL6iLQIgQtxX60Ia8e3rDpSAkiBUuvRn24umOuYrA2vEdW6uCas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1971750},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"3af4607c1a85f2f0456a1afded5e056529dcbf24","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.66.0_1790212838512_0.5693584679757617","host":"s3://npm-registry-packages-npm-production"}},"0.68.0":{"name":"owls-insight-ts","version":"0.68.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.68.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2b20b21c077494191478d986a0e67f2f31522087","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.68.0.tgz","fileCount":8,"integrity":"sha512-3EI2GxqFyBvi2Awq5ezDAMl2tfXxY4fLToTfjwpmoxHTSIGsDkDKN2jBiZf92TAjlM+fhlx97lhSz9+/i0S+Yg==","signatures":[{"sig":"MEQCIHfn/WxnDWgir4tXQH7uLLe4G+Qg/Zy1r/A+lTjh2l9LAiA3OCXJS+99Zg/G8+TwYLWW8qfUlWirsQ3fFbn+feowSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBgcsmk5vWOkezhuPxh/TeMxXtSsDAw6+a1fL1925T7MAiBNjpy3saRvMg4R7y+KKcFpy+a0SUNGYie8IPjxJhWY7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2174484},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"ed6130341864ea3ece07db7b51ed5d0b034a34b5","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","prepublishOnly":"npm run typecheck && vitest run && npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"^4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vitest":"^4.0.18","socket.io":"^4.8.4","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.68.0_1790371720990_0.0075439902928799984","host":"s3://npm-registry-packages-npm-production"}},"0.69.0":{"name":"owls-insight-ts","version":"0.69.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"david@wisesportsai.com"},"license":"MIT","_id":"owls-insight-ts@0.69.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"2f87616eb760b6538371b9d8d19da47ae44cb076","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.69.0.tgz","fileCount":8,"integrity":"sha512-TqmT3n2iz5J+3SewtuHp2IwRLZr21reuUco2wehBwWRTRA/q7PSawf6pN2u/qIrQMAk6HasQajyXaCboWVclCA==","signatures":[{"sig":"MEQCIBeqUAWWe6OrCUUDJg46JuBd61SRHW6xdno/t76jJKTGAiBINMidhwHWNbQal5DBqKTMJXaU9ub4Z/+cpSOuJ7t09w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA082AOsbhuFtKnidHaJyswAZZuToq2EPwyisuXIXCJxAiAZ7G5yPCGwfBOjKHpmUvPZK49l+qHFsv7aCe8ijFax2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2235182},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"012d70911699aaa6e973d1bb05fd74f47c766df7","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","openapi":"tsx scripts/gen-openapi.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","openapi:dump":"tsx scripts/gen-openapi.ts --dump","openapi:check":"tsx scripts/gen-openapi.ts --check","prepublishOnly":"npm run typecheck && vitest run && npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"~4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","tsx":"^4.23.15","tsup":"^8.5.1","vitest":"^4.0.18","socket.io":"^4.8.4","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.69.0_1790447859483_0.07088915845614907","host":"s3://npm-registry-packages-npm-production"}},"0.70.0":{"name":"owls-insight-ts","version":"0.70.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"support@owlsinsight.com"},"license":"MIT","_id":"owls-insight-ts@0.70.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"b71e7d6254e3557e18f536d2f588b9770cfc9a34","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.70.0.tgz","fileCount":9,"integrity":"sha512-bXK2JT+1OetH3Vk0Oq0fOXnLuFKGps1E9WWbf5r0vTcmKoaQvs5+03pSWE4ZofU8Rww3i3+1P46YSbOpkSQ3IQ==","signatures":[{"sig":"MEYCIQDe2zw2Xwvoj9JklNPAMgLj0dUesva4FWM2/nAdRBtoAgIhANTv5iRDXH6/9pUIxcR4g07q2h+Jrhr3E8oP02QTZKyt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCwDIu2n6yDRgn8TOo3iWC3CIrn4miCCnvKXk+37w/RVQIhAIBME5iAbpVtefsl20qDB2gKf4+2gR3I/oaC2x2Wl/OT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2311764},"main":"./dist/index.js","_from":"file:/home/davidg/claude-scratch/sdk-js/owls-insight-ts-0.70.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","openapi":"tsx scripts/gen-openapi.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","openapi:dump":"tsx scripts/gen-openapi.ts --dump","openapi:check":"tsx scripts/gen-openapi.ts --check","prepublishOnly":"npm run typecheck && vitest run && npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_resolved":"/home/davidg/claude-scratch/sdk-js/owls-insight-ts-0.70.0.tgz","_integrity":"sha512-bXK2JT+1OetH3Vk0Oq0fOXnLuFKGps1E9WWbf5r0vTcmKoaQvs5+03pSWE4ZofU8Rww3i3+1P46YSbOpkSQ3IQ==","_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"~4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","tsx":"^4.23.15","tsup":"^8.5.1","vitest":"^4.0.18","socket.io":"^4.8.4","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.70.0_1790831390709_0.7006162772750586","host":"s3://npm-registry-packages-npm-production"}},"0.72.0":{"name":"owls-insight-ts","version":"0.72.0","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"author":{"name":"Owls Insight","email":"support@owlsinsight.com"},"license":"MIT","_id":"owls-insight-ts@0.72.0","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"homepage":"https://owlsinsight.com","dist":{"shasum":"80d0bdbc0bb4ce0a8decf8f8af04fc15a657efd5","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.72.0.tgz","fileCount":9,"integrity":"sha512-iURUYttJPXnbS7QAAe4m42T5tagUWmowZUmogg1k0jDuK3hrlk459/Ac+lwRgZTVCD+1MraycaH79fgq85nJYQ==","signatures":[{"sig":"MEUCIEG9/XMDLTK8P+7+DVbdm+xMqNj3H3taqruS1rN1fXZuAiEArexOP+JHOTVuj7OuVoISUyMZwVK1yOdNpcfbgShnfQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC2SLfDNe6u115rnhMGmLi+psWjPRGg32jTPb8+dqWTsAiBXCsCZRdMEKAhZIHQ0BqrNdQ8m5L9tAh/R73Cv4P60fQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2403370},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"01b6cb2b578848f4e195556756fb6463a6bfe530","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","openapi":"tsx scripts/gen-openapi.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","openapi:dump":"tsx scripts/gen-openapi.ts --dump","openapi:check":"tsx scripts/gen-openapi.ts --check","prepublishOnly":"npm run typecheck && vitest run && npm run build"},"_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"~4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","tsx":"^4.23.15","tsup":"^8.5.1","vitest":"^4.0.18","socket.io":"^4.8.4","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"tmp":"tmp/owls-insight-ts_0.72.0_1790958148986_0.027907210844481112","host":"s3://npm-registry-packages-npm-production"}},"0.73.0":{"_id":"owls-insight-ts@0.73.0","dist":{"shasum":"4c3d73bf6aff3807ae3d2e27677619dc94f05879","tarball":"https://registry.npmjs.org/owls-insight-ts/-/owls-insight-ts-0.73.0.tgz","fileCount":9,"integrity":"sha512-eqO17GPA3UCVyxz/IvCEhLh4Fz7m38k/dPJvqXlKpzIqD/zmPcSEz7MfTgkyN554E3B6vJ+KY/CNp7p/4fm/gA==","signatures":[{"sig":"MEYCIQC6SYER8KBQIzGlZEMnO8HY53jv/kAUsssLBLo7Hc/mYAIhAMxbZZxj97D38RkISFRGgDXZyo7BGnwzB/uddXnUE0Bc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGz39tftfa86G8eM4ZbhVrzoaqx9NhAlvJit+OfoF2VyAiB2mE5HrzrB5d6+QVBMwT+2i4N+Tt1Q1yEos7I8k29KDg=="}],"unpackedSize":2563533},"main":"./dist/index.js","name":"owls-insight-ts","types":"./dist/index.d.ts","author":{"name":"Owls Insight","email":"support@owlsinsight.com"},"module":"./dist/index.mjs","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}}},"gitHead":"bd89050562a21b4be748530bee2914910858f880","license":"MIT","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","openapi":"tsx scripts/gen-openapi.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest","openapi:dump":"tsx scripts/gen-openapi.ts --dump","openapi:check":"tsx scripts/gen-openapi.ts --check","prepublishOnly":"npm run typecheck && vitest run && npm run build"},"version":"0.73.0","_npmUser":{"name":"valleyman","email":"david@wisesportsai.com"},"homepage":"https://owlsinsight.com","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"_npmVersion":"11.11.1","description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","directories":{},"maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"socket.io-client":"~4.8.3"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.20.0","tsx":"^4.23.15","tsup":"^8.5.1","vitest":"^4.0.18","socket.io":"^4.8.4","typescript":"^5.9.3","@types/node":"^25.3.5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/owls-insight-ts_0.73.0_1791003595607_0.7590820036654169"}}},"time":{"created":"2026-03-07T05:18:19.250Z","modified":"2026-10-03T04:59:55.887Z","0.1.0":"2026-03-07T05:18:19.555Z","0.1.1":"2026-03-07T05:25:20.719Z","0.1.2":"2026-03-07T05:26:29.623Z","0.1.3":"2026-03-07T05:45:08.628Z","0.1.4":"2026-03-07T06:48:59.139Z","0.1.5":"2026-03-07T08:04:38.899Z","0.1.6":"2026-03-07T22:18:46.479Z","0.1.7":"2026-03-08T19:13:00.462Z","0.1.8":"2026-03-09T03:12:37.135Z","0.1.9":"2026-03-09T04:42:47.995Z","0.2.0":"2026-03-10T03:48:29.975Z","0.2.1":"2026-03-11T20:43:34.157Z","0.3.0":"2026-03-12T09:17:29.818Z","0.4.0":"2026-03-13T16:43:02.416Z","0.5.0":"2026-03-14T03:37:09.947Z","0.5.1":"2026-03-14T06:51:52.874Z","0.6.0":"2026-03-15T04:55:08.038Z","0.7.0":"2026-03-18T05:36:34.300Z","0.7.1":"2026-03-19T09:12:17.600Z","0.7.2":"2026-03-20T09:07:43.478Z","0.8.0":"2026-03-21T08:58:20.928Z","0.9.0":"2026-03-21T18:45:03.255Z","0.10.0":"2026-03-25T07:47:31.638Z","0.11.0":"2026-03-28T09:13:21.796Z","0.12.0":"2026-03-31T07:59:59.595Z","0.12.1":"2026-04-01T09:28:31.914Z","0.14.0":"2026-04-08T06:41:51.025Z","0.16.0":"2026-04-14T04:38:03.550Z","0.17.0":"2026-04-17T16:39:16.495Z","0.18.0":"2026-04-23T05:05:03.639Z","0.19.0":"2026-04-28T07:15:35.375Z","0.20.1":"2026-04-29T05:44:31.189Z","0.21.0":"2026-05-01T05:13:01.253Z","0.22.0":"2026-05-03T18:41:55.645Z","0.23.0":"2026-05-05T07:14:31.069Z","0.24.0":"2026-05-07T08:43:17.779Z","0.26.0":"2026-05-12T06:28:03.657Z","0.27.0":"2026-05-12T07:23:36.064Z","0.29.0":"2026-05-14T06:37:18.098Z","0.30.0":"2026-05-21T05:00:46.946Z","0.31.0":"2026-05-29T06:52:37.220Z","0.34.0":"2026-06-09T09:00:38.920Z","0.35.0":"2026-06-10T06:12:43.359Z","0.36.0":"2026-06-10T08:06:00.029Z","0.37.0":"2026-06-23T05:37:24.120Z","0.38.0":"2026-06-24T02:38:30.814Z","0.39.0":"2026-06-26T06:57:53.710Z","0.40.0":"2026-07-15T05:26:22.759Z","0.43.0":"2026-08-11T05:22:51.285Z","0.44.0":"2026-08-12T07:51:34.205Z","0.47.0":"2026-08-14T07:53:51.747Z","0.48.0":"2026-08-21T15:49:45.157Z","0.49.0":"2026-08-26T06:15:21.207Z","0.50.0":"2026-08-27T08:39:50.645Z","0.51.0":"2026-08-31T04:47:26.047Z","0.52.0":"2026-09-02T02:27:59.144Z","0.53.0":"2026-09-02T05:11:14.302Z","0.57.0":"2026-09-08T03:24:33.220Z","0.58.0":"2026-09-09T02:29:49.742Z","0.59.0":"2026-09-09T03:53:58.085Z","0.60.0":"2026-09-12T03:23:50.185Z","0.64.0":"2026-09-18T03:59:47.916Z","0.65.0":"2026-09-22T19:36:23.146Z","0.66.0":"2026-09-24T01:20:38.726Z","0.68.0":"2026-09-25T21:28:41.105Z","0.69.0":"2026-09-26T18:37:39.603Z","0.70.0":"2026-10-01T05:09:50.804Z","0.72.0":"2026-10-02T16:22:29.109Z","0.73.0":"2026-10-03T04:59:55.742Z"},"author":{"name":"Owls Insight","email":"support@owlsinsight.com"},"license":"MIT","homepage":"https://owlsinsight.com","keywords":["sports","betting","odds","nba","nfl","nhl","mlb","soccer","pinnacle","fanduel","draftkings","websocket","real-time","api"],"description":"Official TypeScript SDK for the Owls Insight real-time sports betting odds API","maintainers":[{"name":"valleyman","email":"david@wisesportsai.com"}],"readme":"# Owls Insight SDK\n\nOfficial TypeScript/JavaScript SDK for the [Owls Insight](https://owlsinsight.com) real-time sports betting odds API.\n\n## Features\n\n- Full TypeScript types for all endpoints and events\n- REST client for odds, scores, props, history, and stats\n- WebSocket client for real-time streaming updates\n- Runs on server runtimes: Node.js 18+, Bun and Deno. Keep your API key on your server:\n  do not ship it in browser or app code (Terms of Service, section 5). If your users need\n  the data, serve it to them from your own backend.\n- ESM and CommonJS support\n\n## Installation\n\n```bash\nnpm install owls-insight-ts\n```\n\n## Quick Start\n\n```ts\nimport { OwlsInsight } from \"owls-insight-ts\";\n\nconst client = new OwlsInsight({ apiKey: process.env.OWLS_INSIGHT_API_KEY! });\n\n// Get NBA odds from all books\nconst odds = await client.rest.getOdds(\"nba\");\n\n// odds.data is keyed by book: { pinnacle: [...], fanduel: [...], ... }\nfor (const [book, events] of Object.entries(odds.data)) {\n  console.log(`${book}: ${events.length} events`);\n}\n\n// Get odds from specific books\nconst filtered = await client.rest.getOdds(\"nba\", {\n  books: [\"pinnacle\", \"fanduel\"],\n});\n```\n\n## REST API\n\n### Odds\n\n```ts\n// All markets (moneyline + spreads + totals)\nconst odds = await client.rest.getOdds(\"nba\");\n\n// Single market\nconst ml = await client.rest.getMoneyline(\"nba\");\nconst spreads = await client.rest.getSpreads(\"nfl\");\nconst totals = await client.rest.getTotals(\"nhl\");\n\n// ...or narrow the full board to any one market, including the ones without\n// their own route (first_half_totals, corners, btts, 1st_set_winner, ...)\nconst firstHalf = await client.rest.getOdds(\"nfl\", { market: \"first_half_totals\" });\n\n// With filters\nconst filtered = await client.rest.getOdds(\"soccer\", {\n  books: [\"pinnacle\", \"bet365\"],\n  league: \"England - Premier League\",\n  alternates: true,\n});\n\n// A parameter name the endpoint does not read, or a market it does not\n// recognise, is reported rather than rejected: you get the board it could\n// serve plus the names it ignored. Check this before concluding a board was\n// filtered. (A `books` value with no valid book key still answers 400.)\nif (filtered.meta.ignored_params) {\n  console.log(filtered.meta.ignored_params, filtered.meta.ignored_reasons);\n}\n\n// Teams carry a stable id, the same across every book and spelling, so you can\n// join on it rather than on the name. Absent for names not on a roster we carry.\nfor (const ev of odds.data.pinnacle ?? []) {\n  console.log(ev.home_team_id, \"vs\", ev.away_team_id);\n}\n```\n\n### Esports (CS2, Valorant, LoL)\n\n```ts\nconst cs2 = await client.rest.getOdds(\"cs2\");\nconst valorant = await client.rest.getOdds(\"valorant\");\nconst lol = await client.rest.getOdds(\"lol\");\n```\n\nCS2 odds from 1xBet. Valorant and LoL from both 1xBet and Pinnacle. Esports use a separate WebSocket event (`esports-update`).\n\n### Live Scores\n\n```ts\n// All sports\nconst allScores = await client.rest.getScores();\n\n// Specific sport\nconst nbaScores = await client.rest.getScores(\"nba\");\n```\n\n### Day Schedule\n\nEvery game on the schedule for a calendar day in your time zone, across nfl, ncaaf,\nmlb, nba, wnba, nhl, tennis, soccer and ufc: start time, status, score and clock, both\nsides, and Kalshi win prices. All paying tiers.\n\n```ts\n// Today in New York (the default zone), every sport\nconst today = await client.rest.getDaySchedule();\n\n// Three days of NFL and college football in Chicago time\nconst weekend = await client.rest.getDaySchedule({\n  date: \"2026-10-03\",\n  tz: \"America/Chicago\",\n  days: 3,                  // 1 to 10\n  sport: [\"nfl\", \"ncaaf\"],  // one sport, or several\n});\n\nfor (const game of weekend.games) {\n  const [away, home] = game.competitors; // tennis and UFC: first and second, side null\n  console.log(game.startTime, away?.name, \"at\", home?.name, game.status, game.eventId);\n}\n```\n\nA day runs from local midnight to local midnight, so a late West Coast game belongs to\nthe day it starts there; `meta.window` is the UTC range served. `game.eventId` is the\ngame's `eventId` on `/odds` when it was found there, else `null`. `status` is one of\n`scheduled`, `in_progress`, `delayed`, `final`, `postponed`, `cancelled`, `time_tbd`,\n`unconfirmed`. Check `meta.status` (`ok`, `partial`, `stale`, `no-data`) before trusting\nthe list. This is not `getSchedule(sport)`, which returns one sport's upcoming games in\nanother shape.\n\n### Player Props\n\n```ts\n// All books\nconst props = await client.rest.getProps(\"nba\");\n\n// Filtered\nconst filtered = await client.rest.getProps(\"nba\", {\n  player: \"LeBron\",\n  category: \"points\",\n  books: [\"pinnacle\", \"fanduel\"],\n});\n\n// Single book (typed per-book response)\nconst fdProps = await client.rest.getBookProps(\"nba\", \"fanduel\");\nconst mgmProps = await client.rest.getBookProps(\"nba\", \"betmgm\"); // BetMGMPropsResponse\n// ⚠️ Deprecated (2026-05-31) — the v1 Bet365 props endpoint was retired and now\n// returns HTTP 410. Bet365 raw markets (game lines, alt lines and player props)\n// are available via getBet365V2(sport) for nba / mlb / nhl / soccer.\nconst b365Props = await client.rest.getBookProps(\"nba\", \"bet365\"); // Bet365PropsResponse\n\n// Props line movement history\nconst propsHistory = await client.rest.getPropsHistory(\"nba\", {\n  game_id: \"game_123\",\n  player: \"LeBron James\",\n  category: \"points\",\n  book: \"pinnacle\",\n  hours: 24,\n});\n\n// Props cache statistics\nconst propsStats = await client.rest.getPropsStats();\n// ⚠️ Deprecated (2026-05-31) — the v1 Bet365 props stats endpoint was retired (HTTP 410).\nconst bet365Stats = await client.rest.getBookPropsStats(\"bet365\");\n```\n\n### Box Scores & Stats\n\n```ts\n// NBA box scores for today\nconst stats = await client.rest.getStats(\"nba\");\n\n// Filter by date and player\nconst filtered = await client.rest.getStats(\"nba\", {\n  date: \"2026-03-05\",\n  player: \"LeBron\",\n});\n\n```\n\n### Real-Time Odds\n\nSub-second sharp Pinnacle odds via a dedicated realtime stream. Available for all sports.\n\n```ts\nconst realtime = await client.rest.getRealtime(\"nba\");\n\nconsole.log(realtime.meta.source);    // \"pinnacle\"\nconsole.log(realtime.meta.events);    // number of events\nconsole.log(realtime.meta.available); // true if data exists\nconsole.log(realtime.meta.freshness); // { ageSeconds, stale, droppedAsFinished, droppedAsStale }\nconsole.log(realtime.meta.feed);      // { state, lastDataAgeSeconds, upstreamAgeSeconds, resubscribing }\nconsole.log(realtime.meta.stream);    // { epoch, seq } or null\n```\n\nThe `freshness` object indicates data age. Data is considered stale after 30 seconds.\n\n- `meta.feed.upstreamAgeSeconds` is the time since Pinnacle last sent anything for the\n  sport, and `meta.feed.resubscribing` is true while the feed is subscribing again after a\n  reconnect. `lastDataAgeSeconds` stays low while Pinnacle is quiet; `upstreamAgeSeconds`\n  keeps growing. Both are `null` when unknown, which includes every response whose\n  `meta.source` is not `\"pinnacle\"`.\n- `meta.stream` is the `pinnacle-realtime` stream position this response matches, or\n  `null` when it cannot be aligned with the stream. Use it to load a board you then keep\n  current from the WebSocket (see [Real-Time Pinnacle](#real-time-pinnacle)).\n\nEach event can carry `phase`: `scheduled`, `live` (in play, betting open), `suspended`\n(in play, betting paused for now) or `closed` (betting over for good; the event is sent\nthis way for a few minutes, then removed). The list can gain values, so treat one you do\nnot recognise like a missing field. When `phase` is present, `isLive` is true while\nin-play betting on the match is running; without it, `isLive` can be false on a match in\nprogress, so check `status` as well. `lastUpdate` and `seenAt` are epoch milliseconds:\nthe newest price change on the event, and the last time the feed confirmed a price on it.\n\n### PS3838 Real-Time\n\nIndependent real-time stream from PS3838 (Pinnacle whitelabel). Same shape as `/realtime`,\nbut sourced from a separate WebSocket pipeline so customers can compare or fall back.\n\n```ts\nconst ps3838 = await client.rest.getPS3838Realtime(\"nba\");\nconsole.log(ps3838.meta.source);  // \"ps3838\"\nconsole.log(ps3838.data.length);  // events with PS3838 markets\n```\n\nThis is the board to load before applying `ps3838-realtime` frames, and to load again\nafter every reconnect (see [Real-Time PS3838](#real-time-ps3838)).\n\n### Esports Real-Time\n\nPer-game realtime from Pinnacle's esports feed. Available for CS2, LoL, Valorant, Dota2.\nA `league` filter is required — pick the tournament you want (e.g. `\"BLAST\"`, `\"LEC\"`, `\"VCT\"`).\n\n```ts\nconst cs2 = await client.rest.getEsportsRealtime(\"cs2\", \"BLAST\");\nconst lec = await client.rest.getEsportsRealtime(\"lol\", \"LEC\");\n```\n\n### ProphetX (Exchange)\n\nProphetX is a betting exchange with order-book liquidity per outcome. The endpoint\nreturns the raw ProphetX JSON structure — no canonical normalization.\n\n```ts\nconst px = await client.rest.getProphetxOdds({\n  sport: \"basketball\",          // raw ProphetX sport slug (or array)\n  kind: \"game\",                 // optional: \"game\" | \"prop\"\n});\n\nconsole.log(px.data.totalEvents); // raw ProphetX event count\nfor (const [sport, events] of Object.entries(px.data.sports)) {\n  console.log(`${sport}: ${events.length} events`);\n}\n```\n\nEach `markets` entry (keyed `\"{market_id}:{line}\"`) is typed as `ProphetXMarket`.\nThe order book is an array of sides in `outcomes` order, each side its price\nlevels best-first or `null` when nothing is resting. On spread and total deltas\nthe book sits under `marketLines[0]` rather than the top level, so use the helpers:\n\n```ts\nimport { prophetxBook, prophetxOutcomes, prophetxBest } from \"owls-insight-ts\";\n\nfor (const [key, market] of Object.entries(events[0].markets)) {\n  const outcomes = prophetxOutcomes(market);          // labels, one per side\n  prophetxBook(market).forEach((side, i) => {\n    const best = prophetxBest(market, i);\n    if (!best) return;                                  // null side = nothing resting\n    // best.value = amount you can bet now; best.odds = American; payout from those two, not from stake\n    console.log(key, outcomes[i]?.name, best.odds, best.value);\n  });\n}\n```\n\n### Odds History\n\n```ts\n// Line movement history\nconst history = await client.rest.getOddsHistory({\n  eventId: \"event_123\",\n  book: \"pinnacle\",\n  market: \"spreads\",\n  side: \"home\",\n  hours: 24,\n});\n```\n\n### Historical Archive\n\nRetries are opt-in for direct calls: `new OwlsInsight({ apiKey, retry: { maxRetries: 3 } })` retries 429 and 503 with `Retry-After` or exponential backoff. The paging helpers below retry by default.\n\n```ts\n// List completed games\nconst games = await client.rest.getHistoryGames({\n  sport: \"nba\",\n  startDate: \"2026-03-01\",\n  endDate: \"2026-03-06\",\n});\n\n// Get archived odds snapshots (one page; limit up to 5000, offset to page)\nconst snapshots = await client.rest.getHistoryOdds({\n  eventId: \"event_123\",\n  book: \"pinnacle\",\n  market: \"spreads\",\n});\n\n// Export a whole game's history: pages sequentially, stops on a short page,\n// retries 429/503 per page honouring Retry-After. Do not fan out one request\n// per book or market in parallel: historical endpoints share a per-key\n// in-flight allowance (3 on MVP, 4 on Hall of Fame) and the client queues\n// history requests to stay under it (`historyConcurrency` option).\nfor await (const s of client.rest.iterHistoryOdds({ eventId: \"event_123\", book: \"pinnacle\" })) {\n  rows.push(s);\n}\n\n// Get archived props snapshots\nconst propsSnapshots = await client.rest.getHistoryProps({\n  eventId: \"event_123\",\n  playerName: \"LeBron James\",\n  propType: \"points\",\n});\n\n// Get archived player stats\nconst playerStats = await client.rest.getHistoryStats({\n  sport: \"nba\",\n  playerName: \"LeBron James\",\n  startDate: \"2026-01-01\",\n  endDate: \"2026-03-01\",\n});\n\n// Get archived tennis match stats\nconst tennisStats = await client.rest.getHistoryTennisStats(\"event_123\");\n\n// CS2 match history\nconst cs2Matches = await client.rest.getCS2Matches({\n  team: \"Natus Vincere\",\n  stars: 4,\n});\n\n// Full match detail with map scores and player stats\nconst matchDetail = await client.rest.getCS2Match(2374324);\n\n// Player stats across matches\nconst cs2Players = await client.rest.getCS2Players({\n  playerName: \"s1mple\",\n  minRating: 1.3,\n});\n\n// Closing odds per sportsbook (9 books, 2016-present)\nconst closing = await client.rest.getClosingOdds({\n  sport: \"nba\",\n  startDate: \"2026-03-01\",\n  endDate: \"2026-03-10\",\n});\n\n// Historical player props (4 books, 2022-present)\nconst histProps = await client.rest.getHistoricalPlayerProps({\n  sport: \"nba\",\n  player: \"LeBron James\",\n  propType: \"points\",\n});\n\n// Public betting percentages (2019-present)\nconst publicBetting = await client.rest.getPublicBetting({\n  sport: \"nba\",\n  limit: 50,\n});\n\n// Betting splits movement history (MVP and Hall of Fame): every recorded reading of\n// each book's handle and ticket percentages, oldest first. By eventId, or by sport\n// plus startDate (at most 7 days). Same row shape as getSplits, with recorded_at.\nconst splitsHistory = await client.rest.getHistorySplits({\n  sport: \"nfl\",\n  startDate: \"2026-09-29\",\n  endDate: \"2026-09-30\",\n  book: \"dk\", // optional: dk, circa or betmgm\n  limit: 500,\n});\n// splitsHistory.data.pagination.hasMore -> fetch the next page with offset\n```\n\n### Kalshi Prediction Markets\n\n> ⚠️ **Deprecated (2026-05-31)** — The v1 Kalshi market endpoints below were\n> retired and now return **HTTP 410 Gone** (these SDK methods throw at runtime).\n> Use the v2 raw pass-through endpoints instead: `getKalshiV2(sport, { league })`\n> and `getKalshiV2Leagues(sport)`. See [Kalshi v2](#kalshi-v2) below.\n>\n> Kalshi **player props** are unaffected — they remain available through the\n> aggregated `getProps(sport)` endpoint.\n\n```ts\n// ⚠️ Deprecated — all three now throw HTTP 410. Use getKalshiV2 instead.\nconst markets = await client.rest.getKalshiMarkets(\"nba\", {\n  status: \"open\",\n});\n\n// Browse series (e.g., KXNBAGAME, KXNFLSBMVP)\nconst series = await client.rest.getKalshiSeries();\n\n// Markets within a series\nconst nbaGame = await client.rest.getKalshiSeriesMarkets(\"KXNBAGAME\");\n```\n\n```ts\n// ✅ v2 replacement\nconst leagues = await client.rest.getKalshiV2Leagues(\"nba\"); // discover series tickers\nconst k = await client.rest.getKalshiV2(\"nba\", { league: \"kxnbagame\" });\n```\n\n### Polymarket\n\n> ⚠️ **Deprecated (2026-05-31)** — `getPolymarketMarkets()` was retired and now\n> returns **HTTP 410 Gone** (the SDK method throws at runtime). Use the v2 raw\n> pass-through endpoints instead: `getPolymarketV2(sport, { league })` and\n> `getPolymarketV2Leagues(sport)`. See [Polymarket v2](#polymarket-v2) below.\n>\n> Kalshi and Polymarket are **no longer included as bookmakers** in the standard\n> `/odds` response — fetch their game-line data through the v2 endpoints.\n\n```ts\n// ⚠️ Deprecated — now throws HTTP 410. Use getPolymarketV2 instead.\nconst markets = await client.rest.getPolymarketMarkets(\"nba\");\n```\n\n```ts\n// ✅ v2 replacement\nconst leagues = await client.rest.getPolymarketV2Leagues(\"soccer\"); // discover tag slugs\nconst pm = await client.rest.getPolymarketV2(\"soccer\", { league: \"epl\" });\n```\n\n### Betting Splits\n\n```ts\nconst splits = await client.rest.getSplits(\"nfl\");\n// data[].event_id is the eventId /odds gives the same game\n// (\"nfl:Carolina Panthers@Cleveland Browns-20260927\"), so splits join to odds on it.\n// Each data[].splits[] entry carries as_of, when that book's figures were read.\n// meta.books lists the books on the board (it can be [\"draftkings\"] alone).\n```\n\nBooks: DraftKings (`dk`), BetMGM (`betmgm`) and Circa Sports (`circa`) while it is\noffered. **BetMGM publishes ticket percentages only**: its entries carry the\n`*_bets_pct` fields and no `*_handle_pct` fields. Any market or percentage a book does\nnot publish is absent, not zero, so check for `undefined`:\n\n```ts\nfor (const game of splits.data) {\n  for (const s of game.splits) {\n    const handle = s.spread?.away_handle_pct; // undefined on betmgm\n    const tickets = s.spread?.away_bets_pct;\n    console.log(game.event_id, s.book, handle ?? \"n/a\", tickets ?? \"n/a\");\n  }\n}\n```\n\nThe movement history of the same figures is `getHistorySplits` (see Historical Archive).\n\n## v2 Raw Pass-Through\n\nThe v2 endpoints expose each book's raw market shape without canonical mapping.\nUse these when you need the source book's full market depth (alt lines, every\nprop type, micro markets) instead of the normalized 3-market view in `/odds`.\n\nEach v2 source has:\n- A REST endpoint for the current snapshot\n- A WebSocket event (`{book}-v2-update`) for sparse deltas — opt in via\n  `client.ws.subscribe({ v2: { [book]: { [sport]: '*' } } })`\n- An optional `/leagues` endpoint to list available league slugs\n\nFor books that require a `league` parameter (Bet365 soccer, DraftKings, FanDuel,\nPolymarket, Kalshi, theScore and 888sport soccer and tennis), call `get{Book}V2Leagues(sport)` first — slugs change with\nthe calendar and hard-coding can leave you with empty 200 responses.\n\nA subscribe that names only `v2` (no `sports`) also receives every sport's `odds-update`\nand realtime events, because an empty `sports` list means every sport. Add `sports` to\nnarrow those.\n\nA v2 response with data carries an `ETag` header. To get a 304 when nothing changed, send\nthat header value back verbatim in `If-None-Match` from a raw request (quoted; a leading\n`W/` is fine). A 304 on `/api/v2` does not count toward your monthly quota, though it still counts\ntoward your per-minute limit. The SDK's `get{Book}V2` methods always fetch the full\nresponse.\n\n### Bet365 v2\n\n```ts\nconst nba = await client.rest.getBet365V2(\"nba\");\n\n// Soccer leagues are geographic buckets (uk, spain, italy, germany,\n// france, uefa, americas, europe, australia, top-leagues, rest-of-world).\nconst ukSoccer = await client.rest.getBet365V2(\"soccer\", { league: \"uk\" });\nconst leagues = await client.rest.getBet365V2Leagues(\"soccer\");\n```\nSports: `nba`, `mlb`, `nhl`, `soccer`\n\nTying a prop to its game on MLB: over/under and milestone prop buckets list\none `fixtures[]` entry per game (matchup and `startTime`), and an outcome's\n`fixtureId` finds its entry in that same bucket. There `fixtureId` is not the\ngame id, so never join a prop bucket to `game-lines` on it: a prop bucket's\n`fixtureId` never appears in `game-lines`. Inside `game-lines` only the Run\nLine cells sit on their fixture's `fixtureId`; the Total and To Win cells\ncarry fixture ids that are not in `fixtures[]`.\n\n- Join `outcome.gameFixtureId` to `fixtures[].gameFixtureId`, or to a game-line\n  outcome's `gameFixtureId`. Never join it to `fixtures[].fixtureId`: on game\n  lines the two differ, so that join matches nothing.\n- `fixture.gameFixtureId` is set on any fixture, game-lines or prop, whose own\n  priced outcomes carried one.\n- Milestone grids (e.g. `hits`, `home-runs`, `total-bases`) and `alt-run-line`\n  list fixtures with the matchup and `startTime` but no `gameFixtureId`: match\n  them to the game on `description` + `startTime`.\n- `handicap` carries the line on game lines (run line and total) and\n  over/under props, and the threshold on milestone grids. On `alt-run-line`\n  the line is in the outcome `name` and `handicap` is empty. On\n  `alt-game-total` and soccer `total-goals` the line is not in the payload:\n  `name` and `handicap` are both empty. `handicap` is also empty wherever a\n  market has no line, such as moneylines and goalscorers.\n\nOn soccer, `fixtureId` is the match's own id, the same in every bucket, and\n`gameFixtureId`, when present, equals it: a prop outcome (`goalscorers`,\n`player-shots`, ...) finds its match in the `fixtures[]` of a match-level bucket\nsuch as `ftr`, `btts`, `double-chance` or `total-goals`, when one of them lists\nthat match.\n\n### DraftKings v2\n\n```ts\nconst dk = await client.rest.getDraftKingsV2(\"soccer\", { league: \"epl\" });\nconst leagues = await client.rest.getDraftKingsV2Leagues(\"soccer\");\n```\nSports: `soccer`\n\n### FanDuel v2\n\n```ts\nconst fd = await client.rest.getFanDuelV2(\"nba\");\nconst leagues = await client.rest.getFanDuelV2Leagues(\"soccer\");\n```\nSports: `soccer`, `mlb`, `nba`, `nhl`\n\n### MyBookie v2\n\n```ts\nconst mb = await client.rest.getMyBookieV2(\"nba\");\n```\nSports: `mlb`, `nba`\n\n### Thunderpick v2\n\n```ts\nconst tp = await client.rest.getThunderpickV2(\"cs2\");\n```\nSports: `baseball`, `basketball`, `tennis`, `cs2`, `dota2`, `lol`, `valorant`\n\n### Underdog v2\n\nRaw Underdog Fantasy pick'em lines (higher/lower player props). REST-only.\n\n```ts\nconst ud = await client.rest.getUnderdogV2(\"nba\");\nconsole.log(ud.count, \"lines\");\nfor (const line of ud.data?.over_under_lines ?? []) {\n  const higher = line.options.find((o) => o.choice === \"higher\");\n  console.log(line.over_under.title, line.stat_value, higher?.american_price);\n}\n```\nSports: `nba`, `wnba`, `mlb`, `nhl`, `nfl`, `soccer`, `tennis`, `cs2`, `lol`, `valorant`, `pga`, `mma`, `kbo`, `npb`\n\n### theScore Bet v2\n\nRaw theScore Bet boards. theScore is Penn/Score Media's **Ontario, Canada** book, so its prices are an Ontario market view rather than a US one. REST-only, no WebSocket event. The feed cycles about every 20 seconds and `meta.status` flips to `stale` past a **60 second** freshness bar — gate on 60, not on 20.\n\n`data` is keyed by **competition**, not by event, and each value is theScore's raw GraphQL `competitionSection` — a page *layout* tree. The games sit under the `MarketplaceShelf` section child, one `GridMarketCard` each, so filter by `__typename` rather than by array position.\n\n```ts\nconst mlb = await client.rest.getTheScoreV2(\"mlb\");\nfor (const section of Object.values(mlb.data)) {\n  for (const child of section.sectionChildren ?? []) {\n    if (child.__typename !== \"MarketplaceShelf\") continue;\n    for (const card of child.marketplaceShelfChildren ?? []) {\n      for (const market of card.pagedMarkets ?? []) {\n        for (const sel of market.selections ?? []) {\n          // name is an OBJECT — `sel.name` alone prints \"[object Object]\"\n          console.log(market.name, sel.name?.defaultName, sel.odds?.formattedOdds, sel.points?.formattedPoints);\n        }\n      }\n    }\n  }\n}\n```\n\nThree things to know.\n\n**Odds are decimal, expressed as an exact rational.** `numeratorLong / denominatorLong` *is* the decimal price — `{ numeratorLong: \"43\", denominatorLong: \"20\" }` is 2.15, which is +115. These are **not** UK fractional odds, so do not add 1; that single mistake corrupts every price (measured on 650 live NFL selections, the decimal reading matched `formattedOdds` 650/650 and the fractional reading 0/650). Because the rational is exact, it is the field to use when precision matters.\n\n**`formattedOdds` is not always numeric.** It is `\"Even\"` for a 2/1 rational (decimal 2.0, American +100) — 67 of 1,596 selections across five sports. `parseInt` gives `NaN` there.\n\n**A selection's `name` is an object**, not a string: read `name.defaultName`.\n\n`mlb`, `nfl`, `ncaaf`, `nba`, `nhl` are single-league, so omit `league`. `soccer` and `tennis` **require** it — omitting it is a `400`, not an empty `200`:\n\n```ts\nconst leagues = await client.rest.getTheScoreV2Leagues(\"soccer\"); // 100+ competitions\nconst epl = await client.rest.getTheScoreV2(\"soccer\", { league: \"premier-league\" });\n```\nSports: `mlb`, `nfl`, `ncaaf`, `nba`, `nhl` (single-league), `soccer`, `tennis` (require `league`)\n\n### 888sport v2\n\nRaw 888sport events (888's own sportsbook), REST only: no WebSocket event, so poll.\nThe URL book key is `888sport`; an identifier cannot start with a digit, so the methods\nare `get888sportV2` / `get888sportV2Leagues` and the types `Sport888V2*`.\n\n`data` is keyed by 888sport **event** id and each value is the event verbatim:\n`competitors`, `markets` and each market's `selections` are maps keyed by id. Prices\nare **strings**, decimal (`decimal_price` \"1.909\") and fractional (`fraction_price`\n\"10/11\"); there are no American odds. A spread or total selection carries its line in\n`special_odds_value` (\"+3.5\", \"47.5\"), empty on a moneyline. A selection's `type` is\nthe side (\"1\" home, \"2\" away, \"X\" draw, \"Over\", \"Under\"): match on it rather than on\n`name`, which can differ from the competitor's name. Main markets only: moneyline,\nspread and total on US games, the match winner only on soccer and tennis.\n\n```ts\nconst nfl = await client.rest.get888sportV2(\"nfl\");\nfor (const ev of Object.values(nfl.data)) {\n  for (const m of Object.values(ev.markets)) {\n    for (const sel of Object.values(m.selections)) {\n      console.log(ev.name, m.name, sel.type, sel.special_odds_value, sel.decimal_price);\n    }\n  }\n}\n\n// soccer and tennis need a tournament slug from the leagues index\nconst { leagues } = await client.rest.get888sportV2Leagues(\"soccer\");\nconst unl = await client.rest.get888sportV2(\"soccer\", { league: \"uefa-nations-league\" });\n```\n`meta.status` turns `stale` at 150 seconds (US leagues refresh about every 30 seconds,\nsoccer and tennis every 60).\nSports: `mlb`, `nba`, `ncaab`, `ncaaf`, `nfl`, `nhl`, `wnba` (single-league), `soccer`, `tennis` (require `league`)\n\n### Bookmaker.eu v2\n\nRaw Bookmaker.eu lines boards: game lines (priced moneylines; spread/total lines carry no vig on the source), priced futures/awards boards, and priced series/proposition markets. REST-only. Not a live source: upstream pages regenerate every 25-60 minutes; each market carries its `pageLastUpdate` stamp.\n\n```ts\nconst { leagues } = await client.rest.getBookmakerV2Leagues(\"basketball\");\nconst nba = await client.rest.getBookmakerV2(\"basketball\", { league: \"nba\" });\nconst futures = await client.rest.getBookmakerV2(\"basketball\", { league: \"nba-futures\" });\n```\nSport groups (Bookmaker's own slugs): `aussie-rules`, `baseball`, `basketball`, `boxing`, `cricket`, `darts`, `e-gaming`, `entertainment`, `esports`, `football`, `futsal`, `golf`, `ice-hockey`, `mma`, `motorsport`, `politics`, `rugby`, `soccer`, `surfing`, `table-tennis`, `tennis`\n\n### Novig v2\n\nRaw Novig exchange markets: every spread and total strike Novig posts (each strike is its own\nmarket) plus the live order book of each market. REST-only, so poll it.\nOmit `league` for game lines and player props together, or pick one with the leagues call.\n\n```ts\nconst { leagues } = await client.rest.getNovigV2Leagues(\"nfl\"); // \"nfl\" and \"nfl-props\"\nconst nfl = await client.rest.getNovigV2(\"nfl\", { league: \"nfl\" });\nfor (const { event, books } of Object.values(nfl.data)) {\n  for (const market of event.markets) {\n    const [a, b] = market.outcomes;\n    // Prices are probabilities (0-1). Ladders are normally bids only: the price to\n    // back outcome A is 1 minus the best bid on outcome B.\n    const bestBidB = b && books[market.id]?.ladders[b.id]?.bids[0]?.price;\n    if (a && bestBidB !== undefined) console.log(event.description, market.description, a.description, 1 - bestBidB);\n  }\n}\n```\n\n`data` is keyed by event (a slug of the event id, `pp-` prefixed for props; `event.id` is\nNovig's own id); each value is `{ event, books }`, with `books` keyed by market id and each\nmarket's `ladders` keyed by outcome id. Not every market has a book, so check before reading one.\nSports: `nba`, `ncaab`, `nfl`, `nhl`, `ncaaf`, `mlb`\n\n### Kalshi v2\n\n```ts\nconst k = await client.rest.getKalshiV2(\"nba\", { league: \"kxnbagame\" });\nconst leagues = await client.rest.getKalshiV2Leagues(\"nba\");\n\n// Esports — discover the active series ticker first, then fetch it.\nconst cs2Leagues = await client.rest.getKalshiV2Leagues(\"cs2\");\nconst cs2 = await client.rest.getKalshiV2(\"cs2\", { league: \"kxcs2game\" });\n```\nSports: `nba`, `nhl`, `mlb`, `soccer`, `tennis`, plus esports — `cs2`, `dota2`, `lol`, `valorant`, `overwatch`, `rainbow6`, `rocketleague`, `pubg`\n\n> Esports markets are tournament-driven: a game with no active event returns\n> an empty `leagues` array (`meta.status: \"no-data\"`), not an error. Always\n> call `getKalshiV2Leagues(sport)` first to get the live series tickers.\n\n### Polymarket v2\n\n```ts\nconst pm = await client.rest.getPolymarketV2(\"soccer\", { league: \"epl\" });\nconst leagues = await client.rest.getPolymarketV2Leagues(\"soccer\");\n\n// Esports — each game maps to one canonical Gamma tag slug.\nconst cs2 = await client.rest.getPolymarketV2(\"cs2\", { league: \"counter-strike-2\" });\nconst lol = await client.rest.getPolymarketV2(\"lol\", { league: \"league-of-legends\" });\n```\nSports: `nba`, `nhl`, `mlb`, `soccer`, `tennis`, plus esports — `cs2`, `dota2`, `lol`, `valorant`, `overwatch`, `rainbow6`, `rocketleague`, `pubg`\n\n> Esports league slugs: `cs2` → `counter-strike-2`, `dota2` → `dota-2`,\n> `lol` → `league-of-legends`, `valorant` → `valorant`. Dormant games\n> (e.g. `rainbow6`/`rocketleague`/`pubg` between tournaments) return an empty\n> `leagues` array. Always call `getPolymarketV2Leagues(sport)` to confirm.\n\nOn the WebSocket, `polymarket-v2-update` sends one message per upstream market-channel\nmessage: `raw` is that message unchanged and `raw.event_type` names its type. By default\nyou receive `book`, `best_bid_ask`, `last_trade_price` and `tick_size_change`, plus any\nother upstream message type outside the named ones, so ignore an `event_type` you do not\nrecognise. Narrow or extend that with `eventTypes` (a list delivers exactly the types it\nnames), and filter by market type with `marketTypes`:\n\n```ts\nclient.ws.subscribe({\n  sports: [\"mlb\"],\n  v2: {\n    polymarket: {\n      mlb: \"*\",\n      eventTypes: [\"best_bid_ask\", \"market_resolved\"], // market_resolved only when asked for\n      marketTypes: [\"moneyline\"],                        // the REST sportsMarketType values\n    },\n  },\n});\n\nclient.ws.on(\"subscribed\", (ack) => {\n  // Dropped values, unverified market types, and any event type this connection\n  // will not receive are reported here.\n  for (const a of ack.v2OptionsAdvisory ?? []) console.warn(a.field, a.outcome, a.message);\n});\n\nclient.ws.on(\"polymarket-v2-update\", (msg) => {\n  // msg.leagues lists every league the market is tagged with; msg.league is the first.\n  console.log(msg.raw.event_type, msg.leagues, msg.assetId);\n});\n```\n\nThe options apply to the polymarket sports listed next to them. `updateSubscription`\nreplaces the whole `v2` object, so send the sport keys again together with the options.\n\n### Hard Rock v2\n\n```ts\nconst leagues = await client.rest.getHardRockLeagues(\"az\", \"ICE_HOCKEY\");\nconst nhl = await client.rest.getHardRockEvents(\"az\", \"ICE_HOCKEY\", \"nhl\");\n\n// Small sport — no league needed\nconst tennis = await client.rest.getHardRockEvents(\"fl\", \"TENNIS\");\n```\nStates: `az`, `fl`. Sports use Hard Rock's enum naming (`BASKETBALL`, `BASEBALL`,\n`ICE_HOCKEY`, `SOCCER`, `TENNIS`, etc.). Big sports require a league slug; list via\n`getHardRockLeagues`.\n\n## Webhooks\n\nWebhooks are in beta. MVP and Hall of Fame plans can register HTTPS endpoints that receive\nsigned POSTs (MVP 3 endpoints, Hall of Fame 10):\n\n| Event type | Sent when |\n|------------|-----------|\n| `line.moved` | Pinnacle's main moneyline, spread or total for a game that has not started moved by at least your step since the last one you were sent |\n| `ev.found` | a price on the EV board became tradeable at or above your `min_ev` |\n| `game.started` | the live scores show a game in play |\n| `game.final` | the live scores show a game final (never for a postponed or cancelled game) |\n| `props.graded` | a game's player prop results are confirmed (first results, then all of them) |\n\nEach type covers its own sports; a sport an event type does not cover is refused with a\n400 (`sport_not_covered`), and so is an event type that is not open yet\n(`event_type_unavailable`).\n\n```typescript\nconst { data } = await client.rest.createWebhook({\n  url: \"https://example.com/owls\",\n  event_types: [\"line.moved\", \"ev.found\"],\n  filters: {\n    sports: [\"nba\", \"nhl\"],\n    line_moved: { price_step_pp: 2, point_step: 1 },\n    ev_found: { min_ev: 3 },\n  },\n});\n// data.secret is returned ONCE: store it.\n\nawait client.rest.testWebhook(data.id); // a signed webhook.test event\nconst { data: deliveries } = await client.rest.listWebhookDeliveries(data.id, { limit: 10 });\nawait client.rest.updateWebhook(data.id, { enabled: false });\nconst { data: rotated } = await client.rest.rotateWebhookSecret(data.id, { expire_previous_after_hours: 24 });\n// rotated.secret is the new secret, also returned ONCE; the old one keeps signing for 24 hours.\nawait client.rest.deleteWebhook(data.id);\n```\n\nThe calls that change something are never retried by the SDK. If one times out, list your\nendpoints before creating again; rotate the secret of an endpoint whose secret you never\nsaw. Verify every delivery against the RAW body before trusting it, then dedupe on `id`\n(delivery is at least once and unordered):\n\n```typescript\nimport express from \"express\";\nimport { verifyWebhookSignature, type WebhookEvent } from \"owls-insight-ts\";\n\napp.post(\"/owls\", express.raw({ type: \"application/json\" }), (req, res) => {\n  if (!verifyWebhookSignature(req.body, req.header(\"Owls-Signature\"), process.env.OWLS_WEBHOOK_SECRET!)) {\n    return res.sendStatus(400);\n  }\n  const event = JSON.parse(req.body.toString(\"utf8\")) as WebhookEvent;\n  if (event.type === \"line.moved\") console.log(event.data.market, event.data.previous, event.data.current);\n  res.sendStatus(200); // any 2xx within 10 s acknowledges it\n});\n```\n\nAnswer with any 2xx within 10 seconds. 410 Gone disables the endpoint. Anything else, a\nredirect included, is a failure: `line.moved` and `ev.found` are retried after about 5,\n20 and 60 seconds, the other types up to 8 times over about a day, and nothing is sent\nafter the event's `expires_at`.\n\n`Owls-Signature` is `t=<unix seconds>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>`,\nkeyed with the whole secret (`whsec_` included). During a secret rotation it carries a v1\nfor each live secret, and either one verifies. `verifyWebhookSignature` rejects a `t` more\nthan 300 seconds from your clock (the fourth argument changes that). It is synchronous\npure TypeScript, so it runs the same in Node, Bun, Deno and edge workers, and takes the\nbody as text or bytes (a Buffer, a Uint8Array or an ArrayBuffer).\n\n## WebSocket Streaming\n\nReal-time odds updates via WebSocket.\n\n### Connect & Subscribe\n\n```ts\nimport { OwlsInsight, type OddsEvent } from \"owls-insight-ts\";\n\nconst client = new OwlsInsight({ apiKey: process.env.OWLS_INSIGHT_API_KEY! });\n\n// Register listeners first, then connect with your subscription.\nconst board = new Map<string, OddsEvent>();\nclient.ws.on(\"odds-update\", (data) => {\n  // After a subscribe the first frames are a snapshot of your subscription; later\n  // frames carry only the games that changed, so merge by event id.\n  for (const events of Object.values(data.sports)) {\n    for (const event of events) board.set(event.id, event);\n  }\n});\n\nawait client.ws.connect({\n  subscription: {\n    sports: [\"nba\", \"nfl\"],\n    books: [\"pinnacle\", \"fanduel\", \"draftkings\"],\n  },\n});\n```\n\n`connect({ subscription })` is the same as calling `subscribe()` once connected. You can\nstill do that:\n\n```ts\nawait client.ws.connect();\nclient.ws.subscribe({ sports: [\"nba\", \"nfl\"], books: [\"pinnacle\"] });\n```\n\n**A subscription belongs to one connection.** The server forgets it when the connection\ndrops, so the SDK keeps the last subscription you sent (from `connect({ subscription })`,\n`subscribe()` or `updateSubscription()`) and your props subscriptions, and sends them\nagain on every reconnect: in the connection handshake and as `subscribe` messages. If the\nserver's `subscribed` acknowledgement does not arrive within 5 seconds, it sends them once\nmore. You do not need to re-subscribe in a `connect` listener; `disconnect()` forgets them.\n\nWhat a subscription selects:\n\n- `sports` selects the sports for `odds-update` and for the realtime events\n  (`pinnacle-realtime`, `pinnacle-realtime-sync`, `ps3838-realtime`). An empty or missing\n  list, or one with no valid sport, means every sport.\n- `books` narrows `odds-update` (and `esports-update`); it does not apply to the\n  realtime events. An empty or missing list means every book.\n- `exclude_exchanges: true` removes the exchange books (`kalshi`, `polymarket`, `novig`)\n  from `books`; if only exchange books were listed, every other book is used.\n- `eventIds` limits `odds-update` to those events.\n- The opt-in streams (`esports`, `esportsRealtime`, `prophetx`, `oneXBetSoccer`, `v2`)\n  send nothing unless you name them.\n\n### Update Subscription\n\n```ts\n// Merge fields into the current subscription (the SDK keeps the merged result)\nclient.ws.updateSubscription({ sports: [\"nba\", \"nhl\", \"soccer\"] });\n```\n\nThe merge is shallow: a `v2` you pass replaces the whole `v2` object.\n\n### Props Streaming\n\n```ts\n// Subscribe to Pinnacle props for specific sports\nclient.ws.subscribeProps({ sports: [\"nba\", \"nhl\"] });\n\n// Subscribe to a specific book's props\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"fanduel\");\n\n// Filter by categories\nclient.ws.subscribeProps({\n  sports: [\"nba\"],\n  categories: [\"points\", \"rebounds\", \"assists\"],\n});\n\n// Subscribe to all books\nclient.ws.subscribeProps({ sports: [\"nba\"] });                    // Pinnacle\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"fanduel\");         // FanDuel\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"draftkings\");      // DraftKings\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"bet365\");          // Bet365\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"betmgm\");          // BetMGM\nclient.ws.subscribeProps({ sports: [\"nba\"] }, \"caesars\");          // Caesars\n\nclient.ws.on(\"player-props-update\", (data) => {\n  console.log(\"Pinnacle props:\", data.sports);\n});\n\nclient.ws.on(\"fanduel-props-update\", (data) => {\n  console.log(\"FanDuel props:\", data.sports);\n});\n\n// Confirmation events\nclient.ws.on(\"props-subscribed\", (sub) => {\n  console.log(\"Pinnacle props active:\", sub);\n});\n\n// Unsubscribe\nclient.ws.unsubscribeProps();           // Pinnacle\nclient.ws.unsubscribeProps(\"fanduel\");  // FanDuel\n```\n\n### Real-Time Pinnacle\n\nSent to connections on Hall of Fame, or on a plan with the WebSocket add-on, for the\nsports in your subscription, or every sport if you never subscribe. `books` does not\nnarrow it.\n\nEach `pinnacle-realtime` frame carries **one sport** and is **partial** (`delta: true`):\nmerge its events into your board by `id`, replacing the whole event, then delete the ids\nin `removed[<sport>]`. Frames marked `resync: true` come from the periodic resend and can\nrepeat events that have not changed. A stream position or removals for a sport with no\nevents to send arrive on the companion event `pinnacle-realtime-sync`, so handle both.\n\n```ts\nimport { realtimeSportEvents, type OddsEvent } from \"owls-insight-ts\";\n\nconst board = new Map<string, OddsEvent>(); // one sport's board\n\nclient.ws.on(\"pinnacle-realtime\", (frame) => {\n  const sport = frame.stream?.sport ?? Object.keys(frame).find((k) => Array.isArray(frame[k]))!;\n  if (sport !== \"soccer\") return;\n  for (const event of realtimeSportEvents(frame, sport)) board.set(event.id, event);\n  for (const id of frame.removed?.[sport] ?? []) board.delete(id);\n});\n\nclient.ws.on(\"pinnacle-realtime-sync\", (msg) => {\n  if (msg.sport !== \"soccer\") return;\n  for (const id of msg.removed?.[msg.sport] ?? []) board.delete(id);\n});\n```\n\n**Staying aligned with REST.** When frames carry `stream: { sport, epoch, seq, checkpoint? }`,\n`seq` goes up by 1 per frame for the sport within one `epoch`:\n\n- A frame whose `seq` is at or below the last one you applied is a duplicate: ignore it.\n- A skipped `seq`, a new `epoch`, or a frame without `stream` after frames that had one\n  means your board may be missing changes: load it again (below), keeping the current\n  board until the new one is ready.\n\nTo load a board, on every connect and reconnect and whenever the rules above say so:\n\n1. Buffer the sport's messages from both `pinnacle-realtime` and `pinnacle-realtime-sync`.\n2. Wait up to 25 seconds for one with `stream.checkpoint` set. If the sport's frames\n   carry no `stream`, go on at once.\n3. Call `client.rest.getRealtime(sport)` and read `meta.stream`:\n   - `null`: replace your board with `data`, merge every frame with no seq check, and load\n     again after 10, 20, 40 seconds and so on, up to every 5 minutes.\n   - its `epoch` differs from the checkpoint's, or its `seq` is lower than the\n     checkpoint's: load again at the next checkpoint.\n   - otherwise: replace your board with `data`, discard buffered messages with a `seq` at\n     or below `meta.stream.seq`, and apply the rest in order.\n\nFrames are not filtered by league. If you load with a `league`\n(`getRealtime(sport, league)`, which keeps events whose `league` contains that text,\nignoring case), apply the same filter to every frame; otherwise load without it.\n\n`removed` does not always list every event that leaves the board, and a sport whose last\nevent ends can stop sending. So also load a sport's board again when it has sent no\nmessage for about 30 seconds, and every 5 minutes or so; each load drops events that\nended without being listed.\n\nEach load counts against your request quota.\n\n### Real-Time PS3838\n\nIndependent realtime stream from PS3838 (Pinnacle whitelabel), with the same event shape\nas `pinnacle-realtime`. Each frame carries one sport and says how to apply it:\n\n- `delta: true`: only the events that changed. Merge them by `id`.\n- `snapshot: true`: the sport's full board. Replace your board for that sport. Sent about\n  every 20 seconds, and sooner after an event leaves the board.\n- Neither marker: also the sport's full board. Replace it.\n\nA sport with no events sends nothing, so when a sport's last event ends no frame says so.\nOn every connect and reconnect, and whenever a sport has sent nothing for about a minute,\nload its board from `client.rest.getPS3838Realtime(sport)` and apply frames from there.\nA frame can be several MB.\n\n```ts\nconst ps = new Map<string, OddsEvent>();\nlet lastFrameAt = Date.now();\n\nasync function loadTennis() {\n  lastFrameAt = Date.now();\n  const res = await client.rest.getPS3838Realtime(\"tennis\");\n  ps.clear();\n  for (const event of res.data) ps.set(event.id, event);\n}\n\nclient.ws.on(\"connect\", () => void loadTennis());\nclient.ws.on(\"ps3838-realtime\", (frame) => {\n  const events = realtimeSportEvents(frame, \"tennis\");\n  if (events.length === 0) return; // a frame for another sport\n  lastFrameAt = Date.now();\n  if (!frame.delta) ps.clear(); // snapshot, or an unmarked full board\n  for (const event of events) ps.set(event.id, event);\n});\n\n// Nothing for tennis in a minute: its board may have emptied, so load it again.\nsetInterval(() => {\n  if (Date.now() - lastFrameAt > 60_000) void loadTennis();\n}, 10_000);\n```\n\n### Per-Sport Esports Realtime\n\nPer-game realtime events from Pinnacle's esports feed. Subscribe via\n`esportsRealtime` with a `league` filter per game (required — no wildcard).\n\n```ts\n// No `sports` here, so odds-update and the realtime events cover every sport too.\nclient.ws.subscribe({\n  esportsRealtime: {\n    cs2:      { league: \"BLAST\" },\n    lol:      { league: \"LEC\" },\n    valorant: { league: \"VCT\" },\n  },\n});\n\nclient.ws.on(\"cs2-realtime\", (data) => console.log(\"CS2:\", data));\nclient.ws.on(\"lol-realtime\", (data) => console.log(\"LoL:\", data));\nclient.ws.on(\"valorant-realtime\", (data) => console.log(\"Valorant:\", data));\nclient.ws.on(\"dota2-realtime\", (data) => console.log(\"Dota2:\", data));\n```\n\n### Batched Esports Updates (legacy)\n\n```ts\nclient.ws.subscribe({\n  sports: [\"nba\"],\n  books: [\"pinnacle\"],\n  esports: true,\n});\n\nclient.ws.on(\"esports-update\", (data) => {\n  console.log(`CS2: ${data.sports.cs2?.length}`);\n});\n```\n\n### v2 Raw Pass-Through Streams\n\nSparse deltas from each v2 source. Opt in via `subscribe({ v2: { ... } })`,\nlisten on `{book}-v2-update`. Only changed buckets publish — unchanged buckets\ndo not fire.\n\n```ts\n// No `sports` here, so odds-update and the realtime events cover every sport too.\nclient.ws.subscribe({\n  v2: {\n    bet365:      { soccer: \"*\", nba: \"*\" },              // '*' = all leagues\n    draftkings:  { soccer: [\"epl\", \"ucl\"] },            // or array of league slugs\n    fanduel:     { soccer: \"*\" },\n    kalshi:      { nba: \"*\", tennis: \"*\", cs2: \"*\" },    // esports: cs2/dota2/lol/valorant/...\n    polymarket:  { soccer: [\"epl\"], cs2: \"*\", lol: \"*\" },// esports stream the same way\n    mybookie:    { nba: \"*\", mlb: \"*\" },\n    thunderpick: { basketball: \"*\", cs2: \"*\", dota2: \"*\" }, // esports: cs2/dota2/lol/valorant\n    pinnacle:    { wnba: \"*\" },                          // raw Pinnacle sparse deltas\n  },\n});\n\nclient.ws.on(\"bet365-v2-update\",      (data) => { /* snapshot or outcomes delta */ });\nclient.ws.on(\"draftkings-v2-update\",  (data) => { /* per-tab bucket delta */ });\nclient.ws.on(\"fanduel-v2-update\",     (data) => { /* per-tab bucket delta */ });\nclient.ws.on(\"kalshi-v2-update\",      (data) => { /* per-league series delta */ });\nclient.ws.on(\"polymarket-v2-update\",  (data) => { /* one upstream market-channel message */ });\nclient.ws.on(\"mybookie-v2-update\",    (data) => { /* market snapshot */ });\nclient.ws.on(\"thunderpick-v2-update\", (data) => { /* market snapshot */ });\nclient.ws.on(\"pinnacle-v2-update\",    (data) => { /* sparse Pinnacle delta */ });\n```\n\nA per-league filter is accepted without checking that the league exists. The `subscribed`\nacknowledgement lists what was accepted, dropped or widened in `v2Advisory` (and, for the\nPolymarket options, `v2OptionsAdvisory`), so read it when a v2 subscription stays silent.\n\n**`pinnacle-v2-update`** says which matchups of a league changed and carries the league\n`hash`: an opaque SHA-1 string equal to the REST `etag` (the ETag header without its\nquotes) whenever that response is not partial. Keep the `etag` per league, and refetch\nonly when `hash` differs.\n\n- On a heartbeat (`heartbeat: true`, every 30 seconds per league) `matchupIds` is the\n  league's full membership rather than a change set.\n- `removedMatchupIds`, when present, lists matchups the league dropped: delete them. It\n  can arrive on a change or a heartbeat, is not exhaustive, and an id can reappear later\n  in `matchupIds`, so heartbeat membership and the REST board stay authoritative.\n- A league that loses its last matchup can send one final heartbeat with\n  `matchupIds: []` and `hash` equal to `PINNACLE_V2_EMPTY_LEAGUE_HASH`; after that it\n  sends nothing until it has matchups again, and REST answers it with `no-data` and no\n  ETag.\n\n```ts\nimport { PINNACLE_V2_EMPTY_LEAGUE_HASH } from \"owls-insight-ts\";\n\nconst etags = new Map<string, string>(); // \"sport:league\" -> etag from getPinnacleV2\nclient.ws.on(\"pinnacle-v2-update\", async (u) => {\n  const key = `${u.sport}:${u.league}`;\n  for (const id of u.removedMatchupIds ?? []) dropMatchup(key, id);\n  if (u.hash === PINNACLE_V2_EMPTY_LEAGUE_HASH) return clearLeague(key);\n  if (u.hash === etags.get(key)) return; // already current\n  const r = await client.rest.getPinnacleV2(u.sport, { league: u.league });\n  if (r.etag) etags.set(key, r.etag);\n  replaceLeague(key, r.data);\n});\n```\n\n### ProphetX Stream\n\n```ts\n// All ProphetX sports + kinds. With no `sports`, this subscribe also means every\n// sport's odds-update and realtime events; add `sports` to narrow those.\nclient.ws.subscribe({ prophetx: true });\n\n// Or filter to specific sports / kinds\nclient.ws.subscribe({\n  prophetx: { sports: [\"basketball\"], kinds: [\"game\"] },\n});\n\nclient.ws.on(\"prophetx-update\", (delta) => {\n  // Raw ProphetX order-book delta — passes through unchanged from the exchange\n});\n```\n\n### WebSocket Events Reference\n\n| Event | Trigger | Opt-in via |\n|---|---|---|\n| `odds-update` | Any change to normalized `/odds` data (partial frames: merge by event id) | `subscribe({ sports, books })` |\n| `player-props-update` | Pinnacle player props change | `subscribeProps({ sports })` |\n| `bet365-props-update` | Bet365 player props change | `subscribeProps({ sports }, \"bet365\")` |\n| `fanduel-props-update` | FanDuel player props change | `subscribeProps({ sports }, \"fanduel\")` |\n| `draftkings-props-update` | DraftKings player props change | `subscribeProps({ sports }, \"draftkings\")` |\n| `betmgm-props-update` | BetMGM player props change | `subscribeProps({ sports }, \"betmgm\")` |\n| `caesars-props-update` | Caesars player props change | `subscribeProps({ sports }, \"caesars\")` |\n| `pinnacle-realtime` | Sub-second Pinnacle realtime odds, one sport per frame | Hall of Fame, or a plan with the WebSocket add-on; for the sports in `subscribe({ sports })` |\n| `pinnacle-realtime-sync` | Stream position or removals for a sport with no events to send | Same as `pinnacle-realtime` |\n| `ps3838-realtime` | Sub-second PS3838 odds, one sport per frame | Hall of Fame, or a plan with the WebSocket add-on; for the sports in `subscribe({ sports })` |\n| `cs2-realtime` / `lol-realtime` / `valorant-realtime` / `dota2-realtime` | Per-game Pinnacle esports odds | `subscribe({ esportsRealtime: { [game]: { league: \"<tournament>\" } } })` |\n| `esports-update` | Batched esports odds (legacy) | `subscribe({ esports: true })` |\n| `bet365-v2-update` | Bet365 raw market snapshot/delta | `subscribe({ v2: { bet365: {...} } })` |\n| `draftkings-v2-update` | DraftKings raw bucket delta | `subscribe({ v2: { draftkings: {...} } })` |\n| `fanduel-v2-update` | FanDuel raw bucket delta | `subscribe({ v2: { fanduel: {...} } })` |\n| `mybookie-v2-update` | MyBookie raw snapshot | `subscribe({ v2: { mybookie: {...} } })` |\n| `thunderpick-v2-update` | Thunderpick raw snapshot | `subscribe({ v2: { thunderpick: {...} } })` |\n| `kalshi-v2-update` | Kalshi per-league series delta | `subscribe({ v2: { kalshi: {...} } })` |\n| `polymarket-v2-update` | Polymarket per-league tag delta | `subscribe({ v2: { polymarket: {...} } })` |\n| `pinnacle-v2-update` | Pinnacle sparse market delta | `subscribe({ v2: { pinnacle: {...} } })` |\n| `prophetx-update` | ProphetX exchange order-book delta | `subscribe({ prophetx: {...} })` |\n| `1xbet-update` | Isolated 1xBet soccer odds change (not in `/odds`; also `rest.getOneXBetSoccer()`) | `subscribe({ oneXBetSoccer: true })` |\n| `subscribed` | Acknowledgement of `subscribe` / `updateSubscription`, also after each reconnect | Automatic |\n| `server-heartbeat` | `{ seq, ts }` every 10 seconds on every connection | Automatic |\n| `server-notice` | Why the server closed your previous connection, once, on the next connect | Automatic |\n| `connect_error` | A connection attempt failed; `err.data` says why when the server refused it | Automatic |\n\nScores are REST only (`rest.getScores()`); there is no scores WebSocket event.\n\n### Promise-Based Waiting\n\n```ts\n// Wait for the next odds update\nconst update = await client.ws.waitFor(\"odds-update\", 10_000);\n\n// Wait for subscription confirmation\nclient.ws.subscribe({ sports: [\"nba\"], books: [\"pinnacle\"] });\nconst sub = await client.ws.waitFor(\"subscribed\");\nconsole.log(\"Subscribed to:\", sub.sports);\n```\n\n### Error Handling\n\n```ts\nclient.ws.on(\"error\", (err) => {\n  console.error(\"WebSocket error:\", err.message, err.code);\n});\n\nclient.ws.on(\"disconnect\", (reason) => {\n  console.log(\"Disconnected:\", reason);\n});\n```\n\n### Connection Health\n\nThe SDK reconnects by itself after a drop and sends your subscription again. These\nevents tell you what happened along the way.\n\n```ts\n// A refused connection attempt: err.data says why and whether waiting can help.\nclient.ws.on(\"connect_error\", (err) => {\n  console.warn(\"refused:\", err.data?.code, \"retryable:\", err.data?.retryable, err.message);\n});\n\n// Why the server closed your previous connection, once, on the next connect.\nclient.ws.on(\"server-notice\", (n) => {\n  console.warn(`${n.code}: ${n.message} ${n.hint}`);\n});\n\n// Every 10 seconds on every connection, whatever the odds traffic.\nlet lastSeq = 0;\nclient.ws.on(\"connect\", () => { lastSeq = 0; });\nclient.ws.on(\"server-heartbeat\", ({ seq }) => {\n  if (lastSeq && seq !== lastSeq + 1) console.warn(\"missed messages on this connection\");\n  lastSeq = seq;\n});\n```\n\n- **`connect_error`**: `err.data` is `{ code, retryable, retryAfterMs?, maxConnections? }`.\n  Not retryable: `MISSING_API_KEY`, `INVALID_API_KEY`, `API_KEY_DEACTIVATED`,\n  `TIER_NO_WS`, `SUBSCRIPTION_INACTIVE`, `PAYMENT_OVERDUE`, `TRIAL_EXPIRED`,\n  `TRIAL_UNVERIFIABLE`. Retryable: `SUBSCRIPTION_CHECK_FAILED`, `INTERNAL`, `IP_BLOCKED`,\n  `CONNECTION_LIMIT` (every connection your plan allows is in use, for example by an old\n  connection that has not been released yet), `CLIENT_CLOSED`. After a retryable refusal\n  of a reconnect the SDK tries again with a growing delay (5, 15, 30, then 60 seconds for\n  `CONNECTION_LIMIT`; 2, 5, 15, 30, then 60 seconds otherwise), never sooner than\n  `retryAfterMs` and at most 4 times a minute. Of the codes that are not retryable, a\n  reconnect refused with an account code (`TIER_NO_WS`, `SUBSCRIPTION_INACTIVE`,\n  `PAYMENT_OVERDUE`, `TRIAL_EXPIRED`, `TRIAL_UNVERIFIABLE`) is still retried slowly, after\n  about 30 seconds and then about every minute, so it goes through once the invoice is\n  paid or the plan upgraded. That applies to a reconnect after a network drop or a server\n  restart. When the server closes a connection because of the account, the client does\n  not reconnect; call `connect()` again once it is fixed. An expired trial deactivates\n  the key, so the client stops after one retry. Every other non-retryable code, including\n  `MISSING_API_KEY`, `INVALID_API_KEY` and `API_KEY_DEACTIVATED`, stops reconnecting. A\n  refusal of the first `connect()` rejects that promise instead.\n- **Reconnect delay**: when a connection that lasted at least a minute drops, the SDK\n  reconnects after about a second. Each drop of a connection younger than a minute doubles\n  the delay, up to 30 seconds (a refused reconnect counts as such a drop), and a connection\n  that lasts a minute resets it. A subscription that is too\n  wide for your client to keep up with therefore slows down instead of reconnecting every\n  second; `server-notice` tells you when that is the reason.\n- **`server-notice`**: `{ code, message, at, socketId, details, hint }`. Codes:\n  `BACKLOG_CAP` (more data was waiting for the connection than its limit allows),\n  `AGGREGATE_SHED` (among the connections furthest behind while the server shed load),\n  `GHOST` (data sent to it was not read for over a minute), `SLOT_EVICTED` (closed to\n  admit a new connection with the same key because it had stopped responding),\n  `CLIENT_FRAME_LIMIT` (your client closed it because a message exceeded its maximum\n  message size), and `SERVER_RESTART` (sent to open connections just before a restart).\n  Keep message handlers fast and subscribe only to what you need.\n- **`server-heartbeat`**: `{ seq, ts }`. `seq` is counted by the server, not per\n  connection: it can jump ahead or start again from 1 after a reconnect, so compare it\n  only within one connection.\n- **Message size**: realtime frames can be several MB. This SDK accepts them (its Node\n  client allows messages up to 100 MiB). If you connect with your own client, allow at\n  least 32 MB.\n\n### Cleanup\n\n```ts\n// Disconnect WebSocket\nclient.ws.disconnect();\n\n// Or destroy everything\nclient.destroy();\n```\n\n## Error Handling\n\nThe SDK throws typed errors for different failure modes:\n\n```ts\nimport {\n  OwlsInsightError,\n  AuthenticationError,\n  ForbiddenError,\n  RateLimitError,\n  ServiceBusyError,\n} from \"owls-insight-ts\";\n\ntry {\n  const odds = await client.rest.getOdds(\"nba\");\n} catch (err) {\n  if (err instanceof RateLimitError) {\n    // err.code is \"HISTORY_CONCURRENCY\" when too many history requests were in flight\n    console.log(`Rate limited (${err.code}). Retry in ${err.retryAfterMs}ms`);\n  } else if (err instanceof ServiceBusyError) {\n    // 503: too expensive to serve in one request, or a transient outage\n    console.log(`Busy. Retry in ${err.retryAfterMs ?? 5000}ms, or narrow the request`);\n  } else if (err instanceof AuthenticationError) {\n    console.log(\"Invalid API key\");\n  } else if (err instanceof ForbiddenError) {\n    console.log(\"Upgrade required for this endpoint\");\n  } else if (err instanceof OwlsInsightError) {\n    console.log(`API error ${err.status}: ${err.message}`);\n  }\n}\n```\n\nThe API returns rate limit headers on every response:\n\n- `X-RateLimit-Remaining-Minute` — requests left this minute\n- `X-RateLimit-Remaining-Month` — requests left this month\n- `X-RateLimit-Reset-Minute` — Unix timestamp (ms) when the minute limit resets\n- `X-RateLimit-Reset-Month` — ISO 8601 timestamp when the month limit resets\n\nA request refused by the per-minute limit (429) does not count toward your monthly quota,\nand neither does a 304 on `/api/v2` (see [v2 Raw Pass-Through](#v2-raw-pass-through)).\n\n## Configuration\n\n```ts\nconst client = new OwlsInsight({\n  apiKey: process.env.OWLS_INSIGHT_API_KEY!,  // Required\n  baseUrl: \"https://api.owlsinsight.com\", // Optional (default)\n  wsUrl: \"https://api.owlsinsight.com\",   // Optional (default, same as baseUrl)\n  timeout: 30000,                  // Optional request timeout in ms (default: 30s)\n});\n```\n\nOn Node every request and the WebSocket connection carry\n`User-Agent: owls-insight-ts/<version>`, and the WebSocket handshake sends the same label\nas `auth.sdk`.\n\n## Supported Sports\n\n| Sport | Key | Odds | Props | Scores |\n|---|---|---|---|---|\n| NBA | `nba` | Yes | Yes | Yes |\n| NCAAB | `ncaab` | Yes | Yes | Yes |\n| NFL | `nfl` | Yes | Yes | Yes |\n| NHL | `nhl` | Yes | Yes | Yes |\n| NCAAF | `ncaaf` | Yes | Yes | Yes |\n| WNBA | `wnba` | Yes (Pinnacle realtime) | — | — |\n| MLB | `mlb` | Yes | Yes | Yes |\n| Soccer | `soccer` | Yes | — | Yes |\n| Tennis | `tennis` | Yes | — | Yes |\n| MMA | `mma` | Yes (BetOnline) | — | — |\n| CS2 | `cs2` | Yes (1xBet, Pinnacle) | — | Yes |\n| Valorant | `valorant` | Yes (1xBet, Pinnacle) | — | Yes |\n| LoL | `lol` | Yes (1xBet, Pinnacle) | — | Yes |\n| Dota 2 | `dota2` | Yes (Pinnacle realtime) | — | — |\n| Handball | `handball` | Yes (Pinnacle realtime) | — | — |\n\n## Sportsbooks & Coverage\n\nCoverage reflects what the SDK exposes through `getOdds` and the props endpoints.\nv2 raw pass-through (per-book deep markets) is documented separately above.\n\n| Book | Game Odds | Player Props | Notes |\n|---|---|---|---|\n| Pinnacle | NBA, NCAAB, NFL, NHL, NCAAF, MLB, WNBA, Soccer, Tennis, Esports | NBA, NCAAB, NFL, NHL, NCAAF | Sharp/reference line. Realtime via `/realtime` + `pinnacle-realtime` |\n| PS3838 | Same as Pinnacle (whitelabel) | — | Realtime only via `/ps3838-realtime` + `ps3838-realtime` event |\n| FanDuel | NBA, NCAAB, NFL, NHL, NCAAF, MLB, Soccer | NBA, NCAAB, NFL, NHL, NCAAF | v2 raw available: soccer / mlb / nba / nhl |\n| DraftKings | NBA, NCAAB, NFL, NHL, NCAAF, MLB, Soccer | NBA, NCAAB, NFL, NHL, NCAAF | v2 raw available: soccer |\n| BetMGM | NBA, NCAAB, NFL, NHL, NCAAF, MLB | NBA, NCAAB, NFL, NHL, NCAAF | |\n| Bet365 | not in `/odds` (v2 only) | Retired from v1 (2026-05-31) | v2 raw (game lines, alt lines, player props): nba / mlb / nhl / soccer |\n| Caesars | NBA, NCAAB, NFL, NHL, NCAAF, MLB | NBA, NCAAB, NFL, NHL, NCAAF | |\n| Hard Rock | NBA, MLB, NHL, Soccer (per AZ/FL state) | — | v2 raw only — call `getHardRockEvents(state, sport)` |\n| BetOnline | MMA | — | UFC/MMA only |\n| 1xBet | CS2, Valorant, LoL, Soccer, MLB | — | Esports + soccer + MLB |\n| ProphetX | Multiple sports (raw exchange) | — | Exchange order-book — call `getProphetxOdds()` |\n| Kalshi | v2 only (not in `/odds` since 2026-05-31) | — | Prediction market. Game lines via `getKalshiV2`: nba / nhl / mlb / soccer / tennis. Player props remain in `getProps()` |\n| Polymarket | v2 only (not in `/odds` since 2026-05-31) | — | Decentralized exchange. Game lines via `getPolymarketV2`: nba / nhl / mlb / soccer / tennis |\n| Novig | NBA, NCAAB, NFL, NHL, NCAAF, MLB, Soccer, Tennis | — | Peer-to-peer exchange. Full order-book depth on `Outcome.liquidity` (bids only — Novig ladders carry no asks) |\n| MyBookie | MLB, NBA | — | v2 raw only |\n| Thunderpick | Baseball, Basketball, Tennis, CS2, Dota 2, LoL, Valorant | — | v2 raw only |\n| theScore Bet | MLB, NFL, NCAAF, NBA, NHL, Soccer, Tennis | — | v2 raw only. Ontario (Canada) market. Decimal odds as an exact rational, plus a preformatted American string |\n| 888sport | MLB, NBA, NCAAB, NCAAF, NFL, NHL, WNBA, Soccer, Tennis | — | v2 raw only (`get888sportV2`). Main markets, decimal and fractional odds as strings |\n\n## License\n\nMIT\n","readmeFilename":"README.md"}