@dvai-bridge/core 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dvai-bridge/core",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -40,7 +40,7 @@
40
40
  "license": "Custom (See LICENSE)",
41
41
  "repository": {
42
42
  "type": "git",
43
- "url": "https://github.com/westenets/dvai-bridge.git"
43
+ "url": "https://github.com/dvai-global/dvai-bridge.git"
44
44
  },
45
45
  "dependencies": {
46
46
  "msw": "^2.12.13",
@@ -51,7 +51,7 @@
51
51
  "@huggingface/transformers": "^4.0.1",
52
52
  "@mlc-ai/web-llm": "^0.2.78",
53
53
  "node-llama-cpp": "^3.0.0",
54
- "@dvai-bridge/capacitor": "4.0.0"
54
+ "@dvai-bridge/capacitor": "4.0.1"
55
55
  },
56
56
  "peerDependenciesMeta": {
57
57
  "@mlc-ai/web-llm": {
package/README.md DELETED
@@ -1,199 +0,0 @@
1
- ![DVAI-Bridge](/assets/banner.png)
2
-
3
- # DVAI-Bridge
4
-
5
- <!-- [![Smoke — real models](https://github.com/Westenets/dvai-bridge/actions/workflows/smoke-real-models.yml/badge.svg?branch=main)](https://github.com/Westenets/dvai-bridge/actions/workflows/smoke-real-models.yml) -->
6
-
7
- [![License](https://img.shields.io/badge/License-Commercial-blue.svg)](LICENSE) ![Node.js](https://img.shields.io/badge/Node.js-22+-green?logo=node.js) ![TypeScript](https://img.shields.io/badge/TypeScript-5.6+-blue?logo=typescript) ![Swift](https://img.shields.io/badge/Swift-5.9+-F05138?logo=swift) ![Kotlin](https://img.shields.io/badge/Kotlin-2.0+-7F52FF?logo=kotlin) ![Flutter](https://img.shields.io/badge/Flutter-3.39+-02569B?logo=flutter) ![.NET](https://img.shields.io/badge/.NET-10.0_LTS-512BD4?logo=dotnet)
8
-
9
- > **The local OpenAI server you embed inside your app.**
10
- > One library. One HTTP wire. Every platform. Zero install for your users.
11
-
12
- **Docs:** [dvai-bridge.deepvoiceai.co](https://dvai-bridge.deepvoiceai.co)
13
-
14
- ```ts
15
- import { DVAI } from "@dvai-bridge/core";
16
- import OpenAI from "openai";
17
-
18
- const dvai = new DVAI({ backend: "transformers" });
19
- await dvai.initialize();
20
-
21
- const openai = new OpenAI({ baseURL: dvai.baseUrl, apiKey: "ignored" });
22
- await openai.chat.completions.create({
23
- model: dvai.transformersModelId,
24
- messages: [{ role: "user", content: "Hello!" }],
25
- });
26
- ```
27
-
28
- That's it. A real OpenAI-compatible server is now running inside your app's
29
- own process. Point any OpenAI client — LangChain, the OpenAI SDK, the Vercel
30
- AI SDK, anything — at `dvai.baseUrl` and your agent code keeps working.
31
-
32
- Built by **[Deep Voice AI](https://deepvoiceai.co)**.
33
-
34
- ---
35
-
36
- ## Why it exists
37
-
38
- Local AI works beautifully on a laptop with **Ollama + LangChain**. Then you
39
- try to ship the app and your users don't have Ollama. Mobile can't run it.
40
- Corporate IT won't add another daemon. So you reinvent the same plumbing —
41
- spawn an inference engine, bind a port, translate to OpenAI HTTP, handle
42
- CORS, manage lifecycle, wrap the accelerator of the day per platform — and
43
- do it all over again for every target OS.
44
-
45
- DVAI-Bridge is that plumbing, packaged as a library, for every client
46
- platform.
47
-
48
- ---
49
-
50
- ## What you get
51
-
52
- - **One OpenAI HTTP surface.** Bound on `127.0.0.1` (or `0.0.0.0` for
53
- device-to-device). Streaming, embeddings, models, recovery — all built in.
54
- - **Six SDKs.** `@dvai-bridge/core` + `react` + `vanilla` + `capacitor`,
55
- `DVAIBridge` (Swift / iOS), `co.deepvoiceai:dvai-bridge` (Kotlin / Android),
56
- `@dvai-bridge/react-native`, `dvai_bridge` (Flutter), `co.deepvoiceai.dvai-bridge` (.NET).
57
- - **Nine backends.** WebLLM, Transformers.js, llama.cpp, Apple Foundation
58
- Models, MLX, CoreML / ANE, MediaPipe LLM, LiteRT, ONNX Runtime GenAI —
59
- selected per-platform, invisible to your agent code.
60
- - **Native acceleration** wherever it runs: WebGPU in browsers, CUDA / Metal
61
- / Vulkan / DirectML on desktop, ANE / Metal / MLX on iOS, NNAPI / QNN
62
- Hexagon / GPU delegate on Android.
63
- - **Multimodal.** Text, image, audio, video — declarative loader for
64
- cutting-edge models (Gemma 4, LLaVA, Idefics) without waiting for library
65
- updates.
66
- - **Distributed inference (v3.0+).** Phone too slow? Offload to your laptop
67
- on the same Wi-Fi via mDNS pairing — same OpenAI wire, transparent to
68
- your code. Internet path via a self-hostable rendezvous server.
69
- - **DVAI Hub (v3.1+).** A first-party desktop utility that turns any device
70
- into a strong-peer for the rest of your fleet. Brand-neutral install via
71
- Homebrew / winget / GitHub Releases, OR fork it for your own branded
72
- companion. Routes through Ollama / LM Studio / vLLM / llama-server /
73
- llamafile if you've already got those running.
74
- - **Zero user install.** It's a library, not a daemon. `npm install`,
75
- `cocoapods`, gradle — your CI already has the muscle for it.
76
-
77
- ---
78
-
79
- ## Supported platforms
80
-
81
- | Stack | Package | Backends |
82
- | --- | --- | --- |
83
- | Browser (React, Vue, Svelte, vanilla JS) | `@dvai-bridge/core` + `react` / `vanilla` | WebLLM (WebGPU), Transformers.js (WebGPU / WASM SIMD) |
84
- | Node / Bun / Electron | `@dvai-bridge/core` | Transformers.js, native llama.cpp |
85
- | Capacitor hybrid mobile | `@dvai-bridge/capacitor` + backend slice | Native llama.cpp (Metal iOS, Vulkan / CPU Android) |
86
- | iOS native (Swift) | `DVAIBridge` (SPM / CocoaPods) | llama.cpp (Metal), CoreML / ANE, Apple Foundation Models, MLX |
87
- | Android native (Kotlin / Java) | `co.deepvoiceai:dvai-bridge` (AAR) | llama.cpp, MediaPipe LLM, LiteRT, NNAPI / QNN |
88
- | React Native (≥0.77, TurboModule) | `@dvai-bridge/react-native` | All iOS + Android backends (delegates) |
89
- | Flutter (≥3.39) | `dvai_bridge` (pub.dev) | All iOS + Android backends (Pigeon channels) |
90
- | .NET 10 LTS (MAUI / Avalonia / WinUI / Catalyst / desktop) | `co.deepvoiceai.dvai-bridge*` (NuGet) | iOS / Android delegate to native; desktop = llama.cpp + ONNX Runtime GenAI + ML.NET |
91
-
92
- Full quickstart per platform: [dvai-bridge.deepvoiceai.co/guide/getting-started](https://dvai-bridge.deepvoiceai.co/guide/getting-started)
93
-
94
- ---
95
-
96
- ## Examples
97
-
98
- ```ts
99
- // React
100
- import { DVAIProvider, useDVAI } from "@dvai-bridge/react";
101
- <DVAIProvider config={{ backend: "transformers" }}>
102
- <Chat />
103
- </DVAIProvider>;
104
- function Chat() {
105
- const { isReady, baseUrl } = useDVAI();
106
- return isReady ? <div>Local AI live at {baseUrl}</div> : <Loading />;
107
- }
108
- ```
109
-
110
- ```swift
111
- // iOS
112
- let server = try await DVAIBridge.shared.start()
113
- // server.baseUrl = "http://127.0.0.1:38883/v1"
114
- ```
115
-
116
- ```kotlin
117
- // Android
118
- val server = DVAIBridge.start(context)
119
- // server.baseUrl = "http://127.0.0.1:38883/v1"
120
- ```
121
-
122
- ```dart
123
- // Flutter
124
- final state = await DVAIBridge.instance.start(
125
- backend: BackendKind.auto,
126
- modelPath: '/path/to/model.gguf',
127
- );
128
- // state.baseUrl = "http://127.0.0.1:38883/v1"
129
- ```
130
-
131
- ```csharp
132
- // .NET
133
- var server = await DVAIBridge.Shared.StartAsync(new StartOptions {
134
- Backend = BackendKind.Auto,
135
- ModelPath = "/path/to/model.gguf",
136
- });
137
- // server.BaseUrl = "http://127.0.0.1:38883/v1"
138
- ```
139
-
140
- Multimodal, streaming, embeddings, distributed offload, the Hub —
141
- everything's at the [docs site](https://dvai-bridge.deepvoiceai.co).
142
-
143
- ---
144
-
145
- ## What's new in v3.1
146
-
147
- - **DVAI Hub** — Tauri desktop utility that's the strong-peer side of v3
148
- distributed inference. `brew install deepvoiceai/dvai-hub/dvai-hub` (or
149
- `winget install DeepVoiceAI.DVAIHub`) → mobile apps on the same Wi-Fi
150
- pair with it and offload heavy inference. [Guide →](https://dvai-bridge.deepvoiceai.co/guide/dvai-hub)
151
- - **External-engine bridge.** Hub surfaces Ollama / LM Studio / vLLM /
152
- llama-server / llamafile as additional backend pools so paired apps
153
- serve from whatever's already cached. Opt-in per engine.
154
- - **Strict substitution policy.** Models with mismatched family / version /
155
- size / type are refused by default; quant-only mismatches gated behind a
156
- per-pairing `preferBetterQuant` flag. No silent mis-routing.
157
- - **HMAC-signed identity** on `/v1/chat/completions`. Per-app audit logs
158
- surface who served what, with structured `(appId, peerDeviceId,
159
- engine, requestedModel, servedModel, outcome)` rows.
160
- - **Library finalization.** `httpBindHost` (LAN bind), `chatCompletionInterceptor`
161
- (extension point), HMAC primitives re-exported, `/v1/dvai/*` routes
162
- actually dispatched, TransformersBackend Node-mode device fix.
163
- [Migration v3.0 → v3.1 →](https://dvai-bridge.deepvoiceai.co/migration/v3.0-to-v3.1)
164
-
165
- ---
166
-
167
- ## Robustness
168
-
169
- Streaming-correct (SSE passthrough + blank-chunk detection), generation
170
- timeout, automatic engine-state recovery on fatal errors, port fallback,
171
- worker offloading, Private Network Access ready, CORS configured. The
172
- boring substrate so your agent code never has to think about it.
173
-
174
- ---
175
-
176
- ## Licensing
177
-
178
- Dual: **free for development & personal use** on `localhost` (verified at
179
- runtime). **Commercial use** requires a license key — `info@deepvoiceai.co`.
180
-
181
- ---
182
-
183
- ## Contributing
184
-
185
- PRs welcome.
186
-
187
- ```bash
188
- pnpm install
189
- pnpm build
190
- bash scripts/build-all.sh # full matrix (auto-skips per-host)
191
- ```
192
-
193
- [`CONTRIBUTING.md`](./CONTRIBUTING.md) for the PR flow. Per-platform
194
- contributor docs (iOS / Android / RN / Flutter / .NET) under
195
- [`docs/development/`](./docs/development/).
196
-
197
- ---
198
-
199
- © Deep Voice AI Limited. All rights reserved.