Alephbasys.Mana.Gateway.Client 1.0.5

dotnet add package Alephbasys.Mana.Gateway.Client --version 1.0.5
                    
NuGet\Install-Package Alephbasys.Mana.Gateway.Client -Version 1.0.5
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Alephbasys.Mana.Gateway.Client" Version="1.0.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Alephbasys.Mana.Gateway.Client" Version="1.0.5" />
                    
Directory.Packages.props
<PackageReference Include="Alephbasys.Mana.Gateway.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Alephbasys.Mana.Gateway.Client --version 1.0.5
                    
#r "nuget: Alephbasys.Mana.Gateway.Client, 1.0.5"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Alephbasys.Mana.Gateway.Client@1.0.5
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Alephbasys.Mana.Gateway.Client&version=1.0.5
                    
Install as a Cake Addin
#tool nuget:?package=Alephbasys.Mana.Gateway.Client&version=1.0.5
                    
Install as a Cake Tool

Mana Gateway Clients

A lightweight set of clients for interacting with the Mana Gateway API.

Note: The API is not free. A shared X-Key value of free is bundled for evaluation and allows up to 3 requests per minute. Supply your own key for higher limits.

Features

All clients expose the following operations:

  • GetModels – list available models.
  • CreateChatCompletion – generate chat responses.
  • CreateCompletion – generate text completions.
  • CreateEmbedding – produce vector embeddings.
  • TranscribeFile – automatic speech recognition.
  • EmbedSentences – embed raw sentences.
  • SearchEmbeddings – semantic search over embeddings.
  • GetEmbeddingDimension – return embedding dimension size.
  • ListTtsSpeakers – list text-to-speech voices.
  • TextToSpeech – synthesize speech from text.
  • GetHealth – health check endpoint.
  • GetMetrics – Prometheus metrics endpoint.

API Coverage

Feature .NET Go Java Kotlin JS/TS PHP Ruby Swift Python
List models GetModelsAsync GetModels getModels getModels getModels getModels get_models getModels
Chat completions CreateChatCompletionAsync CreateChatCompletion createChatCompletion createChatCompletion createChatCompletion createChatCompletion create_chat_completion createChatCompletion
Completions CreateCompletionAsync CreateCompletion createCompletion createCompletion createCompletion createCompletion create_completion createCompletion
Embeddings CreateEmbeddingAsync CreateEmbedding createEmbedding createEmbedding createEmbedding createEmbedding create_embedding createEmbedding
Transcribe file TranscribeFileAsync TranscribeFile transcribeFile transcribeFile transcribeFile transcribeFile transcribe_file transcribeFile
Embed sentences EmbedSentencesAsync EmbedSentences embedSentences embedSentences embedSentences embedSentences embed_sentences embedSentences
Search embeddings SearchEmbeddingsAsync SearchEmbeddings searchEmbeddings searchEmbeddings searchEmbeddings searchEmbeddings search_embeddings searchEmbeddings
Embedding dimension GetEmbeddingDimensionAsync GetEmbeddingDimension getEmbeddingDimension getEmbeddingDimension getEmbeddingDimension getEmbeddingDimension get_embedding_dimension getEmbeddingDimension
List TTS speakers ListTtsSpeakersAsync ListTtsSpeakers listTtsSpeakers listTtsSpeakers listTtsSpeakers listTtsSpeakers list_tts_speakers listTtsSpeakers
Text to speech TextToSpeechAsync TextToSpeech textToSpeech textToSpeech textToSpeech textToSpeech text_to_speech textToSpeech
Health check GetHealthAsync GetHealth getHealth getHealth getHealth getHealth get_health getHealth
Metrics GetMetricsAsync GetMetrics getMetrics getMetrics getMetrics getMetrics get_metrics getMetrics
Service status get_status

Each client returns parsed JSON structures idiomatic to its host language.

.NET Installation

The .NET library targets .NET 9.0. Install it from NuGet:

dotnet add package Alephbasys.Mana.Gateway.Client

.NET Usage

using var httpClient = new HttpClient();
var client = new ManaGatewayClient(httpClient); // uses the free key
var models = await client.GetModelsAsync();

// for higher throughput
var paidClient = new ManaGatewayClient(httpClient, "your-api-key");

The client currently supports models, chat completions, completions, embeddings, ASR transcription, embedding utilities, TTS, and health/metrics endpoints.

.NET Dependency Injection

You can also register the client via IServiceCollection and configure it with options:

services.AddManaGatewayClient(options =>
{
    options.ApiKey = "your-api-key";
    // options.BaseUrl = "https://api.alephbasys.ir"; // optional
});

Building from source

Clone the repository and run:

dotnet build

Kotlin Client

A Kotlin client is provided in the kotlin module and targets JVM 17. It mirrors the .NET API surface.

Installation

dependencies {
    implementation("ir.alephbasys:mana-gateway-client:0.1.0")
}
## Java Client

A Java implementation lives under `java/` and mirrors the same Mana Gateway API endpoints.

### Build and Test

```bash
cd java
./gradlew check

Usage

val client = ManaGatewayClient()
val models = runBlocking { client.getModels() }

Run lint, tests and generate Dokka docs:

./gradlew ktlintCheck detekt test dokkaHtml

Dokka output is written to kotlin/docs. Add the dependency from Maven Central:

<dependency>
  <groupId>com.alephbasys</groupId>
  <artifactId>mana-gateway-client</artifactId>
  <version>0.1.0</version>
</dependency>
ManaGatewayClient client = new ManaGatewayClient("https://api.alephbasys.ir", "free");
JsonNode models = client.getModels();

Generated Javadoc is available in java/docs.

JavaScript/TypeScript Client

Install with npm:

npm install @alephbasys/mana-gateway-client
import ManaGatewayClient from '@alephbasys/mana-gateway-client';

const client = new ManaGatewayClient('your-api-key');
const models = await client.getModels();

PHP Client

composer require alephbasys/mana-gateway-client
use Alephbasys\Mana\Gateway\Client\ManaGatewayClient;

$client = new ManaGatewayClient(); // uses the free key
$models = $client->getModels();

Ruby Client

gem 'mana_gateway_client', '~> 0.1.0'
require 'mana_gateway_client'

client = ManaGatewayClient::Client.new(api_key: 'your-key')
models = client.get_models

Swift Client

.package(url: "https://github.com/alephbasys/ManaGatewayClient.git", from: "1.0.0")
import ManaGatewayClient

let client = ManaGatewayClient(apiKey: "YOUR_KEY")
let data = try await client.getModels()

Python Client

pip install mana-client
from mana_client import ManaClient

client = ManaClient("https://gateway.example.com")
status = client.get_status()
print(status)

Releases

Releases are tagged using semantic versioning (e.g., go/v0.1.0).

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5 201 9/1/2025
1.0.4 116 9/1/2025
1.0.3 117 9/1/2025
1.0.2 115 9/1/2025
1.0.1 179 8/28/2025
1.0.0 293 8/25/2025

Initial release.