@meistrari/tela-sdk-js
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @meistrari/tela-sdk-js

Weekly Downloads

752

Version

0.0.3

License

none

Unpacked Size

88.5 kB

Total Files

24

Last publish

Collaborators

  • 0xthierry
  • rjmunhoz
  • henrykunh