{"_id":"@arcenciel/sdk","_rev":"8-490d4a3fe61c3394edfeef22ba74df37","name":"@arcenciel/sdk","dist-tags":{"bootstrap":"0.8.0-bootstrap.0","latest":"1.1.0"},"versions":{"0.8.0-bootstrap.0":{"name":"@arcenciel/sdk","version":"0.8.0-bootstrap.0","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@0.8.0-bootstrap.0","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"0226e068efca8cf6b54d5990256f4d5b611f0107","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-0.8.0-bootstrap.0.tgz","fileCount":1540,"integrity":"sha512-+6NLl3MVWwIrXxzpqXf8TTRAlJUWA8/FM2TRJE0LOTlOwbbNghnIGMs20e2S6jvqKNxpnFGdJhJy2bqsqwx2pw==","signatures":[{"sig":"MEQCIGtjhWd4Q00mbDaiEvWamjXtfYQl5H2Vg0jDyshO84ZPAiBHzc/esrDXHmJwc991P0B+HJoHy/dKX7bBVDX25rz4jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6115766},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"d32565623256e618fe40500b5c310b8472fe443f","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"fallenincursio","email":"mogelgamer52@gmail.com"},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"10.9.7","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.0-bootstrap.0_1786144274865_0.0902257518628109","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@arcenciel/sdk","version":"0.8.0","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@0.8.0","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"14c9f4a426d1f35fb12dd73ce155454e09df37fb","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-0.8.0.tgz","fileCount":1540,"integrity":"sha512-1VHI4gIzMIe9tRTt9ACz8sDQ2xS4hq8rufes/cGfuhEWcI0GOXdxX/YNXB41crJWwUAlON6DTTO5EA+hkMBkCQ==","signatures":[{"sig":"MEQCIEyyNmZuEEfow+lDtZAGZ5uHWkKPYb6pF7D73L/xLhfAAiBGMGA+MGo/d63Z1c1cYrq6jEuQ8ivxJQUu4eZeqgeg0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6115754},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"d32565623256e618fe40500b5c310b8472fe443f","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.0_1786144738188_0.09891985151241567","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"@arcenciel/sdk","version":"0.8.2","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@0.8.2","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"16d0b1596121789e9e474b2b87151d14069c4e44","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-0.8.2.tgz","fileCount":1540,"integrity":"sha512-ANie05HNDGyzA4oRwQQjHaWo+l6YU9zC6vjAFsznOhyMDaVQUajjKaActcUeHP7izyhwnDMCHpsl2qPlC6TKUw==","signatures":[{"sig":"MEUCIQC0Kt4RcbX+VOHo9AozJGWgFSxan2zTmUvgxzAtugdLewIgSsT9xSd4X/nmEshbQsvROqZvW/X6BqNRWOxoROYb1Tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6115340},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"1b4daec148d62dbb5df0989b775d4df293614fba","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.8.2_1786145794876_0.10064895977482347","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@arcenciel/sdk","version":"0.9.0","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@0.9.0","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"b9d48dde3e2198609195e471886df50e4be74194","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-0.9.0.tgz","fileCount":1601,"integrity":"sha512-I4kgZiLpwcgrRhjL6ByfF15DkJCUtg2Ynto9O7/VVc79QcNh4Ssv85ooe0Ibjc5mRO2avS9beGfUGpOeWwCqow==","signatures":[{"sig":"MEUCIGZZ22E1N/QXi6t66x2NDyLcA3X435KzofhffByXDuj6AiEAxVNOd55zSVFLjWVnVHHexoqhW8IY2WErmNg4ZswFji8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6347212},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"c847719cbe1c09ccc0d83f975f54880161b19d5c","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.9.0_1786164248390_0.5945909368477682","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@arcenciel/sdk","version":"1.0.0","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@1.0.0","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"ec9658d1dd05d74ef2dba56bd0d99b842d61028f","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-1.0.0.tgz","fileCount":1601,"integrity":"sha512-Qr6lAcnQzkv37XDbIbPvskJqQLWPNb+yOuF6r4zGtIbHlztgXZeJTSjh/wVsp807QpPgvM7xgKTBQMqlxBnr4w==","signatures":[{"sig":"MEUCIAHX00M/6QDL81FcufaPsOoaDn4tN8QMZHXPc3ZpHdHtAiEApzmhediBAKd4l9VA0b8Ihh9UGX139b+cdklo4go67ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6347654},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"f6bf69d617f11a254604edff908c1aa5ca1ced1c","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.0_1786194322009_0.6402450876308203","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@arcenciel/sdk","version":"1.0.1","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@1.0.1","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"5409b4756f162013d3c593da258353fef86a5eab","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-1.0.1.tgz","fileCount":1609,"integrity":"sha512-fy+pPHIzGdeRupdZZ+gY9AwvbBv2qCvUhOgGogTyrgUiLhveYSVhr1fQh54yTHQSyfpUoxlUyWhKZeR61H1I9w==","signatures":[{"sig":"MEYCIQD8yOZf3llWfRBL4RJcaOpYrwGOO1fJhk5M7XY7KBetWAIhAO/vxAB7QjfihTDfP+NypYALJ0YZ++r0hRfogyqQlUIa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6971511},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"50f9f206997383b6360038447f707e655fa5e5c6","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.1_1786198354827_0.7084070083953442","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arcenciel/sdk","version":"1.0.2","author":{"name":"Arc en Ciel"},"license":"MIT","_id":"@arcenciel/sdk@1.0.2","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"dist":{"shasum":"e567b576beeea5d7b9aadf2bf82965b6261d6d19","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-1.0.2.tgz","fileCount":1609,"integrity":"sha512-d+GC3EPH1PLJcOM0jtnkV888MzalIIW9DEAEyHr6XG1bOAT9roEhLmQFoiWTdHmERDaw/ZGCOJ/eAubPxgV9aw==","signatures":[{"sig":"MEYCIQCfdkXOk6KTsfqdH6aaEFivmomqd+7AOIvnWDZuIqankAIhAOxfmPXc1hh9dGIbXR3JT5MQw2IKUa620mYNMR130V8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6973089},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","engines":{"node":">=20.20.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"gitHead":"c0531163647fb73433f4a4d512692e2749e5efc7","scripts":{"lint":"eslint src/client.ts src/errors.ts tests","test":"vitest run","build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","pack:check":"npm pack --dry-run --ignore-scripts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"repository":{"url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","type":"git","directory":"packages/sdk-typescript"},"_npmVersion":"11.5.1","description":"Official TypeScript SDK for the Arc en Ciel Developer API","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.32.0","vitest":"^3.2.4","globals":"^16.3.0","@eslint/js":"^9.32.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_1.0.2_1786221716529_0.9937304047991","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@arcenciel/sdk","version":"1.1.0","description":"Official TypeScript SDK for the Arc en Ciel Developer API","author":{"name":"Arc en Ciel"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","directory":"packages/sdk-typescript"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/esm/index.js","require":"./dist/index.js"}},"engines":{"node":">=20.20.0"},"sideEffects":false,"scripts":{"build":"tsc && tsc -p tsconfig.esm.json && node scripts/write-esm-package.mjs","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.esm.json","test":"vitest run","lint":"eslint src/client.ts src/errors.ts src/oauth.ts tests","pack:check":"npm pack --dry-run --ignore-scripts"},"devDependencies":{"@eslint/js":"^9.32.0","eslint":"^9.32.0","globals":"^16.3.0","typescript":"^5.9.2","typescript-eslint":"^8.39.0","vitest":"^3.2.4"},"_id":"@arcenciel/sdk@1.1.0","gitHead":"35774882960be58679877a61c48cb03adf13dd45","bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","_nodeVersion":"22.23.1","_npmVersion":"11.5.1","dist":{"integrity":"sha512-a64+sro6Ma9IXVcNhF8fnipdECBNCI+Mb+YoWwdnyStXoQxUoy4uiW8XOayzDFgixVAauMk+GUykxuVUoWK/Kw==","shasum":"bb6275963abc42954592473bf5df0132e05bc95b","tarball":"https://registry.npmjs.org/@arcenciel/sdk/-/sdk-1.1.0.tgz","fileCount":1653,"unpackedSize":7172420,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arcenciel%2fsdk@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICo60N9MPh09QLu7dQubjtKnxLE2natrkNYwkX94DCzGAiAwrVL6De89TyKzfzMw7h1AdDTysSvlfowuKnWKj4nORw=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4ad7a70e-5366-404c-b76f-a072bd6ad98d"}},"directories":{},"maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_1.1.0_1786298909905_0.9020363312818092"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-07T23:11:14.637Z","modified":"2026-08-09T18:08:30.455Z","0.8.0-bootstrap.0":"2026-08-07T23:11:15.056Z","0.8.0":"2026-08-07T23:18:58.359Z","0.8.2":"2026-08-07T23:36:35.089Z","0.9.0":"2026-08-08T04:44:08.583Z","1.0.0":"2026-08-08T13:05:22.168Z","1.0.1":"2026-08-08T14:12:35.022Z","1.0.2":"2026-08-08T20:41:56.701Z","1.1.0":"2026-08-09T18:08:30.148Z"},"bugs":{"url":"https://github.com/FallenIncursio/arcenciel-sdks/issues"},"author":{"name":"Arc en Ciel"},"license":"MIT","homepage":"https://github.com/FallenIncursio/arcenciel-sdks#readme","repository":{"type":"git","url":"git+https://github.com/FallenIncursio/arcenciel-sdks.git","directory":"packages/sdk-typescript"},"description":"Official TypeScript SDK for the Arc en Ciel Developer API","maintainers":[{"name":"fallenincursio","email":"mogelgamer52@gmail.com"}],"readme":"# `@arcenciel/sdk` 1.1.0\n\nOfficial TypeScript/JavaScript client for the immutable Arc en Ciel Developer API `1.10.0` contract. The package is tested for Node.js\n20.20+ and modern browsers. npm publishes it from the signed public source tag through OIDC Trusted Publishing with provenance.\n\n## Install\n\n```bash\nnpm install @arcenciel/sdk@1.1.0\n```\n\n## OAuth Authorization Code with PKCE\n\n```ts\nconst client = new ArcEnCielClient()\nconst authorization = await client.oauth.createAuthorization({\n  clientId: 'aec_client_...',\n  redirectUri: 'https://your-app.example/oauth/callback',\n  scopes: ['models:read', 'offline_access'],\n})\n\nsessionStorage.setItem('arcenciel-oauth', JSON.stringify(authorization))\nwindow.location.assign(authorization.url)\n\n// On the callback route, restore `authorization` from server-side/session storage.\nconst tokens = await client.oauth.exchangeCallback({ callbackUrl: window.location.href, authorization })\n```\n\nThe helper verifies both callback `state` and Arc en Ciel `iss` before the single-use exchange. Persist a returned rotated\n`refreshToken` atomically and never retry an ambiguous token request. Confidential clients pass `clientSecret` only from a server.\n\n## Search and inspect a model\n\n```ts\nimport { ArcEnCielClient, paginatePages } from '@arcenciel/sdk'\n\nconst client = new ArcEnCielClient({\n  apiKey: process.env.ARCENCIEL_API_KEY,\n  timeoutMs: 30_000,\n})\n\nconst firstPage = await client.call(() =>\n  client.models.searchModels({\n    search: 'landscape',\n    page: 1,\n    limit: 20,\n  })\n)\n\nconst model = firstPage.data?.[0]\nif (model?.id) {\n  const detail = await client.call(() => client.models.getModel({ id: model.id }))\n  console.log(detail.name)\n}\n\nfor await (const item of paginatePages(page => client.models.searchModels({ search: 'landscape', page, limit: 50 }))) {\n  console.log(item.name)\n}\n```\n\nPublic catalogue reads do not require credentials. Configure `apiKey` for account-specific filters and attribution. Use one key per\nintegration and grant only the documented scope.\n\n## Page and cursor pagination\n\nThe facade keeps the two API pagination styles explicit while hiding their continuation loops. `paginatePages` accepts one-based\n`page`/`limit` responses with `totalPages` or `hasMore`; the existing `paginate` export remains a compatible alias. `paginateCursor`\ntreats continuation values as opaque and stops only when `nextCursor` is absent:\n\n```ts\nimport { paginateCursor, paginatePages } from '@arcenciel/sdk'\n\nfor await (const model of paginatePages(page => client.models.searchModels({ page, limit: 50 }))) {\n  console.log(model.id)\n}\n\nfor await (const notification of paginateCursor(cursor => client.notifications.listNotifications({ cursor, limit: 50 }))) {\n  console.log(notification.id)\n}\n```\n\nBoth helpers reject invalid starts or repeated continuation tokens with `ArcEnCielError` code `INVALID_PAGINATION` instead of looping\nforever.\n\n## Test safely in the sandbox\n\nAll 265 stable methods can target deterministic or stateful isolated fixtures without changing generated code:\n\n```ts\nconst sandbox = new ArcEnCielClient({\n  baseUrl: 'https://arcenciel.io/developers/sandbox',\n  apiKey: 'aec_test_public',\n})\n\nconst page = await sandbox.call(() => sandbox.models.searchModels({ limit: 5 }))\n```\n\nThe sandbox rejects live API keys, bearer credentials, and cookies. It supports documented error scenarios, binary ranges, redirects, and\nstreams for integration and retry tests. See the [sandbox guide](https://arcenciel.io/developers/sandbox).\n\n## Stream and verify a download\n\n```ts\nimport { ArcEnCielClient, readAndVerifySha256 } from '@arcenciel/sdk'\n\nconst client = new ArcEnCielClient({ apiKey: process.env.ARCENCIEL_API_KEY })\nconst info = await client.call(() =>\n  client.downloads.getModelVersionDownloadInfo({\n    modelId: 42,\n    versionId: 81,\n  })\n)\n\nconst response = await client.downloadModelVersionStream(42, 81, {\n  filename: info.fileName,\n  range: 'bytes=0-',\n})\n\nif (!response.body) throw new Error('The runtime did not provide a response stream')\nif (!info.sha256) throw new Error('The API did not provide a SHA-256 for this file')\n\n// For small files, this portable helper reads the response and verifies it with Web Crypto.\n// Large Node.js downloads should pipe response.body to disk while calculating an incremental SHA-256.\nconst bytes = await readAndVerifySha256(response, info.sha256)\nconsole.log(`Verified ${bytes.byteLength} bytes`)\n```\n\n`downloadModelVersionStream` follows HTTPS redirects, preserves optional Range requests, accepts `200` and `206`, and normalizes failures\nto `ArcEnCielError`. Always compare the full SHA-256 returned by `getModelVersionDownloadInfo` when it is available.\n\n## Errors, timeouts, and retries\n\nGenerated methods throw their native transport error unless invoked through `client.call(...)`. The facade converts failures to\n`ArcEnCielError`, which exposes:\n\n- `status` and API `code`;\n- `requestId` from `X-Request-ID`;\n- response `headers`;\n- `retryAfterMs` for rate-limit and transient-failure handling.\n\nGET, HEAD, and OPTIONS requests retry `429`, `502`, `503`, and `504` with bounded full jitter. A POST is retried only when the final\ngenerated request contains an `Idempotency-Key`; the same request and key are reused. Other writes are never retried automatically.\nConfigure `{ retry: false }` to disable retries or provide `maxRetries`, `baseDelayMs`, and `maxDelayMs`.\n\n## Create a comment with safe retries\n\n```ts\nconst idempotencyKey = crypto.randomUUID()\nconst created = await client.call(() =>\n  client.comments.createModelComment({\n    modelId: 42,\n    idempotencyKey,\n    createArticleCommentRequest: { content: 'Useful training notes—thank you!' },\n  })\n)\nconsole.log(created.comment.id)\n```\n\nKeep one key for the complete logical action. Matching retries replay the original successful response for 24 hours; changing the body\nwhile reusing a key returns `409`.\n\n## Read conversations and send once\n\n```ts\nconst inbox = await client.call(() => client.chat.listChatThreads({ folder: 'inbox', limit: 30 }))\nfor (const thread of inbox.data) console.log(thread.id, thread.title, thread.hasUnread)\n\nconst created = await client.call(() =>\n  client.chat.createChatMessage({\n    threadId: 81,\n    idempotencyKey: crypto.randomUUID(),\n    content: 'The release render is ready.',\n  })\n)\nconsole.log(created.id)\n```\n\nGrant `ChatRead` for thread, message, presence, unread, and preview reads. Add `ChatWrite` only for requests, groups, messages, reactions,\nread state, and group mutations. Keep one idempotency key across every retry of the same request, group, or message create.\n\n## Manage and verify Developer Webhooks\n\n```ts\nimport { ArcEnCielClient, verifyWebhookSignature } from '@arcenciel/sdk'\n\nconst client = new ArcEnCielClient({ apiKey: process.env.ARCENCIEL_API_KEY })\nconst endpoints = await client.webhooks.listWebhookEndpoints()\n\nconst valid = await verifyWebhookSignature(rawBody, request.headers.get('x-aec-signature') ?? '', process.env.ARCENCIEL_WEBHOOK_SECRET!)\n```\n\nGrant `WebhooksRead` for event, endpoint, and delivery reads. Add `WebhooksWrite` for endpoint lifecycle, test delivery, secret rotation, and\nmanual retry. Pass the exact unparsed request body to `verifyWebhookSignature`; its default replay window is five minutes.\nRun [`examples/webhook-workflow.ts`](./examples/webhook-workflow.ts) with a `WebhooksRead` key for a non-mutating discovery and local\nsignature-verification smoke workflow.\n\n## Stable namespaces\n\n| Namespace              | Stable operations                                                                     |\n| ---------------------- | ------------------------------------------------------------------------------------- |\n| `client.articles`      | Article discovery, drafts, media, scheduling, publication, updates, and deletion      |\n| `client.chat`          | Private threads, requests, groups, messages, reactions, presence, and read state      |\n| `client.collabs`       | Collaboration discovery, showcases, requests, participant media, and membership       |\n| `client.collections`   | Collection discovery, creation, collaborators, contribution review, items, and media  |\n| `client.comments`      | Typed article, image, model, and video comment reads and mutations                    |\n| `client.downloads`     | Model download metadata, binary transfers, training TOML, archives, and registration  |\n| `client.emotes`        | Anonymous emote catalogue reads                                                       |\n| `client.feedback`      | Caller-owned product feedback, attachments, and deletion                              |\n| `client.generator`     | Image/video generation options, presets, uploads, jobs, events, outputs, and publish  |\n| `client.images`        | Image discovery, uploads, metadata, crossposts, publishing, and bulk transfer         |\n| `client.models`        | Models, versions, resumable uploads, managed media, resources, and publishing         |\n| `client.notifications` | Cursor-paginated inbox, summary, and read-state updates                               |\n| `client.profile`       | Own profile, uploads, export, history, pinned templates, links, and profile media     |\n| `client.social`        | Favorites, follows, image/video reactions, and their explicit removal operations      |\n| `client.tags`          | Anonymous tag-usage discovery                                                         |\n| `client.trustSafety`   | Illegal-content notices, private evidence, review requests, and content reports       |\n| `client.users`         | Public profiles, creator statistics, search, and visible uploads                      |\n| `client.videos`        | Video discovery, uploads, metadata, publishing, HLS, streaming, and downloads         |\n| `client.webhooks`      | Endpoint lifecycle, event catalog, delivery diagnostics, retries, and secret rotation |\n\nThe generated low-level APIs and models are also exported from the package root. Their method names come from the stable OpenAPI\n`operationId` values.\n\n## Contract and generation\n\n- Developer API: `1.10.0`, 265 operations\n- SDK: `1.1.0`\n- OpenAPI Generator CLI: `2.40.1`\n- OpenAPI Generator: `7.24.0`\n- Contract: <https://arcenciel.io/developers/openapi/1.10.0.json>\n- Release manifest: <https://arcenciel.io/developers/openapi/releases.json>\n- Portal and support: <https://arcenciel.io/developers>\n\nGenerated code is committed and deterministically regenerated from the immutable contract. The hand-written facade, tests, and this\nREADME are preserved across regeneration.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}