{"_id":"@clavis-sinica-org/sdk","name":"@clavis-sinica-org/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@clavis-sinica-org/sdk","version":"0.1.0","description":"Official TypeScript/JavaScript client for the Clavis Sinica API — Chinese idiom, sentence, passage, classical Chinese and lesson decomposition.","license":"MIT","author":{"name":"Clavis Sinica"},"homepage":"https://clavissinica.org","repository":{"type":"git","url":"git+https://github.com/clavis-sinica-org/sdk-js.git"},"keywords":["chinese","nlp","idiom","classical-chinese","hsk","api-client"],"type":"commonjs","main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=18"},"scripts":{"build":"tsc -p tsconfig.json","prepublishOnly":"npm run build"},"devDependencies":{"typescript":"^5.4.0","@types/node":"^18.19.0"},"_id":"@clavis-sinica-org/sdk@0.1.0","bugs":{"url":"https://github.com/clavis-sinica-org/sdk-js/issues"},"_integrity":"sha512-Qbr5IiHCA5kfLCmSyPo/k0NGHfG69t1ZwfDuuvWCifUV1uBfH+OWn4xXDlEF/DoF4l7TcPffFNkMQ3cVa5Hcvw==","_resolved":"F:\\_00_SILink.ai_image_SID\\deploy_G\\clavis-sinica-org-sdk-0.1.0.tgz","_from":"file:clavis-sinica-org-sdk-0.1.0.tgz","_nodeVersion":"24.18.1","_npmVersion":"11.16.0","dist":{"integrity":"sha512-Qbr5IiHCA5kfLCmSyPo/k0NGHfG69t1ZwfDuuvWCifUV1uBfH+OWn4xXDlEF/DoF4l7TcPffFNkMQ3cVa5Hcvw==","shasum":"bf7756a13314412b05f5f6da77c2d7a16ca76fb8","tarball":"https://registry.npmjs.org/@clavis-sinica-org/sdk/-/sdk-0.1.0.tgz","fileCount":5,"unpackedSize":17516,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDosXe2HWcYb0DJPtsANFmEOZEqnWf+nl5kRrIbW08fHgIhAM0HWw/U4ct3C0kBqJvwLZwFlzV6dydKvH1Hon+iFY6U"}]},"_npmUser":{"name":"clavis-sinica","email":"2741448@gmail.com"},"directories":{},"maintainers":[{"name":"clavis-sinica","email":"2741448@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1789092292356_0.986565497836466"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-11T02:04:52.166Z","0.1.0":"2026-09-11T02:04:52.505Z","modified":"2026-09-11T02:04:52.741Z"},"maintainers":[{"name":"clavis-sinica","email":"2741448@gmail.com"}],"description":"Official TypeScript/JavaScript client for the Clavis Sinica API — Chinese idiom, sentence, passage, classical Chinese and lesson decomposition.","homepage":"https://clavissinica.org","keywords":["chinese","nlp","idiom","classical-chinese","hsk","api-client"],"repository":{"type":"git","url":"git+https://github.com/clavis-sinica-org/sdk-js.git"},"author":{"name":"Clavis Sinica"},"bugs":{"url":"https://github.com/clavis-sinica-org/sdk-js/issues"},"license":"MIT","readme":"# @clavis-sinica-org/sdk\n\nOfficial TypeScript/JavaScript client for the [Clavis Sinica](https://clavissinica.org)\nAPI — Chinese idiom, sentence, passage, classical Chinese and lesson decomposition.\n\n```bash\nnpm install @clavis-sinica-org/sdk\n```\n\n```ts\nimport { Clavis } from \"@clavis-sinica-org/sdk\";\n\nconst c = new Clavis(\"ck-live_...\");\n\nawait c.run(\"decompose.idiom\", { idiom: \"守株待兔\" });\nawait c.run(\"convert.script\", { text: \"汉字\", direction: \"s2t\" });\n\n// Async services poll to completion automatically\nawait c.run(\"decompose.lesson\", { text: \"...\", title: \"第一课\" });\n```\n\nNode 18+ (uses built-in `fetch`). No runtime dependencies.\n\n> The Python client is published as `clavis-sinica` (PyPI has no scopes),\n> while this one is `@clavis-sinica-org/sdk` — same API, different naming\n> conventions on the two registries.\n\n> The Python client is published as `clavis-sinica` (PyPI has no scopes),\n> while this one is `@clavis-sinica-org/sdk` — same API, different naming\n> conventions on the two registries.\n\n## What it handles for you\n\n- `Authorization: Bearer` auth — the only accepted scheme\n- The `payload` request shape, which works for every service code\n- Fetches the field spec from `GET /v1/chinese/services` instead of hardcoding it\n- Retries `429` honouring `Retry-After`, `502`/`503` with exponential backoff,\n  never retries `4xx`\n- Polls async services to completion\n- Surfaces the `warnings` array — unknown top-level fields are dropped silently\n\n## Errors\n\n`ClavisAuthError` · `ClavisParamError` (`.field` / `.expected`) ·\n`ClavisNotFound` · `ClavisRateLimited` (`.retryAfter` / `.scope`) ·\n`ClavisUpstreamError` · `ClavisTimeout`\n\nMIT\n","readmeFilename":"README.md","_rev":"1-57bf0a67a3e777481dd340eb3da6e290"}