SDKs
Customer-facing packages live under clients/<service>/{js|dotnet}/ with a shared SemVer (clients/VERSION).
Runtime roles (JavaScript)
Every JS package declares:
"vijihub": { "runtime": "browser" | "server" | "dual" }
| Runtime | Meaning |
|---|---|
| browser | Safe in SPAs / WebViews. May use a scoped vh_ key or no key |
| server | Node / Bun / BFF / CLI only. Holds full keys or owner tokens. Soft-warns in browsers |
| dual | Shared utilities (for example @vijihub/client-core) |
Package map
| Domain | npm | NuGet |
|---|---|---|
| core | @vijihub/client-core | — |
| auth | @vijihub/auth | VijiHub.Auth |
| ai | @vijihub/ai | VijiHub.AI |
| analytics | @vijihub/analytics | VijiHub.Analytics |
| billing | @vijihub/billing | VijiHub.Billing |
| crashlytics | @vijihub/crashlytics | VijiHub.Crashlytics |
@vijihub/email | VijiHub.Email | |
| hosting | @vijihub/hosting | — |
| invoicing | @vijihub/invoicing | VijiHub.Invoicing |
| maps | @vijihub/maps, @vijihub/maps-gl | VijiHub.Maps |
| messaging | @vijihub/messaging | VijiHub.Messaging |
| notifications | @vijihub/notifications, @vijihub/notifications-web | VijiHub.Notifications |
| registry | @vijihub/registry | VijiHub.Registry |
| storage | @vijihub/storage, @vijihub/storage-web | VijiHub.Storage |
| stt | @vijihub/stt | VijiHub.STT |
| tts | @vijihub/tts | VijiHub.TTS |
| tunneling | @vijihub/tunneling | — |
There is no separate Projects HTTP SDK; project administration is Console / Gateway JWT. Auth covers OIDC helpers.
Install
Inside this monorepo, apps often use file: / ProjectReference links.
For separate apps, use the private registries (Verdaccio npm + BaGet NuGet). See the repo guide docs/package-registries.md:
| Registry | Default local URL |
|---|---|
| npm (Verdaccio) | http://127.0.0.1:4873 |
| NuGet (BaGet) | http://127.0.0.1:5555 |
npm install @vijihub/ai --registry http://127.0.0.1:4873
dotnet add package VijiHub.AI
Shared helpers
@vijihub/client-core provides joinUrl, VijiHubApiError, and assertServerSide.
Per-service samples
Each service page includes Client sections with minimal TypeScript and .NET examples where packages exist.