npm.io
0.1.44 • Published 4 months ago

outerport

Licence
Apache-2.0
Version
0.1.44
Deps
0
Vulns
0
Weekly
0

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.

Keywords