---
sidebar:
  order: 2
title: "TypeScript SDK"
description: "Gamitin ang SDK ng repository para sa typed read, kumpirmadong pagbabago at lokal na upload."
---

Pribadong package ng repository ang `@influence/app-sdk`; hindi ito inilathala para sa pampublikong npm installation. Kailangan ng mga halimbawang ito ang package sa development workspace. Para sa hiwalay na client, gamitin ang [HTTP API](/tl/developers/http-api).

Tahasang ilagay ang pinagkakatiwalaang origin at kunin ang key mula sa secret environment ng proseso:

```ts
import { InfluenceClient } from "@influence/app-sdk/client";

const accessToken = process.env.PUBLISH_API_TOKEN;
if (!accessToken) throw new Error("PUBLISH_API_TOKEN");

const client = new InfluenceClient({
  baseUrl: "https://influence.so",
  accessToken,
});

const catalog = await client.listTools();
const accounts = await client.callTool("accountList", {});
console.log(catalog.tools, accounts.output);
```

Gamitin ang `listTools()` para sa discovery at `callTool(name, input)` para sa pagbasa. Para sa pagbabago, gamitin ang `prepareTool(name, input)`, saka `confirmTool(name, input, confirmationCapability, { idempotencyKey })`. Panatilihin ang parehong mga value kapag hindi tiyak ang response. Bine-validate ng SDK ang request at response at naghahagis ng `InfluenceSdkError` kapag may HTTP o tool failure.

Tumatanggap ng `Blob` ang `uploadMedia(file, { clientKey, name, contentType, sizeBytes })` at pinangangasiwaan ang kumpirmadong multipart transfer. Gamitin muli ang parehong file at `clientKey` sa retry. Basahin ang `mediaUploadGet` hanggang maging ready ang asset; hindi pa puwedeng i-publish ang pinoprosesong upload. Sundin ang [mga tuntunin sa review at retry](/tl/developers/http-api).
