JSPM

@omniaihq/core

0.1.2
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • 0
    • Score
      100M100P100Q28375F
    • License MIT

    Provider-agnostic AI SDK foundation for OmniAI

    Package Exports

    • @omniaihq/core

    Readme

    @omniaihq/core

    The foundational TypeScript library for the OmniAI platform. This repository provides the core contracts, interfaces, and types for building provider-agnostic AI applications.

    Purpose

    @omniaihq/core acts as the stable backbone for the OmniAI ecosystem. It defines what an AI provider is and how it behaves, without containing any specific provider logic itself. This ensures that application code can be written against these standard interfaces and switched between providers (OpenAI, Anthropic, Gemini, etc.) with zero code changes.

    Installation

    npm install @omniaihq/core

    Design Philosophy

    • Interface-First: We define the contract before the implementation.
    • Provider-Agnostic: No provider-specific types or logic leak into the core.
    • Capability-Driven: Providers declare what they can do (text, image, streaming, etc.), allowing applications to dynamically adapt.
    • Zero-Runtime: This library is lightweight and primarily composed of types and simple utility classes.

    Features

    • Standardized Interfaces: TextProvider, ImageProvider, etc.
    • Capability System: Granular control over provider features.
    • Factory Pattern: ProviderFactory for managing multiple provider instances.
    • Typed Errors: robust error handling with OmniAIError.

    Usage

    1. Connecting a Provider

    Use the OmniAIProvider to create instances of supported providers. You do not need to install separate packages or SDKs.

    import { OmniAIProvider } from '@omniaihq/core';
    
    // Create an OpenAI provider instance
    const openai = OmniAIProvider.openAI(process.env.OPENAI_API_KEY!);
    
    // You can now use this instance as a standard TextProvider

    2. Generating Text

    // Define your standard generation options
    const result = await openai.text.generateText({
      input: 'Hello, world!',
      model: 'gpt-4',
      temperature: 0.7
    });
    
    console.log(result.text);
    // Output: "Why did the unicorn..."
    
    console.log('Metadata:', result.metadata);
    // Output: { latencyMs: 450, usage: { ... } }

    Supported Providers

    Provider Key Features Docs
    OpenAI openai Text, Image Read Docs
    Gemini gemini Text Coming Soon

    Contributing

    We welcome contributions! Please read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

    Check out our Changelog to see what has changed recently.

    License

    Apache License, Version 2.0