{"_id":"@huskly/ibkr-client","_rev":"56-2fd0df17a33403bd8f1f947d1f2c3ab1","name":"@huskly/ibkr-client","dist-tags":{"latest":"4.1.0"},"versions":{"0.2.0":{"name":"@huskly/ibkr-client","version":"0.2.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.2.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"bin":{"ibkr-cli":"dist/cli/index.js"},"dist":{"shasum":"258018082fb646f05e970d3276e27c1d9f1d2cff","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.2.0.tgz","fileCount":58,"integrity":"sha512-6brKaUnfQXMzuCWb/NcxB6aJ5GIEG/2RFmn7lO2Qpz747/wiNonrTZh7nCa8rFfJ9iVc3N7y6UaCvzEkaBs1TA==","signatures":[{"sig":"MEYCIQD2bVSUviicUe8kwyBr5l6zdkC5InYVTwXL+VVDxWJyDAIhALZMvH1u2LApM+QOehw/LkiDRjRv4OtluZ6WousMflPv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85259},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"81df237cc1a27d2f1302b7fd3aef17da95bc1810","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","build":"tsc","check":"npm run lint && npm run format:check && npm run typecheck","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"11.17.0","description":"Interactive Brokers Web API client (OAuth 1.0a) and terminal CLI","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chalk":"^5.6.2","dotenv":"^17.2.3","commander":"^14.0.2","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.4.2","@eslint/js":"^9.39.1","typescript":"^5.7.2","@types/node":"^25","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.2.0_1784305854152_0.6816339993361866","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@huskly/ibkr-client","version":"0.3.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.3.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"bin":{"ibkr-cli":"dist/cli/index.js"},"dist":{"shasum":"3739ded205ba894acde22ac96da8a0bf9d54f9cc","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.3.1.tgz","fileCount":58,"integrity":"sha512-kduYmvQ6mRu0fCRIhRMZ873a4cZ9fGGJasdOXfIzDfzeGx+XxQC7Kxan4KaeHDISdbtsjKnIEjzwMx41rhm1Jw==","signatures":[{"sig":"MEUCIQCy/cx3vJNQiC8lUl8DZGsNCtEZwF3ufzdiORgj81T+hQIgfWYc+8A8QjzqVCNSzrgJPmQJ2j0o1IoBBzFLIL/MkTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85619},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b1e76ee235ca4444464803c815d32fd3e9e23ea5","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","build":"tsc","check":"npm run lint && npm run format:check && npm run typecheck","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"src/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client (OAuth 1.0a) and terminal CLI","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chalk":"^5.6.2","dotenv":"^17.2.3","commander":"^14.0.2","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.4.2","@eslint/js":"^9.39.1","typescript":"^5.7.2","@types/node":"^25","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.3.1_1784668055787_0.4958217338777293","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@huskly/ibkr-client","version":"0.4.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.4.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"bin":{"ibkr-cli":"dist/cli/index.js"},"dist":{"shasum":"f8b73936efe24575e4ed6ead4fd4dae572227f10","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.4.0.tgz","fileCount":62,"integrity":"sha512-cr4Qrk4Nw3lr+mYDBTBMuM0ChMW5mTYm75AwELwCthABFCfIe6eUCD+4Ya7yO/MdlOdFKPL9BmGEKo3hizeFdw==","signatures":[{"sig":"MEYCIQDoHpZF9RA7UnYCPGobMg6aaU+EQCxTqKrEaENbXWOgLgIhAIZE/+4oz9qnKkDTr08/aykMqmr2WOeYCquadt70Ug4H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123329},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"69bbdbdb7ab5e58a013c68eaea2b7a1200f0eae7","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src test --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"npm run lint && npm run format:check && npm run typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src test --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client (OAuth 1.0a) and terminal CLI","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chalk":"^5.6.2","dotenv":"^17.2.3","commander":"^14.0.2","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.4.2","@eslint/js":"^9.39.1","typescript":"^5.7.2","@types/node":"^25","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.4.0_1784840745900_0.43113269044003877","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@huskly/ibkr-client","version":"0.5.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.5.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"bin":{"ibkr-cli":"dist/cli/index.js"},"dist":{"shasum":"fc256114a449183bb8dd328d10f26b659c9ac35e","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.5.0.tgz","fileCount":62,"integrity":"sha512-+OYJ/t44kJs/JFefaUF8s1HasMNmsuZDBO+lQmsvAz8jnnhcolcd5isgFADa0yHW/i9kmxTrNsBeOn4ibc3DbQ==","signatures":[{"sig":"MEYCIQDqvdQOC9PId9evyoiesfwAnZcLKm4v0vpp6L+E+uDjrgIhAP0yK1nLLXIkdmZ060judJLvCD7j7yf3pCsZU+rAWhiv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136459},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"09ca4b7d713efafbb4862bc97956d3b5edfcc642","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"npm run lint && npm run format:check && npm run typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client (OAuth 1.0a) and terminal CLI","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chalk":"^5.6.2","dotenv":"^17.2.3","commander":"^15.0.0","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.5.0_1784853484090_0.0926788101456344","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@huskly/ibkr-client","version":"0.6.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.6.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"bin":{"ibkr-cli":"dist/cli/index.js"},"dist":{"shasum":"aa8b2f7e13df576bdf33661586b744498b3b00f6","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.6.0.tgz","fileCount":62,"integrity":"sha512-LQk4b0VrdWT+G7SUJekvgonqqZtfsky1KfhZZ0AuaPxlGcY/f3Qc9ebRxfhldHJoL9kARRPLxbNkkHj4kPzybQ==","signatures":[{"sig":"MEQCIDoKGa0WrmNCCsrvdVVD/q91g1PJYd8N+fxtl6MJrPzDAiAFGilpAud5ALMipYgROSe2t2erT03x9FoNe7TvN81DNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":137731},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d355118b4f02feb76169fd4640a194fb85a207bf","scripts":{"dev":"tsx src/cli/index.ts","lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"npm run lint && npm run format:check && npm run typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client (OAuth 1.0a) and terminal CLI","directories":{},"_nodeVersion":"26.5.0","dependencies":{"chalk":"^5.6.2","dotenv":"^17.2.3","commander":"^15.0.0","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.6.0_1785274026294_0.013833651182006301","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@huskly/ibkr-client","version":"0.7.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.7.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"754cc257ba79ffb7e312fc21f0fe785d37b376bd","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.7.0.tgz","fileCount":34,"integrity":"sha512-UETYEdOOuAjww0orT4m67O0aNcGB4Nd4XrX9GhF1dyTCTPokxDHgFiVxVF57fBub5kLgtzt7+rwiwzXGR30rMw==","signatures":[{"sig":"MEUCIQD43D9XjUJqHsViz3ykBKfjLivTcEswLnA+aa+AfzKLlQIgFlrK3+hO/UPgNjHEtvJwJXbtSTFLpidU8h94SEIgFjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149196},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"602d1d78a0fdf78ca1926e47ba7ba5b7be91c45f","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.7.0_1785343914628_0.7563221095216248","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@huskly/ibkr-client","version":"0.8.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.8.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"6b99400222417ce510eefb3d0246784d21885257","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.8.0.tgz","fileCount":38,"integrity":"sha512-RTbVL1xFoNBcA6eo5J/64cv3xXRo024HmIcyeN2k4Pz+5F9Wt1m4wnrIT72giiJfJwwxnydHaHrG66SNtIMidA==","signatures":[{"sig":"MEUCIFYQG8WmqgZCK4Ys5TMY95npm7Oqb+Y/71o/Ycs/uxmeAiEAsDcPXJ+infpaFIjUhAwRots7RdEyVV6cm1FSVgegWfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186558},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d20d11731bb5860c7e50932299305bf04d27d379","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.8.0_1785355259432_0.6180110344292868","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@huskly/ibkr-client","version":"0.9.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.9.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"8b97aeef0350fb5182fbb540d2314959685fb407","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.9.0.tgz","fileCount":38,"integrity":"sha512-zE5qNIxAjVd0HyL3mPjxy6OWwSV8pqmzKCBlhGjJl9z6jEgkVXJOyF5wj5a/c50yfeo9PvqDVzIwvCkFCx+hbg==","signatures":[{"sig":"MEYCIQCxzugEv0K2GhZRjW80qFtjNeGi2NAJFfPVYme4Fg+BmAIhAMFEyw0TargfldQ6VmrsEM9nOudB4m+k5Ia5hM5nOOhB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193103},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"87127cdb963335456bd7bff2952ba29dfdb5a237","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.9.0_1785355487709_0.3623623366137372","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@huskly/ibkr-client","version":"0.10.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.10.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"9a0bea50125a38b8e0f69621f3796f20c4ce64d7","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.10.0.tgz","fileCount":38,"integrity":"sha512-5zpJgqpLUpHHCQnRgkc952+lx9t9P9XPLeVaZJB14Gd/D1V3dYnbgqBPyIatU+Z/QvMygRZVhrfx0+2m5Rf9GA==","signatures":[{"sig":"MEQCIGh8QxyFhd3Rtx/9+hgITmANCMTV2+B6Eh0Fy9mvrQCQAiABKfpl3YTwyyi2NYY9kgIe5EGx9DsSe7Aqugrk8mXKSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":210222},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"82bcdaf2559b32d91ff07daba2e34808eff145e7","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.10.0_1785355763939_0.05613747229927957","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@huskly/ibkr-client","version":"0.11.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.11.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"702b1dff9dc5a4ccf39fa2c1922233d4f3c828e6","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.11.0.tgz","fileCount":38,"integrity":"sha512-cDxezYpjKpVNgKdwnr0E6B6TESIKgepA9+v/j8fdLgFZQ1pe5+n+u78ZDJJQnI8OCmJCUZ5ztb89Y7DxfDi9ng==","signatures":[{"sig":"MEUCIQDmFjnijMdkR4VK2L2AMDtpLXGlqRJgoHKErCqgo14N7AIgS/cVC2/bKbQzJyckwFaa/juJSd0gqJeRPJmrZWw9JaA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":232780},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8fcdfcf1c2e3994c4811d65f26ed612c737c4580","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.11.0_1785356010589_0.726095331640592","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@huskly/ibkr-client","version":"0.12.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.12.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"5ba9fcd57bb4004715ec077eae28c8104abd8f2e","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.12.0.tgz","fileCount":42,"integrity":"sha512-4SpCUp09VED0RXHU77+rylghMwciT8jx9qOktsZRgG9lktzhMgOVDDWHL4m6ao49dWFByLh6GVQi5ZoiDlGE2g==","signatures":[{"sig":"MEYCIQCq9mJjyrZRnR87enPxcSw8c0xOmt8MVgEuIAeQejOemQIhAMxjOsDJK7urF5NlW36Bi2AewAMeKz4Nci9NqhjgBmUA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":302487},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0780b670251ffcc6ebe4b8d278d38034affb471e","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.12.0_1785434816996_0.2561042070380901","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@huskly/ibkr-client","version":"0.13.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.13.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"28b2baa6e965e637df356fa71d2a350303b396db","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.13.0.tgz","fileCount":42,"integrity":"sha512-pQkLjp78QPkwRZo0WFH2unRLPvA1mOqGjIDd+dlbjwAJnZAzO5AuNnBYxSeu6nYAZqG7JrUJ2SWKziSUjgeBPA==","signatures":[{"sig":"MEUCIQDLCgbLY2qEH+o8PDarbjFme8N38d/3hbyWjo6M/0rAygIgSbuTMCuGimM1S1uGSW/onfotPqZ7ol7XiUZ/wN0GxGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":341906},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e206209f01ec2b165bd8dd5450ded1603980a6f3","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^9.16.0","prettier":"^3.9.6","@eslint/js":"^9.39.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.13.0_1785524952031_0.8311591833024028","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@huskly/ibkr-client","version":"0.14.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.14.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"4776dbf77470edc88ccc423a454616f809e7de69","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.14.0.tgz","fileCount":42,"integrity":"sha512-XqXqJ4GwQfU5Pl4eBvGtjWVNO7uPaqnG2Eo0W+yxpbTsL3u0BYetPJpQ2ZAzUsCGE0LO8StFe0mIWwOc9GYzYA==","signatures":[{"sig":"MEYCIQCoN5FPK0tDF7Sag2DIUmgt7WTy7fgvNi2Kg5PklO9xFAIhAPsTNdpiJL1j2kW+iHErOm4ncLZxNIxZTU+fOD5sFi1K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413068},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9971637d2bd003590643de27f6a7ed913ebd2c47","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.14.0_1785537125977_0.9101193217786558","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@huskly/ibkr-client","version":"0.15.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.15.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"dabccb1b1549bae08e88e5bfbb607f90645583b7","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.15.0.tgz","fileCount":42,"integrity":"sha512-PrqbTJ4iShCKi7GGaocuKdGuc27hGA9mSY6CSEN3P6+MzdNTDmX7C/qUvMlgLVch/k+TF+QLokO/GRUQKHvbcw==","signatures":[{"sig":"MEUCIQCn0ubv6BN/nYHX5aYmDvruCLCwzzMW+bgD08zRjWigswIgV84G/lCZpwCseEdGq7wl4Eb6OwOCgJ40K52tsQgsJIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462439},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f7d68d37cb105e17da3b56d6a81ca0ff7ba4be6f","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.15.0_1785618800952_0.17623431043485938","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@huskly/ibkr-client","version":"0.16.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.16.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"1bf3a75ce88e6dafd34452d3322c67fd4f6797af","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.16.0.tgz","fileCount":42,"integrity":"sha512-QcAAVJPmbfUdg5DawOBEoOjsF7cdumtp7GGAIKi6myRnFKWS9rvPEOgCf8+hvIzIUvuj1qZvRuDTdqgt1jM32Q==","signatures":[{"sig":"MEYCIQCNZFq8pJvbcbeI6OYTSVyopnx8Q6uB57ywVwynw7FQjwIhALi7Vt+Eu1a3oV+KtJrxdVBcKt55noxT8xoiN+cN4Hqd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469726},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"5e94cb2077b227801e7d05b85a3ce1d0a664e08c","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.16.0_1785876277718_0.6520669161453367","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@huskly/ibkr-client","version":"0.17.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.17.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"05231d3051686dda4e08a9490cc584a637ce61ea","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.17.0.tgz","fileCount":42,"integrity":"sha512-2IOmw/cz9IGEu+/+BdPj0DXVnMmTLNcGfBzjMKF9oS8g7PQHnUp05ZU3n032WyQwZo0JEXMB9UVeuan1H2F5Rw==","signatures":[{"sig":"MEYCIQCBY6xn1qeG/F2tC0jZvAdedsU5j5xhW+j7Zc3G7HrJngIhAJA9R5VAtZ0LBmbnMtk1F2v7OOSrtF50za1jCrpkV0Mm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471628},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c3abcae3c5ba31946fe0f6e76d802864d1d35076","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.17.0_1785887895404_0.5879133387007047","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@huskly/ibkr-client","version":"0.18.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.18.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"a6287c6377081f94602894ea550d6e8be1b6c64b","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.18.0.tgz","fileCount":42,"integrity":"sha512-KtAsfyq+VSWLjKA9YozQgQhfYQ6+Ysb7Z78iVPyqtZKnZSoZdktczHEUhdCRTswJGbEbi7PAiQBXxi0GYMDrtQ==","signatures":[{"sig":"MEQCICaTGyB9Um8dclFcvPiOTHdCcyfrQCBAA3Yae/U9n59UAiBdsEbrxcSjF4Zbfsa/4c8nL5sRvwCWISZaI2nsqS8Nyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472878},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ee96b250e661aab28ca477d38669fe4fe67e501c","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.18.0_1785948242918_0.9147712176572118","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@huskly/ibkr-client","version":"0.19.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.19.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"59d5453e8e147a6e24525c5400b4c4fc3e08af1e","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.19.0.tgz","fileCount":42,"integrity":"sha512-ytgt1mHyyPvDEu9gnKV+vHahWSXay8X29kr4EoAfBPTHQpeQSIBPqsfHQF4fepHe7d9zpXYZALlqPTiduFd4Qw==","signatures":[{"sig":"MEUCIAb1Vv/kxlbXc7AKvSbXFODhyrPEpV1RBFDuTz508m63AiEA6Ep3ivBCrzfK4ERmZaW75bsfZAlEy0wO0WFnzMJ1lNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475614},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7d51754d8c966d5c35cd7adb01621d56aec4c3e2","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.19.0_1785953184564_0.5135770520682592","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@huskly/ibkr-client","version":"0.20.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.20.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"0d5116bbb6f51dcab20ce3e5f17720d2774ec55f","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.20.0.tgz","fileCount":42,"integrity":"sha512-EJXSCU+deMkLmMi0O0dHd3vCXaC+18qAmUbTsepO6+Fq8fg6GmDYmj35KK0Gdb3gMsuFXEH8c3KtrB4iSH/jZQ==","signatures":[{"sig":"MEQCIG+hQ3QRg0Oh3dXQoS1+SHJiegyv329JiRvM287BtMjFAiBGDI/eairJVI5JsGDCDhQmXnpO7mMvRkjVTyZkzvibbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475490},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"155000ec5ec552d2eec300db0ef3ce9cce6708ba","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.20.0_1785958492271_0.339622985035561","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@huskly/ibkr-client","version":"0.21.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.21.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"0db9cfc7c6fc7114bf91cd6bb22ee3a11a9e1d6c","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.21.0.tgz","fileCount":42,"integrity":"sha512-rfuE79ymaVH+YbgBiK/LgsCP+wsEgbqIP+T1/QNqQ6YpYUA0lTGWG3G8MPVgZaPGMg4GiwBZ4RdZEznartNNJw==","signatures":[{"sig":"MEQCIBygK45X+06becSKzuVKy8d4xryvbSIgaKfxbuK7GwZRAiBi3GtwTk4nUfs2Wla3OqbVN8wcE9CNRFJXZWxHeEuFiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":475471},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"7d148c396645f93b19dbe26a817de9da6c584438","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.21.0_1785962791004_0.0775320392601615","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@huskly/ibkr-client","version":"0.22.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.22.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"202bfccd89cc87e6c61e79d5546cca8e1c981407","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.22.0.tgz","fileCount":42,"integrity":"sha512-5gW39RH2XfKxtd0FgB90zdg1l0YMEsbuBWQhh1xLNkkmRYcEAtxk0NnoXUGqHoR5L6wsGnboCLmsnD9l/Mv9IQ==","signatures":[{"sig":"MEYCIQDNawHA9waqmVcUV1K4YNtimN+LMJZHCOMdi3Xb8yXBnAIhAMg8ZcUBwZvs/Cvmui+8tfENY9ATIDZKigrSX3PzAeCi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":477667},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c16ebf3bbd2ba249ceeabf3cb757bfafcd97491b","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.22.0_1785964046371_0.417274966981102","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@huskly/ibkr-client","version":"0.23.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.23.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"38c7071171cfd562754feeb00a2fb58eab36c555","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.23.0.tgz","fileCount":42,"integrity":"sha512-yOwjIxxundCSatg7wD2bhk1qgbUEVmJV0oX621zEI/bS2dtSIToCjEMkWvbWsngH2UCNlrz+b6LzJUSsWbAZoQ==","signatures":[{"sig":"MEYCIQDGsArDhG05grXan4RJBLUzsaX+o/Q9zoxyzf7g0p0HaQIhANGGJbt2/e86VPZvDL4QqnPibc6monH4P/Yu/2R+M1J0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490920},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"83ea64e0fceb3b31470a52e600aaf64cd588c3f2","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.23.0_1786035314852_0.5614499001120905","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@huskly/ibkr-client","version":"0.24.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.24.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"b8bd0fffdac1aa2a6f7a7b4c5800b6a3aac41098","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.24.0.tgz","fileCount":45,"integrity":"sha512-TTQv7gpDbgI4hRBGd2gIL67qGUQRVI+rljgaKY3wBxQ6AgVw/qFpA2IUQg5sAJk4rwc+ih5etaMd1PAxwMJlPA==","signatures":[{"sig":"MEUCIAf95IHpEt7UEgjRAE3iOJh+QK3pyRBnLtr3ZKn+6d9dAiEA8M0MdEVIn5Kq1C2+ngbEwlLZ4QmsgXhTJjfLikKx02c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":496521},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.24.0_1786039628741_0.10712781466464771","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@huskly/ibkr-client","version":"0.25.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.25.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"c1b00d3c3973a183482b540eb4e9cb513e01e966","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.25.0.tgz","fileCount":42,"integrity":"sha512-g1/n5iKGW1jHrDzD6xfdCKuotZJGp97x7x2j8rCQfFsIZd+GHm1eaN6AgyOZ7atyJ6njGWStn5jlQVEsqwNyEA==","signatures":[{"sig":"MEYCIQCLI5LVw4j68zHZKLgKTYJKeAw+XbBWqr3OgUvvoXkeMgIhALvrUNmMDRy8Y8PXven9sbKFXpYx6fsFGR8jcI00OPfA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500074},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6dff239eb1750bd851fdd408083d8145476cb903","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.25.0_1786120091264_0.2832726062830093","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@huskly/ibkr-client","version":"0.26.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.26.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"dc12db2c6557be0a5e3bf4efe48988f721095dca","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.26.0.tgz","fileCount":42,"integrity":"sha512-7g4ChFjJ4wJo+snspY4jJmMWyp3caaL1fV0Pc8NOpnLQt76ZVHJyH5dOEbvAYKyKpx2AOol077ClgZqdlX4jBQ==","signatures":[{"sig":"MEYCIQDAsyjfGTih3bOj6QCGlYyg3772SRY5ucCSuScjHGbznAIhAKl4cH0CO2Ezz3urD+KPq2K0AWVWCAOxriCtCDU/73WI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":507461},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f5b158133d28b79741076ac083162dc53da24f78","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.26.0_1786137613529_0.20195486303791044","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@huskly/ibkr-client","version":"0.27.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.27.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"7d3ff624eb4f45c09c16f88fd1d00e827e287ab5","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.27.0.tgz","fileCount":42,"integrity":"sha512-1DMSGFKuM5Apr7mKVdZE9lHpN87l/54OrZny54iJ/3WC3V0VCXpMQ6XgFdF8Eltwm6MSx+j1rAOPquFwJ3+EKA==","signatures":[{"sig":"MEUCIAnKlsumzHQlbH5+tXJ7OFmxWSI1gwZM6Ek8KEEntrWaAiEA8K5cqBqMJzGche+01Z1BBsy25zRsXTQVTFQVoX8rVJM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":518698},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2749c648a1cc95678cc3b1881df2328218e6cafb","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.27.0_1786389533060_0.7787750132649747","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@huskly/ibkr-client","version":"0.28.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.28.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"e4bcc208bfd6c39274e8bf3daf840140b7d9ad8d","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.28.0.tgz","fileCount":42,"integrity":"sha512-EQ8eDh3OlIDoGeOdIu9NAUtNM0QdpsEcpF5kTf9wxZ4lHCiK9oDHkeezMYQAVgpO8zlOmtPgMJ2hf6iQiXIS3w==","signatures":[{"sig":"MEYCIQDrKKBp//YIrzq4dRoXTllUuVd8kk/gFNGWLp+yOGdgwQIhAMq7ukP5WE983QwMupA6Wnug7qi/VXkLhyv1CTOStKMW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522611},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"38954972e7f2cd3929b03488f3e195854f523190","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.28.0_1786391235965_0.4724018751574923","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@huskly/ibkr-client","version":"0.29.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@0.29.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"ca4238eb8faa93321813aff0fadefd035e5f4146","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-0.29.0.tgz","fileCount":42,"integrity":"sha512-6+4cISAMOJtd1xyOO1i6ErdAy1Q8I/XyOvNt7BJWYqoG34KpFeqh4zkfZRlOMPOTZ20fZUfvBjynRpvKWW7e8A==","signatures":[{"sig":"MEUCIQDPK4PB4JkFlSAyl09xzoLMzBP+7Z+vumI6shAysQPzJAIgMzDTj0VovgpC9n/4Sls2VkK1utiX2IrXri5j8dX/cj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":524136},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6cf3b8272befaf1f3a97aa92928b0bb61fbab199","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_0.29.0_1786472855091_0.8420921517971762","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@huskly/ibkr-client","version":"1.0.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.0.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"7d2af83e037d3c7e3d421ed0d57134fde905d6f9","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.0.0.tgz","fileCount":42,"integrity":"sha512-44nisk/cWr37n7Dg6eMitdSvTAdSVFLK1efQdiLOI4KvQIOaKFfI/hOtHI+1WklC/cwRQRFzoMszBa2stFid0Q==","signatures":[{"sig":"MEUCICqQmf60oClME6R867HA+YpBSjadCNwnkfdFc5QCHz3CAiEA2/kNxebsPQR3MAWfpqfEPy3lbw8Y4znVrJmzCwGjJ/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589886},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4d57ffe144f089939d6aae0c5638897e561d24df","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.0.0_1786483546377_0.7201436205529623","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@huskly/ibkr-client","version":"1.1.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.1.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"9d55a23e6680dbcfb690549002829c906da244e7","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.1.0.tgz","fileCount":42,"integrity":"sha512-q537M03cLR96+P3tRfprwGrRQDMpVsuNwt2q+/m0xeR/WABsaCRIcw6TTiLJwAv+oN6r4R+heip1BkgCSnCCOg==","signatures":[{"sig":"MEUCIQCAw809nYPPNLsPOdnYXSRgPc7J9OLh5IEJ8+sAkRv8mAIgYPhHo8WenX6MJGlJO+QaCChfktHx/eOkOqGMu1r6foI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610556},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"ce4443773c9aaa5b0c06db80585324d6911912c5","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.1.0_1786553205700_0.5574932954248579","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@huskly/ibkr-client","version":"1.1.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.1.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"0e55fea95e70ac45dbcba531c7fe9cfabe1286d7","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.1.1.tgz","fileCount":42,"integrity":"sha512-Zfxa+3TzRucpJz7y5LeNcHAygvStLaZovY2lcGA2W861oqsZ7abBsh/el2LKiZeLq3soQO5nM3QTTEwG423WWw==","signatures":[{"sig":"MEUCIFRNbki3g1UdYJcGchX1bVMPnoHD6jCFue1RtbVkQmxFAiEAmuJbS5pIINU83PBFNngr6e8VpA0Fogf9jP9oa4MOtP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":611199},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0170ed4b0417edaef21ee2add4131d57f7989988","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.1.1_1786562153195_0.5857763719443458","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@huskly/ibkr-client","version":"1.2.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.2.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"9a013c7cd1bee345c3ebb38a8cd210d4d00bd87c","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.2.0.tgz","fileCount":42,"integrity":"sha512-QdLP5P+jKAxi5LPZHHI2nl/9iTTf1eV7S3R25SokyOW0CZ7Aj6jqRlmAf90Xvn3PhTuLojnWR+RHKhuAS7W9zw==","signatures":[{"sig":"MEUCICup50qobnVc9s7zdFp+iQwdaYOPEpbH6j/uFc1lN14bAiEAjhiBE/NumN819BVLbk7b1Vb/IxYfYTIVN95kYiQv9vM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627249},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e92a713892d31bbb30d7e305bf4407aede0eb743","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.2.0_1786572551193_0.45643161111137687","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@huskly/ibkr-client","version":"1.2.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.2.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"dd7d8182b51186bfea1bd79b76c46b2be2ad5dff","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.2.1.tgz","fileCount":42,"integrity":"sha512-ENvZt1hwCq+DGE3tskPsv9sG6j6seWWQwwalk5jIjhZ7jgDlNL9NxJOzTAL3qLoixqKQZ1qf121mdHEmkCoFJw==","signatures":[{"sig":"MEUCIEwNiJy/6oyW3ijA5a+IkLShs5P5AhEDE15qu7DDhD4vAiEAqu+BPxr1VoN2VTug4xfdhG5QD44qq8lKkplugf7gExY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627377},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4f618e07ca462cf3c5716f955589c5b5ae146f02","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.2.1_1786633017615_0.2517355085885351","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@huskly/ibkr-client","version":"1.2.2","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.2.2","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"0e2d55758a2e98c21f839469f070314f79ab9c5d","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.2.2.tgz","fileCount":42,"integrity":"sha512-OqH40pFuTpEe8c4cnvjMP2ADoOs9cr9DGaKrhs1iC58ENH7kQ8meE4KCX+iC8C0vWdJJ7dBllKMv14JnbY+7zw==","signatures":[{"sig":"MEUCIF2OeGdTfrD9UvKoqHH3y/ljsBZQr6GQs6LFvoBNOmtlAiEA1CD3oqd2YsloC/RFwEB1uOoSloCmrTOwLDGDR9UekIY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630706},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"c8f0f3d2ddb0cc85a80da77b7a5f33bf1132b5f8","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.2.2_1786635844688_0.6358523603307831","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@huskly/ibkr-client","version":"1.3.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.3.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"9eb0c406cd91af4b6bd4ffdbe9b757bf88dce1f0","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.3.0.tgz","fileCount":42,"integrity":"sha512-vsPqjYTx9uYynrkuQno6OUUTSA5aPH/okYZOhpKupKGn/QQq2FRIHSXTQ3oeWrBMEt/vtStqth4HmoTYx8H5Og==","signatures":[{"sig":"MEUCIAhAZ7smIrEPW512QdNjSaDTmMzGPi1sgKBP2tYZDYb/AiEAmxEJw7NFvuvScnDW4CFnjHozNGbxHfVSQ/0I6gtmCGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636635},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6ed93c5d63ffb82430df9a884d2c00d48cd1341d","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.3.0_1786725279820_0.9700077927415316","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@huskly/ibkr-client","version":"1.3.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.3.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"c8c670c465d988f7c02adc32dd65c4a8d84e3b4f","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.3.1.tgz","fileCount":42,"integrity":"sha512-rpoc4d/tGZKSO+QwgXhyG4Kq/GL+a5GqwFjoFm9jC+1xSxfEjkAMzQxmY3bq89u+Cwc3hqCMioz2VAl5kpKDQQ==","signatures":[{"sig":"MEYCIQD+eSbcIEDRsltLIBcXTlj38rAz2HIAp498zyhcpO0lwwIhAJp2omG2AgdW2GTpsfxX5+WsFoGxAKQ7bHIwjiW1qlfp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640243},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8114fe7af0914ef88afad8914802a0526def13df","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.3.1_1786732883721_0.3016126293637116","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@huskly/ibkr-client","version":"1.4.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.4.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"2a3cbad5509fdc234392a748dd01b4e40fc39697","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.4.0.tgz","fileCount":42,"integrity":"sha512-6BlvRn3MoAqPRVYPCINyzc67oxriroI2DPdrDrjaLFO/yOV7ne02tCsMCJh4BfKjINkWXVFAnXcUkgKxgRETlA==","signatures":[{"sig":"MEUCIQC1QMsWZU3iJGKzuwAZcZsgh+tfKcmv7Q63Dpc+E4O2IQIgbHr9HrRYo894ZVTx2MGAbOVI01d5VNQXVWZOIqXxYC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":661060},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"796cdd5ed83693ddca12ffe328acf398da3af200","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.4.0_1786980916429_0.2637864858249932","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@huskly/ibkr-client","version":"1.5.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.5.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"b0fad256f6f02f9b18f43439e2b83eedc139a558","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.5.0.tgz","fileCount":42,"integrity":"sha512-8Cgo/2SabJHaexc1iGh4aq73wX5VcwZgeATaaPEash2XNDwgZG4rWyUy8kws+al9wfli6rI8jAWoS1FL8v6HOA==","signatures":[{"sig":"MEUCIQDM8aSwD1S9EKDYaNceGLtWmD1Yd7D0RJ2IAhLQm2JuSAIgP9xyZlPd3WhkDgRLuM2JiV+XluXE9YuMF4ARQJZLnz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674301},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"43a3333fa02df23beca95908f95b4a52d4dce0ab","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.5.0_1786986353910_0.31892342718183264","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@huskly/ibkr-client","version":"1.5.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.5.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"3dfd6c478fb8f2c6f23c09eec8a2d042af5adbe3","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.5.1.tgz","fileCount":42,"integrity":"sha512-E+Chnsdt6dwfKXfxBGFjMwwBbn5cyhfklajgJgunHUvF+ZNFMTmbLms42QVawmfZdg7ceslQsNrdIlgVzq7eKw==","signatures":[{"sig":"MEYCIQDSUOv9Ra4umMytNttTVAtaXLPOA0CK+iLGNtnXx2rw7gIhAJcXa7rZoxgRosIX2I5en2HakWaG3NNVyOUnxxIKTpMY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":677896},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"287ee6d387e1bb45f2dcb73767a87085ca3d9604","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.5.1_1787084389462_0.32013643340079123","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@huskly/ibkr-client","version":"1.6.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@1.6.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"31380bac5d733ca262ac42fcd6b8f62fcb5c4ccb","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-1.6.0.tgz","fileCount":42,"integrity":"sha512-HtMb90wdTuQd8Qgyc+SpS4gKVa8rDoUAQ18KnlDUldWmQnwpgOVkEMd2r5IQ78ssWmS/4LJTFRt2ookyHqZQLg==","signatures":[{"sig":"MEYCIQCldeYmjx7bSIRoiDoYzzPIK8HKi2JyI+ujE5WAPMed1AIhANouqbBedvYRH94FgU24J2ZcYSCU7DzSHWyX0tDVUHmi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":682960},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62c8a5f26f768c075f289b468ff78454295f65ad","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_1.6.0_1787170684555_0.7950702399633032","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@huskly/ibkr-client","version":"2.0.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.0.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"296aa32bd698704cc232f7ed12fa99537f10a80b","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.0.0.tgz","fileCount":42,"integrity":"sha512-/TzgG/9sO1cg+nsG/2yvHPlcB5YcRYaGWiJpUJip+CEQqdZOL6U5QJ1tEHOuKnB03+W322y2ks9CwXaOSOBMJw==","signatures":[{"sig":"MEUCICxlByh5fTA65DnA0m29Uc1+7Sn2sSmBKSybeCtf1GU6AiEAmhgg5FhNlEgoknWmGFJEjlCJDC+obWq38lTjYyqXW0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":718182},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"598e50e6969656dd1a038f8342b056dbe32fed80","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.0.0_1788215819558_0.9202612703583681","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@huskly/ibkr-client","version":"2.1.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.1.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"5b5ecb9ca7e559751f5ed3d578adc0e0ba760e1e","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.1.0.tgz","fileCount":42,"integrity":"sha512-V7f3WDOZpDdij+UdHihaXnNLNjmy/goJpXF4Ubyw3kv4Y3JEF9IN+NEAmCWb1Wh7RzAiESerbik7ZtfcxoYErQ==","signatures":[{"sig":"MEQCIETQ8t41kHUSgBWrMBwvw8+smCAOgxKjngBsZDYHsTNPAiBxFtrzpKs+Rk9GB1r/2pZWvFHFht5PmK0Fb1pMf1SdnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":733860},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"80fd5ad5d62348daead5189dd270c2ff9a7384bb","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.1.0_1788268491020_0.8977672632637677","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@huskly/ibkr-client","version":"2.1.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.1.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"04d81a5fefd03c91b3d6adb38ca96a8c6a731a97","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.1.1.tgz","fileCount":42,"integrity":"sha512-ylH7JyqMeyZEVRPJL/QGOOwRl6IcVqolhkElXP/IRRc0oSUdpyVbWeo82OQsVEg+tw/Cbnx/mLM4S2N2IOoKHg==","signatures":[{"sig":"MEUCIBsySPNUSI+W2X1B9IS/34zbwWcoLyDg91k1JH+7xmTsAiEA5tL7WomSjXhzMxf1K/9JcqxHwGET+YQMD8Pwq2ZYPbo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":734248},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"9fd6a7fe8b1610edfd2e49086d65cded47fe2f98","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.1.1_1788274508257_0.5874612065602172","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@huskly/ibkr-client","version":"2.2.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.2.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"4fbeba363545dfdc668d2ea3268550f3469f1027","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.2.0.tgz","fileCount":42,"integrity":"sha512-hxIXHQRNHrNyZ0VDyQgL57J5ZuSVV22dE72FiIj9bn8HrRw60BqjtZR8O1WpYJjX+6iZek9LNXWvQmtDs089FA==","signatures":[{"sig":"MEYCIQD3XWNq0WyyTRqRQD2GVYVmubV7zjJRacdP5qyWPIb3igIhAOWfgnxA1XDYov2VTo/gtFfNkQ8Fd4phzJX5M9FoQgnC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":754430},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8eb9cca6d879a15ff7073290237b363e6075231d","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.2.0_1788279546366_0.14189421284119375","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"@huskly/ibkr-client","version":"2.3.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.3.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"774b9fe84c9c87f7a426ac94ae686214a9681748","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.3.0.tgz","fileCount":42,"integrity":"sha512-M36jiGITAPIv77CLCF37wWfkadcHmP2budTtQhGD3MA5vAw1ptlwRl7tK9zNZui+gWiYXt4lhmrrQEj2ggxmow==","signatures":[{"sig":"MEYCIQCdkCyzkI9jBapVV4855RjPMCZsV2VHIDi0wqWVxuAHpQIhAMkSM4e8+cSRVDSnbdgdTexlbyOEy+57qZI5dyg6Slot","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773644},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"6b1233a5931bde588a3556e0de0b4c92f32e160c","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.3.0_1788373184976_0.9462487029130824","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"@huskly/ibkr-client","version":"2.4.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.4.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"dist":{"shasum":"46c934ee69ac9185cc25e5a0d0af1d59741be53b","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.4.0.tgz","fileCount":42,"integrity":"sha512-k+V4LA3SDkS/4+RMwTWLPLjngviSaLmb8iSRkNub9WRKk3nLeejmLeRA9mucSqdkmuW9OfsdqG0lHmYFi1tYGA==","signatures":[{"sig":"MEUCIQCpK+t0KjDRK6ZdBfg99VpfieBHUMZWx+HFR6NrIhv5OAIgKJdxgYf4LKp5rvZ6RXYBUEUPMXvP76iLLhFharkRc48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":777100},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a98f9df7cf83e10b6ec2e79db5fa97336d44836d","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"felipecsl","email":"felipe.lima@gmail.com"},"repository":{"url":"github.com/huskly/ibkr-client","type":"git"},"_npmVersion":"12.0.2","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.5.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.4.0_1788375125883_0.8992289577025003","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"@huskly/ibkr-client","version":"2.4.3","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.4.3","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"3e444fd778dd831868601dfff469444d2b77c299","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.4.3.tgz","fileCount":42,"integrity":"sha512-2pJ90Ke2Zn5QnpVnPLGmus/2FpteMAUtcaIcePC+Oyv5+s1osZ9KoZHoOgjRJB8jIbVJDsCMNSQj60Ox2a+7Ag==","signatures":[{"sig":"MEQCIHyKcUzRxS86tChx8B5s9OVkzWS3sGz8radedDGP/VksAiBhvTP1lGnrysRnl+LIgDeUYgKR8tLph/8t/oRzMmcExg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@2.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":777312},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bdf474288e3989771ccf636e45b7bb3e8d92b2a9","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.0","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.8.1","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.4.3_1788551136833_0.9062645939345444","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"@huskly/ibkr-client","version":"2.5.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.5.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"7fb6a7c9bdbc59c26c84cf0a5f300186079f8b65","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.5.0.tgz","fileCount":54,"integrity":"sha512-WBw/Qw8FctYNl0xTqR6rNmgAh2e8mz7B7Zras/EB/keIz+CkjOn33cKKsstdmCIcqbn/5vbsArhXJj7dvnDoBw==","signatures":[{"sig":"MEQCIEcE+4Jr4aBXKQiuG114teFmdsc/JmZLuu5f3KUVJa3QAiAidgKXuJ5VbvBiIH+8XFpsMPizoJ9GTk1xzitb9/K1MQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":806374},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f69d16b62a614e0ccc2c993fd0a153b9863ca6f0","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.0","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.8.1","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.5.0_1788876646877_0.21645748017416455","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"@huskly/ibkr-client","version":"2.7.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@2.7.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"eff01a66f767832baaf0f15e707465c695a9990f","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-2.7.1.tgz","fileCount":58,"integrity":"sha512-y9A2LZkrpjt5iM7vZlcWz5Y1sRmNb/JADB7Yd+SrovwEhaGg+8innHCPscXATV5F93B3fCK6syNt4HLYH0JJ3Q==","signatures":[{"sig":"MEUCIQCgGpqQEqOetlEB2XeyrvNipYURlxCn5K9oC0PLQLZiHAIgVXwJIQXRYEuu/ZxVWQeFDfq6he9+vlO6UpNi55jt5xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@2.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":826648},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1141c07412e52f12a04b3f0a66624bebc9d2444b","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.8.2","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_2.7.1_1789404276402_0.36989425272679544","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@huskly/ibkr-client","version":"3.0.0","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@3.0.0","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"f6ef42b0b9464f140bdaa7d2cfad4148de13ec13","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-3.0.0.tgz","fileCount":58,"integrity":"sha512-Jp8/MNaC7KFq78WzYqfoF/PJTmkH6+fqXesmqpRHTYdV8e93W67gdFCR7e5kvhElWHwESNXGs5sO2+t3cuPT4g==","signatures":[{"sig":"MEYCIQDaEOtIjSGRWC9szIb/TeVmxP53TgldOIRKH+MwQh7vDgIhAPjAbzgtVlnYNN6Ixa6G8TnUGXfgV4Oe3Bo54c9D7C5x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICs/2XMbXpC6bMn3/yYF0DdYlk/+/WtuDVuEcIlqrgBjAiEAzkIPzvgb5ak4kxBbIgGLRybmHTN6AwMxTGBJwv+/X8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":827806},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1573ae7995388bfe009812ca0783006da14d7dd6","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.8.2","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_3.0.0_1789477201125_0.5412520641580862","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@huskly/ibkr-client","version":"3.0.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@3.0.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"5fcc1529a077b90d90d7ad78e9bfa8916e60ef42","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-3.0.1.tgz","fileCount":58,"integrity":"sha512-eg1HaLKQRJu4a15YPyImo2atcgp0LnPVEGO9jfuFZAmUm4q9+59GSDP8bh2Az84kq0wJ0yA01FHaTE/PHkQhEw==","signatures":[{"sig":"MEUCIGjiefN4XXwWR5PrWGHij6FJUjI/9HCvKqOIr2SQSoUYAiEAhYh/2LBdsI0w3vAN8hOyCdLFdVd4sOiKVG5k6V3Ivto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDB3xHf/kSHnX+AMfselObggDAfQvF7I3wosY7GtYpuAwIgFFXqlk7HbO0FW0u6ianv1RHFX+mNmDhXatJa65v4HEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@3.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":829522},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"84e34d9fb99b3e5dddb7da274b05eb9d9ac991b6","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.8.2","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_3.0.1_1789589474288_0.4222389604683283","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@huskly/ibkr-client","version":"3.0.2","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@3.0.2","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"3916636f5c8a7485068ad021d722488f4f4a3069","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-3.0.2.tgz","fileCount":58,"integrity":"sha512-4hmI8rDkTym/SAatd9DHHHMGSZZ2pEJab/PjOW9xcL2iD6hFlgu1pqjp3MehRR3gabs3Nyt7rbKLTTCOI2LWtQ==","signatures":[{"sig":"MEQCIAwknECRfjvyDMSXuwKvDTRoKRzmTgQEMQ3wCxMZUiI+AiAf+GFSuAXCputR2herQ8vHgwH/58b9NdpQ3JRh3WkDRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF8Y1vpQW2tv4/LE0QcqpAy8wC6xaNmkl3b92OD2R2f0AiEAm/Wa8v/FzhGZusteX0FF8bDnB6gmwFTrCutBfciiYz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@3.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":833529},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"025ed090824981a40159b621561839729d5a283d","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.9.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_3.0.2_1790023335850_0.07398387636248183","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@huskly/ibkr-client","version":"3.0.3","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@3.0.3","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"945c076d64beee274bf96182631309fab7f23147","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-3.0.3.tgz","fileCount":58,"integrity":"sha512-cK37oGw5U7cOAFaoPOWr5BxNz9IQip/XyzoTTIJJBZjqo/wLEDW3hjoFbLs/UCQThrF+ga4mZyVLg4uj7CkLTw==","signatures":[{"sig":"MEYCIQDumS6F9x/ac22g7hWFaDT5VQYF8UU/5Oq+wEENi6738gIhAN3ePw1iwK62Kdo4VzVPW88DLpK2SVzw7M6Kz8YdUUfD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHa8n6JDnAH7ZmPWgqd60015QIO9eURYJGiuBjgS/FpEAiAt//ni4EdfLn+7PCrPMrcieBZDj/6Z1kckw4seY8yywA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@3.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":834378},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"cace89e95de56e56b53c7253ce3b8a34215e3195","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.10.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_3.0.3_1790100038603_0.06924377113879476","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"@huskly/ibkr-client","version":"3.0.4","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@3.0.4","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"c19a82a090e6dffc1021e8eff5b2149b1fb45f07","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-3.0.4.tgz","fileCount":58,"integrity":"sha512-xDqh1IOTjvSmy/aOwqMC+Q2QSD6nqHlF0FUZhnMpdooFx2ZRGISp59AUJF95vSOVAFeBfmnflc4qUipxWKmGew==","signatures":[{"sig":"MEYCIQC63hP9yU8ClSZWdza2klGJAr2NF1FmapUbySKgDT4ocAIhAJiLubRBwuRBG90cJ47Wls+BIBGFS+xlnvZ8uku8Z1e1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEiMLIkbXdQkf8ieTXKaNmUgbpI7uDH+Tzw57teFYR9iAiEAhFQQI91EFqphIveCMVenWDyIvkuCJ8ZeY9s01v1SZuI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@3.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":842422},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"2f9a093c486bb2625d9ab2f23f9340418923968a","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.10.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_3.0.4_1790179886652_0.9153956425759386","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"@huskly/ibkr-client","version":"4.0.1","author":{"name":"Felipe Lima"},"license":"MIT","_id":"@huskly/ibkr-client@4.0.1","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"homepage":"https://github.com/huskly/ibkr-client#readme","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"dfeba434dce03226191934ee347c8af06bcefef8","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-4.0.1.tgz","fileCount":58,"integrity":"sha512-LDD2Od4K0uWBm0FO2FBtx+a7EB+LsWkcOc09LOk+oW3sdVFVeXgsopXVSgHahrK/fosyL92FCJCRWL/y0AKE6Q==","signatures":[{"sig":"MEUCIDHPJ3dR12uP7P0nfn0CTfl4boDOixGLHbgmm0X4zBOPAiEA39bDubgr4qoN/QK6NVPtIlsj1LZdZpOfVIPGcYoX3a4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHLvQxapTBbSXOizZatlUeV5wonsHftNgV7uZIGVcQluAiEAwmK2TrY4mAg+OV2D1c01Dwby+Y3LYQXJeAB9aWOs4Do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@4.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":843224},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d3666814a1bcd8d48d4c25a44934f2273a4bfe8e","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"_nodeVersion":"26.10.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"tmp":"tmp/ibkr-client_4.0.1_1790180790559_0.6467680590189939","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"_id":"@huskly/ibkr-client@4.1.0","bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"dist":{"shasum":"d582d4737186ced08b160518aeecdd612d0533b9","tarball":"https://registry.npmjs.org/@huskly/ibkr-client/-/ibkr-client-4.1.0.tgz","fileCount":62,"integrity":"sha512-Fc+QdOJvkygo3XNvcQAaoIqRg5wO4foeqxvefhoRI89MkdJR8yIxa2kyTtYdsEgnQSkryCsfo7t+B3DEOz27TQ==","signatures":[{"sig":"MEUCIQDn7TGL2auCk4/fRddTQDt+WkP6xLYza2t5LL8blx2msAIgQjMzGrw8Ap2e4MLynvaptEMzFa8W0PcxrA45cVya6qs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBnRfJ7Na0mhNxZiuk+f5FfDHO02NQbpc0Sk93Tb0sASAiBONdh9tc+/K+DG/LjyCjIHkol8KSHndSc5Ge5iQVFS7w=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@huskly%2fibkr-client@4.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":868946},"main":"dist/index.js","name":"@huskly/ibkr-client","type":"module","types":"dist/index.d.ts","author":{"name":"Felipe Lima"},"engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0bbba7eb9628a4432f42e7d1a59fd709a76c9d72","license":"MIT","scripts":{"lint":"eslint src --ext .ts","test":"tsc --noEmit -p tsconfig.test.json && node --import tsx --test test/**/*.test.ts","build":"tsc","check":"yarn lint && yarn format:check && yarn typecheck","clean":"rm -rf dist","format":"prettier --write \"{src,test}/**/*.ts\"","lint:fix":"eslint src --ext .ts --fix","typecheck":"tsc --noEmit","format:check":"prettier --check \"{src,test}/**/*.ts\"","prepublishOnly":"yarn clean && yarn build"},"version":"4.1.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:99e0298d-62d1-4332-a254-7ce6144d5639"}},"homepage":"https://github.com/huskly/ibkr-client#readme","repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"_npmVersion":"11.19.1","description":"Interactive Brokers Web API client with OAuth 1.0a authentication","directories":{},"maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"_nodeVersion":"26.10.0","dependencies":{"dotenv":"^17.2.3","ibkr-client":"^1.0.4","fast-xml-parser":"^5.11.1","fast-xml-validator":"^1.4.2"},"_hasShrinkwrap":false,"packageManager":"yarn@4.18.0","devDependencies":{"tsx":"^4.19.2","eslint":"^10.8.0","prettier":"^3.9.6","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^26.1.1","typescript-eslint":"^8.49.0","eslint-config-prettier":"^10"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ibkr-client_4.1.0_1790354375260_0.4490436623760572"}}},"time":{"created":"2026-07-17T16:30:53.958Z","modified":"2026-09-25T16:39:35.713Z","0.2.0":"2026-07-17T16:30:54.367Z","0.3.1":"2026-07-21T21:07:35.938Z","0.4.0":"2026-07-23T21:05:46.063Z","0.5.0":"2026-07-24T00:38:04.223Z","0.6.0":"2026-07-28T21:27:06.445Z","0.7.0":"2026-07-29T16:51:54.801Z","0.8.0":"2026-07-29T20:00:59.578Z","0.9.0":"2026-07-29T20:04:47.875Z","0.10.0":"2026-07-29T20:09:24.087Z","0.11.0":"2026-07-29T20:13:30.765Z","0.12.0":"2026-07-30T18:06:57.165Z","0.13.0":"2026-07-31T19:09:12.170Z","0.14.0":"2026-07-31T22:32:06.139Z","0.15.0":"2026-08-01T21:13:21.097Z","0.16.0":"2026-08-04T20:44:37.875Z","0.17.0":"2026-08-04T23:58:15.538Z","0.18.0":"2026-08-05T16:44:03.070Z","0.19.0":"2026-08-05T18:06:24.719Z","0.20.0":"2026-08-05T19:34:52.463Z","0.21.0":"2026-08-05T20:46:31.159Z","0.22.0":"2026-08-05T21:07:26.541Z","0.23.0":"2026-08-06T16:55:15.003Z","0.24.0":"2026-08-06T18:07:08.892Z","0.25.0":"2026-08-07T16:28:11.414Z","0.26.0":"2026-08-07T21:20:13.691Z","0.27.0":"2026-08-10T19:18:53.234Z","0.28.0":"2026-08-10T19:47:16.114Z","0.29.0":"2026-08-11T18:27:35.245Z","1.0.0":"2026-08-11T21:25:46.546Z","1.1.0":"2026-08-12T16:46:45.880Z","1.1.1":"2026-08-12T19:15:53.338Z","1.2.0":"2026-08-12T22:09:11.340Z","1.2.1":"2026-08-13T14:56:57.791Z","1.2.2":"2026-08-13T15:44:04.838Z","1.3.0":"2026-08-14T16:34:39.988Z","1.3.1":"2026-08-14T18:41:23.885Z","1.4.0":"2026-08-17T15:35:16.602Z","1.5.0":"2026-08-17T17:05:54.073Z","1.5.1":"2026-08-18T20:19:49.602Z","1.6.0":"2026-08-19T20:18:04.680Z","2.0.0":"2026-08-31T22:36:59.744Z","2.1.0":"2026-09-01T13:14:51.167Z","2.1.1":"2026-09-01T14:55:08.455Z","2.2.0":"2026-09-01T16:19:06.528Z","2.3.0":"2026-09-02T18:19:45.116Z","2.4.0":"2026-09-02T18:52:06.048Z","2.4.3":"2026-09-04T19:45:37.046Z","2.5.0":"2026-09-08T14:10:47.013Z","2.7.1":"2026-09-14T16:44:36.540Z","3.0.0":"2026-09-15T13:00:01.297Z","3.0.1":"2026-09-16T20:11:14.375Z","3.0.2":"2026-09-21T20:42:15.967Z","3.0.3":"2026-09-22T18:00:38.700Z","3.0.4":"2026-09-23T16:11:26.748Z","4.0.1":"2026-09-23T16:26:30.643Z","4.1.0":"2026-09-25T16:39:35.371Z"},"bugs":{"url":"https://github.com/huskly/ibkr-client/issues"},"author":{"name":"Felipe Lima"},"license":"MIT","homepage":"https://github.com/huskly/ibkr-client#readme","repository":{"url":"git+https://github.com/huskly/ibkr-client.git","type":"git"},"description":"Interactive Brokers Web API client with OAuth 1.0a authentication","maintainers":[{"name":"felipecsl","email":"felipe.lima@gmail.com"}],"readme":"# IBKR Client (`@huskly/ibkr-client`)\n\nA reusable TypeScript client for the **Interactive Brokers Web API**,\nauthenticating over **OAuth 1.0a** without the Client Portal Gateway. This\npackage contains no command-line interface; terminal commands and presentation\nbelong exclusively in [huskly/cli](https://github.com/huskly/cli).\n\nThe OAuth 1.0a live-session-token handshake is performed by the\n[`ibkr-client`](https://github.com/art1c0/ibkr-client) package. See the\n[`ibind` OAuth 1.0a wiki](https://github.com/Voyz/ibind/wiki/OAuth-1.0a) for how\nthe keys below are generated and registered in the IBKR self-service portal.\n\n## Layout\n\nThe repository contains only the reusable client library:\n\n| Path                             | Purpose                                                                     |\n| -------------------------------- | --------------------------------------------------------------------------- |\n| `src/types.ts`                   | Broker-neutral `BrokerClient` interface and normalized domain types         |\n| `src/ibkr/ibkrClient.ts`         | `IbkrClient` — typed wrapper over `ibkr-client` implementing `BrokerClient` |\n| `src/ibkr/oauthConfig.ts`        | Builds the OAuth config from `.pem` files + env vars                        |\n| `src/ibkr/dhPrime.ts`            | Extracts the DH prime (hex) from `dhparam.pem`                              |\n| `src/ibkr/optionContract.ts`     | Canonical OSI parsing and formatting for IBKR option contracts              |\n| `src/ibkr/derivativeContract.ts` | Normalizes OPT/FOP identity and market-data availability                    |\n\nThe `*.pem` files (`private_signature.pem`, `private_encryption.pem`,\n`dhparam.pem`, plus the public keys) are the cryptographic material from the\nwiki setup step and are git-ignored.\n\n## Setup\n\nThis project uses Yarn 4 through Corepack. Enable Corepack once, then install:\n\n```bash\ncorepack enable\nyarn install --immutable\n```\n\nProvide the account-specific secrets, either by copying the template:\n\n```bash\ncp .env.example .env\n# then edit .env\n```\n\nor by exporting them in your shell:\n\n```bash\nexport IBIND_OAUTH1A_CONSUMER_KEY=...        # 9-char consumer key from IBKR\nexport IBIND_OAUTH1A_ACCESS_TOKEN=...        # access token from the portal\nexport IBIND_OAUTH1A_ACCESS_TOKEN_SECRET=... # access token secret from the portal\n```\n\nOptional environment variables:\n\n- `IBIND_OAUTH1A_REALM` — OAuth realm (defaults to `limited_poa` for the\n  individual self-service flow).\n- `IBKR_KEYS_DIR` — directory holding the `.pem` files (defaults to the current\n  working directory).\n- `IBKR_ACCOUNT_ID` — target a specific account (otherwise the first is used).\n- `IBKR_TRANSACTION_CURRENCY` — transaction-query currency (defaults to `USD`).\n\n## Version 2 migration\n\nVersion 2.1.1 makes the four top-level `getAccountBalances()` amounts nullable. Missing, invalid, and\nnon-finite broker values are `null`, not a financial zero. Numeric zero remains `0`.\n\nVersion 2.0.0 makes session and write safety evidence explicit:\n\n- Use `initializeBrokerageSession(...)` and the other explicit lifecycle methods instead of `init()`.\n- Handle nullable `AuthStatus` and `TradingDiagnostics` fields, including `connected`. A successful\n  What-If result still has a non-null environment because its safety gate requires that evidence.\n- Pass an exact `accountId` to legacy warning acknowledgements and keep it in contingent warning\n  continuations.\n- Handle both `requested` and `recovery_required` cancellation results. Only an unambiguous broker\n  acknowledgement returns `requested`.\n\n## Flex statement evidence\n\n`FlexClient` is a separate, read-only client for the\n[IBKR Flex Web Service](https://www.interactivebrokers.com/docs/web-api/flex-web-service/introduction).\nIt does not use OAuth brokerage credentials or create a brokerage session.\n\n```typescript\nimport { FlexClient } from \"@huskly/ibkr-client\";\n\n// Obtain these values from private deployment settings, not a tracked file.\nconst flex = new FlexClient(flexToken);\nconst referenceCode = await flex.requestReport(\n  {\n    queryId,\n    fromDate: \"20260901\",\n    toDate: \"20260902\",\n  },\n  abortSignal\n);\n\n// Schedule this call after generation. A report can still be pending.\nconst result = await flex.readStatement(referenceCode, abortSignal);\nif (result.status === \"pending\") {\n  // Schedule another read of this reference code. Do not request a new report.\n} else {\n  consumeStatementEvidence(result.statements, result.observedAtEpochMillis);\n}\n```\n\nCreate a Flex Web Service token and an Activity Flex Query in Client Portal first.\nSelect the sections for the evidence that your consumer needs. For cash-flow coverage,\ninclude detailed Cash Transactions and Transfers, all cash-transaction types, account\nidentity, transaction identity, source amount, currency, date/time, and the statement\ndate range. For option expiration, assignment, and exercise evidence, include Trades\nat the execution level of detail and Option Exercises, Assignments and Expirations.\nRetain the query's time-zone and date/time format settings. A section that the saved\nquery does not include is `null`. The client does not inspect the saved query's\nconfiguration or certify completeness.\n\nEach method makes one GET request to the fixed documented HTTPS host. It ignores\nany URL returned by generation, refuses redirects, and uses a 30-second deadline\nplus optional caller cancellation. There is no automatic retry or polling loop.\nThe caller must obey IBKR's generation limits: at most one request per second and\n10 per minute. `requestReport()` returns the reference code, not statement data.\n`readStatement()` returns `pending` only for error code `1019`. Other service\nrefusals throw `FlexServiceError` with a validated four-digit code or `null`.\nErrors omit private response text and token-bearing URLs, including error causes.\nNever log tokens, request URLs, reference codes, or raw statement evidence.\n\n`parseFlexStatement(xml)` is also exported for an already retrieved XML report.\nEach result preserves statement attributes and CashTransaction, Transfer, Trade, and\nOptionEAE attributes as strings. Missing sections are `null`; explicitly empty\nsections are `[]`. The client does not normalize or infer trade or option-event data.\nMissing currency or time fields are not inferred. XML entities such as `&amp;`\nare decoded, but DTD and entity declarations are refused. Malformed structures,\nrepeated target sections, unexpected target rows, and inconsistent stated counts\nare refused rather than silently discarded. Other statement sections are not\npart of this focused result. Input is limited to 8 MiB of UTF-8 data and 32 nested\ntags. XML parser diagnostics are not exposed because they can contain private data.\n\nA ready report can lag current balances. Validate report identity, source dates,\nquery configuration, currencies, event classification, and corrections before\nusing it for performance. Date-only or ambiguous local times do not establish an\nintraday flow time. The returned observation time is when this client parsed the\nreport, not when its financial data became effective. The existing contract-filtered\n`fetchTransactionHistory()` is unchanged and is not an account-wide cash-flow feed.\n\n## Library API\n\n`IbkrClient` owns IBKR authentication, requests, raw response types, and\nnormalization. Consumers such as huskly-cli provide presentation, command\nrouting, and caching. Public request types are the caller contract: this package assumes consumers\nuse TypeScript and pass values accepted by those types. Provider responses remain untrusted and are\nvalidated at runtime. Its broker-neutral account API includes:\n\n- `getAccountBalances()` and `getPositions()` for account state. Each position carries its current\n  session's broker contract ID for exact follow-up reads. Account balances include typed\n  `margin.total`, `margin.securities`, and `margin.commodities` snapshots with IBKR's available\n  funds, buying power, excess liquidity, cushion, SMA, equity-with-loan, Reg-T, initial- and\n  maintenance-margin, full, look-ahead, and leverage values. The client removes valid comma\n  separators from numeric provider strings, such as day P/L field `78` and account summary amounts.\n  The top-level net liquidation, available funds, buying power, and cash balance values and all\n  margin values are `null` when IBKR omits or returns an invalid or non-finite value. Numeric zero\n  remains `0`.\n- `getAccountSettlementEvidence()` for one settled-cash observation of the account. It reads the\n  same account summary endpoint as `getAccountBalances()` and returns the account id, one\n  client-minted `observedAtEpochMillis`, and the `settledCash`, `availableFunds`, `totalCashValue`,\n  `accruedCash`, `excessLiquidity`, `buyingPower`, and `netLiquidation` figures. Each figure is an\n  `{ amount, currency }` pair that states the currency IBKR gave for that figure. An amount that is\n  absent, null, non-finite, or not convertible is `null`, and a missing currency is `null`. The\n  client never infers a currency and never defaults one to `\"USD\"`, and one missing field never\n  makes the read throw. `presentSummaryFieldNames` lists the sorted key NAMES present in the\n  summary response, names only and never values, so an operator can confirm the live schema\n  without seeing amounts. This method remains a separate read from `getAccountBalances()`.\n- `getContractTransactionEvidence({ conids, currency, days, accountId? })` for the transaction\n  activity IBKR states about NAMED contracts. This read never consults held positions, so it\n  reaches a contract the account no longer holds - the shape an assigned, exercised, or expired\n  option leaves behind. `fetchTransactionHistory()` cannot do this: it loops over held conids only,\n  so a gone contract is unreachable through it. The caller states the currency and this read never\n  supplies a default, because IBKR converts every figure into the requested currency and a wrong\n  currency returns a converted number that looks exactly like a real one. It returns the account\n  id, one client-minted `observedAtEpochMillis`, the requested conids, currency, and window, and\n  one record for each row IBKR returned. Each record echoes `conid`, `accountId`, `date`,\n  `rawDate`, `type`, `description`, `currency`, `amount`, `quantity`, `price`, and `fxRate` exactly\n  as the broker stated them. Provider text is verbatim: `type` and `description` keep their own\n  case AND their own padding, because they are the only place IBKR names an assignment, and\n  trimming them would change what a consumer classifies. A field the broker did not state is\n  `null`, a stated zero remains `0`, and a stated whitespace-only string stays that string; a value\n  that is not a string reads `null`. `presentFieldNames` lists the sorted key NAMES the row\n  carried, names only and never values. The read refuses an empty conid list, a conid that is not a\n  positive safe integer, a blank currency, and a window outside 1 through 90 days; it also refuses\n  a response that states no transaction ARRAY, because an error envelope, an empty object, or an\n  explicit `null` is an unknown broker state and must never reach a consumer looking exactly like a\n  completed read that found nothing. A stated empty array is a real answer and is reported as one.\n  A missing field inside a row never makes it throw. It proves no event and infers nothing: an empty list\n  is not proof that nothing happened, and the CONSUMER decides whether a row states an assignment,\n  an exercise, or an expiration.\n- `getOptionSeriesReference(conid)` for one reference read of ONE exact option contract, and\n  `getUnderlyingInstrumentReference(conid)` for the same read of an underlying contract. Both read\n  `iserver/contract/{conid}/info`. Use this endpoint, not the conid-only `iserver/secdef/info`\n  re-read: that re-read drops `multiplier` and `tradingClass`, so it cannot state the contract size\n  or the listing class. The option read reports `con_id`, `symbol`, `local_symbol` (the OSI symbol),\n  `instrument_type`, `right`, `strike`, `maturity_date`, `expiry_full`, `contract_month`,\n  `multiplier`, `trading_class`, `underlying_con_id`, `company_name`, `currency`, `exchange`,\n  `listing_exchange`, `valid_exchanges`, `cfi_code`, `contract_clarification_type`, `classifier`,\n  `underlying_issuer`, and `text`. The underlying read reports the same facts minus the option\n  terms, so a consumer can resolve `underlying_con_id` to `instrument_type` (`STK` for an equity or\n  an ETF, `IND` for an index) and to the venue (`exchange` and `valid_exchanges` read `BASKET` for\n  the pseudo-underlying of an adjusted class). Both reads state raw evidence and one client-minted\n  `observedAtEpochMillis`. A field the broker did not state reads `null`, no field is inferred, no\n  currency is defaulted, and one missing field never makes the read throw. A stated\n  `underlying_con_id` of `0` stays `0`, because a stated zero and an unstated field are different\n  facts. An explicit broker error still throws `IbkrBrokerResponseError`, because a refusal is not a\n  missing field. `presentFieldNames` lists the sorted key NAMES present in the response, names only\n  and never values, so an operator can confirm the live schema without seeing the contract terms.\n  These reads prove no deliverable: IBKR states no deliverable list, no adjusted flag, and no\n  settlement style on this endpoint, and a known adjusted class (`TLRY1`) reports the same\n  `multiplier` `\"100\"` and the same `cfi_code` `\"OPXXXS\"` as a standard class (`SPY`). The CONSUMER\n  decides what the facts qualify.\n- `resolveEquityContract(symbol)` returns one exact SMART-routed US `STK` identity. It requires\n  one IBKR `isUS` listing and verifies the conid, symbol, security type, USD currency, and SMART\n  routing against `iserver/contract/{conid}/info`. Empty, ambiguous, incomplete, or conflicting\n  evidence fails closed.\n- `resolveForexContract(pair)` returns one exact IDEALPRO spot FX (`CASH`) identity for a\n  `BASE.QUOTE` pair, for example `USD.JPY`. It takes the conid from `iserver/currency/pairs` and\n  verifies the conid, base currency, quote currency, pair name, security type, and IDEALPRO routing\n  against `iserver/contract/{conid}/info`. Empty, ambiguous, incomplete, or conflicting evidence\n  fails closed. `parseForexPair(...)` and `normalizeForexContract(...)` apply the same rules.\n- `getQuotes()` and `searchInstruments()` for equity/ETF discovery and quotes. Quote requests accept\n  a symbol and an optional broker ID. A broker ID reads that exact contract without symbol\n  discovery. A request without one can also resolve a complete OSI option symbol without loading\n  its option chain. By default, `getQuotes()` adds five days of price history to each snapshot. Pass\n  `{ includeHistory: false }` as the second argument to get snapshot data without a request to\n  `iserver/marketdata/history`. Snapshot warm-up, market-data availability, and timestamps do not\n  change. Without history, `reference.description`, `quote.lastPrice`, `quote.highPrice`,\n  `quote.lowPrice`, `quote.netChange`, `quote.netPercentChange`, and `quote.totalVolume` are present\n  only if contract or snapshot data supplies them. `quote.openPrice` is not present.\n  `quote.lastPrice` is a last traded price only. When a contract has not traded in the current\n  session, IBKR sends the previous close on snapshot field `31` with a `C` prefix. The client then\n  reports that value as `quote.closePrice` and leaves `quote.lastPrice` absent, so a caller cannot\n  read a close as a trade. Price history stays the better source: with history, `quote.closePrice`\n  is the close of the previous daily bar, and the snapshot close is used only if history gives no\n  previous bar. A symbol request resolves the contract from `iserver/secdef/search`, and it selects the\n  one contract of that exact symbol which lists options on SMART. This is the same rule the\n  price-history path uses, so an index root such as `SPX` reads the CBOE index. `trsrv/stocks` is\n  equity-only and answers index roots with unrelated foreign stocks that share the ticker, so stock\n  search serves only symbols with no SMART options, and only if it names exactly one contract.\n  Non-stock roots without SMART options, such as futures roots, use the same\n  `iserver/secdef/search` result. A symbol that stays ambiguous gets no contract, and `getQuotes()`\n  omits it instead of reporting a wrong price under the requested symbol.\n  That search validates the HTTP payload at one shared boundary. A success array continues. An IBKR\n  error object throws `IbkrBrokerResponseError` and keeps the broker detail. Any other shape fails\n  closed as a malformed response. An error object is never an empty successful search.\n- `fetchTransactionHistory()` for normalized portfolio transactions.\n- `fetchOrders()` for normalized live orders, including aggregate `WORKING`\n  matching across IBKR's active order states. Each leg keeps its broker contract ID,\n  signed ratio, and broker-stated asset class when available. A combo leg has no\n  asset class until the caller resolves its exact contract ID.\n- `getOrderContractQuotes(brokerIds)` reads bounded market snapshots by exact\n  contract ID. It returns nullable bid, ask, and mark prices with market-data\n  availability and last-change time. A missing snapshot has an unavailable result.\n  Do not treat a quote for an underlying symbol as a quote for an option contract.\n\n### Brokerage session lifecycle\n\nUse the explicit session lifecycle API for gateways and long-running processes:\n\n```ts\nawait client.initializeBrokerageSession({ compete: false, publish: true });\nconst evidence = await client.getSessionEvidence();\nconst tickleEvidence = await client.tickle();\nawait client.renewBrokerageSession({ compete: false, publish: true });\nawait client.logout();\nawait client.close();\n```\n\nInitialization and renewal pass both flags to IBKR once. Both flags must be exact booleans, and\nrenewal only accepts `compete: false`. Invalid or missing flags fail before raw client access.\n`tickle()` is a safe read and can use the read scheduler retry policy. It returns the authentication,\nconnection, and competition evidence from the tickle response. Missing or malformed evidence stays\n`null`. `logout()` makes at most one broker request for each client, including when that request\nfails. `close()` only closes local\nadmission. It does not invent a transport close operation and does not log out implicitly. After\n`close()`, the client rejects new lifecycle operations and broker requests.\n\n`getSessionEvidence()` returns authentication, connection, competition, account, selected-account,\nand paper-account evidence. `getAuthStatus()` returns the authentication, connection, and\ncompetition subset. Missing or malformed evidence stays `null`. An explicit empty account list stays\nan empty list. `getTradingDiagnostics()` also returns `null` for an unknown environment,\nauthentication state, connection state, or competition state. Mutation gates require\n`authenticated === true`,\n`connected === true`, `competingSession === false`, and a known environment.\n\nThe deprecated `init()` method remains for compatibility. It uses `compete: true` and\n`publish: true`, and it stays idempotent. New code must use `initializeBrokerageSession()` with\nexplicit flags.\n\n### Strategy market data\n\nThe reusable `IbkrClient` also exposes typed, read-only strategy data:\n\n- `getPriceHistory(...)` returns normalized OHLCV bars and the validated IBKR contract context.\n  A symbol-only request selects the only exact `STK` or `IND` contract that also has `SMART` option\n  routing. It rejects the result when this rule does not identify one contract. Use `contract.conid`\n  for an exceptional explicit selection.\n  You can also set `contract.assetClass` and `contract.exchange` as validation constraints. The\n  history request includes the validated exchange. IBKR uses the primary exchange when the exchange\n  parameter is absent.\n\n```ts\nconst history = await client.getPriceHistory({\n  symbol: \"SPX\",\n  days: 220,\n});\nconsole.log(history.contract, history.request, history.bars);\n```\n\nSet `onPriceHistoryTelemetry` in `IbkrClient` options to receive safe request metadata. The event\ncontains the requested symbol, resolved conid, security type, exchange, period, and bar size. The\nclient does not put account data, credentials, or URLs in this event.\n\nGive a positive `days` value, or give `startDate` and `endDate` as epoch milliseconds. The client\nuses inclusive UTC calendar dates for daily-bar filtering. The shared request scheduler makes the\nonly transport retries: it retries a price-history 5xx response with bounded backoff. The client\ndoes not add a second retry loop. If the structured HTTP 500 `Chart data unavailable` error stays\nafter those retries, the client requests one covering `1y` period or at most 12 overlapping 90-day\nwindows. Each window must have data in the seven calendar days at both edges. Adjacent windows must\nhave overlapping data ranges. This rule does not assume a Monday-to-Friday trading week or require\ndata on an exchange holiday. Bars are in time order and duplicate timestamps are removed.\nConflicting duplicates fail closed.\n\nThe client throws `IbkrInsufficientHistoryError` if the response does not cover the interval. The\nerror contains the requested interval and all available boundaries from completed windows.\n`onRequestTelemetry` reports the `SERVER_RETRY`, `HISTORY_PERIOD_FALLBACK`, and\n`HISTORY_WINDOW_FALLBACK` event, attempt, and delay. These events do not contain the contract or\ninterval. Authentication, entitlement, invalid contract, and ambiguous contract errors do not start\nrecovery.\n\n- `getOptionExpiries(...)` discovers weekly and monthly maturities across month buckets.\n- `getOptionChain(symbol, expiry, right?)` is the strict strategy-ready path. It returns only\n  exact-expiry contracts that have bid, ask, and delta values. It fails if no contract has all three\n  values. Set `right` to `C` or `P` to skip definition and quote requests for the unused side.\n- `getOptionChainSnapshot(symbol, expiry, right)` returns every qualified contract for one exact\n  expiry and option side. It preserves canonical OSI symbols and conids. Missing bid, ask, mid,\n  delta, volume, open interest, availability, and timestamp values are `null`. The result includes\n  qualified, returned, malformed-definition, and missing-field counts. These diagnostics contain no\n  account IDs or credentials. If a warmed snapshot stays sparse, the method returns the fields that\n  IBKR supplied and keeps the other fields as `null`.\n- `getOptionQuote(...)` resolves and prices one exact contract with the strict market-data shape.\n  It serializes the session search with one exact security-definition request. It caches an\n  identical exact request and does not load the complete option chain. When an exact ticker has listings in more than one market, option\n  discovery selects the one listing with `SMART` option routing. It rejects the result if `SMART`\n  does not identify one listing.\n- `getOptionContract(conid)` maps a broker conid back to durable OSI identity.\n\nThe `timestamp` on an option quote is IBKR's `_updated` snapshot field. It is a last-change time,\nnot an observation time: it moves only when IBKR's record for that contract changes, and a repeated\nrequest does not move it. A quiet contract on a `live` feed can hold one `timestamp` for several\nminutes while it reports the same bid and ask. Measure how recently you read the market with your\nown receipt time, and use `availability` to find a feed that is `frozen` or delayed. The age of\n`timestamp` measures how long the contract did not reprice, and it has no upper bound.\n\n#### Option listing classes\n\nOne underlying can list the same expiry, strike, and right in more than one class. SPX quotes\n`SPX` (AM-settled) and `SPXW` (PM-settled) on some dates, and they are different products.\n\n`OptionContract.tradingClass` holds that class, and it is the root of the OSI `symbol`, so `SPXW`\ncontracts never collide with `SPX` contracts. `underlying` stays the index for both.\n\nA definition that states no class reports `tradingClass: null`, and the OSI root then falls back to\nthe underlying. The absence is reported, never filled in with a guess. Discovery refuses any month\nin which two conids reach one symbol, so an unstated class cannot hide a collision behind a\nplausible identity.\n\nAn OSI symbol carries a root, not an underlying. `parseOsiOptionSymbol` therefore reports `root`.\n`getQuotes` passes that root to IBKR as both the search root and the listing class, which resolves\na class-rooted symbol when IBKR lists the class as a searchable root. A caller that holds a\nclass-rooted symbol IBKR does not resolve that way should quote by `brokerId` (the conid), which\nskips symbol resolution.\n\n`getOptionQuote` accepts an optional `tradingClass` to name the listing it wants:\n\n```ts\nconst weekly = await client.getOptionQuote({\n  symbol: \"SPX\",\n  expiry: \"2026-09-17\",\n  strike: 7000,\n  right: \"P\",\n  tradingClass: \"SPXW\",\n});\n```\n\nWithout it, a request that matches more than one class is refused and the message names the classes\nthat answered. Two contracts inside one class stay a refusal as well: that is a collision the client\ncannot resolve, and it never guesses.\n\nThe option discovery methods submit at most eight `secdef/info` definitions at one time. The next\nchunk starts only after the current chunk succeeds. Multi-month expiry discovery completes one month\nbefore it starts the next month. A terminal failure cancels queued definitions that belong to that\noperation. It does not cancel definitions that belong to another operation. HTTP requests that\nstarted before cancellation can settle normally.\n\nPass an `OptionDiscoveryOptions` value as the last argument to stop one operation with a standard\n`AbortSignal`:\n\n```ts\nconst controller = new AbortController();\nconst expiries = client.getOptionExpiries(\"SPX\", \"C\", from, to, {\n  signal: controller.signal,\n});\ncontroller.abort();\nawait expiries;\n```\n\n`getOptionChain` and `getOptionChainSnapshot` accept the same final options argument. Their signal\napplies to definition discovery and market-data snapshots. An aborted operation rejects with the\nsignal reason when it is an `Error`. A non-error custom reason is retained as the `cause` of an\n`Error`. An `AbortController` without a custom reason uses the standard `AbortError`.\n\n#### Bounded strike discovery\n\nOne security definition costs one paced `secdef/info` request, so the cost of discovery is\nproportional to the number of strikes the month lists. A broad index lists thousands of strikes, and\na caller usually uses only a small band of them. Give `strikeRange` to resolve only that band:\n\n```ts\nconst chain = await client.getOptionChain(\"SPX\", expiry, \"P\", {\n  strikeRange: { min: 6800, max: 7400 },\n});\n```\n\n- Both bounds are inclusive, and each bound is optional. An open bound keeps every strike on that\n  side. No `strikeRange` keeps every listed strike, which is the behavior of earlier versions.\n- A bound that is not a finite number, and a `min` above the `max`, are refused with a `TypeError`\n  before any request.\n- A band that keeps none of the listed strikes fails with an error. It does not report an empty\n  chain, because an empty chain looks like an unlisted expiry.\n- Discovery memoizes each band separately, so a narrow result can never answer a request for a\n  different band.\n- The `STRIKES` and `DEFINITIONS` telemetry phases report `listedStrikeCount` and\n  `selectedStrikeCount`, so you can measure what the band removed.\n\n#### Security-definition cache\n\nA security definition is identity: conid, symbol, underlying, expiry, strike, and right. It holds no\nprice, no greek, and no availability, and it does not change for a listed contract. Give an\n`optionDefinitionCache` to keep those definitions between runs and remove their requests:\n\n```ts\nconst client = new IbkrClient(config, {\n  optionDefinitionCache: {\n    get: (keys) => store.read(keys), // aligned to `keys` by index; `null` is a miss\n    set: (entries) => store.write(entries),\n  },\n});\n```\n\n- The key is the underlying conid, the month token, the right, and the strike.\n- An empty array is a hit that records a strike IBKR does not list. `null` is a miss.\n- The cache is an accelerator, never an authority. A rejected read, a result of the wrong length, or\n  a record that is not a whole contract for its key is treated as a miss, and the broker answers.\n- A partial or malformed broker answer is never stored.\n- A failed write never fails discovery.\n- The `DEFINITIONS` telemetry phase reports `cachedDefinitionCount` beside `definitionRequestCount`.\n\n### Broker-neutral derivative discovery\n\n`IbkrClient` implements the capability-specific `DerivativeDiscoveryClient` without adding\nderivative operations to the smaller account-oriented `BrokerClient`:\n\n- `getDerivativeExpiries(...)` lists exact series identity over a calendar range.\n- `getDerivativeContracts(...)` discovers all matching contracts for one expiration.\n- `resolveDerivativeContract(...)` returns exactly one contract and rejects ambiguous trading\n  classes.\n- `getDerivativeChain(...)` prices one exact expiration and fails when no usable bid/ask exists.\n- `getDerivativeReferenceQuote(...)` follows IBKR's `undConid` to quote the actual linked\n  underlying contract, such as the September NQ future behind an August QN3 option.\n\nDerivative quotes and derivative reference quotes carry `last` and `close` as separate values.\n`last` holds a traded price of the current session, and it is `null` when the contract has not\ntraded. `close` holds the previous close that IBKR marks with a `C` prefix on snapshot field `31`,\nand it is `null` when IBKR sends no such value.\n\nBoth `OPT` and `FOP` use the stateful `secdef/search` -> `secdef/strikes` -> `secdef/info`\nsequence. Derivative discovery selects the underlying listing the same way option discovery and\nquote resolution do: it keeps each distinct listing of the exact symbol that has a section of the\nrequested asset class, then narrows to the listing which routes options on `SMART`. This is\nnecessary because IBKR answers a plain ticker with every listing that carries it, and a ticker\nsuch as `UNH` or `NFLX` also names a Canadian Depositary Receipt on Toronto whose options trade on\n`CDE`. A symbol that keeps more than one listing after this rule fails closed, and the error names\neach competing listing with its conid, description, and exchanges, so a caller can supply an\nexplicit `tradingClass`. Series that never advertise `SMART`, such as futures options, keep every\nlisting and stay unaffected. FOP discovery derives a unique exchange such as CME from the search\nresult when the caller does not provide one. Index-option callers can select a venue explicitly, such as SMART.\nEvery `secdef/search` consumer shares the same response validation: success arrays, typed broker\nerrors for documented error objects, and fail-closed malformed-response errors.\n\n```ts\nconst nq = await client.resolveDerivativeContract({\n  assetClass: \"FOP\",\n  underlying: \"NQ\",\n  expiration: \"2026-08-21\",\n  strike: 26600,\n  right: \"P\",\n  tradingClass: \"QN3\",\n});\n// nq.multiplier === 20; nq.exchange === \"CME\"\n\nconst ndxp = await client.resolveDerivativeContract({\n  assetClass: \"OPT\",\n  underlying: \"NDX\",\n  expiration: \"2026-08-20\",\n  strike: 26600,\n  right: \"P\",\n  tradingClass: \"NDXP\",\n  exchange: \"SMART\",\n});\n```\n\nSemantic identity consists of asset class, underlying, expiration, strike, right, trading class,\nexchange, and multiplier. `conid` is returned only because this package is the IBKR boundary; it\nis broker-local, can change, and must not be persisted as durable strategy identity. Optional\nsettlement and exercise-style fields are preserved when IBKR supplies them.\n\nDerivative quotes use nullable values for missing prices and Greeks and normalize field `6509`\nto `live`, `delayed`, `frozen`, `frozen-delayed`, or `unavailable`. A missing subscription is\nnever reported as live data. All discovery APIs are read-only and do not call preview, order,\nwarning-reply, or cancellation endpoints.\n\nFull-chain contract discovery always calls `secdef/search` before `secdef/strikes`, because IBKR\nkeeps that priming state in the authenticated session. The client serializes the complete priming\ntransaction with all other security-definition searches. An exact OSI lookup runs its search and\none `secdef/info` request in the same serialized transaction. The client caches an identical exact\nlookup, but a different lookup primes the session again. Empty post-prime strikes and incomplete\nbid/ask/delta snapshots throw instead of looking like a valid chain with no candidates.\nRequest shaping is resilient by design: option discovery normalizes the requested symbol,\napplies bounded batching for secondary-definition and market-data calls, and retries read-only\nrequests on transient `429` responses with capped exponential backoff (including `Retry-After`\nheaders when available). If every returned contract is unusable (missing bid/ask/delta), the\nclient now fails noisily so callers can handle that condition explicitly.\nOption volume and open interest are required nullable fields: numeric zero remains zero, while\nmissing, unsupported, or non-finite provider values are returned as `null`.\nConids are broker-boundary identifiers; consumers should persist the returned OSI `symbol`.\n\n### Explicit derivative What-If previews\n\n`IbkrClient` also implements `DerivativePreviewClient`, a deliberately narrow capability with\nno placement, reply-confirmation, modification, or cancellation method. Callers must provide an\nexact account ID; the client never selects the first account for preview work.\n\n- `getTradingDiagnostics(accountId)` reports authentication, selected account, paper/live state,\n  market-data access, and advisory asset permissions. It does not switch accounts or preview an\n  order.\n- `previewDerivativeCombo(...)` accepts two exact contracts with signed ratios and a positive\n  user-facing credit/debit. It requests the required market-data snapshot, constructs one atomic\n  `conidex`, and calls only `/orders/whatif`.\n\nFor a BUY-oriented combo, IBKR encodes a net credit as a negative limit price. That provider\ndetail remains inside this package: callers send `{ priceEffect: \"CREDIT\", limit: 39 }`. The\nnormalized result includes paper/live environment, commission, initial and maintenance margin,\nwarnings, rejection reasons, and `submitted: false`. An incomplete nominal success fails closed.\nPermission metadata is diagnostic only; the What-If response remains authoritative.\n\n### Guarded US equity order execution\n\n`resolveEquityContract(symbol)` must produce the exact contract before an order can be previewed.\n`previewEquityOrder(...)` sends one What-If request and always returns `submitted: false`.\n`submitEquityOrder(...)` accepts only BUY or SELL LIMIT or STOP orders for positive whole-share\nquantities and requires a stable client order ID. `cancelEquityOrder(...)` sends one cancellation\nrequest. These broker writes never retry automatically. Warning, lifecycle, and recovery evidence\nuse the same strict normalization as single derivative orders.\n\nLIMIT and STOP requests are discriminated by `orderType`. A `LMT` request requires only a positive\n`limit`. A `STP` request requires only a positive `stopPrice`, and IBKR places it as a native\nstop-market order. A request that carries the other price field, a zero, negative, or non-finite\nprice, or an unknown order type is rejected before any broker request.\n\n```ts\nconst contract = await client.resolveEquityContract(\"AAPL\");\nconst preview = await client.previewEquityOrder({\n  accountId: \"U123\",\n  contract,\n  side: \"SELL\",\n  quantity: 10,\n  orderType: \"STP\",\n  stopPrice: 240,\n  tif: \"GTC\",\n  session: \"REGULAR\",\n});\n```\n\n### Guarded spot FX order execution\n\n`resolveForexContract(pair)` must produce the exact contract before an FX order can be previewed.\n`previewForexOrder(...)` sends one What-If request and always returns `submitted: false`.\n`submitForexOrder(...)` accepts only BUY or SELL LIMIT orders. The quantity is a positive whole\nnumber of base-currency units, and the limit is the quote-currency price of one base unit. The\nrequest has no `session` field, because FX trades 24/5. `cancelForexOrder(...)` sends one\ncancellation request. These broker writes never retry automatically. Warning, lifecycle, and\nrecovery evidence use the same strict normalization as equity orders.\n\nThe ticket goes to IDEALPRO as a normal FX trade (`isCcyConv: false`), not as a currency\nconversion. IBKR checks the price increment and the minimum size. The preview keeps IBKR warnings\nverbatim, for example an odd-lot route for a small order. The preview result also states\n`commissionCurrency` and `marginCurrency`. `marginCurrency` is the account base currency that IBKR\nstates for the account margin figures. If IBKR does not state one of the two currencies, the\npreview is not accepted.\n\n```ts\nconst contract = await client.resolveForexContract(\"USD.JPY\");\nconst preview = await client.previewForexOrder({\n  accountId: \"U123\",\n  contract,\n  side: \"BUY\",\n  quantity: 25000,\n  orderType: \"LMT\",\n  limit: 147.25,\n  tif: \"DAY\",\n});\n```\n\n### Guarded derivative order execution\n\n`IbkrClient` implements a separate `DerivativeExecutionClient` capability for callers that have\nalready enforced their own reviewed-preview workflow. It does not persist previews or decide\nwhether live execution is allowed.\n\nSubmission rejection is authoritative only when IBKR returns its documented top-level error object\nwith a meaningful message, code, or failure status. Array-contained or non-diagnostic error fields\nreturn `recovery_required`, because they do not prove that every submitted ticket failed.\n\n- `submitDerivativeSingleOrder(...)` places one single-leg LIMIT or STOP option order with exact\n  contract, side, quantity, TIF, and session. Standalone orders require a unique client order ID;\n  sequentially attached child orders instead require the parent's exact ID and omit their own\n  `cOID`, as required by IBKR. LIMIT and STOP requests are discriminated: LIMIT orders require only\n  a positive `limit`, while STOP orders require only a positive `stopPrice`. Equity-option (`OPT`)\n  orders omit CME-only fields; futures-option (`FOP`) orders require the caller's exact `extOperator`\n  and `manualIndicator`. Mixed, multiple, unknown, or malformed response evidence returns\n  `recovery_required`; pending-cancel acknowledgements also require recovery. Callers must reconcile\n  the retained broker order IDs before another write.\n- `submitDerivativeCombo(...)` places one atomic combo with the exact legs, signed ratios,\n  quantity, price effect, limit, TIF, and session supplied by the caller. The request requires a\n  unique client order ID. Futures-option (`FOP`) writes also require the caller's exact CME\n  `extOperator` and manual/automated-origin `manualIndicator`; equity-option (`OPT`) writes omit\n  both CME-only fields. As with single orders, ambiguous response evidence returns\n  `recovery_required` and must block blind resubmission.\n- `submitDerivativeContingentOrders(...)` places a general parent/child LIMIT-or-STOP pair in one\n  bracket request. The parent carries the caller's unique client order ID; the client derives the\n  child's `parentId` from it and deliberately omits a child `cOID`. Parent and child must target the\n  same account, but may reference the same or different contracts. IBKR does not promise an\n  all-or-none response: `accepted` therefore requires exactly two non-failure acknowledgements,\n  while mixed, incomplete, pending-cancel, canceled, rejected, unknown, or malformed evidence is\n  returned as `recovery_required` with every observed broker order ID retained.\n- `acknowledgeOrderWarning(...)` requires an exact account ID and replies once to an exact broker\n  warning ID. Warnings with a non-empty array of string message IDs are marked `known`; callers must\n  still approve exact IDs, and malformed or missing IDs remain unknown.\n- A warning from `submitDerivativeContingentOrders(...)` includes a typed `continuation` containing\n  the exact account ID, reply ID, and parent client ID. Pass that object unchanged to\n  `acknowledgeContingentOrderWarning(...)`; its result retains both broker acknowledgements or\n  returns all partial evidence as `recovery_required`. Do not route contingent warnings through the\n  single-order acknowledgement method.\n- `getDerivativeOrderStatus(...)` uses IBKR's exact order-ID status endpoint so fast terminal\n  orders remain visible after live-list eviction. It normalizes pending, working, partial-fill,\n  fill, canceled, and rejected lifecycle states with leg ratios and order economics, and fails\n  closed on identity mismatch, unknown status, or missing aggregate quantities. Combo legs come\n  from `conidex`; a single leg comes from the broker-stated scalar `conid` and `side`. Invalid or\n  missing identity remains an empty leg list. The result also carries `orderType` and `stopPrice`,\n  normalized from the same broker fields as the active-order\n  snapshot, so an exact read describes a resting stop by its trigger. Both stay `null` when IBKR\n  sends no value.\n- `findDerivativeOrder(...)` accepts exactly one broker order ID or caller-supplied customer order\n  ID (`cOID`/`order_ref`). Broker IDs go directly to the exact endpoint; a customer ID is resolved\n  through the live list and then read by exact broker ID.\n- `listActiveDerivativeOrders(accountId)` is the pre-placement risk view for one exact account. It\n  reads the normal IBKR order snapshot endpoint without the unreliable cache-clearing flag. It\n  preserves every signed USD `conidex` member, including exchange-qualified spreads, and applies\n  the outer order side to each ratio (or preserves a single conid/side). Caller and broker IDs,\n  including echoed client `parentId` ownership, remain distinct alongside graph role, quantities,\n  lifecycle, pricing, TIF, session, timestamps, and unambiguous single-leg OSI option identity.\n  Combo identities are not inferred from description order without a conid correlation. Malformed legs,\n  aggregate-only rows, unknown statuses or directions, missing or\n  ambiguous parents, and duplicate graph members are returned with explicit `uncertainty` rather\n  than silently discarded. An account mismatch or an incomplete IBKR snapshot rejects the entire\n  read, preventing a partial collection from being used as the pre-placement risk view. This active\n  collection is not terminal history: after an order leaves it, use\n  `getDerivativeOrderStatus(...)` with its broker ID as the authoritative exact lookup.\n- `getDerivativeExecutions(...)` reads up to seven calendar days from IBKR's trade history and\n  returns individual leg fills with execution ID, conid, side, quantity, price, commission,\n  commission currency, net amount, venue, and execution time. Customer order IDs allow fills to be\n  reconciled back to the atomic combo. Missing provider values remain `null` rather than estimated.\n- `reconcileDerivativeComboExecution(...)` polls delayed trade publication to a bounded deadline,\n  correlates by the unique client order reference, rejects duplicate or mismatched evidence, and\n  validates each expected leg's side and ratio-derived quantity. Its sanitized result separates\n  gross option points, multiplier-adjusted gross dollars, commission, and net dollars without\n  exposing account or execution IDs.\n- `cancelDerivativeOrder(...)` uses its exact account ID and sends one exact cancellation request.\n  It returns `requested` only for the exact documented success shape with no conflicting identity\n  or error evidence. Other 2xx payloads return `recovery_required` with bounded, sanitized complete\n  JSON evidence and a reason. Its required `assetClass` lets the client apply the same product-aware\n  CME metadata rule without guessing from an order ID. Callers remain responsible for reading until\n  a terminal state and verifying that cancellation reached `CANCELED`.\n\nPlacement, warning replies, and cancellation use one common fail-closed session and exact-account\ncheck. One FIFO gate keeps account preparation and the related outbound request in one critical\nsection. They deliberately use single-attempt HTTP writes so a transport retry cannot duplicate a\nbroker action. A BUY-oriented net credit remains negative at\nthe IBKR boundary, matching the What-If ticket exactly. Every write requires the exact account ID;\nthe library never falls back to the first account. Broker-declared order rejections retain their\nstructured response in `BrokerErrorDetail.details`; transport exceptions are rethrown intact.\n\n### Request pacing and temporary blocks\n\nEvery authenticated request runs through one priority scheduler per `IbkrClient`. The default\nlimits allow at most ten requests globally. Stateful security-definition discovery stays at one\nrequest at a time. Read-only `iserver/secdef/info` expansion defaults to one concurrent request and\nat least 250 ms between request starts. Configure these limits with `maxSecdefInfoConcurrent` and\n`secdefInfoMinStartIntervalMs`; concurrency cannot exceed the global limit. Order preview, status,\nwarning, cancellation, and immediate-trade requests take priority over queued discovery, including\nwhile definition work waits for its next allowed start. Multi-month derivative discovery also primes\neach month serially. A session-level\ntransaction guard keeps each stateful security-definition search with its dependent strike request.\nFor option-chain discovery, independent definition reads run outside this guard after search and\nstrikes finish. An exact expiry/strike/right request expands only the requested contracts.\n\nA `secdef/info` 429 extends one endpoint-wide wait and raises the effective minimum start interval.\nIt honors `Retry-After` and does not block execution requests. A 429 from another endpoint pauses the\nshared queue behind one `Retry-After`-aware exponential backoff with jitter. Individual queued reads\ndo not start independent retry loops, and the retry count does not increase. Exhausted throttling\nthrows `IbkrRequestSchedulerError` with code `IBKR_THROTTLED`. A broker temporary-block response\nopens a bounded circuit, rejects queued work, and throws code `IBKR_TEMPORARILY_BLOCKED` without a\nretry.\n\nA price-history read retries a 5xx response with bounded exponential backoff and jitter. No other\nrequest retries a 5xx response. An explicit `Retry-After` value replaces the local backoff delay\nand is not reduced to the local exponential-backoff limit. Safe reads can retry a 429 even when the\nIBKR endpoint uses POST. Order placement, warning replies, cancellation, account selection, and\nall other writes have one HTTP attempt, including for 429 and 5xx responses.\n\nPublic HTTP failures, including initialization failures, use `IbkrHttpError`. Its `status`,\n`statusCode`, and `response` fields keep the final numeric status, a bounded response body, and the\nsafe `Retry-After` value when it is available. Callers do not have to parse the error message.\n\n`IbkrClient` accepts optional scheduler limits and an `onRequestTelemetry` callback. Scheduler\noptions also accept `now`, `sleep`, and `random` functions for controlled runtimes and tests.\nRequest telemetry contains only a sanitized endpoint category, event, attempt, applied delay, and\nthe effective `secdef/info` minimum start interval when it applies. It contains no parameters,\npayloads, or account data. `onOptionDiscoveryTelemetry` reports search, strikes, definitions, and\nsnapshot phases. It includes the symbol, month, optional right, duration, definition request count,\nand snapshot batch count. It\ndoes not contain account IDs, order IDs, credentials, request payloads, or full URLs. A telemetry\nobserver failure does not change request scheduling or request settlement.\n\n### Authorized read-only smoke test\n\nRun this only after the account owner authorizes a read-only brokerage request and the OAuth\nenvironment from Setup is present. Supply an explicit calendar window; the client does not\nsource strategy time from IBKR. This calls account, security-definition, history, and\nmarket-data endpoints only—never preview, placement, reply-confirmation, or cancellation.\n\n```bash\nIBKR_SMOKE_SYMBOL=MSTR \\\nIBKR_SMOKE_FROM=2026-08-01 \\\nIBKR_SMOKE_TO=2026-08-31 \\\nnode --input-type=module <<'NODE'\nimport { IbkrClient, buildOauthConfig } from \"./dist/index.js\";\n\nconst client = new IbkrClient(buildOauthConfig());\nawait client.initializeBrokerageSession({ compete: false, publish: true });\nconst symbol = process.env.IBKR_SMOKE_SYMBOL;\nconst from = process.env.IBKR_SMOKE_FROM;\nconst to = process.env.IBKR_SMOKE_TO;\nif (!symbol || !from || !to) throw new Error(\"Smoke symbol/from/to are required\");\n\nconst [balances, history, expiries] = await Promise.all([\n  client.getAccountBalances(),\n  client.getPriceHistory({ symbol, days: 5 }),\n  client.getOptionExpiries(symbol, \"C\", from, to),\n]);\nconst expiry = expiries[0];\nif (!expiry) throw new Error(`No listed expiries for ${symbol} in ${from}..${to}`);\nconst chain = await client.getOptionChain(symbol, expiry, \"C\");\nconsole.log({ equityRead: Number.isFinite(balances.netLiquidation), historyBars: history.bars.length,\n  expiry, contracts: chain.length, first: chain[0]?.symbol });\nNODE\n```\n\n### Live SPX history drill\n\nRun this read-only drill in a session that has CBOE index market-data permission. The drill is not\npart of the automated test suite.\n\n```bash\nnode --input-type=module <<'NODE'\nimport { IbkrClient, buildOauthConfig } from \"./dist/index.js\";\n\nconst client = new IbkrClient(buildOauthConfig(), {\n  onPriceHistoryTelemetry: (event) => console.log(event),\n});\nawait client.initializeBrokerageSession({ compete: false, publish: true });\nconst result = await client.getPriceHistory({\n  symbol: \"SPX\",\n  contract: { conid: 416904, assetClass: \"IND\", exchange: \"CBOE\" },\n  days: 220,\n});\nif (result.bars.length === 0) throw new Error(\"IBKR returned no SPX history bars\");\nconsole.log({ contract: result.contract, bars: result.bars.length });\nNODE\n```\n\n## Development\n\n```bash\nyarn lint       # eslint\nyarn format     # prettier --write\nyarn typecheck  # tsc --noEmit\nyarn test       # typecheck + native node:test suite\nyarn build      # tsc -> dist/\nyarn run check  # lint + format:check + typecheck\n```\n\nCI (`.github/workflows/ci.yml`) runs lint, format check, typecheck, tests, and build on\nevery push and pull request, plus [gitleaks](https://github.com/gitleaks/gitleaks)\nto guard against committed secrets.\n\n## Security notes\n\n- The private keys and `.env` are git-ignored — do not commit them.\n- Credentials are read from the environment, never hardcoded.\n- CI scans every change with gitleaks to catch accidentally committed secrets.\n\n#### Resumable derivative order graphs\n\n`submitDerivativeOrderGraph(...)` is the bounded (one through eight member) bracket API for\nbroker-hosted derivative protection. A graph may combine atomic two-leg LIMIT combos with\nsingle-option LIMIT, STOP, and MARKET members.\n\nEach node has a caller-stable `memberId`. `clientOrderId` is optional on each node. When you set\nit, the value is the exact IBKR `cOID`. It must be trimmed, non-empty, and at most 64 characters.\nThe effective identity must be unique across the graph. The root node's explicit `clientOrderId`\nmust match `rootClientOrderId`. When you omit `clientOrderId`, the client keeps the fallback:\n`rootClientOrderId` for the root, and `rootClientOrderId:memberId` for later nodes.\n\nExplicit values flow unchanged through tickets, warning evidence, and recovery. The client keeps\nthe exact request and the exact identities it used. Accepted and fail-closed results retain each\nnode's immutable request evidence, stable depth role, parent member/broker IDs, and every broker\norder ID. Conids remain correlation evidence only; callers still own durable semantic option\nidentity.\n\nWarnings are never acknowledged automatically. A warning result contains a JSON-safe\n`continuation` with the exact reply ID, full graph request, and all correlation accumulated so far;\npersist it before calling `acknowledgeDerivativeOrderGraphWarning(...)`. Each placement or reply is\nattempted once after revalidating the account's authentication and competing-session safety;\nchained and unknown warnings remain pending for the caller, and mixed, partial, duplicated,\nterminal, malformed, or ambiguous acknowledgements return `recovery_required`. Broker IDs from\nambiguous acknowledgements are retained as uncorrelated responses rather than assigned to nodes by\nposition. Submission acknowledgements are correlated only by the echoed `local_order_id` or\n`cOID`. Nested child acknowledgements under `children` or `childOrders` are flattened before\ncorrelation, so a parent-only top-level array does not hide live child broker IDs.\n`accepted` requires one distinct non-null broker order ID for every requested graph member. If any\nmember still has a null order ID after correlation, the result is `recovery_required` and the reason\nnames those member IDs. Partial evidence never looks like full acceptance. If IBKR does not echo a\ncomplete and consistent identity for each member, the result is `recovery_required`, and the client\ndoes not assign uncorrelated broker IDs to graph members by position.\nA failed synchronous response retains a readable `text` or `warning_message` in\n`errors` and recovery reasons when IBKR supplies one.\n`recoverDerivativeOrderGraph(...)` reconstructs the exact graph from its root client ID, any\nknown member broker ID, and terminal evidence keyed by the durable root client ID. It searches\nnormal active and filtered filled, canceled, and inactive order snapshots before it uses recent\nexecution evidence. It queries an exact broker ID even if execution history is unavailable. When the\ncaller supplies a durable broker ID, the exact status read can identify only that member without a\nclient order ID. The account and broker ID must match, and the complete ticket must match exactly\none requested node. Conflicting identity or listing evidence still fails closed.\nIt requires complete active and filtered terminal snapshot markers, traverses both nested child\ncollection aliases, and rejects contradictory aliases within a broker response before correlation.\nIt correlates the root by the transmitted client ID and its complete ticket. It correlates each\ndescendant by the deterministic client order ID of its exact parent, plus the contract or complete\ncombo legs, order type, side, quantity, applicable signed limit or stop price, TIF, and\nregular/overnight session. IBKR can report combo legs in a different order on each endpoint, so\nrecovery compares the complete signed `(conid, ratio)` multiset without using response order.\nRecovery accepts terminal members when the evidence is non-ambiguous and complete, preserves broker\nterminal states for each member, and fails closed when evidence is partial, duplicated, ambiguous,\nunknown, includes an unexpected attached order, or cannot prove required account, broker ID, or\nparent identity links.\nNo recoveries involve writes.\nFailed terminal snapshot lookups force `recovery_required`; trade-linked members whose exact status\nlookup fails remain preserved as uncorrelated evidence instead of being discarded.\nThis recovery API is the safety boundary: consumers should not bypass it with the private raw request\nclient.\n\nBuild the request with every identity in place before submission:\n\n```ts\nconst request = {\n  accountId,\n  rootClientOrderId: \"hg-root\",\n  nodes: [\n    { ...entry, memberId: \"entry\", clientOrderId: \"hg-root\" },\n    {\n      ...profit,\n      memberId: \"profit\",\n      parentMemberId: \"entry\",\n      clientOrderId: \"hg-profit\",\n    },\n  ],\n};\n```\n\n## Releasing\n\nPublishing a stable GitHub Release publishes the matching package version to npm through trusted\npublishing. See [RELEASING.md](RELEASING.md) for the required tag format and release steps.\n","readmeFilename":"README.md"}