{"_id":"cardsightai","_rev":"35-80ecd9ac46b4c136f416864c2474b161","name":"cardsightai","dist-tags":{"latest":"4.1.0"},"versions":{"1.0.0":{"name":"cardsightai","version":"1.0.0","keywords":["cardsightai","baseball","cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSightAI"},"license":"MIT","_id":"cardsightai@1.0.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"8bcd70a7079af9455363493cd0c29c8d26ec76e3","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.0.tgz","fileCount":27,"integrity":"sha512-mJ3Qzq27yhh9faWdTsYBfL2r4eUCyFWgk55qWgn0QO6YEBic++4iq1KPMJcP1757NJ2wnFaIHPJ+t/A2nX3Y/A==","signatures":[{"sig":"MEYCIQCG0UJaeoMPW3+rk0jdNz6aqJ0fVFAxiqpQ83KAYiAJdAIhANT4Nmo8MTSWiEtwkp/r/t8jVWn27FPqyCgcw0W3X1uW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":884257},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7861da1325ddb7e5dc86b7aaba5cb84bf614c1c9","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","generate:local":"openapi-typescript cardsight.json -o src/generated/types.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSightAI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^22.10.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.0_1759948974235_0.412510639962655","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"cardsightai","version":"1.0.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.0.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"45a8168b207e323bdc5e1359576f44780a1894e0","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.1.tgz","fileCount":27,"integrity":"sha512-tBiAzmmKCeEZfQlfuxqlLmPEw+akViIP3oCjeogF2ptj3UMImLEO36+zEgPa1CkgAfdhaU+D5W9hV0RCTtlfhw==","signatures":[{"sig":"MEQCIAgWm32Kel1pC78MieFeSdA9gD53TC7CLtBoOB0kI9GqAiB7IWbV2rs4tbhzH7smS5SPQvsWNQsdat0Incb3wuBVhQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":885825},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"19fb8fcfde9fd5c19cacf4f4b4d8b620ee66d57e","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.1_1759957447760_0.31278091156041143","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"cardsightai","version":"1.0.2","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.0.2","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"1c3d4b8c06b690db6cbd33cfbdb2a4d8cc102598","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.2.tgz","fileCount":27,"integrity":"sha512-HV1yA1h4pT0qb8kb+D2kevjZ4BVpPF6y4v5/bduIzb/eTfBJ9ku3tdDwj10IwY+G6LvS8QthYVxMxPGPVMUkgg==","signatures":[{"sig":"MEUCIBBl06sq6VTi+Os8e/z2KMD2/y8SFjidiKDq6C/p5ZMLAiEAqZoKSv7eYEgsASa/SWCukakUe3YYB2tUJXLyo3zaWB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":900918},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"91c13d8f5b36cb8c15ff4e83450514e11fcf3b7a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.2_1759959320967_0.45127102703360644","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"cardsightai","version":"1.0.3","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.0.3","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"b9dd36d03fc87083dce12553c818dc2a35b38024","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.3.tgz","fileCount":27,"integrity":"sha512-q7xIuCOdu4wx6fPDsHfeur0NhS+j4XlCm/RJTyT5xAppf4IK9Z2Nkc66T0lKonfM/FkmP5CcAHmS8Xs0coGIKQ==","signatures":[{"sig":"MEQCIFehykn8CDxAH0euujkc5QIc2Kl08eJNole3cmH651FWAiBkT3r7VJ8H0BJdANRE3pBojaAVRQ/ue6cno55uR9zeHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":984912},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"91c13d8f5b36cb8c15ff4e83450514e11fcf3b7a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.3_1759968969749_0.8712071324740682","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"cardsightai","version":"1.0.4","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.0.4","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"fe4b076669634e700791d31da445296502e8a1fe","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.4.tgz","fileCount":27,"integrity":"sha512-4qfS/CNS2Dzoi2GUaobZhyT3JsGqMiS+0/2xAPLIo7PEBsqWGm27hiXsCbd/7DcD3JVyQ2B8nUKY8gExKMSlKg==","signatures":[{"sig":"MEYCIQDiHvqbuNXnzPS5Y/23Mc5erNJXn+YhMOqG/QNY7TzY6AIhALWfLLSItrB3hHbMuqAyDSp/GdauRBeZbLLVW3RZhcgm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":981696},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"3e2872e0384c27f215031f4eaaf1c9c1fa0673d5","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.4_1759971908038_0.19502490212707846","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"cardsightai","version":"1.0.5","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.0.5","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"f0ba9c031ba1d555932eda8b7a9c8a57f7859c8d","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.0.5.tgz","fileCount":27,"integrity":"sha512-9EjGc6lj9dlQ15e2dH+v1EsjID9VKi4sC7KsFMO1slfw8yEcDRVZtkGD3ktdMuXdyWydUYyjzwFJMetAtoU5yQ==","signatures":[{"sig":"MEUCIQCHfCz/It7VhkUvdP508lLGHnv7DWWRDl4vUEL+EMJ42wIgXfHVNveSqu9qD8n5+TDnoZhjIgZOVxZj2CbV3TbW7P8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1037515},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"980ce9aaf5abe30ffd3d136e305bec75212af323","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.0.5_1760010448318_0.08789715016781852","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"cardsightai","version":"1.1.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"d5520acb83fc4ae2a8127327c91d72a13ec7b32e","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.0.tgz","fileCount":27,"integrity":"sha512-hhzlZClY1D/VQd6ZmJHVHjasMaJQ9PKmcdzzbnk0+WwZyQzWMytobZ/v8+yMJpluw+fkwNgYDI2D+eONE3UHNQ==","signatures":[{"sig":"MEYCIQCRWXjvSr/yPaz6I1obdCY8ieU6mFRYgSjEThvegCy8AAIhAKPK+uJxneljEBSjmDy2xN5o+Q8Wl+zHndicyv2fIuKS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1049114},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"61431f4f2baa804ec10038c06bfb8ececf1e4df2","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.0_1760011644078_0.07799068287596467","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"cardsightai","version":"1.1.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"8aa9d82ac940e6ebf21e58b837ba624249fdd32d","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.1.tgz","fileCount":27,"integrity":"sha512-jY+jcU2Le2+/SiVWr22aZDRQ5/8k2EABfUOgwGj//kGIBXBpOKh79+wA9EC5zr3CGvht3cPBILqHKMtsCYNx2w==","signatures":[{"sig":"MEUCIFXNZLjyH5XuwZQP0146sqlxt50u1R4CBH6vHRy5Z7V8AiEAtEnhzbEL53ovO6iZdVdwhCt2HtN+/5q6YS0CtRXCCu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1074011},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"edf1edf16de3e01cc8638320d0808e45535850b7","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.1_1760034558232_0.005901735362416005","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"cardsightai","version":"1.1.2","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.2","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"18ecc2a89b17a41deba4719a0c85f44bbd030b09","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.2.tgz","fileCount":27,"integrity":"sha512-SM1QcHQRiXcQ7rh+U8KHRJPyRiLcn1PGs5PRBoHFGJlx52PMPXhoqQCCV5uJxOHjZyc6rQgOMzN+hoGag+KZdg==","signatures":[{"sig":"MEUCIQDAmNEjMa8iEwJq5yBjG/SFJiT4AgRybeSS/gBq7lbRVwIgTwRi/nhvu9r2hbD6FZO6C7c5uhBG5S3eSGw2ERdKNl8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1074963},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"c3bb869ca0c7824235a0a5b8496fd4b897f0abd8","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.2_1760036291393_0.8850534805388546","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"cardsightai","version":"1.1.3","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.3","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"a89826f071423a12759c2786df42b64b58941072","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.3.tgz","fileCount":27,"integrity":"sha512-vcrfJ6vG6rTTfMi1lgxLROphL7pBXKFBKecNfsuU+b5LvFpgS4cpF3oFM4bDnPIpB2DPQ2KL6be7kEktzxc03A==","signatures":[{"sig":"MEUCIQC3ICQvWiDUtIjt3CnZgTfleDRyvKD0vHF4rZBq6T/2AAIgaJHHcfIZrZCJg45R1fM+SIgTiEwgzdwS4TtdFMpyFVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1076696},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cdde4f68b0082d3e93f18d38ab6454bb82e1e0ff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.3_1760037430089_0.730035991262096","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"cardsightai","version":"1.1.4","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.4","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"8d2b1b1013d6486c5d8f07694e4e8298bc64a6dd","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.4.tgz","fileCount":27,"integrity":"sha512-YkHOz6IKAEPZat6mnL09tCRfrvFeYwU0pnmV6D003YwLUFF1UkG3IQ0buatsPyI+iezXhwO+5MyypqWcUCLWXA==","signatures":[{"sig":"MEYCIQDZQovVR64b66WcgdyLzaD2Pu5SCR7qXllPNVVLXe6mKQIhAKikxBKjUInR0xy6Y0rvurAqbxT3Ly2S75Fp7FTH08R2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1093935},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"1b67a435b9bd92b04df23961d61dc156a6f2c7cb","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.4_1760038773753_0.4932937637693309","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"cardsightai","version":"1.1.5","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.5","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"2a269b9d1c12a61947dc70d5a54c40dcdfdfbf8c","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.5.tgz","fileCount":27,"integrity":"sha512-roJfRed8bSCfoUDO3L5jhMvz687Vwp4bKNT/z1Ntzb2R6JcboB/apgX7R1799Ws265HbOhFAqdjtPCXNWmgigg==","signatures":[{"sig":"MEUCIQCCqWddUdyfYyB5p/I1RxeugISCzLB1Wi4Mi61v61LYQwIgJIdpc9AN4NsbGhNIgiV5ESchczVq1g6LM8ttIAE/n0I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1106106},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e89edbc9b6dcd1c73d92dbeff96fbede2f298353","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.5_1760399248517_0.0011716667119299196","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"cardsightai","version":"1.1.6","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@1.1.6","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"d3b64c080948b6d8f0144ded4ff90d7727c9f0b7","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-1.1.6.tgz","fileCount":27,"integrity":"sha512-OUMkIiApDLDLKvS+uYDTyiTIFDJuiI7Q7nUu68S1jqFaKmHDNBqpvZrpCThvmJpWiq2SZ02ChCNvssWEAnaLEg==","signatures":[{"sig":"MEQCIBpMlSAuoXWXdeHKV7zJtwQ/nFnPU7hXibHulYWNDv/WAiAlsyA6Iy79TyDKqySMCadfVx4pv3FkLIQ80mH3cPOTcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1107593},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"8256fd06ab38aaa82f2a220238d209d392cc5237","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_1.1.6_1760558703829_0.24198736222010786","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"cardsightai","version":"2.0.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.0.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"8874c6d6abfc2eca63623211e48e4c18f2f33471","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.0.0.tgz","fileCount":33,"integrity":"sha512-Hqeh9NiAhZBFhML3pqKwSuM6hzxXpwkcwqagJY2eyCkGiSZsKtw5SYBAiOjKaSiBM+nKedIY2mEkROUkYP2Jmw==","signatures":[{"sig":"MEQCIAvI6Lo/qzmETylAcrFFaqmGGSkV009Ca/RgWSLchPcKAiARzZPszpPMFh3aHR+QzjDXWIUvqGl6HNXxUc3vy9EPJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1128441},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"4d1638095b94c916798a92e703c0bc368b47f843","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.0.0_1760983891366_0.8267469487167425","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"cardsightai","version":"2.1.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.1.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"2fbaec0fb02f27a3371cf8c6b670fabd3b916e40","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.1.0.tgz","fileCount":33,"integrity":"sha512-MoHBE01Uh8cwXFf2lJxl7XB5NfJCV83V3Lv4Da50fAVzEdpZXx/vJKw1ozL2Zz6ddMKhtDXwuz83WWz4ydSLKQ==","signatures":[{"sig":"MEUCIDJseTSA/ILLtyjzGBOtDtLNitwpOVdZFapLk77Fc+rDAiEAsYd1JEyejyjiG+Exk/wrUJ2W2wtDtdqYYxg3aCTYFXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1195585},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"961fc40f7207e314733a9950c538e5466afd91ce","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.1.0_1761504785082_0.25130682954888517","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"cardsightai","version":"2.1.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.1.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"ef1d40217013729e827009972fe53792195307f3","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.1.1.tgz","fileCount":33,"integrity":"sha512-PB/FIhkrs4HlUsCake+18yPPdbC/vx3t3eBntG4r6AUVydHjQn4GU4HHbi25SVmzJBsdwxi9JOAmvMQ5U8RPLQ==","signatures":[{"sig":"MEUCIHTgOeaW7wRyCYsTVX15DAcXpRF5jm4HyT8P/ZsW9onAAiEA9g+lFnsOgDjfouS7dZftyJdD6FpE8/LWBjPlqZyY3zQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":992221},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5438a048a796b01e97481f6ac65689f8c03b9c4e","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.1.1_1762311916744_0.9487820942485687","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"cardsightai","version":"2.2.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.2.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"180bc40c4f3a94585f7644cad62c33d4b963288d","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.2.0.tgz","fileCount":33,"integrity":"sha512-4ikS+f7mAJNQBcNCxLw+t5yGG4Bqd91rPvryJ3b+z57FdsDBEOR94KR6jEP181CBuBEaMWhe0/MOWPcNsZqwTQ==","signatures":[{"sig":"MEUCIQCMTRTZ8iXKezgu2p1P6bWysH/9xtPOcfy09wBHhbhehQIgWl86CjbgY+M5xkHYMLdtpCdysU+A4BeSi0e+9OijX98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1007446},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"749f71f05e056cbf313a3e391992e22c3c01816c","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"24.4.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.2.0_1763167566529_0.30654785257488326","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"cardsightai","version":"2.3.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.3.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"9be640870a0f8b12819c776ab5bf7d30ddcd85b3","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.3.0.tgz","fileCount":33,"integrity":"sha512-qtF34w8zLjTlTnexteJf8GPF36AJ/eqIBui6jDZi6jAYp04gZxzZj4tCRBj/87XkE3nqG/WZBt+FmEsOgjMj2Q==","signatures":[{"sig":"MEQCIAFZS7iP0KibdtXfZdE84cF6fJWrDxnRFlnb1Bik2o5NAiBwadfXTAL18BBg0l8lYvJjwEe+fOJ9MrDC6AUtIK4a8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1038443},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"749f71f05e056cbf313a3e391992e22c3c01816c","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.3.0_1767389954544_0.09885828986327572","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"cardsightai","version":"2.4.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@2.4.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"4e420ee5abf484c178f8fb41d32301fb4121335d","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-2.4.0.tgz","fileCount":33,"integrity":"sha512-eSLxUQOEch8z41ptOk0X4nl9eZg1nYa2rQLoLlCdIVdRpxsYL7rVMESMNoLufvKYtcPFTZTONMzt7amdzpc8hw==","signatures":[{"sig":"MEYCIQCReYlLqrUAHtL6iTzFCWdRTtNQ9iTALdvvhlpoxWcBsAIhAMx1CY+l7Zbbn8FyqDIW5Rv2dLuFisPnY7pc/MhOfJe4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1053034},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"db431a19db85e43acbe98047f8d70252cbcdb600","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_2.4.0_1768068802608_0.3967364935763862","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"cardsightai","version":"3.0.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.0.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"0d3d4d2db2fe5a3486513e369cc7190d4c1104bd","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.0.0.tgz","fileCount":33,"integrity":"sha512-qLkWqpONlWkTZ6HHWWdjNxhc5ddQu1MR2W0hTDKh/yPdJMKv8mB5Fhf7aqM+JcVT98pO+x5U8Bh0WF+Ifnbacg==","signatures":[{"sig":"MEUCIQD7t+7XdT4D588O4oqTrgJDn044a/bpLGLdo94BGik4VwIgM8vtId7Y0JlhhCil47tCYkiQK/yFHr2hWmYOyKvxGTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1076650},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cfd13647d8a8d6e0785a5d2f11a769177ea35e18","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.0.0_1770600618621_0.07361351582800202","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"cardsightai","version":"3.1.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.1.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"bc88c21a0f2c02c247e21455372f8b0cf417bb49","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.1.0.tgz","fileCount":33,"integrity":"sha512-VYWgGDdtdJ2ziv9jmHvXAo6+OVecT1VohGQcJlk/ajtM8bi93xgzjEZjfvT2bJr/4fPMt/47/D7ljwsHl4Z5ag==","signatures":[{"sig":"MEQCICnRRDoyZlN6y1ktvXYZjQ+fYqB3qzXf9Nript+FyVg3AiBaAuaVcFSqq1wfh8uVWSLG117ctsjyZxsPcPukCbxMdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1097331},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"f5caae8fbd7cb2917c38ca6fae0b809ef74183d3","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.1.0_1771890426993_0.15093643674433577","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"cardsightai","version":"3.2.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.2.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"92d2df2bc815699befa23caee11bbe27b78fdc0f","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.2.0.tgz","fileCount":33,"integrity":"sha512-LhsfNhy4twk/Zyqvk/jIOYTc2wK9Hkz1wWrXbdPCG7x9ji9N6Nn1RvBNfHhk9W8K29vbNVoIPOLvWfVMCvI7Tg==","signatures":[{"sig":"MEUCID+3zhdDXNY6JF8YuhX8+I7VYK8x9twd3dHDwz6cZiOcAiEAjcSF0RrXf2Cxm3B7J7nhTfGDqQleB/p0K587idbz/G4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1125149},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"804d51974e4178c229791cf19aad620b2d1553ff","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.2.0_1773078060593_0.49574928606037627","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"cardsightai","version":"3.3.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.3.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"fae8bb64e57ef46a724434873313463bcfcd7316","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.3.0.tgz","fileCount":33,"integrity":"sha512-GpriByOJuNwNII4DSjyBBIWiyZ12yzBX+MhMlcgyaD84ukxNm5BirQFSVlNI8zvRQHgde78EzBsjfaZMaix+IA==","signatures":[{"sig":"MEUCIQDmoElX63gFKimUjD0cliGA4SJ7F6QRLeCeNCIRPJk8zQIgQojLHHu9cT69CC+7JkZlWNS45s9YjuLSxTQ+BvCywIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1138897},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7bef0e4f4852fe6bdc4137c391fe3649095d1c5d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.3.0_1774038997989_0.27505309446525894","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"cardsightai","version":"3.4.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.4.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"c4b714e3dec871a30ddf98883045606b45bae011","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.4.0.tgz","fileCount":33,"integrity":"sha512-jDB2/Ac5lu3+Tx3aTWFPY+AI+aaXqXjslJpmDDD1/rqpalBIrVX+6kiK1zMusjWfu3LyQtmFuvx+I0NZvNoT1w==","signatures":[{"sig":"MEUCIE3Fgf4Y2ej2l/s/E470QJ20fZ5F7Q/HKPXgqo64Y7OZAiEAlFdQmbQp0dIY7eKpBGVNBWF/C1SNJaMH92zHUx6fQQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196545},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"5c6b6a34ef35a76816076f124c845ed88df970b1","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.4.0_1775074137043_0.3772181881908798","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"cardsightai","version":"3.4.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.4.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"f0168fbd9da5bfc25291a972a69c63f9ed05427a","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.4.1.tgz","fileCount":33,"integrity":"sha512-/51qMlTNhKU5VCV37nxmt+KgPiyNcvi4ytdpDvMx+hNYe/5BLpyRG2G0iaQehWtdpvkpfdNPZd5oQyganQ2dsQ==","signatures":[{"sig":"MEUCIFp7+if4MSSzsjw8H+Pbd19fSurcOLaqgJuHLGsf6dw9AiEAzsl9Ogj/P1G5ReKzosry9kOM1FwYqi70DTq5/uyHJnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1196223},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7ca4e0c38e9aa316d76d4b7f7f83be9137e05993","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.7.0","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.4.1_1775086993130_0.35173205224380855","host":"s3://npm-registry-packages-npm-production"}},"3.4.2":{"name":"cardsightai","version":"3.4.2","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.4.2","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"855a2b082945d0e144f490fbdbe5e0ce6f4fe4f8","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.4.2.tgz","fileCount":33,"integrity":"sha512-ll8qsggrEBwq+aaZAB8ndshyByLnPBUpoH5iEPSv9FzSJkk2DkaHINBVDqXs3otuqVZTUtwk4UEhu9kL6UW/qQ==","signatures":[{"sig":"MEQCICyekpRb1JPbWptdduaZC+GZBQ9/Nrme3kw+gpzjR/4yAiAdP6bNSr4Nm4ErJ+iQSTICWv8q7LbiIKJrWySH6ruARg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1250219},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a651a0401075dcc3342b195cd1454573e6cd9790","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.4.2_1776461155844_0.7502832091637643","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"cardsightai","version":"3.5.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.5.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"91e6c291fea390b1f6128c134dce993d086d27ab","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.5.0.tgz","fileCount":33,"integrity":"sha512-M7BIgOsp+nab02gvaI6+eJfwWYlFBYlB77N+g9d8upHJ4j/vgQmWlZaJFXbG3Zxw4IWocxsuNrqLFOoukvax7A==","signatures":[{"sig":"MEYCIQD22JFPeM0IHNU4APYSHw4dft5ccL0oSCMi0vy3xeRd1gIhAO/MoLIbxIHW3yJ5JRuJ4PPeM4iURDRpcGchBtuqmdJe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302730},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a651a0401075dcc3342b195cd1454573e6cd9790","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.5.0_1778091229416_0.9505236531235315","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"cardsightai","version":"3.5.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.5.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"3f35dfb57b20d4f0cec24a308b2412c0d806fabc","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.5.1.tgz","fileCount":33,"integrity":"sha512-QhTkbZfRKzp7eHAKMQGDN8OFT1kL0XYE5GBWjy6dYilotiIlyMb3qHNc9F0uBQWyuPKFiKxExdi9mhAsLDaUug==","signatures":[{"sig":"MEQCIGFbo9DeORror0tdClP73x2RI0S26l+rQ0/daMGi4URCAiB7vE0TqNd7U+R7CD48PabyEDzpIr3e1VnPp1nccGFw8Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1302730},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a651a0401075dcc3342b195cd1454573e6cd9790","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.5.1_1778091707388_0.1255673668676731","host":"s3://npm-registry-packages-npm-production"}},"3.6.0":{"name":"cardsightai","version":"3.6.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.6.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"2c8b879e085143ef0e91c390bfe477fd259e09bd","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.6.0.tgz","fileCount":33,"integrity":"sha512-nY+2xBJlwPDCBlgkWI54XuT7tsvJpyOvqTimdwfEj9iXj6MzNnky3/ywfYo6QUFgtMjhhYhoYzCzODS6ZV3MTQ==","signatures":[{"sig":"MEYCIQDE3a5qoogcW8Xeg3VsdD3UAS3mQL6IIDNgtwaCuSR2UwIhAIFkn9G/rJiUmYlGqVUgDKCozOE3H1aVlLMiPOQVXzGg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327131},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e805854253ddd26172d2009ef6029fa89185b9db","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.6.0_1780426466409_0.4361773277704084","host":"s3://npm-registry-packages-npm-production"}},"3.7.0":{"name":"cardsightai","version":"3.7.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.7.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"f10c012a1864d828ed6382694e29e0d7e549ce74","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.7.0.tgz","fileCount":33,"integrity":"sha512-om3taRbRuS/rAJVjbWHLoxkyk3MIWea936BFXkVmkxe5bZtlUBukPW2c4X1gk+ieyhBNbIGFq2a9EvtxylJ8lw==","signatures":[{"sig":"MEQCIExFfNTZlkEX9AS5VP9c72nUXopAWvG/9iVG8om9R533AiAp2L+C93SwhotyM9yLOcvdDXEerl+Elx935rkGgyNcuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371674},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"e805854253ddd26172d2009ef6029fa89185b9db","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.7.0_1782838513439_0.7754233673439292","host":"s3://npm-registry-packages-npm-production"}},"3.7.1":{"name":"cardsightai","version":"3.7.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.7.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"d5206038d525daedbbe1a15b7c1a5f8d26c35cd9","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.7.1.tgz","fileCount":33,"integrity":"sha512-zOfzbsZHCBnFfJR6x4Dygm+N7wfzrwHzEZaXnsEhI23cLkekncgzunm3oPRPcccD91R4vl+RL8F9peRrFmk8Lw==","signatures":[{"sig":"MEUCIQCy0s8aAlO1ksjCw62+9Fx842HFveQbpclt+RK+FZ5RKAIgEIGwDbZsTarfV6i4a/M74jaYjDcy+dRJZmaqOqef81Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371687},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"c4cb2b9f39a2e263851ead49554eb77c4e467be3","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.7.1_1783357185736_0.5448392134728932","host":"s3://npm-registry-packages-npm-production"}},"3.8.0":{"name":"cardsightai","version":"3.8.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.8.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"1a136a2201283cc3fb1eebca021273b33ee53772","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.8.0.tgz","fileCount":33,"integrity":"sha512-OW9segls4tMBGC5uRtqZxj0eRKW7/8e481BLwaxz7/HEbrSVuVhDTlQnls1VYSPxOKExw5cswhJVJt2wU9JAUQ==","signatures":[{"sig":"MEQCIEUY/2mSe52OFa1/v0lkQ5hYD+iT5g0k+GfW6SY5Oin+AiBgBEeJuL6uUqow+jBu65vJCQvvlIoQCOcqwvy50eIM2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1378113},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"c4cb2b9f39a2e263851ead49554eb77c4e467be3","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.8.0_1784130233383_0.6560616449695631","host":"s3://npm-registry-packages-npm-production"}},"3.8.1":{"name":"cardsightai","version":"3.8.1","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@3.8.1","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"61b0b12ea7a9b829613ac05e9f1bdbfc18c325ee","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-3.8.1.tgz","fileCount":33,"integrity":"sha512-uJYHeUI0wP+kGza8MIOEfC60yMz4/ae7Tu+IbGBKXRRRkt3ruVmsw2qGwn7647ho7fbIeyjryBlaBRkrbL5lDA==","signatures":[{"sig":"MEQCIAFEvYyiGEKabFzStAiKW8tWffk1pip7PqV2CSYjKez7AiAFpkPjq5mc2IelCCDVVSfr+4X5GcSv8BX6fQ5j/CdmeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1379947},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7a794d44669b0d210670eb5f41fa37c8ae5006d2","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.14.1"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.37.0","prettier":"^3.6.2","@eslint/js":"^9.37.0","typescript":"^5.9.3","@types/node":"^24.7.0","lint-staged":"^16.2.3","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_3.8.1_1785442876220_0.8555047323771443","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"cardsightai","version":"4.0.0","keywords":["cardsightai","baseball","baseball cards","trading cards","api","sdk","typescript"],"author":{"name":"CardSight AI, Inc."},"license":"MIT","_id":"cardsightai@4.0.0","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"homepage":"https://cardsight.ai","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"00e3bb9679a7e4b0f4c73b163e6858ba808b6c4a","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-4.0.0.tgz","fileCount":34,"integrity":"sha512-EuQTut+5LJ7y6fiAfoNQlm+B5jTvJpDc+3AF6w7phTOpCyAGwL3LnrpBWqeKim3NohStq1okiy75xJA4icJ2RQ==","signatures":[{"sig":"MEUCIBZFWmPWclr4cMuGlSz/gJHHcj41n3zZD0L67nZx711oAiEA4wLtd3uIARx6bF4GJGFOCE685BWGeALAuojsaTjT3l8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1449850},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"b9796d55deaf6adee1dfe89c9089600362055dc6","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }) + '\\n')\"","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"overrides":{"openapi-typescript":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.10.0","prettier":"^3.6.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.7.0","lint-staged":"^17.5.1","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"tmp":"tmp/cardsightai_4.0.0_1789075160341_0.7937258067927131","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"_id":"cardsightai@4.1.0","bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"dist":{"shasum":"aac5b94bd62e619988b178979772d78794bff6df","tarball":"https://registry.npmjs.org/cardsightai/-/cardsightai-4.1.0.tgz","fileCount":34,"integrity":"sha512-y5KWx1qitcf6DSnfXyrDWn+LN7x7f9RuFodQjqoqo393Omlt9GgEApkjWa8ddpNTBFIueVyNtGGXI0F59PFZzw==","signatures":[{"sig":"MEQCICONOxML8hAxCCisXcC9gAphF4M5LqY5Vl6RGzR5uoMlAiBu4cBS/6fxQ6yJgmFju4MvmH79MBccmAJnlyK9uWq4TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGNXjYgVswyQwhoWqfmJMsaMhIJtYf0HTIIPUU3VFe7xAiArXuKaWZIups8uIg6xGXor2WSwUmWJ72fbYfBO5o1dWg=="}],"unpackedSize":1483658},"main":"./dist/cjs/index.js","name":"cardsightai","type":"module","types":"./dist/types/index.d.ts","author":{"name":"CardSight AI, Inc."},"module":"./dist/esm/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"6a8cb29e38f5dc692aa000740d08263a3300977c","license":"MIT","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"node --test","build":"npm run clean && npm run generate && npm run build:esm && npm run build:cjs && npm run build:types","check":"npm run lint && npm run format:check && npm run test","clean":"rm -rf dist src/generated","format":"prettier --write \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepare":"husky","generate":"openapi-typescript https://api.cardsight.ai/documentation/json -o src/generated/types.ts","lint:fix":"eslint src/**/*.ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }) + '\\n')\"","build:esm":"tsc -p tsconfig.esm.json","build:types":"tsc -p tsconfig.types.json","format:check":"prettier --check \"src/**/*.{ts,js,json}\" \"*.{json,md}\"","prepublishOnly":"npm run build","test:integration":"npm run build && node --test test/integration.test.js"},"version":"4.1.0","_npmUser":{"name":"enusbaum","email":"eric@cardsight.ai"},"homepage":"https://cardsight.ai","keywords":["cardsightai","baseball","baseball cards","football","basketball","hockey","mma","sports cards","pokemon","magic the gathering","one piece","tcg","trading cards","card identification","cardmagic","api","sdk","typescript"],"overrides":{"openapi-typescript":{"typescript":"$typescript"}},"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"_npmVersion":"11.12.1","description":"TypeScript SDK for CardSight AI REST API","directories":{},"lint-staged":{"*.ts":["eslint --fix","prettier --write"],"*.{json,md}":["prettier --write"]},"maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"_nodeVersion":"25.2.1","dependencies":{"openapi-fetch":"^0.17.0"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.10.0","prettier":"^3.6.2","@eslint/js":"^10.0.1","typescript":"^6.0.3","@types/node":"^24.7.0","lint-staged":"^17.5.1","typescript-eslint":"^8.46.0","openapi-typescript":"^7.9.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","@typescript-eslint/parser":"^8.46.0","@typescript-eslint/eslint-plugin":"^8.46.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cardsightai_4.1.0_1790192030202_0.6302243032644135"}}},"time":{"created":"2025-10-08T18:42:54.234Z","modified":"2026-09-23T19:33:50.559Z","1.0.0":"2025-10-08T18:42:54.427Z","1.0.1":"2025-10-08T21:04:07.934Z","1.0.2":"2025-10-08T21:35:21.159Z","1.0.3":"2025-10-09T00:16:09.933Z","1.0.4":"2025-10-09T01:05:08.251Z","1.0.5":"2025-10-09T11:47:28.511Z","1.1.0":"2025-10-09T12:07:24.291Z","1.1.1":"2025-10-09T18:29:18.473Z","1.1.2":"2025-10-09T18:58:11.592Z","1.1.3":"2025-10-09T19:17:10.252Z","1.1.4":"2025-10-09T19:39:33.928Z","1.1.5":"2025-10-13T23:47:28.711Z","1.1.6":"2025-10-15T20:05:04.041Z","2.0.0":"2025-10-20T18:11:31.573Z","2.1.0":"2025-10-26T18:53:05.273Z","2.1.1":"2025-11-05T03:05:16.958Z","2.2.0":"2025-11-15T00:46:06.729Z","2.3.0":"2026-01-02T21:39:14.697Z","2.4.0":"2026-01-10T18:13:22.758Z","3.0.0":"2026-02-09T01:30:18.757Z","3.1.0":"2026-02-23T23:47:07.132Z","3.2.0":"2026-03-09T17:41:00.808Z","3.3.0":"2026-03-20T20:36:38.127Z","3.4.0":"2026-04-01T20:08:57.193Z","3.4.1":"2026-04-01T23:43:13.289Z","3.4.2":"2026-04-17T21:25:56.061Z","3.5.0":"2026-05-06T18:13:49.579Z","3.5.1":"2026-05-06T18:21:47.544Z","3.6.0":"2026-06-02T18:54:26.566Z","3.7.0":"2026-06-30T16:55:13.600Z","3.7.1":"2026-07-06T16:59:45.872Z","3.8.0":"2026-07-15T15:43:53.537Z","3.8.1":"2026-07-30T20:21:16.393Z","4.0.0":"2026-09-10T21:19:20.483Z","4.1.0":"2026-09-23T19:33:50.353Z"},"bugs":{"url":"https://github.com/cardsightai/cardsightai-node-sdk/issues"},"author":{"name":"CardSight AI, Inc."},"license":"MIT","homepage":"https://cardsight.ai","keywords":["cardsightai","baseball","baseball cards","football","basketball","hockey","mma","sports cards","pokemon","magic the gathering","one piece","tcg","trading cards","card identification","cardmagic","api","sdk","typescript"],"repository":{"url":"git+https://github.com/cardsightai/cardsightai-node-sdk.git","type":"git"},"description":"TypeScript SDK for CardSight AI REST API","maintainers":[{"name":"enusbaum","email":"eric@cardsight.ai"}],"readme":"# CardSight AI Node.js SDK\n\n![NPM Version](https://img.shields.io/npm/v/cardsightai)\n![Node LTS](https://img.shields.io/node/v-lts/cardsightai)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-Ready-blue.svg)](https://www.typescriptlang.org/)\n\n**Official TypeScript/JavaScript SDK for [CardSight AI](https://cardsight.ai) REST API**\n\nThe most comprehensive trading card identification and collection management platform, covering **sports cards** (Baseball, Football, Basketball, Hockey, MMA) and **trading card games** (Pokémon, Magic: The Gathering, One Piece).\n**15M+ Trading Cards** • **8,250+ Identifiable Sets** • **AI-Powered Recognition** • **CardMagic Listing Images** • **Free Tier Available**\n\n**Quick Links:** [Getting Started](#getting-started) • [Installation](#installation) • [Examples](#usage-examples) • [API Documentation](https://api.cardsight.ai/documentation) • [Support](#support)\n\n---\n\n## Features\n\n- **Full TypeScript Support** - Complete type safety with auto-generated types from OpenAPI\n- **Multi-Card Detection** - Identify multiple cards in a single image with confidence scores\n- **Sports Cards & TCGs** - Identification and catalog data for Baseball, Football, Basketball, Hockey, and MMA, plus Pokémon, Magic: The Gathering, and One Piece\n- **CardMagic** - Turn a phone photo into clean, listing-ready card images. No scanner or custom hardware required\n- **Parallel Identification (beta)** - Ranked parallel variant candidates with per-entry confidence tiers, launched for baseball\n- **Flexible Metadata via Fields** - Search and surface arbitrary card properties (HP, Rarity, Artist, Mana Cost, etc.) across any trading card game\n- **Universal Compatibility** - Works in Node.js, browsers, and edge runtimes\n- **Dual Module System** - Supports both ESM and CommonJS\n- **Smart Error Handling** - Typed errors carrying the HTTP status, response body, and request context\n- **Minimal Dependencies** - Only one runtime dependency (openapi-fetch)\n- **100% API Coverage** - All CardSight AI endpoints fully implemented\n\n## Key Capabilities\n\n| Feature | Description | Primary Methods |\n|---------|-------------|-----------------|\n| **Card Identification** | Identify multiple cards from images using AI; free pre-flight set identifiability lookups | `identify.card()`, `identify.cardBySegment()`, `identify.sets.list()`, `identify.sets.check()` |\n| **Card Detection** | Check if trading cards are present in an image | `detect.card()` |\n| **CardMagic** | Turn a phone photo of one or more cards into listing-ready card images | `cardMagic.process()` |\n| **Catalog Search** | Fuzzy search across cards, sets, releases, parallels | `catalog.search()`, `catalog.cards.list()` |\n| **Random Catalog** | Pack opening simulations with parallel odds | `catalog.random.cards()`, `catalog.random.sets()` |\n| **Collections** | Manage owned card collections with analytics | `collections.create()`, `collections.cards.add()` |\n| **Collectors** | Manage collector profiles with names | `collectors.create()`, `collectors.update()` |\n| **Lists** | Track wanted cards (wishlists) | `lists.create()`, `lists.cards.add()` |\n| **Binders** | Organize collection subsets | `collections.binders.create()` |\n| **Pricing** | Completed sales data for cards; candlestick price time series; free-text title search | `pricing.get()`, `pricing.bulk()`, `pricing.timeseries()`, `pricing.search()` |\n| **Marketplace** | Active marketplace listings for cards; free-text title search | `marketplace.get()`, `marketplace.search()` |\n| **Population Reports** | Graded population counts by card, set, or release | `population.card()`, `population.set()`, `population.release()` |\n| **Grading** | PSA, TAG, BGS, SGC grade information | `grades.companies.list()` |\n| **AI Search** | Natural language queries | `ai.query()` |\n| **Autocomplete** | Search suggestions for all entities | `autocomplete.cards()` |\n| **Field Catalog** | Browse flexible metadata fields (Artist, HP, Rarity, etc.) with usage counts — powers cross-TCG metadata search | `catalog.fields.list()`, `catalog.fields.get()` |\n| **Release Calendar** | Upcoming and recent card product releases across segments and manufacturers | `releaseCalendar.list()` |\n\n## Requirements\n\n- Node.js 22.0+ (uses native fetch)\n- TypeScript 5.0+ (optional, for TypeScript projects)\n- API Key from [cardsight.ai](https://cardsight.ai) (free tier available)\n\n## Installation\n\n```bash\n# npm\nnpm install cardsightai\n\n# yarn\nyarn add cardsightai\n\n# pnpm\npnpm add cardsightai\n```\n\n## Getting Started\n\n### Get Your Free API Key\n\nGet started in minutes with a **free API key** from [cardsight.ai](https://cardsight.ai) - no credit card required!\n\n### Quick Start (< 5 minutes)\n\n```javascript\nimport { CardSightAI } from 'cardsightai';\n\n// 1. Initialize the client\nconst client = new CardSightAI({ apiKey: 'your_api_key_here' });\n\n// 2. Identify a card from an image\nconst imageFile = // ... a File, Blob, or ArrayBuffer\nconst result = await client.identify.card(imageFile);\n\n// 3. Access the identification results\nif (result.data?.success) {\n  // The API can detect multiple cards in a single image\n  const detection = result.data.detections?.[0]; // Get best match\n  if (detection) {\n    console.log(`Card: ${detection.card.name}`);       // Exact match only\n    console.log(`Set: ${detection.card.releaseName}`);  // Exact + set-level match\n    console.log(`Confidence: ${detection.confidence}`); // \"High\", \"Medium\", or \"Low\"\n    console.log(`Total cards detected: ${result.data.detections.length}`);\n  }\n}\n```\n\nThat's it! The SDK handles all API communication, type safety, and error handling automatically.\n\n## Usage Examples\n\n### Card Identification\n\nThe identification endpoint uses AI to detect cards in images. It can identify multiple cards in a single image and returns confidence levels for each detection. Identification covers sports cards (Baseball, Football, Basketball, Hockey, MMA) and trading card games (Pokémon, Magic: The Gathering, One Piece). Use `identify.card()` for baseball (the default segment) or `identify.cardBySegment()` to target any other segment by UUID, name, or shortname (e.g. `'football'`, `'magic'`).\n\n```typescript\nimport { CardSightAI } from 'cardsightai';\nimport { readFileSync } from 'fs';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key' });\n\n// From a File object (browser)\nconst fileInput = document.querySelector<HTMLInputElement>('input[type=\"file\"]');\nconst file = fileInput?.files?.[0];\nif (file) {\n  await client.identify.card(file);\n}\n\n// From a Blob (browser/fetch)\nconst blob = await fetch('https://example.com/card.jpg').then(r => r.blob());\nawait client.identify.card(blob);\n\n// From a file on disk (Node.js) — convert the Buffer to an ArrayBuffer\nconst imageBuffer = new Uint8Array(readFileSync('path/to/card.jpg')).buffer;\nconst result = await client.identify.card(imageBuffer);\n\n// Process the results\nif (result.data?.success && result.data.detections) {\n  // Check if any cards were detected\n  if (result.data.detections.length === 0) {\n    console.log('No cards detected in image');\n    return;\n  }\n\n  // Process all detected cards\n  console.log(`Detected ${result.data.detections.length} card(s)`);\n\n  for (const detection of result.data.detections) {\n    console.log(`\\nConfidence: ${detection.confidence}`);\n\n    // card is always present — field completeness depends on match level\n    if (detection.card.id) {\n      // Exact match — all fields populated\n      console.log(`  Name: ${detection.card.name}`);\n      console.log(`  Year: ${detection.card.year}`);\n      console.log(`  Manufacturer: ${detection.card.manufacturer}`);\n      console.log(`  Set: ${detection.card.setName || detection.card.releaseName}`);\n      console.log(`  Number: ${detection.card.number || 'N/A'}`);\n      console.log(`  Card ID: ${detection.card.id}`);\n    } else if (detection.card.setId) {\n      // Set-level match — no specific card, but set info available\n      console.log(`  Release: ${detection.card.releaseName}`);\n      console.log(`  Set: ${detection.card.setName}`);\n      console.log(`  Year: ${detection.card.year}`);\n    } else {\n      // No match — card detected in image but not identified\n      console.log('  Could not identify this card');\n    }\n  }\n\n  // Access request metadata\n  console.log(`\\nRequest ID: ${result.data.requestId}`);\n  console.log(`Processing time: ${result.data.processingTime}ms`);\n\n  // Check for server advisory messages (e.g., image quality warnings)\n  if (result.data.messages?.length) {\n    for (const msg of result.data.messages) {\n      console.log(`[${msg.type}] ${msg.message}`);\n    }\n  }\n}\n\n// Segment-specific identification (football, basketball, etc.)\nconst footballResult = await client.identify.cardBySegment('football', imageBuffer);\nconst basketballResult = await client.identify.cardBySegment('basketball', blob);\n```\n\n#### Response Structure\n\nEach detection has a `confidence` level and a `card` object. The `card` is always present, but its fields are populated based on the match level:\n\n- **Exact match**: `card.id` present — all fields populated including `name`, `number`, and optionally `parallelSuggestions` (beta)\n- **Set-level match**: `card.setId` present but no `card.id` — release/set info available but no specific card\n- **No match**: `card` is an empty object `{}` — a card was detected in the image but couldn't be identified\n\nDetections may also include a `grading` object when the card is inside a graded slab (see [Grading/Slab Detection](#gradingslab-detection) below).\n\n```typescript\n// Exact card match with parallel variant\n{\n  success: true,\n  requestId: \"req_abc123\",\n  detections: [\n    {\n      confidence: \"High\",\n      card: {\n        id: \"cd4e3a2f-8b9d-4c7e-a1b2-3d4e5f6g7h8i\",\n        segmentId: \"seg-uuid\",\n        releaseId: \"rel-uuid\",\n        setId: \"set-uuid\",\n        year: \"2023\",\n        manufacturer: \"Topps\",\n        releaseName: \"Chrome\",\n        setName: \"Base Set\",\n        name: \"Aaron Judge\",\n        number: \"99\",\n        parallelSuggestions: [\n          {\n            id: \"par_uuid\",\n            name: \"Gold Refractor\",\n            numberedTo: 50,\n            confidence: \"High\"\n          }\n        ]\n      }\n    }\n  ],\n  processingTime: 1250\n}\n\n// Mixed results - exact match, set-level match, and no match\n{\n  success: true,\n  requestId: \"req_xyz789\",\n  detections: [\n    {\n      confidence: \"High\",\n      card: {\n        id: \"card-uuid\",\n        segmentId: \"seg-uuid\",\n        releaseId: \"rel-uuid\",\n        setId: \"set-uuid\",\n        year: \"2023\",\n        manufacturer: \"Topps\",\n        releaseName: \"Series 1\",\n        setName: \"Base Set\",\n        name: \"Mike Trout\",\n        number: \"27\"\n      }\n    },\n    {\n      confidence: \"Medium\",\n      card: {\n        segmentId: \"seg-uuid\",\n        releaseId: \"rel-uuid\",\n        setId: \"set-uuid\",\n        year: \"2024\",\n        manufacturer: \"Panini\",\n        releaseName: \"Prizm Football\",\n        setName: \"Base Set\"\n      }\n    },\n    {\n      confidence: \"Low\",\n      card: {}\n    }\n  ],\n  processingTime: 1500\n}\n\n// No cards detected - empty detections array\n{\n  success: true,\n  requestId: \"req_def456\",\n  detections: [],\n  processingTime: 800\n}\n```\n\n#### Checking Set Identifiability (free pre-flight)\n\nBefore spending a billed identify call, you can confirm whether a set is supported. These endpoints are **free** — they do not count toward your billed API usage.\n\n```typescript\n// List every set the system can identify (paginated)\nconst { data } = await client.identify.sets.list({ take: 20, skip: 0 });\nif (data) {\n  console.log(`${data.total_count} identifiable sets`);\n  for (const set of data.sets) {\n    console.log(`${set.year} ${set.release_name} — ${set.set_name} (${set.segment_name})`);\n  }\n}\n\n// Check whether a specific set is identifiable by its set ID\nconst { data: check } = await client.identify.sets.check(setId);\nif (check?.is_identifiable) {\n  console.log(`Set ${check.set_id} is identifiable`);\n}\n```\n\n### Card Detection (Presence Check)\n\nThe detection endpoint is a lightweight alternative to full identification — it checks whether trading cards are present in an image without identifying them. This is faster and cheaper when you only need to know if cards exist in the image.\n\n```typescript\nimport { CardSightAI } from 'cardsightai';\nimport { readFileSync } from 'fs';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key' });\n\n// Check if an image contains trading cards\nconst imageBuffer = new Uint8Array(readFileSync('path/to/image.jpg')).buffer;\nconst result = await client.detect.card(imageBuffer);\n\nif (result.data) {\n  console.log(`Cards detected: ${result.data.detected}`);   // true/false\n  console.log(`Number of cards: ${result.data.count}`);      // 0, 1, 2, ...\n\n  // Check for server advisory messages\n  if (result.data.messages?.length) {\n    for (const msg of result.data.messages) {\n      console.log(`[${msg.type}] ${msg.message}`);\n    }\n  }\n}\n\n// Works with the same image types as identify\nconst blob = await fetch('https://example.com/card.jpg').then(r => r.blob());\nconst blobResult = await client.detect.card(blob);\n```\n\n### Working with Identification Results\n\nThe SDK provides utility functions to simplify working with multi-card detection results:\n\n```typescript\nimport {\n  getHighestConfidenceDetection,\n  filterByConfidence,\n  getDetectedCards,\n  hasDetections,\n  isExactMatch,\n  isSetLevelMatch,\n  getExactMatches,\n  formatCardDisplay\n} from 'cardsightai';\n\nconst result = await client.identify.card(imageFile);\n\n// Get the highest confidence detection (best match)\nconst bestMatch = getHighestConfidenceDetection(result.data);\nif (bestMatch) {\n  console.log('Best match:', formatCardDisplay(bestMatch.card));\n  // Output: \"2023 Topps Series 1 Base Set Mike Trout #27\"\n}\n\n// Check match levels\nfor (const detection of result.data?.detections || []) {\n  if (isExactMatch(detection)) {\n    console.log(`Exact: ${formatCardDisplay(detection.card)}`);\n  } else if (isSetLevelMatch(detection)) {\n    console.log(`Set-level: ${detection.card.releaseName} ${detection.card.setName}`);\n  } else {\n    console.log('Unidentified card detected');\n  }\n}\n\n// Get only exact matches (detections with card.id)\nconst exactMatches = getExactMatches(result.data);\nconsole.log(`${exactMatches.length} exact match(es)`);\n\n// Get all exact-match card objects\nconst cards = getDetectedCards(result.data);\ncards.forEach(card => {\n  console.log(`- ${formatCardDisplay(card)}`);\n});\n\n// Filter by confidence level\nconst highConfidenceOnly = filterByConfidence(result.data, 'High');\nconst mediumAndAbove = filterByConfidence(result.data, 'Medium');\n\n// Check if any cards were detected\nif (hasDetections(result.data)) {\n  console.log(`Found ${result.data.detections.length} card(s)`);\n}\n```\n\n#### Flexible Metadata, Suggestions, and Numbered Cards (v3.4.2+)\n\nEvery detection's `card` now optionally includes three additional fields:\n\n- `numberedTo?: number` — print run for numbered base cards (e.g. `25` for a `/25`), independent of parallels\n- `fields?: FieldValue[]` — key/value metadata tailored to the TCG (e.g. `HP`, `RARITY`, `ARTIST`, `MANA_COST`), plus a `CARD_LANGUAGE` entry holding the **ISO 639-1** code of the scanned card's language (e.g. `\"ja\"`, `\"en\"`) when it is detected (v3.8.1+)\n- `suggestions?: CardSuggestion[]` — alternative card candidates, best match first. Each entry is a full card record with the same fields as `card`. Only present when the detection `confidence` is Medium or Low (v4.0.0+)\n\n```typescript\nimport {\n  getFieldValue,\n  formatFieldValues,\n  hasSuggestions,\n  getSuggestions,\n  isNumberedCard,\n  getNumberedTo,\n  formatCardDisplay\n} from 'cardsightai';\n\nconst detection = result.data?.detections?.[0];\nif (!detection) return;\n\n// Pull a specific metadata value (case-insensitive key lookup)\nconst artist = getFieldValue(detection, 'ARTIST');\n\n// Detected language of the scanned card as an ISO 639-1 code, when available\nconst language = getFieldValue(detection, 'CARD_LANGUAGE');  // e.g. \"ja\"\nif (language && language !== 'en') {\n  // Map the code to a display name with the built-in Intl API\n  const label = new Intl.DisplayNames(['en'], { type: 'language' }).of(language);\n  console.log(`Non-English printing: ${label} (${language})`);  // \"Japanese (ja)\"\n}\n\n// Format all metadata for display\nconsole.log(formatFieldValues(detection, ' · '));\n// e.g. \"HP: 120 · RARITY: Holo Rare · ARTIST: Mitsuhiro Arita\"\n\n// Base-card print run (distinct from parallel print runs)\nif (isNumberedCard(detection)) {\n  console.log(`Limited to /${getNumberedTo(detection)}`);\n}\n\n// Alternative matches (only on Medium/Low confidence detections), best match first.\n// Each suggestion is a full card record, so the display helpers work on it directly.\nif (hasSuggestions(detection)) {\n  console.log('Could also be:');\n  for (const alt of getSuggestions(detection)) {\n    console.log(`  • ${formatCardDisplay(alt)} (${alt.id ?? 'set-level only'})`);\n    // e.g. \"  • 1989 Upper Deck Upper Deck Base Set Ken Griffey Jr. #1 (card-uuid)\"\n  }\n}\n```\n\nSee [Fields (Flexible Metadata System)](#fields-flexible-metadata-system) for end-to-end Pokémon and Magic: The Gathering examples.\n\n#### Parallel Variant Detection (beta)\n\nThe identify endpoint reports parallel variants (Refractors, Prizms, numbered parallels, etc.) as a ranked list of candidates in `card.parallelSuggestions`. The list is best match first, and each entry carries an optional `confidence` tier (`\"High\" | \"Medium\" | \"Low\"`). Ranking and confidence are independent — the engine's top pick is not always the entry with the highest confidence — and a missing `confidence` means \"not assessed\", not Low. When exactly one parallel was identified you get a single High-confidence entry; when several remain possible you get all of them. Base cards with no parallel evidence have no `parallelSuggestions` at all. Parallel identification is currently in beta and has launched for **baseball**.\n\n```typescript\nimport {\n  isExactMatch,\n  getParallelSuggestions,\n  getBestParallelSuggestion,\n  filterParallelSuggestionsByConfidence,\n  formatParallelSuggestion\n} from 'cardsightai';\n\nconst result = await client.identify.card(imageFile);\n\nfor (const detection of result.data?.detections || []) {\n  if (!isExactMatch(detection)) continue;\n  console.log(`Card: ${detection.card.name}`);\n\n  // The engine's top-ranked parallel (undefined when there is no parallel evidence —\n  // hasParallelSuggestions(detection) is the boolean form of the same check)\n  const best = getBestParallelSuggestion(detection);\n  if (!best) {\n    console.log('  Type: Base Card');\n    continue;\n  }\n  console.log(`  Best match: ${formatParallelSuggestion(best)}`);\n  // Output: \"Gold Refractor /50 - High confidence\"\n\n  // Only act on confirmed parallels\n  if (best.confidence === 'High') {\n    console.log(`  Parallel ID: ${best.id}`);\n    if (best.numberedTo) {\n      console.log(`  🔥 NUMBERED: Only ${best.numberedTo} exist!`);\n    }\n  }\n\n  // Show every candidate the engine considered, in its ranking\n  for (const candidate of getParallelSuggestions(detection)) {\n    console.log(`  • ${formatParallelSuggestion(candidate)}`);\n  }\n\n  // Or only the ones assessed at Medium confidence or better\n  // (entries with no confidence value are dropped — unassessed is not Low)\n  const likely = filterParallelSuggestionsByConfidence(detection, 'Medium');\n}\n```\n\n**Parallel Suggestion Structure:**\n\n```typescript\n// Exact match with parallel evidence\n{\n  confidence: \"High\",\n  card: {\n    id: \"card_uuid\",\n    segmentId: \"seg_uuid\",\n    releaseId: \"rel_uuid\",\n    setId: \"set_uuid\",\n    name: \"Mike Trout\",\n    year: \"2023\",\n    // ... other card fields\n    parallelSuggestions: [\n      {\n        id: \"parallel_uuid\",        // UUID of the parallel type\n        name: \"Gold Refractor\",     // Human-readable name\n        description?: \"...\",        // Optional additional details\n        isPartial?: true,           // True if the parallel only applies to specific cards\n        numberedTo?: 50,            // Print run for numbered parallels\n        cards?: [\"uuid1\", \"uuid2\"], // Card UUIDs (only when isPartial is true)\n        confidence?: \"High\"         // \"High\" | \"Medium\" | \"Low\"; omitted = not assessed\n      }\n      // ... further candidates, in the engine's ranking\n    ]\n  }\n}\n\n// Base cards have no parallelSuggestions array\n{\n  confidence: \"High\",\n  card: {\n    id: \"card_uuid\",\n    name: \"Aaron Judge\",\n    // ... other fields\n    // parallelSuggestions is undefined\n  }\n}\n```\n\n**Migrating from `card.parallel` (pre-4.0):** the single `parallel` object is gone. The old helpers `hasParallel()`, `getParallelInfo()`, `isNumberedParallel()`, and `formatParallelDisplay()` still work — they now read the best-match entry (`parallelSuggestions[0]`) — but are deprecated. Note that `hasParallel()` is now true for _any_ parallel evidence, including lower-confidence candidates; use `getBestParallelSuggestion(detection)?.confidence === 'High'` to keep the old \"confirmed parallel\" behaviour.\n\n#### Grading/Slab Detection\n\nWhen identifying a card that is inside a graded slab, the detection includes grading information:\n\n```typescript\nimport {\n  hasGrading,\n  getGradingInfo,\n  formatGradingDisplay\n} from 'cardsightai';\n\nconst result = await client.identify.card(imageFile);\n\nfor (const detection of result.data?.detections || []) {\n  // Check if the card is in a graded slab — hasGrading(detection) is the boolean form;\n  // reading the value lets TypeScript narrow the optional `grading` for the block below\n  const grading = getGradingInfo(detection);\n  if (grading) {\n    console.log(`Grading Company: ${grading.company.name}`);\n    console.log(`Detection Confidence: ${grading.confidence}`);\n    console.log(`Display: ${formatGradingDisplay(detection)}`);\n    // Output: \"PSA 10 GEM MINT - High confidence\"\n\n    // Access detailed grade information\n    if (grading.grade) {\n      console.log(`  Grade: ${grading.grade.value}`);        // e.g., \"10\"\n      console.log(`  Condition: ${grading.grade.condition}`); // e.g., \"GEM MINT\"\n    }\n\n    // Check for defect qualifiers (OC, MC, PD, ST)\n    if (grading.qualifier) {\n      console.log(`  Qualifier: ${grading.qualifier.code}`);  // e.g., \"OC\"\n    }\n\n    // Check for autograph grades\n    if (grading.autoGrade) {\n      console.log(`  Auto Grade: ${grading.autoGrade.value}`); // e.g., \"10\"\n    }\n  }\n}\n```\n\n**Grading Object Structure:**\n\n```typescript\n{\n  confidence: \"High\",\n  card: {\n    id: \"card_uuid\",\n    name: \"Mike Trout\",\n    // ... other card fields\n  },\n  grading: {\n    confidence: \"High\",        // Slab detection confidence\n    company: {\n      id: \"company_uuid\",     // Optional grading company UUID\n      name: \"PSA\"             // Grading company name\n    },\n    grade: {                   // Optional - grade detected on the slab label\n      id: \"grade_uuid\",       // Optional catalog UUID\n      value: \"10\",            // Grade value\n      condition: \"GEM MINT\"   // Grade condition\n    },\n    qualifier: {               // Optional - defect qualifier (e.g., OC, MC, PD, ST)\n      id: \"qualifier_uuid\",   // Optional catalog UUID\n      code: \"OC\"              // Qualifier code\n    },\n    autoGrade: {               // Optional - autograph grade\n      id: \"auto_grade_uuid\",  // Optional catalog UUID\n      value: \"10\",            // Autograph grade value\n      condition: \"MINT\"       // Autograph grade condition\n    }\n  }\n}\n```\n\n#### Card Parallel Utilities (Catalog)\n\nCards from catalog endpoints now include a `parallels` array listing all available parallel variants. Use these utilities to work with catalog card parallels:\n\n```typescript\nimport {\n  getCardParallels,\n  hasCardParallels,\n  findParallelByName,\n  getNumberedParallels,\n  formatCardParallel,\n  type CardParallel\n} from 'cardsightai';\n\n// Get a card from the catalog\nconst { data: card } = await client.catalog.cards.get('card_uuid');\n\n// Check if the card has any parallel variants\nif (card && hasCardParallels(card)) {\n  // Get all parallels\n  const parallels = getCardParallels(card);\n  console.log(`This card has ${parallels.length} parallel variants`);\n\n  // Format each parallel for display\n  parallels.forEach(p => {\n    console.log(`- ${formatCardParallel(p)}`);\n    // Output: \"Gold Refractor /50\", \"Black Prizm\", \"Orange /25\"\n  });\n\n  // Get only numbered parallels (limited print runs)\n  const numbered = getNumberedParallels(card);\n  console.log(`${numbered.length} are numbered parallels`);\n\n  // Find a specific parallel by name\n  const gold = findParallelByName(card, 'Gold Refractor');\n  if (gold) {\n    console.log(`Found Gold Refractor with ID: ${gold.id}`);\n  }\n}\n```\n\n**Note**: These utilities are for catalog cards (`card.parallels[]`). For identification results, use `hasParallelSuggestions()`, `getBestParallelSuggestion()`, etc. which work with the detected `card.parallelSuggestions` array (see [Parallel Variant Detection](#parallel-variant-detection-beta)). A `ParallelSuggestion` has the same `id` / `name` / `numberedTo` shape as a `CardParallel`, so `formatCardParallel()` accepts either.\n\n### CardMagic (Listing-Ready Card Images)\n\nCardMagic turns a phone photo into clean, listing-ready card images. No scanner or custom hardware is needed: snap a picture of one or more cards and CardMagic finds each card, straightens it, squares it up at standard trading-card proportions, and returns an image ready for a marketplace listing.\n\n```typescript\nimport { CardSightAI, CardSightAIError, getCardMagicInfo } from 'cardsightai';\nimport { readFileSync, writeFileSync } from 'fs';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key' });\n\n// Send the original photo from the phone, not a downscaled or rotated copy\nconst photo = new Uint8Array(readFileSync('path/to/IMG_1234.HEIC')).buffer;\n\ntry {\n  const result = await client.cardMagic.process(photo, {\n    mode: 'process',      // default: straightened and squared up, as if scanned\n    outputFormat: 'jpeg', // or 'png'\n    longEdge: 2000        // long side in pixels (32-2100); omit for the photo's native size\n  });\n\n  if (result.data) {\n    // The response is binary: result.data is a Blob, and metadata comes from the headers\n    const info = getCardMagicInfo(result.response);\n    const bytes = Buffer.from(await result.data.arrayBuffer());\n\n    if (info.isZip) {\n      // Two or more cards: a zip of card_0, card_1, ... in reading order\n      writeFileSync('cards.zip', bytes);\n      console.log(`${info.count} cards processed`);\n    } else {\n      // One card: the image itself\n      writeFileSync('card.jpg', bytes);\n      console.log(`Card image: ${info.width}x${info.height}px`);\n    }\n  }\n} catch (error) {\n  if (error instanceof CardSightAIError && error.status === 422) {\n    console.log('No card found in the photo'); // error.response.code === 'NO_CARD_FOUND'\n  } else {\n    throw error;\n  }\n}\n```\n\nIn the browser, pass the `File` from a camera input directly:\n\n```typescript\nimport { CardSightAI, getCardMagicInfo } from 'cardsightai';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key' });\n\n// <input type=\"file\" accept=\"image/*\" capture=\"environment\">\nconst input = document.querySelector<HTMLInputElement>('input[type=\"file\"]');\nconst photoFile = input?.files?.[0];\n\nif (photoFile) {\n  const { data, response } = await client.cardMagic.process(photoFile, { outputFormat: 'png' });\n  const preview = document.querySelector<HTMLImageElement>('#preview');\n\n  if (data && preview && !getCardMagicInfo(response).isZip) {\n    preview.src = URL.createObjectURL(data);\n  }\n}\n```\n\n**Options** (all optional). Yes/no options take the strings `'true'` and `'false'`, matching the API.\n\n| Option | Values | Default | Effect |\n|--------|--------|---------|--------|\n| `mode` | `'process'` \\| `'crop'` | `'process'` | `process` straightens each card and squares it up at standard trading-card proportions, as if scanned. `crop` returns each card as it appears in the photo, trimmed to the card |\n| `paddingPercent` | `0`-`50` | `5` | Margin around the card, as a percent of the card size on each side |\n| `paddingFill` | `'background'` or `'#RRGGBB'` | `'background'` | Fill the margin with the photo's real surroundings or a solid color |\n| `autoLevels` | `'true'` \\| `'false'` | `'true'` | Restore contrast and remove color cast. Use `'false'` when the photo's own color matters |\n| `outputFormat` | `'jpeg'` \\| `'png'` | `'jpeg'` | Encoding of the returned images |\n| `longEdge` | `32`-`2100` | Photo's native size | Length of the long side of every returned image in pixels, padding included |\n| `corners` | `'true'` \\| `'false'` | `'false'` | Add close-ups of each card's four corners for judging condition (600x600 each, showing 14 mm of card plus 2.5 mm beyond it on a light 1 mm grid, in the photo's original color) and a 1210x1210 sheet combining them |\n\n**What comes back:**\n\n| Photo contains | `corners` | Response (`result.data` Blob) |\n|----------------|-----------|-------------------------------|\n| One card | off | The image (`image/jpeg` or `image/png`). `getCardMagicInfo()` reports its `width` and `height` |\n| Two or more cards | off | `application/zip` with `card_0.<ext>`, `card_1.<ext>`, ... in reading order (top to bottom, then left to right) |\n| One or more cards | `'true'` | Always `application/zip`. Each `card_N.<ext>` is followed by `card_N_top-left`, `card_N_top-right`, `card_N_bottom-right`, `card_N_bottom-left`, and `card_N_corners` (all four on one sheet) |\n| No card | any | Throws `CardSightAIError` with status `422` and code `NO_CARD_FOUND` |\n\n`getCardMagicInfo(response)` returns `{ contentType, isZip, count?, width?, height? }`, parsed from the `Content-Type`, `X-CardMagic-Count`, `X-CardMagic-Width`, and `X-CardMagic-Height` headers. `width` and `height` are only set for single-image responses.\n\n**Tips:**\n\n- Raw cards give the best results. Cards in toploaders or grading-company slabs may crop poorly.\n- Accepts JPEG, PNG, WebP, and HEIC/HEIF photos up to 20MB and 8192px per side.\n- Send the original photo, including its orientation flag. Don't downscale or rotate it first.\n- The SDK has no zip dependency. Unzip multi-card results with the library of your choice, or pass the zip straight through to your users.\n\n### Catalog Search\n\nSearch across cards, sets, releases, and parallels with a single query:\n\n```typescript\n// Global fuzzy search\nconst results = await client.catalog.search({\n  q: 'Ken Griffey Jr',  // Required search query\n  take: 10,             // Limit results\n  skip: 0               // Pagination offset\n});\n\n// Filter by entity type\nconst cardResults = await client.catalog.search({\n  q: 'Topps Chrome',\n  type: 'set',          // 'card' | 'set' | 'release' | 'parallel'\n  year: '2023'\n});\n\n// Filter by segment, manufacturer, year range\nconst footballCards = await client.catalog.search({\n  q: 'Patrick Mahomes',\n  segment: 'football',\n  min_year: '2020',\n  max_year: '2024'\n});\n\n// Slash notation: append a standalone \"/N\" term to hard-filter to cards and\n// parallels serial-numbered to that value. Matched results expose `numberedTo`.\nconst numbered = await client.catalog.search({\n  q: 'aaron judge /25'   // only cards/parallels numbered to /25\n});\n\n// Process results\nif (results.data) {\n  console.log(`Found ${results.data.total_count} results`);\n  for (const result of results.data.results) {\n    // `relevance` is opaque and order-only — compare it between results, not across requests\n    console.log(`[${result.type}] ${result.name} (relevance: ${result.relevance})`);\n    if (result.segmentName) console.log(`  Segment: ${result.segmentName}`);\n    if (result.setName) console.log(`  Set: ${result.setName}`);\n    if (result.year) console.log(`  Year: ${result.year}`);\n    if (result.cardNumber) console.log(`  Card #${result.cardNumber}`);\n    if (result.numberedTo) console.log(`  Numbered to /${result.numberedTo}`);\n    // Present on every result only when close-spelling (fuzzy) matching engaged;\n    // \"exact\" results always sort before \"fuzzy\" ones\n    if (result.matchKind === 'fuzzy') console.log('  (fuzzy match)');\n  }\n\n  // Advisory messages (e.g. an unrecognized query parameter was ignored)\n  for (const msg of results.data.messages ?? []) {\n    console.log(`[${msg.type}] ${msg.message}`);\n  }\n}\n```\n\n### Fields (Flexible Metadata System)\n\nEvery trading card game has different metadata: Pokémon cards have HP and Rarity, while Magic: The Gathering cards have Mana Cost and Artist. Rather than hard-coding columns per game, CardSight exposes a flexible **Fields** system — any card, set, release, or segment can carry key/value metadata, and the catalog exposes it as a first-class browsable entity. One SDK surface works across every TCG, no per-game branching required.\n\n**Browse available fields, sorted by how prevalent they are:**\n\n```typescript\n// usageCount tells you how many catalog entities (cards, sets, releases, segments) carry each field\nconst fields = await client.catalog.fields.list({\n  sort: 'usageCount',\n  order: 'desc',\n  take: 20\n});\n\nfields.data?.fields.forEach(f => {\n  console.log(`${f.name} (${f.key}) — used on ${f.usageCount} entities`);\n});\n// e.g. \"Artist (ARTIST) — used on 48,231 entities\"\n//      \"Rarity (RARITY) — used on 39,104 entities\"\n//      \"Hit Points (HP) — used on 11,520 entities\"\n```\n\n**Example — find rare Pokémon cards:**\n\nIdentification responses now include a `fields` array on every detected card, so you can surface rarity directly from a scan:\n\n```typescript\nimport { CardSightAI, getFieldValue, isExactMatch } from 'cardsightai';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key_here' });\nconst result = await client.identify.cardBySegment('pokemon', pokemonCardImage);\nconst detection = result.data?.detections?.[0];\n\nif (detection && isExactMatch(detection)) {\n  const rarity = getFieldValue(detection, 'RARITY');\n  const hp = getFieldValue(detection, 'HP');\n  const language = getFieldValue(detection, 'CARD_LANGUAGE');  // ISO 639-1, e.g. \"ja\"\n  console.log(`${detection.card.name} — ${rarity} (HP: ${hp}) [${language}]`);\n  // e.g. \"Charizard — Holo Rare (HP: 120) [ja]\"\n\n  if (rarity?.toLowerCase().includes('rare')) {\n    // Route to a higher-value pricing lookup, flag for user review, etc.\n    const pricing = await client.pricing.get(detection.card.id);\n    // ...\n  }\n}\n```\n\n**Example — surface the artist on Magic: The Gathering cards:**\n\n```typescript\nimport { CardSightAI, formatFieldValues, getFieldValue } from 'cardsightai';\n\nconst client = new CardSightAI({ apiKey: 'your_api_key_here' });\nconst result = await client.identify.cardBySegment('magic', mtgCardImage);\nconst detection = result.data?.detections?.[0];\n\nif (detection) {\n  const artist = getFieldValue(detection, 'ARTIST');\n  const manaCost = getFieldValue(detection, 'MANA_COST');\n  console.log(`${detection.card.name} by ${artist} — ${manaCost}`);\n  // e.g. \"Black Lotus by Christopher Rush — {0}\"\n\n  // Or show every field at once:\n  console.log(formatFieldValues(detection, ' · '));\n  // e.g. \"MANA_COST: {0} · ARTIST: Christopher Rush · RARITY: Rare\"\n}\n```\n\n**Related utility helpers:**\n\n| Helper | Purpose |\n|--------|---------|\n| `hasFields(detection)` | Check whether a detection has any field values |\n| `getFields(detection)` | Return the full `FieldValue[]` array |\n| `getFieldValue(detection, key)` | Look up a single value by key (case-insensitive) |\n| `formatFieldValues(detection, separator?)` | Format all fields as a display string |\n| `hasSuggestions(detection)` | Check for alternative card candidates (Medium/Low confidence only) |\n| `getSuggestions(detection)` | Get the `CardSuggestion[]` array — full card records, best match first |\n| `isNumberedCard(detection)` | Check for a base-card print run (independent of parallels) |\n| `getNumberedTo(detection)` | Get the base-card print run number |\n\nThe `CardDetails` type on every detection also exposes `numberedTo` (e.g. `25` for a `/25` card) and `suggestions` (alternative full card records on Medium/Low confidence detections) alongside the new `fields` array — see [Working with Identification Results](#working-with-identification-results) for full details.\n\n### Pricing (Completed Sales)\n\nGet completed sales pricing data for cards, grouped into raw (ungraded) and graded sections:\n\n```typescript\n// Get pricing for a single card\nconst pricing = await client.pricing.get('card_uuid');\n\nif (pricing.data) {\n  // Card context\n  console.log(`Card: ${pricing.data.card.name}`);\n  console.log(`Set: ${pricing.data.card.set.name} (${pricing.data.card.set.year})`);\n\n  // Raw (ungraded) sales\n  console.log(`\\nUngraded sales: ${pricing.data.raw.count}`);\n  for (const sale of pricing.data.raw.records) {\n    console.log(`  $${sale.price} - ${sale.date} (${sale.source})`);\n  }\n\n  // Graded sales (grouped by company → grade)\n  for (const company of pricing.data.graded) {\n    console.log(`\\n${company.company_name}:`);\n    for (const grade of company.grades) {\n      console.log(`  Grade ${grade.grade_value}: ${grade.count} sales`);\n      for (const sale of grade.records) {\n        console.log(`    $${sale.price} - ${sale.date}`);\n      }\n    }\n  }\n\n  // Metadata\n  console.log(`\\nTotal records: ${pricing.data.meta.total_records}`);\n  console.log(`Last sale: ${pricing.data.meta.last_sale_date}`);\n}\n\n// Filter by parallel, grade, time period, and listing type\nconst filtered = await client.pricing.get('card_uuid', {\n  parallel_id: 'parallel_uuid',  // Specific parallel (omit for all)\n  grade_id: 'grade_uuid',        // Specific grade (omit for all)\n  period: '90d',                  // Any combo: \"7d\", \"2w\", \"3m\", \"1y\", \"all\"\n  listing_type: 'both',          // auction, fixed, both\n  limit: 50                       // Max records per section\n});\n\n// Page backward through price history\n// Each call returns the most-recent listings up to a 500-row cap ending at `as_of_date`\n// (default: today, US Eastern). When the cap is hit, a warning is returned in `messages`.\nconst firstPage = await client.pricing.get('card_uuid', { period: 'all' });\n\nif (firstPage.data) {\n  // Advisory messages (e.g. the row cap was hit and more listings exist in the window)\n  for (const msg of firstPage.data.messages ?? []) {\n    console.log(`[${msg.type}] ${msg.message}`);\n  }\n\n  // To fetch older listings, anchor the next call at the oldest date returned\n  // (records are most-recent first, so the oldest raw record is last).\n  // The boundary day may repeat a few rows (duplicates, never gaps).\n  const oldest = firstPage.data.raw.records.at(-1)?.date;\n  if (oldest) {\n    const olderPage = await client.pricing.get('card_uuid', {\n      period: 'all',\n      as_of_date: oldest    // 'YYYY-MM-DD'; future dates are clamped to today\n    });\n  }\n}\n\n// Bulk pricing for multiple cards (up to 100)\nconst bulk = await client.pricing.bulk({\n  card_ids: ['card_uuid_1', 'card_uuid_2', 'card_uuid_3'],\n  period: '90d',\n  listing_type: 'both',\n  limit: 25                       // Optional: most-recent listings per card (default 25, max 100)\n});\n\nif (bulk.data) {\n  console.log(`Requested: ${bulk.data.meta.requested}`);\n  console.log(`Successful: ${bulk.data.meta.successful}`);\n  console.log(`Failed: ${bulk.data.meta.failed}`);\n\n  for (const result of bulk.data.results) {\n    if (result.success && result.data) {\n      console.log(`${result.data.card.name}: ${result.data.meta.total_records} sales`);\n    } else if (result.error) {\n      console.log(`${result.card_id}: ${result.error.message}`);\n    }\n  }\n}\n```\n\n### Price Time Series (Candlestick Rollups)\n\nChart price trends over time with per-bucket descriptive statistics (mean, median, high, low, count). Series are split by grade — `raw` for ungraded listings and `graded` per company → grade — so graded and ungraded prices never blend into one candle. Within each series, candles are keyed by listing type: `auction` (completed sales, the bid side) and `fixed` (Buy It Now asking prices, the ask side). Statistics are summaries of listings, not valuations.\n\n```typescript\n// Daily candles for the last 90 days (the default period count for \"daily\")\nconst series = await client.pricing.timeseries('card_uuid', { interval: 'daily' });\n\nif (series.data) {\n  // Effective values (after defaults and clamping) are echoed back\n  const { interval, periods, as_of_date } = series.data.query;\n  console.log(`${interval} × ${periods} buckets ending ${as_of_date}`);\n\n  // Ungraded (raw) candles, oldest first\n  for (const candle of series.data.raw.candles) {\n    const auction = candle.types.auction;   // absent when the bucket has no auction listings\n    if (auction) {\n      console.log(`${candle.period_start}: median $${auction.median} (n=${auction.count})`);\n    }\n  }\n\n  // Whole-window counts, including how many listings the outlier filter removed\n  for (const [type, totals] of Object.entries(series.data.raw.totals)) {\n    console.log(`${type}: ${totals.total_count} kept, ${totals.filtered_count} filtered`);\n  }\n\n  // Graded candles, grouped by company → grade\n  for (const company of series.data.graded) {\n    for (const grade of company.grades) {\n      console.log(`${company.company_name} ${grade.grade_value}: ${grade.candles.length} candles`);\n    }\n  }\n}\n\n// Weekly candles for one year: base card only, one grade, auctions only\nconst weekly = await client.pricing.timeseries('card_uuid', {\n  interval: 'weekly',        // 'daily' | 'weekly' | 'monthly' (required)\n  periods: 52,               // Defaults: daily 90, weekly 52, monthly 24.\n                             // Values above 365 are rejected; weekly > 156 and monthly > 120 are clamped.\n  as_of_date: '2026-09-01',  // Newest bucket is the one containing this date (UTC); defaults to today\n  listing_type: 'auction',   // 'auction' | 'fixed' | 'both'\n  parallel_id: 'null',       // UUID for one parallel, 'null' for base card only, omit for all\n  grade_id: 'grade_uuid'     // UUID for one grade, 'null' for ungraded only, omit for all\n});\n```\n\nBuckets, listing types, and grades with no listings are omitted rather than zero-filled. A card with no listings in the window returns an empty `raw` section and an empty `graded` array as a success. Pinning `grade_id` to a specific grade excludes ungraded listings, so `raw` comes back empty in that case.\n\n### Pricing Search (Free-Text Title)\n\nSearch completed sales by listing title when you don't have a card ID. Returns a flat,\nrelevance-ranked list that spans multiple cards and may include listings never matched to a\ncanonical card:\n\n```typescript\nconst results = await client.pricing.search({\n  q: 'Ken Griffey Jr 1989 Upper Deck',  // Required, 2–300 characters\n  period: '90d',                         // Optional: \"7d\", \"2w\", \"3m\", \"1y\", \"all\"\n  listing_type: 'both',                  // Optional: auction, fixed, both\n  limit: 25                              // Optional: default 100, max 500\n});\n\nif (results.data) {\n  console.log(`Found ${results.data.meta.total_records} sales`);\n\n  for (const sale of results.data.results) {\n    console.log(`$${sale.price} - ${sale.title ?? 'Untitled'} (${sale.source})`);\n\n    // matched_card is present when the listing was matched to a canonical card\n    if (sale.matched_card) {\n      console.log(`  ${sale.matched_card.name} - ${sale.matched_card.set.name}`);\n    }\n    // grade is present for graded sales\n    if (sale.grade) {\n      console.log(`  ${sale.grade.company_name} ${sale.grade.grade_value}`);\n    }\n  }\n\n  // Breakdown by data source\n  for (const source of results.data.meta.sources) {\n    console.log(`${source.source}: ${source.count}`);\n  }\n}\n```\n\n### Marketplace (Active Listings)\n\nGet currently active marketplace listings for cards:\n\n```typescript\n// Get active listings for a card\nconst listings = await client.marketplace.get('card_uuid');\n\nif (listings.data) {\n  // Raw (ungraded) active listings\n  console.log(`Ungraded listings: ${listings.data.raw.count}`);\n  for (const listing of listings.data.raw.records) {\n    console.log(`  ${listing.title} - $${listing.price} (${listing.source})`);\n    if (listing.url) console.log(`    ${listing.url}`);\n    if (listing.bid_count) console.log(`    Bids: ${listing.bid_count}`);\n  }\n\n  // Graded active listings (grouped by company → grade)\n  for (const company of listings.data.graded) {\n    console.log(`\\n${company.company_name}:`);\n    for (const grade of company.grades) {\n      console.log(`  Grade ${grade.grade_value}: ${grade.count} listings`);\n    }\n  }\n}\n\n// Filter by parallel, grade, and listing type\nconst filtered = await client.marketplace.get('card_uuid', {\n  parallel_id: 'parallel_uuid',\n  grade_id: 'grade_uuid',\n  listing_type: 'fixed',  // auction, fixed (buy-it-now), both\n  limit: 25\n});\n```\n\n### Marketplace Search (Free-Text Title)\n\nSearch active marketplace listings by title when you don't have a card ID. Same flat,\nrelevance-ranked shape as pricing search (active listings instead of completed sales):\n\n```typescript\nconst results = await client.marketplace.search({\n  q: 'Ken Griffey Jr 1989 Upper Deck',  // Required, 2–300 characters\n  listing_type: 'both',                  // Optional: auction, fixed, both\n  limit: 25                              // Optional: default 100, max 500\n});\n\nif (results.data) {\n  console.log(`Found ${results.data.meta.total_records} active listings`);\n\n  for (const listing of results.data.results) {\n    console.log(`$${listing.price} - ${listing.title} (${listing.source})`);\n    if (listing.url) console.log(`  ${listing.url}`);\n    if (listing.bid_count) console.log(`  Bids: ${listing.bid_count}`);\n    if (listing.matched_card) {\n      console.log(`  ${listing.matched_card.name} - ${listing.matched_card.set.name}`);\n    }\n  }\n}\n```\n\n### Catalog Operations\n\nSearch and retrieve cards, sets, releases, and other catalog data:\n\n```typescript\n// Search for specific cards\nconst cards = await client.catalog.cards.list({\n  year: '2023',\n  manufacturer: 'Topps',\n  name: 'Aaron Judge',\n  take: 10,  // Limit results\n  skip: 0    // Pagination offset\n});\n\n// Get a specific card by ID\nconst card = await client.catalog.cards.get('card_uuid');\n\n// Search sets\nconst sets = await client.catalog.sets.list({\n  year: '2023',\n  manufacturer: 'Topps',\n  take: 20\n});\n\n// Get cards in a specific set\nconst setCards = await client.catalog.sets.cards('set_uuid');\n\n// Search releases (product lines like \"Chrome\", \"Series 1\")\nconst releases = await client.catalog.releases.list({\n  name: 'Chrome',\n  min_year: '2020',\n  max_year: '2024'\n});\n\n// Get manufacturers\nconst manufacturers = await client.catalog.manufacturers();\n\n// Get segments (Baseball, Football, etc.)\nconst segments = await client.catalog.segments();\n\n// Get all parallels/variations\nconst parallels = await client.catalog.parallels.list();\n\n// Get detailed parallel information by ID\nconst parallel = await client.catalog.parallels.get('parallel_uuid');\n// Returns: id, name, description, numberedTo, isPartial, setId, setName,\n//          releaseId, releaseName, releaseYear, cards (for partial parallels)\n\n// Cards include their available parallels directly\nconst { data: cardDetail } = await client.catalog.cards.get('card_uuid');\nif (cardDetail?.parallels && cardDetail.parallels.length > 0) {\n  console.log('Available parallels:');\n  cardDetail.parallels.forEach(p => {\n    // Each parallel has: id, name, numberedTo (optional)\n    const display = p.numberedTo ? `${p.name} /${p.numberedTo}` : p.name;\n    console.log(`- ${display}`);\n  });\n}\n\n// Get catalog statistics\nconst stats = await client.catalog.statistics();\nconsole.log(`Total cards: ${stats.data?.cards.total}`);\nconsole.log(`Total sets: ${stats.data?.sets.total}`);\n```\n\n### Release Calendar\n\nBrowse upcoming and recent card product releases, sorted by release date (newest first). Useful for \"coming soon\" pages, recent-release feeds, and pre-order discovery.\n\n```typescript\n// Next page of upcoming 2026 Panini releases\nconst calendar = await client.releaseCalendar.list({\n  manufacturer: 'Panini',   // UUID or name (case-insensitive)\n  year: '2026',\n  take: 20,\n  skip: 0\n});\n\ncalendar.data?.release_calendar.forEach(entry => {\n  const preOrder = entry.pre_order_date ?? 'N/A';\n  console.log(`${entry.name} — releases ${entry.release_date} (pre-order: ${preOrder})`);\n});\n\nconsole.log(`Total upcoming: ${calendar.data?.total_count}`);\n```\n\nFilters: `segment`, `manufacturer`, `year` (all accept UUIDs or case-insensitive names). Each entry includes `id`, `name`, `year`, `release_date`, `pre_order_date`, `segment_id`, and `manufacturer_id`.\n\n### Random Catalog (Pack Opening & Discovery)\n\nThe random endpoints enable pack opening simulations and discovery features by returning random results instead of paginated sorted results:\n\n```typescript\n// Pack opening simulation - Get 10 random cards from a set with parallel odds\nconst pack = await client.catalog.random.cards({\n  setId: 'set_uuid',\n  count: 10,\n  includeParallels: true  // Enable parallel conversion odds\n});\n\n// Process the pack\nif (pack.data?.cards) {\n  pack.data.cards.forEach(card => {\n    if (card.isParallel) {\n      console.log(`🌟 PARALLEL: ${card.name} - ${card.parallelName}`);\n      if (card.numberedTo) {\n        console.log(`   Numbered to ${card.numberedTo}!`);\n      }\n    } else {\n      console.log(`Base: ${card.name} #${card.number}`);\n    }\n  });\n}\n\n// Discovery feature - Get 5 random releases from 2023\nconst randomReleases = await client.catalog.random.releases({\n  count: 5,\n  year: '2023'\n});\n\n// Get random sets from a specific release\nconst randomSets = await client.catalog.random.sets({\n  releaseId: 'release_uuid',\n  count: 6\n});\n\n// Player collection building - Get random player cards\nconst randomPlayerCards = await client.catalog.random.cards({\n  name: 'Mike Trout',\n  count: 3\n});\n\n// Random cards with filters (no parallels)\nconst randomCards = await client.catalog.random.cards({\n  year: '2024',\n  manufacturer: 'manufacturer_uuid',\n  count: 20\n});\n```\n\n#### Parallel Odds System\n\nWhen `includeParallels: true` is set on `catalog.random.cards()`, each card has a weighted probability of converting to a parallel variant:\n\n1. **Numbered Parallels** (e.g., /1, /10, /50): Individual rolls with boosted odds, rarest to most common\n2. **Unlimited Parallels** (e.g., Refractor, Rainbow): One collective roll, then random selection if successful\n3. **Base Cards**: Returned if no parallel rolls succeed\n\nParallel cards include additional fields:\n- `isParallel: true`\n- `parallelId: string` - UUID of the parallel\n- `parallelName: string` - Name like \"Gold Refractor\"\n- `numberedTo: number | null` - Serial number limit (e.g., 50 for /50)\n\n**Note**: `setId` and `releaseId` are mutually exclusive on the cards endpoint.\n\n### Collection Management\n\nManage personal card collections with full CRUD operations:\n\n```typescript\n// Create a new collection\nconst collection = await client.collections.create({\n  name: 'My Vintage Cards',\n  description: 'Pre-1980 baseball cards',\n  collectorId: 'collector_uuid'  // Required: links to a collector profile\n});\n\n// Add cards to collection with detailed information.\n// Signature: add(collectionId, cardItem | cardItem[])\nawait client.collections.cards.add(collection.data!.id, [\n  {\n    cardId: 'card_uuid',\n    quantity: 1,\n    buyPrice: '50.00',    // Store purchase price\n    buyDate: '2024-01-15', // Track purchase date\n    gradeId: 'grade_uuid'  // Optional: PSA 10, BGS 9.5, etc.\n  }\n]);\n\n// Update collection card (e.g., after selling)\nawait client.collections.cards.update(\n  'collection_uuid',\n  'card_uuid',\n  {\n    sellPrice: '150.00',\n    soldDate: '2024-10-01'\n  }\n);\n\n// Get collection analytics\nconst analytics = await client.collections.analytics('collection_uuid');\nconsole.log(`Total cards: ${analytics.data?.overview.totalCards}`);\nconsole.log(`Total invested: ${analytics.data?.financials.totalInvested}`);\nconsole.log(`Total realized gains: ${analytics.data?.financials.totalRealizedGains}`);\n\n// Get collection breakdown by various categories\nconst breakdown = await client.collections.breakdown('collection_uuid', {\n  groupBy: 'year'  // Options: 'release', 'year', 'grade', 'player', 'manufacturer'\n});\n\n// List all collections for a collector\nconst collections = await client.collections.list({\n  collectorId: 'collector_uuid',\n  take: 10\n});\n```\n\n### Binders (Collection Organization)\n\nOrganize collections into binders (subsets):\n\n```typescript\n// Create a binder within a collection\nconst binder = await client.collections.binders.create(\n  'collection_uuid',\n  {\n    name: 'Hall of Famers',\n    description: 'Cards of HOF players'\n  }\n);\n\n// Add a collection card to a binder\nawait client.collections.binders.cards.add(\n  'collection_uuid',\n  'binder_uuid',\n  {\n    collectionCardId: 'card1_uuid'\n  }\n);\n\n// List cards in a binder\nconst binderCards = await client.collections.binders.cards.list(\n  'collection_uuid',\n  'binder_uuid'\n);\n```\n\n### Lists (Want Lists / Wishlists)\n\nTrack cards you want to acquire:\n\n```typescript\n// Create a want list\nconst list = await client.lists.create({\n  collectorId: 'collector_uuid',\n  name: 'Rookies to Find',\n  description: '2024 rookie cards I need'\n});\n\n// Add cards to the list\nawait client.lists.cards.add('list_uuid', [\n  { cardId: 'card_uuid_1' },\n  { cardId: 'card_uuid_2' }\n]);\n\n// Get all cards in a list\nconst listCards = await client.lists.cards.list('list_uuid');\n\n// Remove card from list when acquired\nawait client.lists.cards.delete('list_uuid', 'card_uuid');\n```\n\n### Grading Information\n\nAccess grading company data and grade values:\n\n```typescript\n// Get all grading companies (PSA, BGS, SGC, etc.)\nconst companies = await client.grades.companies.list();\n\n// Get grading types for a company (e.g., PSA Regular, PSA DNA)\nconst types = await client.grades.companies.types('PSA');\n\n// Get specific grades for a grading type\nconst { data: grades } = await client.grades.companies.grades('PSA', 'psa_regular');\n\n// Grades include condition descriptors\ngrades?.grades?.forEach(grade => {\n  // grade.grade = \"10\", grade.condition = \"GEM MINT\"\n  console.log(`${grade.grade} - ${grade.condition}`);\n  // Output: \"10 - GEM MINT\", \"9 - MINT\", etc.\n});\n```\n\n### AI-Powered Search\n\nUse natural language to search the catalog:\n\n```typescript\n// Ask questions in natural language\nconst response = await client.ai.query({\n  query: 'Show me Mike Trout rookie cards worth over $100'\n});\n\n// The AI understands context and intent\nconst response2 = await client.ai.query({\n  query: 'What are the most valuable cards from 2023 Topps Chrome?'\n});\n```\n\n### Autocomplete\n\nProvide search suggestions for users:\n\n```typescript\n// Get card name suggestions (pass the query string directly)\nconst suggestions = await client.autocomplete.cards('aaron'); // User typed \"aaron\"\n// Returns: [\"Aaron Judge\", \"Hank Aaron\", \"Aaron Nola\", ...]\n\n// Autocomplete for other entities\nconst sets = await client.autocomplete.sets('chrome');\nconst manufacturers = await client.autocomplete.manufacturers('top');\nconst releases = await client.autocomplete.releases('series');\nconst segments = await client.autocomplete.segments('base');\nconst years = await client.autocomplete.years('2023');\n```\n\n### Image Retrieval\n\nGet card images directly:\n\n```typescript\n// Get card image (returns binary data by default)\nconst imageData = await client.images.getCard('card_uuid');\n\n// Get image as base64 JSON\nconst imageJson = await client.images.getCard('card_uuid', { format: 'json' });\n\n// Get image with placeholder fallback (returns a default image instead of 404)\nconst imageWithFallback = await client.images.getCard('card_uuid', { default: 'true' });\n\n// Get collection card images\nconst collectionImage = await client.collections.cards.getImage(\n  'collection_uuid',\n  'card_uuid'\n);\n\n// Get thumbnail\nconst thumbnail = await client.collections.cards.getThumbnail(\n  'collection_uuid',\n  'card_uuid'\n);\n```\n\n### Feedback System\n\nSubmit feedback to improve the platform:\n\n```typescript\n// Report identification issues\nawait client.feedback.identify('identification_request_id', {\n  feedback_type: 'data_error',  // 'data_error' | 'missing_data' | 'suggestion' | 'bug' | 'other'\n  message: 'Wrong year detected'\n});\n\n// Submit general feedback\nawait client.feedback.general({\n  feedback_type: 'bug',  // 'data_error' | 'missing_data' | 'suggestion' | 'bug' | 'other'\n  message: 'Search not finding parallel cards'\n});\n\n// Report issues with specific entities\nawait client.feedback.card('card_uuid', {\n  feedback_type: 'data_error',  // 'data_error' | 'missing_data' | 'suggestion' | 'bug' | 'other'\n  message: 'Player name is misspelled'\n});\n\n// Look up a previously submitted item by its unique_id\nconst submitted = await client.feedback.get('feedback_unique_id');\nconsole.log(submitted.data?.data.status);  // e.g. 'new'\n```\n\nEach response carries a review `status`. Newly submitted feedback starts as `'new'`; every\nother value is set by the review team:\n\n| Status | Meaning |\n|--------|---------|\n| `new` | Just submitted, not yet triaged |\n| `under_review` | Actively being investigated |\n| `confirmed_bug` | Confirmed as a bug |\n| `enhancement_backlog` | Accepted as an enhancement; in the backlog |\n| `enhancement_planned` | Accepted as an enhancement; planned |\n| `released` | The resulting change has been released |\n| `not_an_issue` | Reviewed and determined not to be an issue |\n| `closed` | Closed with no further action |\n\nThe values `not_reviewed`, `fixed`, `wont_fix`, `duplicate`, and `need_info` are deprecated and only appear on feedback submitted before August 2026. They remain in the exported `FeedbackStatus` union so an exhaustive `switch` still compiles.\n\n## TypeScript Support\n\nThe SDK provides complete TypeScript support with auto-generated types:\n\n```typescript\nimport {\n  CardSightAI,\n  CardSightAIError,\n  IdentifyResult,\n  CardDetection,\n  DetectedCard,\n  ParallelSuggestion,\n  CardSuggestion,\n  DetailedParallel,\n  CatalogSearchResponse,\n  SearchResult,\n  SlabGradingDetail,\n  SlabCompany,\n  SlabGrade,\n  SlabQualifier,\n  SlabAutoGrade,\n  ServerMessage,\n  PricingResponse,\n  PricingRecord,\n  BulkPricingResponse,\n  MarketplaceResponse,\n  MarketplaceRecord,\n  TimeseriesResponse,\n  CandlePeriod,\n  CandleStats,\n  PricingSearchResponse,\n  PricingSearchRecord,\n  MarketplaceSearchResponse,\n  MarketplaceSearchRecord,\n  FeedbackResponse,\n  FeedbackStatus,\n  CardMagicProcessParams,\n  CardMagicInfo\n} from 'cardsightai';\n\n// All methods are fully typed\nconst client = new CardSightAI({ apiKey: 'key' });\n\n// TypeScript knows the exact shape of responses\nconst result = await client.catalog.cards.get('id');\nif (result.data) {\n  // TypeScript knows all available fields\n  console.log(result.data.name);\n  console.log(result.data.releaseYear);\n  console.log(result.data.releaseName);\n}\n\n// Use types in your functions\nfunction processDetection(detection: CardDetection): void {\n  if (detection.confidence === 'High' && detection.card.id) {\n    console.log(`High confidence exact match: ${detection.card.name}`);\n  }\n}\n```\n\n### Advanced Type Usage\n\nThe SDK provides access to all OpenAPI-generated types for advanced use cases:\n\n```typescript\nimport type { paths, components } from 'cardsightai';\n\n// Access named component schemas\ntype Card = components['schemas']['Card'];\ntype Set = components['schemas']['Set'];\ntype Release = components['schemas']['Release'];\ntype IdentifyResponse = components['schemas']['IdentifyCardResponse'];\n\n// The SDK is path-based (consistent with openapi-fetch): access request and\n// response types straight from `paths` by URL + HTTP method.\ntype IdentifyCardOperation = paths['/v1/identify/card']['post'];\ntype GetCardsOperation = paths['/v1/catalog/cards']['get'];\n\n// Extract a specific response type from a path\ntype HealthResponse = paths['/health']['get']['responses']['200']['content']['application/json'];\ntype CardsListResponse = paths['/v1/catalog/cards']['get']['responses']['200']['content']['application/json'];\n\n// Extract the query params for an endpoint\ntype CardListParams = paths['/v1/catalog/cards']['get']['parameters']['query'];\n```\n\nThe OpenAPI specification now uses named schemas in `components.schemas` for better type reusability and clearer documentation. All types are structurally compatible with previous versions.\n\n## Error Handling\n\nThe SDK provides detailed error information:\n\n```typescript\nimport { CardSightAIError, AuthenticationError } from 'cardsightai';\n\ntry {\n  const result = await client.identify.card(imageFile);\n} catch (error) {\n  if (error instanceof AuthenticationError) {\n    console.error('Invalid API key');\n  } else if (error instanceof CardSightAIError) {\n    console.error(`API Error ${error.status}: ${error.message}`);\n\n    // Access detailed error information\n    console.error('Request details:', error.request);\n    console.error('Response:', error.response);\n\n    // Some errors are retryable\n    if (error.status === 503) {\n      // Service temporarily unavailable, retry later\n    }\n  }\n}\n```\n\n## Configuration\n\n```typescript\nimport { CardSightAI } from 'cardsightai';\n\n// Basic configuration\nconst basicClient = new CardSightAI({\n  apiKey: 'your_api_key'  // Required\n});\n\n// Advanced configuration\nconst advancedClient = new CardSightAI({\n  apiKey: 'your_api_key',\n  baseUrl: 'https://api.cardsight.ai',  // Custom API endpoint\n  timeout: 30000,  // Request timeout in milliseconds\n  headers: {  // Additional headers\n    'X-Custom-Header': 'value'\n  }\n});\n\n// Using environment variables\n// Set CARDSIGHTAI_API_KEY in your environment\nconst envClient = new CardSightAI();  // Automatically uses env variable\n```\n\n## Environment Variables\n\nThe SDK supports the following environment variables:\n\n```bash\nCARDSIGHTAI_API_KEY=your_api_key_here  # API key for authentication\n```\n\n## API Endpoint Coverage\n\nThe SDK provides 100% coverage of all CardSight AI REST API endpoints:\n\n| Category | Endpoints | SDK Methods |\n|----------|-----------|------------|\n| **Health** | 2 | `health.check()`, `health.checkAuth()` |\n| **Identification** | 4 | `identify.card()`, `identify.cardBySegment()`, `identify.sets.list()`, `identify.sets.check()` |\n| **Detection** | 1 | `detect.card()` |\n| **CardMagic** | 1 | `cardMagic.process()` |\n| **Catalog** | 20 | `catalog.search()`, `catalog.cards.*`, `catalog.sets.*`, `catalog.releases.*`, `catalog.fields.*`, `catalog.random.*` |\n| **Release Calendar** | 1 | `releaseCalendar.list()` |\n| **Collections** | 23 | `collections.*`, `collections.cards.*`, `collections.binders.*` |\n| **Collectors** | 5 | `collectors.*` |\n| **Lists** | 8 | `lists.*`, `lists.cards.*` |\n| **Pricing** | 4 | `pricing.get()`, `pricing.bulk()`, `pricing.timeseries()`, `pricing.search()` |\n| **Marketplace** | 2 | `marketplace.get()`, `marketplace.search()` |\n| **Grades** | 3 | `grades.companies.*` |\n| **Autocomplete** | 6 | `autocomplete.*` |\n| **AI** | 1 | `ai.query()` |\n| **Images** | 3 | `images.*`, `collections.cards.getImage()` |\n| **Feedback** | 8 | `feedback.*` |\n| **Subscription** | 1 | `subscription.get()` |\n\n## Building from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/cardsightai/cardsightai-sdk-node.git\ncd cardsightai-sdk-node\n\n# Install dependencies\nnpm install\n\n# Generate types from OpenAPI spec\nnpm run generate\n\n# Build the SDK\nnpm run build\n\n# Run tests\nnpm test\n```\n\n## Testing\n\n```bash\n# Run unit tests\nnpm test\n\n# Run integration tests (requires API key)\nexport CARDSIGHTAI_API_KEY=your_api_key\nnpm run test:integration\n```\n\n## Browser Support\n\nThe SDK works in modern browsers with native fetch support:\n\n```html\n<!-- Use via CDN -->\n<script type=\"module\">\n  import { CardSightAI } from 'https://cdn.jsdelivr.net/npm/cardsightai/+esm';\n\n  const client = new CardSightAI({ apiKey: 'your_api_key' });\n  // Use the client...\n</script>\n```\n\n## Edge Runtime Support\n\nThe SDK is compatible with edge runtimes like Cloudflare Workers and Vercel Edge Functions:\n\n```typescript\nimport { CardSightAI } from 'cardsightai';\n\n// Cloudflare Worker example\nexport default {\n  async fetch(request: Request) {\n    const client = new CardSightAI({ apiKey: 'your_api_key' });\n\n    // Process request...\n    const result = await client.catalog.cards.list({ take: 10 });\n\n    return Response.json(result);\n  }\n};\n```\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n## License\n\nMIT\n\n## Support\n\n- **Email**: support@cardsight.ai\n- **Website**: [cardsight.ai](https://cardsight.ai)\n- **API Documentation**: [api.cardsight.ai/documentation](https://api.cardsight.ai/documentation)\n- **Issues**: [GitHub Issues](https://github.com/cardsightai/cardsightai-sdk-node/issues)\n\n---\n\n*Built with ❤️ by CardSight AI*","readmeFilename":"README.md"}