0.1.16 • Published 6 months ago

outerport v0.1.16

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
6 months ago

Outerport TypeScript SDK

This is the official TypeScript SDK for the Outerport API. It provides a convenient way to interact with the Outerport API from TypeScript or JavaScript applications.

Installation

npm install outerport

Usage

Initializing the Client

import { OuterportClient } from "outerport";

// Initialize the client with your API key
const client = new OuterportClient("your_api_key", "https://api.outerport.com");

Working with Documents

// Upload a document
import * as fs from "fs";
const fileBuffer = fs.readFileSync("path/to/document.pdf");
const doc = await client.documents.create(fileBuffer, "document.pdf");

// List all documents
const allDocs = await client.documents.list();

// Retrieve a document by ID
const doc = await client.documents.retrieve(123);

// Update document metadata
await doc.updateMetadata({
  name: "Updated Document Name",
  summary: "Updated summary",
});

// Add tags to a document
await doc.addTags(["tag1", "tag2"]);

// Get tags for a document
const tags = await doc.getTags();

// Delete a document
await doc.delete();

Asking Questions

// Ask a question about a document
const question = await client.questions.create(
  "What are the key points in this document?",
  [doc], // Pass one or more Document objects or document IDs
);

console.log(question.finalAnswer);

// List all questions
const allQuestions = await client.questions.list();

// Retrieve a question by ID
const question = await client.questions.retrieve(123);

// Delete a question
await question.delete();

Working with Retention Policies

// Create a retention policy
const policy = await client.retentionPolicies.create(
  "Policy Name",
  "Policy Description",
  30, // retention period in days
);

// List all retention policies
const allPolicies = await client.retentionPolicies.list();

// Retrieve a retention policy by ID
const policy = await client.retentionPolicies.retrieve(123);

// Update a retention policy
await policy.update({
  name: "Updated Policy Name",
  description: "Updated description",
  retentionPeriodDays: 60,
});

// Add a document to a retention policy
await policy.addDocument(doc.id);

// Get all documents for a retention policy
const docs = await policy.getDocuments();

// Delete a retention policy
await policy.delete();

Error Handling

The SDK throws errors for API errors and network issues. You can catch these errors using standard try/catch blocks:

try {
  const doc = await client.documents.retrieve(123);
} catch (error) {
  console.error("Error retrieving document:", error);
}

Development

Building the SDK

npm run build

Running Tests

npm test

License

This SDK is licensed under the Apache License 2.0. See the LICENSE file for details.

0.1.16

6 months ago

0.1.15

7 months ago

0.1.14

7 months ago

0.1.13

7 months ago

0.1.12

7 months ago

0.1.11

7 months ago

0.1.10

7 months ago

0.1.9

7 months ago

0.1.8

7 months ago

0.1.7

7 months ago

0.1.6

7 months ago

0.1.5

7 months ago

0.1.4

7 months ago

0.1.3

7 months ago

0.1.2

7 months ago

0.1.1

7 months ago

0.1.0

7 months ago