0.1.16 • Published 6 months ago
outerport v0.1.16
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.