@getlinnks/sdk-core
v0.3.0
Published
Thin typed HTTP client for the Linnk document-translation backend
Readme
@getlinnks/sdk-core
Typed HTTP client over the Linnk document-translation backend (linnk-server). Wraps the upload → submit → poll flow. Used by @getlinnks/mcp-server and @getlinnks/cli.
import { LinnkClient } from "@getlinnks/sdk-core";
const linnk = new LinnkClient(); // reads LINNK_API_KEY / LINNK_API_BASE from env
const job = await linnk.translate("./contract.pdf", { to: "zh" });
const done = await linnk.waitForJob(job.jobId, {
onProgress: (s) => console.error(s.status),
});
console.log(done.downloadUrl);API
new LinnkClient({ apiKey?, apiBase? })client.uploadFile(input, filename?)→{ url }client.submitTranslate({ fileUrl, to, from?, jobType?, additionalRequirement?, glossary? })→{ jobId, shareId, status }client.getStatus(jobId)→ normalizedJobStatus(terminalis true ondone/failed)client.waitForJob(jobId, { timeoutMs?, onProgress? })client.translate(input, { to, from?, method?, jobType?, filename? })— upload + submitresolveJobType(filename, method?)— deterministic job_type mapping (no Gemini)
input is a file path, Uint8Array (with filename), or { bytes, filename }.
