@meistrari/tela-sdk-js
v0.0.3
Published
The Tela SDK for JavaScript provides a simple and powerful way to interact with the Tela API. This SDK allows you to create chat completions, handle file uploads, and manage various resources with ease.
Downloads
1,278
Readme
Tela SDK for JavaScript
The Tela SDK for JavaScript provides a simple and powerful way to interact with the Tela API. This SDK allows you to create chat completions, handle file uploads, and manage various resources with ease.
Table of Contents
Installation
You can install the Tela SDK via npm, yarn, or pnpm:
npm install @meistrari/tela-sdk-js
yarn add @meistrari/tela-sdk-js
pnpm add @meistrari/tela-sdk-js
Usage
First, you need to import the SDK and initialize it with your API key:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({ apiKey: 'your-api-key' })
Examples
Simple Completion
This example demonstrates how to create a simple completion using a PDF document:
import { createTelaClient } from '@meistrari/tela-sdk-js'
import type { TelaFile } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const completion = await tela.completions.create<{ document: TelaFile }, { fileSummary: string }>({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile('https://www.wmaccess.com/downloads/sample-invoice.pdf'),
},
stream: false,
})
console.log(JSON.stringify(completion, null, 2))
}
run().catch(console.error)
Chat Completion
This example shows how to create a chat completion with a simple message:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const completion = await tela.completions.create({
canvasId: process.env.TELA_CANVAS_ID,
messages: [{ role: 'user', content: 'Hello!' }],
})
console.log(JSON.stringify(completion, null, 2))
}
run().catch(console.error)
Webhook Completion
This example demonstrates how to create a completion that sends the result to a webhook URL:
import { createTelaClient } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
async function run() {
const webhook = await tela.completions.create({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile('https://www.wmaccess.com/downloads/sample-invoice.pdf'),
},
webhookUrl: 'https://webhook.site/4294967295',
stream: false,
})
console.log(JSON.stringify(webhook, null, 2))
}
run().catch(console.error)
Streaming Completion
This example shows how to handle streaming responses:
import fs from 'node:fs'
import { createTelaClient } from '@meistrari/tela-sdk-js'
import type { TelaFile } from '@meistrari/tela-sdk-js'
const tela = createTelaClient({
apiKey: process.env.TELA_API_KEY,
})
const PATH = 'examples/stream/sample-invoice.pdf'
const fileStream = fs.createReadStream(PATH)
async function run() {
const completion = await tela.completions.create<{ document: TelaFile }, { summary: string }>({
canvasId: process.env.TELA_CANVAS_ID,
variables: {
document: tela.createFile(fileStream),
},
stream: true,
})
for await (const chunk of completion) {
console.log(JSON.stringify(chunk))
}
}
run().catch(console.error)
API Reference
createTelaClient
createTelaClient(options: TelaSDKOptions)
Creates a new instance of the TelaSDK.
options
(TelaSDKOptions): Configuration options for the SDK.
completions.create<CanvasVariables, CanvasStructuredOutput>(params: CompletionCreateParams<CanvasVariables>, opts?: RequestOptions): Promise<CompletionCreateResponse<CanvasStructuredOutput>>
Creates a chat completion with various input options and response formats.
params
(CompletionCreateParams): The parameters for creating a chat completion.opts
(RequestOptions): Additional request options.
Contributing
We welcome contributions to the Tela SDK! Please see our contributing guide for more information.