Skip to main content

Navin Platform SDKs

This section documents the four SDKs and the command line that call the Control Plane of the Navin Platform and the Navin Manager. Every SDK calls only the documented routes of API v1, returns typed errors with messages in English and French, retries the transient failures with an idempotency key, and validates documents against the same contracts v1.

Version française : README.fr.md

SDKs and CLI​

SDKPackageInstallRuntimeGuideReference
Pythonenterprise-ai (import enterprise_ai)Harbor sdk/python, then pip install of the wheelPython 3.10+Python SDKreference
TypeScript@enterprise-ai/sdkHarbor sdk/typescript, then npm install of the tarballNode.js 18+, browsers, Deno, BunTypeScript SDKreference
Gomodule of sdks/go (package eai)Harbor sdk/go, then a replace directive in go.modGo 1.26+Go SDKreference
Javaio.enterpriseai:enterprise-ai-java (Spring Boot starter enterprise-ai-spring)Harbor sdk/java, then a Maven or Gradle dependencyJava 17+Java SDKreference
CLIenterprise-ai command (in the Python package)Harbor sdk/python, then pipx install of the wheelPython 3.10+CLI guideCLI reference

Where the SDKs are hosted​

The SDK packages are hosted in the Harbor registry of the organization, in the sdk project, as OCI artifacts: sdk/python, sdk/typescript, sdk/go and sdk/java. The tag of an artifact is the SDK version (for example 1.0.2). Nothing is downloaded from a public registry or from a source repository.

The Navinspire registry is registry.navinspire.ai. The platform team gives a robot account that has pull rights on the sdk project. If your organization mirrors the sdk project in its own Harbor, replace the address with that of the mirror.

oras login registry.navinspire.ai
oras pull registry.navinspire.ai/sdk/python:1.0.2 -o sdk-python

Related guides:

GuideContent
Navin Manager SDK and CLIThe manager client of each SDK and enterprise-ai manager: hosts, clusters, services, HA, backups, restores, DR.
Realtime voice@enterprise-ai/realtime and the voice live clients of Python and Go.
Contracts v1The JSON Schema contracts and their validation, online and offline.

The generated references list every public class, method, parameter, model and field of each SDK, in English and in French; python3 tools/docs/gen_sdk_reference.py writes them and --check reports a stale page.

Shared behaviour​

TopicRule in every SDK
Base URLhttps required, http only for localhost, 127.0.0.1 and ::1; redirects never followed
AuthenticationAPI key (X-API-Key) or OIDC token (Authorization: Bearer); the tenant comes from the credential
Errorsenvelope {"error": {"code", "message", "message_i18n", "details", "request_id"}} mapped to typed errors
Retriesbackoff with jitter, Retry-After honored; POST calls carry an Idempotency-Key
Paginationlimit and cursor, answer {items, next_cursor}, with an iterator over every page
TracingW3C traceparent on every call, X-Request-Id exposed on errors
SecretsAPI keys and tokens masked in logs and string forms; secret looking details keys replaced by ***

Choice matrix​

UseRecommendedWhy
Agents, RAG, evaluation, data science, notebooksPythonFull module tree (agent loop, subagents, evaluation, finops), async client
Web apps, portals, Node backends, edgeTypeScriptTyped camelCase client, browser safe OIDC mode
Voice agents in the browser or a Node bridgeTypeScript + @enterprise-ai/realtimeLiveKit and WebRTC with a WebSocket fallback
Enterprise backends, Spring Boot, banking and insurance systemsJavaBuilder client, Spring Boot starter, try-with-resources reservations
Gateways, proxies, media workers, infrastructure agentsGogatewaymw quota middleware, worker, usage, realtime packages
CI/CD, GitOps, operations, quick checksCLIvalidate, test, deploy, finops, audit verify with json and yaml output
Any language without SDKHTTP + contractsOpenAPI at /openapi.json, JSON Schemas in contracts/v1

Adoption by a client of a client​

Whole platform. The end client gets a tenant (POST /v1/tenants by the platform operator), projects and environments, OIDC federation or API keys, then uses the Python or TypeScript SDK for agents and the CLI for GitOps manifests. Quotas, FinOps, audit and quality gates apply automatically to everything going through the gateway.

Single brick. Each brick is reachable alone with an API key restricted to its scopes:

  • FinOps only: emit Usage Events (POST /v1/finops/usage, Go usage package) from any existing AI stack and read /v1/finops/summary.
  • Quotas only: wrap an existing LLM proxy with Go gatewaymw (POST /v1/quotas/reserve, commit, release).
  • STT or vision only: POST /v1/media then POST /v1/multimodal/stt or POST /v1/multimodal/vision.
  • Audit only: read and export the evidence chain (/v1/audit/events, /v1/audit/verify, /v1/audit/export).
  • Evaluation only: register a provider endpoint and call /v1/evaluations/runs and /v1/evaluations/gates/check from CI.