@ondeinference / onde / commits / a8c15ac

Update Dart and React Native SDKs for 1.0.0 release

- Update default models to Qwen 2.5 Coder (1.5B mobile, 3B desktop) - Revise Dart README and API docs for new model defaults, tool call support, and improved onboarding - Clarify error handling: bridge now throws OndeError directly, OndeException is optional - Add documentation and topics to Dart pubspec.yaml - Bump Dart and React Native example app names to "OIE Dart" and "OIE React" - Update React Native example Podfile for Xcode 26 Metal toolchain compatibility - Bump package versions and Podfile.lock for 1.0.0 - Remove unused Rust dependencies from react-native Cargo.lock - Allow IOS_DEPLOYMENT_TARGET override in react-native build script

Seto Elkahfi committed May 14, 2026 at 15:34 UTC a8c15acd6cee5fa1f2732a1f07d10b4a49f88a2f
13 files changed +528 -794
sdk/dart/README.md
+84 -67
@@ -20,21 +20,21 @@
20
21 ---
22
23 -Run Qwen 2.5 models directly inside your Flutter app. The model downloads from Hugging Face on first launch, then everything runs locally. No server, no API key, and no user data leaving the device. On an iPhone 15 Pro, Metal gets you around 15 tok/s. Android and desktop run on CPU, so they are slower, but they work well for local inference. For [on-device AI inference for Flutter and Dart](https://ondeinference.com/sdk/dart), the SDK page covers install details, platform notes, and package links. If you want to test model downloads or GGUF exports before you wire up UI code, use [Onde CLI](https://github.com/ondeinference/onde-cli).
23 +Run Qwen 2.5 models directly inside your Flutter app. The model downloads from Hugging Face on first launch, then everything runs locally. No server, no API key, and no user data leaves the device. On an iPhone 15 Pro, Metal reaches around 15 tok/s. Android, Linux, and Windows run on CPU, so they are slower but still useful for fully local inference.
24
25 -You get multi-turn chat, streaming, one-shot generation, and configurable sampling in a single package.
25 +You get multi-turn chat, streaming, one-shot generation, configurable sampling, and structured tool call metadata in one package.
26
27 ## Platform support
28
29 | Platform | Backend | Default model | Notes |
30 |----------|---------|---------------|-------|
31 -| iOS 13+ | Metal | Qwen 2.5 1.5B (~941 MB) | Simulator uses `aarch64-apple-ios-sim` |
32 -| macOS 10.15+ | Metal | Qwen 2.5 3B (~1.93 GB) | Apple silicon and Intel |
33 -| Android API 21+ | CPU | Qwen 2.5 1.5B (~941 MB) | arm64-v8a, armeabi-v7a, x86_64, x86 |
34 -| Linux x86_64 | CPU | Qwen 2.5 3B (~1.93 GB) | CUDA possible, see docs |
35 -| Windows x86_64 | CPU | Qwen 2.5 3B (~1.93 GB) | CUDA possible, see docs |
31 +| iOS 13+ | Metal | Qwen 2.5 Coder 1.5B (~941 MB) | Simulator uses `aarch64-apple-ios-sim` |
32 +| macOS 10.15+ | Metal | Qwen 2.5 Coder 3B (~1.93 GB) | Apple silicon and Intel |
33 +| Android API 21+ | CPU | Qwen 2.5 Coder 1.5B (~941 MB) | arm64-v8a, armeabi-v7a, x86_64, x86 |
34 +| Linux x86_64 | CPU | Qwen 2.5 Coder 3B (~1.93 GB) | CUDA possible, see docs |
35 +| Windows x86_64 | CPU | Qwen 2.5 Coder 3B (~1.93 GB) | CUDA possible, see docs |
36
37 -Web is not supported. On-device inference needs native system access that browsers don't expose.
37 +Web is not supported. On-device inference needs native system access that browsers do not expose.
38
39 ---
40
@@ -42,19 +42,20 @@ Web is not supported. On-device inference needs native system access that browse
42
43 ```yaml
44 dependencies:
45 - onde_inference: ^0.1.0
45 + onde_inference: ^1.0.0
46 ```
47
48 -The inference engine is written in Rust and wired into Dart through [flutter_rust_bridge](https://pub.dev/packages/flutter_rust_bridge). You will need a working [Rust toolchain](https://rustup.rs). The first build is usually slow, around 5 to 10 minutes, because it has to compile the full dependency tree. After that, incremental builds are much faster.
48 +The inference engine is written in Rust and connected to Dart through [flutter_rust_bridge](https://pub.dev/packages/flutter_rust_bridge). You need a working [Rust toolchain](https://rustup.rs). The first build is usually slow because it compiles the full native dependency tree.
49
50 ### Initialize
51
52 -Call this once at startup, before anything else:
52 +Call this once at startup before creating any `OndeChatEngine`:
53
54 ```dart
55 +import 'package:flutter/widgets.dart';
56 import 'package:onde_inference/onde_inference.dart';
57
57 -void main() async {
58 +Future<void> main() async {
59 WidgetsFlutterBinding.ensureInitialized();
60 await OndeInference.init();
61 runApp(const MyApp());
@@ -64,23 +65,37 @@ void main() async {
65 ### Load a model
66
67 ```dart
67 -final engine = await OndeChatEngine.create();
68 +final engine = OndeChatEngine();
69
69 -// Picks the default model for the device:
70 -// iOS / Android → Qwen 2.5 1.5B (~941 MB)
71 -// macOS / Linux / Windows → Qwen 2.5 3B (~1.93 GB)
70 final elapsed = await engine.loadDefaultModel(
71 systemPrompt: 'You are a helpful assistant.',
72 );
73 +
74 print('Model loaded in ${elapsed.toStringAsFixed(1)} s');
75 ```
76
77 +For production, you can load the model assigned to your Onde app from the dashboard:
78 +
79 +```dart
80 +final assignedElapsed = await engine.loadAssignedModel(
81 + appId: 'your-app-id',
82 + appSecret: 'your-app-secret',
83 + systemPrompt: 'You are a helpful assistant.',
84 +);
85 +
86 +print('Assigned model loaded in ${assignedElapsed.toStringAsFixed(1)} s');
87 +```
88 +
89 ### Chat
90
91 ```dart
81 -final result = await engine.sendMessage('What is Rust's ownership model?');
92 +final result = await engine.sendMessage(
93 + message: 'What is Rust ownership?',
94 +);
95 +
96 print(result.text);
83 -print('Generated in ${result.durationDisplay}');
97 +print(result.durationDisplay);
98 +print(result.toolCalls);
99 ```
100
101 ### Stream
@@ -88,53 +103,45 @@ print('Generated in ${result.durationDisplay}');
103 ```dart
104 final buffer = StringBuffer();
105
91 -await for (final chunk in engine.streamMessage('Tell me a short story.')) {
106 +await for (final chunk in engine.streamMessage(message: 'Tell me a short story.')) {
107 buffer.write(chunk.delta);
93 - setState(() => _displayText = buffer.toString());
108 if (chunk.done) break;
109 }
110 +
111 +print(buffer.toString());
112 ```
113
98 -### Engine status
114 +### Status and history
115
116 ```dart
117 final info = await engine.info();
118 +print(info.status);
119 +print(info.modelName);
120 +print(info.approxMemory);
121 +print(info.historyLength);
122
103 -print(info.status); // EngineStatus.ready
104 -print(info.modelName); // "Qwen 2.5 3B"
105 -print(info.approxMemory); // "~1.93 GB"
106 -print(info.historyLength); // number of turns so far
107 -```
108 -
109 -### History
110 -
111 -```dart
123 final history = await engine.history();
124 for (final msg in history) {
125 print('${msg.role}: ${msg.content}');
126 }
127
117 -// Clear history but keep the model loaded.
118 -final removed = await engine.clearHistory();
128 +final removed = await engine.clearHistoryCount();
129 print('Cleared $removed messages.');
120 -
121 -// Seed from a saved session — no inference runs.
122 -await engine.pushHistory(ChatMessage.user('Hello from last session!'));
123 -await engine.pushHistory(ChatMessage.assistant('Hi! How can I help today?'));
130 ```
131
132 ### One-shot generation
133
128 -This runs inference without changing conversation history. It is useful for things like prompt enhancement, classification, or formatting.
134 +This runs inference without modifying conversation history.
135
136 ```dart
137 final result = await engine.generate(
132 - [
133 - ChatMessage.system('You are a JSON formatter. Output only valid JSON.'),
134 - ChatMessage.user('Name: Alice, Age: 30, City: Stockholm'),
138 + messages: [
139 + ChatMessage(role: ChatRole.system, content: 'Output valid JSON only.'),
140 + ChatMessage(role: ChatRole.user, content: 'Name: Alice, Age: 30'),
141 ],
136 - sampling: SamplingConfig.deterministic(),
142 + sampling: OndeInference.deterministicSamplingConfig(),
143 );
144 +
145 print(result.text);
146 ```
147
@@ -149,16 +156,13 @@ await engine.unloadModel();
156 ## Model selection
157
158 ```dart
152 -// Platform-aware default (recommended).
159 final config = OndeInference.defaultModelConfig();
154 -
155 -// Force a specific model.
156 -final small = OndeInference.qwen251_5bConfig(); // ~941 MB
157 -final medium = OndeInference.qwen253bConfig(); // ~1.93 GB
158 -final coder = OndeInference.qwen25Coder3bConfig(); // ~1.93 GB, code-tuned
160 +final small = OndeInference.qwen2515bConfig();
161 +final medium = OndeInference.qwen253bConfig();
162 +final coder = OndeInference.qwen25Coder3bConfig();
163
164 await engine.loadGgufModel(
161 - medium,
165 + config: coder,
166 systemPrompt: 'You are an expert software engineer.',
167 );
168 ```
@@ -174,72 +178,85 @@ await engine.loadGgufModel(
178
179 ## Sampling
180
177 -All fields are optional. `null` means "use the engine default".
181 +All sampling fields are optional. `null` means "use the engine default".
182
183 ```dart
184 final sampling = SamplingConfig(
185 temperature: 0.7,
186 topP: 0.95,
183 - topK: 40,
184 - maxTokens: 256,
187 + topK: BigInt.from(40),
188 + maxTokens: BigInt.from(256),
189 );
190
187 -await engine.setSampling(sampling);
191 +await engine.setSampling(sampling: sampling);
192 ```
193
194 Presets:
195
196 ```dart
193 -SamplingConfig.defaultConfig() // temp=0.7, max 512 tokens
194 -SamplingConfig.deterministic() // greedy, temp=0.0
195 -SamplingConfig.mobile() // temp=0.7, max 128 tokens
197 +OndeInference.defaultSamplingConfig();
198 +OndeInference.deterministicSamplingConfig();
199 +OndeInference.mobileSamplingConfig();
200 ```
201
202 ---
203
204 ## Error handling
205
202 -All engine methods throw `OndeException` on failure:
206 +The generated bridge throws `OndeError` values directly:
207
208 ```dart
209 try {
210 await engine.loadDefaultModel();
207 -} on OndeException catch (e) {
208 - debugPrint('Inference error: ${e.message}');
211 +} on OndeError catch (e) {
212 + debugPrint('Inference error: $e');
213 }
214 ```
215
212 -Common causes include calling `sendMessage` before loading a model, having no internet connection on first run while the model still needs to download, or running out of memory. The 3B model needs about 2 GB free, so on tighter devices you will usually want the 1.5B model instead.
216 +Common causes include calling `sendMessage` before loading a model, having no internet on first run while the model still needs to download, or running out of memory.
217
218 ---
219
216 -## Sandboxed app setup (iOS / macOS)
220 +## Sandboxed app setup (iOS / macOS / Android)
221
218 -On iOS and sandboxed macOS, the default Hugging Face cache path sits outside the app container. Call `setupCacheDir()` once at startup so Onde uses a location your app can actually access:
222 +On iOS, macOS, and Android, configure the Hugging Face cache directory before loading a model. On Apple platforms, Onde first tries the shared App Group container (`group.com.ondeinference.apps`) and falls back to your provided directory.
223
224 ```dart
225 +import 'dart:io' show Platform;
226 +
227 +import 'package:flutter/widgets.dart';
228 import 'package:onde_inference/onde_inference.dart';
229 import 'package:path_provider/path_provider.dart';
230
224 -void main() async {
231 +Future<void> main() async {
232 WidgetsFlutterBinding.ensureInitialized();
233 await OndeInference.init();
234
228 - String? fallback;
235 + String? fallbackDir;
236 if (Platform.isIOS || Platform.isAndroid) {
237 final dir = await getApplicationSupportDirectory();
231 - fallback = dir.path;
238 + fallbackDir = dir.path;
239 }
233 - await OndeInference.setupCacheDir(fallbackDir: fallback);
240
241 + await OndeInference.setupCacheDir(fallbackDir: fallbackDir);
242 runApp(const MyApp());
243 }
244 ```
245
239 -Onde first tries the App Group shared container (`group.com.ondeinference.apps`) so Onde-powered apps can share downloaded models. If that App Group is not configured, it falls back to the app's private directory.
240 -
246 ---
247
248 +## Example app
249 +
250 +A full Flutter example lives in `example/`. It demonstrates:
251 +
252 +- `OndeChatEngine()` lifecycle
253 +- assigned-model loading with dashboard credentials
254 +- streaming chat UI
255 +- sampling preset switching
256 +- cache directory setup for sandboxed platforms
257 +
258 +Run it locally from `sdk/dart/example/`.
259 +
260 ## Contributing
261
262 The source lives at [github.com/ondeinference/onde](https://github.com/ondeinference/onde):
sdk/dart/example/ios/Runner/Info.plist
+1 -1
@@ -8,7 +8,7 @@
8 <key>CFBundleDevelopmentRegion</key>
9 <string>$(DEVELOPMENT_LANGUAGE)</string>
10 <key>CFBundleDisplayName</key>
11 - <string>Onde Inference Example</string>
11 + <string>OIE Dart</string>
12 <key>CFBundleExecutable</key>
13 <string>$(EXECUTABLE_NAME)</string>
14 <key>CFBundleIdentifier</key>
sdk/dart/lib/onde_inference.dart
+23 -35
@@ -4,38 +4,36 @@
4
5 /// On-device LLM inference SDK for Flutter & Dart.
6 ///
7 -/// Runs Qwen 2.5 models locally with Metal (Apple silicon) and CPU
8 -/// acceleration, with no cloud hop and no data leaving the device.
9 -/// Powered by the Onde Rust engine and [mistral.rs](https://github.com/EricLBuehler/mistral.rs).
7 +/// Runs Qwen models locally with Metal on Apple platforms and CPU inference on
8 +/// Android, Linux, and Windows. No cloud hop and no user data leaving the
9 +/// device. Powered by the Onde Rust engine and
10 +/// [mistral.rs](https://github.com/EricLBuehler/mistral.rs).
11 ///
12 /// ## Quick start
13 ///
14 /// ```dart
15 +/// import 'package:flutter/widgets.dart';
16 /// import 'package:onde_inference/onde_inference.dart';
17 ///
18 /// Future<void> main() async {
17 -/// // 1. Initialise the Rust library once at startup.
19 +/// WidgetsFlutterBinding.ensureInitialized();
20 /// await OndeInference.init();
21 ///
20 -/// // 2. Create an engine and load the platform-appropriate default model.
21 -/// final engine = await OndeChatEngine.create();
22 +/// final engine = OndeChatEngine();
23 /// await engine.loadDefaultModel(
24 /// systemPrompt: 'You are a helpful assistant.',
25 /// );
26 ///
26 -/// // 3. Single-turn completion.
27 -/// final result = await engine.sendMessage('Hello!');
27 +/// final result = await engine.sendMessage(message: 'Hello!');
28 /// print(result.text);
29 ///
30 -/// // 4. Streaming completion.
30 /// final buffer = StringBuffer();
32 -/// await for (final chunk in engine.streamMessage('Tell me a short story.')) {
31 +/// await for (final chunk in engine.streamMessage(message: 'Tell me a short story.')) {
32 /// buffer.write(chunk.delta);
33 /// if (chunk.done) break;
34 /// }
35 /// print(buffer.toString());
36 ///
38 -/// // 5. Release device memory when done.
37 /// await engine.unloadModel();
38 /// }
39 /// ```
@@ -43,51 +41,41 @@
41 /// ## Selecting a model
42 ///
43 /// ```dart
46 -/// // Platform-aware default (1.5B on mobile, 3B on desktop).
44 /// final config = OndeInference.defaultModelConfig();
48 -///
49 -/// // Or pick a specific model.
45 /// final coderConfig = OndeInference.qwen25Coder3bConfig();
46 ///
52 -/// await engine.loadGgufModel(coderConfig);
47 +/// await engine.loadGgufModel(config: coderConfig);
48 /// ```
49 ///
50 /// ## Customising sampling
51 ///
52 /// ```dart
58 -/// // Deterministic output for coding / fact-retrieval tasks.
59 -/// await engine.setSampling(OndeInference.deterministicSamplingConfig());
53 +/// await engine.setSampling(
54 +/// sampling: OndeInference.deterministicSamplingConfig(),
55 +/// );
56 ///
61 -/// // Or pass sampling directly when loading a model.
57 /// await engine.loadDefaultModel(
63 -/// sampling: SamplingConfig(temperature: 0.5, maxTokens: 256),
58 +/// sampling: SamplingConfig(
59 +/// temperature: 0.5,
60 +/// maxTokens: BigInt.from(256),
61 +/// ),
62 /// );
63 /// ```
64 ///
65 /// ## Error handling
66 ///
69 -/// All methods throw [OndeException] on failure:
67 +/// The generated bridge throws [OndeError] values directly:
68 ///
69 /// ```dart
70 /// try {
73 -/// await engine.sendMessage('...');
74 -/// } on OndeException catch (e) {
75 -/// debugPrint('Inference error: ${e.message}');
71 +/// await engine.sendMessage(message: '...');
72 +/// } on OndeError catch (e) {
73 +/// debugPrint('Inference error: $e');
74 /// }
75 /// ```
76 ///
79 -/// ## Code generation (native bridge)
80 -///
81 -/// The package ships with a compilation stub so it can be imported before the
82 -/// Rust binary is built. To generate the real FFI bridge, run from the package
83 -/// root:
84 -///
85 -/// ```sh
86 -/// dart run flutter_rust_bridge_codegen generate
87 -/// ```
88 -///
89 -/// See the [README](https://github.com/ondeinference/onde) for full build
90 -/// instructions.
77 +/// See the package README and the example app for platform-specific setup,
78 +/// cache configuration, and end-to-end Flutter integration.
79 library;
80
81 // Re-export the core data types (ChatMessage, SamplingConfig,
sdk/dart/lib/src/types.dart
+7 -10
@@ -38,20 +38,17 @@ import 'frb_generated.dart/api.dart';
38 // OndeException
39 // ---------------------------------------------------------------------------
40
41 -/// A Dart [Exception] that wraps an [OndeError] from the Rust engine.
41 +/// Optional Dart [Exception] wrapper around an [OndeError].
42 ///
43 -/// All inference methods on [OndeChatEngine] throw this instead of letting
44 -/// raw [OndeError] values propagate, keeping the public API consistent with
45 -/// Dart error-handling conventions.
43 +/// The generated bridge throws [OndeError] values directly. If your app prefers
44 +/// working with `Exception`, you can wrap a caught [OndeError] in
45 +/// [OndeException].
46 ///
47 /// ```dart
48 /// try {
49 -/// await engine.sendMessage('Hello!');
50 -/// } on OndeException catch (e) {
51 -/// debugPrint('Inference error: ${e.message}');
52 -/// if (e.error is OndeError_NoModelLoaded) {
53 -/// await engine.loadDefaultModel();
54 -/// }
49 +/// await engine.sendMessage(message: 'Hello!');
50 +/// } on OndeError catch (e) {
51 +/// throw OndeException(e);
52 /// }
53 /// ```
54 class OndeException implements Exception {
sdk/dart/pubspec.yaml
+14
@@ -5,8 +5,22 @@ description: >-
5 version: 1.0.0
6 repository: https://github.com/ondeinference/onde
7 homepage: https://ondeinference.com
8 +documentation: https://ondeinference.com/sdk/dart
9 issue_tracker: https://github.com/ondeinference/onde/issues
10 license: MIT OR Apache-2.0
11 +topics:
12 + - flutter
13 + - llm
14 + - on-device-ai
15 + - offline-ai
16 + - ai-inference
17 +
18 +platforms:
19 + android:
20 + ios:
21 + linux:
22 + macos:
23 + windows:
24
25 environment:
26 sdk: ">=3.8.0 <4.0.0"
sdk/react-native/example/app.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "expo": {
3 - "name": "Onde Example",
3 + "name": "OIE React",
4 "slug": "onde-example",
5 "version": "0.0.1",
6 "icon": "./assets/icon.png",
sdk/react-native/example/ios/OndeExample.xcodeproj/project.pbxproj
+7 -7
@@ -173,8 +173,8 @@
173 LastUpgradeCheck = 1130;
174 TargetAttributes = {
175 13B07F861A680F5B00A75B9A = {
176 + DevelopmentTeam = 2TQF86ZACD;
177 LastSwiftMigration = 1250;
177 - DevelopmentTeam = "2TQF86ZACD";
178 ProvisioningStyle = Automatic;
179 };
180 };
@@ -340,7 +340,10 @@
340 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
341 CLANG_ENABLE_MODULES = YES;
342 CODE_SIGN_ENTITLEMENTS = OndeExample/OndeExample.entitlements;
343 + CODE_SIGN_IDENTITY = "Apple Development";
344 + CODE_SIGN_STYLE = Automatic;
345 CURRENT_PROJECT_VERSION = 1;
346 + DEVELOPMENT_TEAM = 2TQF86ZACD;
347 ENABLE_BITCODE = NO;
348 GCC_PREPROCESSOR_DEFINITIONS = (
349 "$(inherited)",
@@ -363,9 +366,6 @@
366 SWIFT_VERSION = 5.0;
367 TARGETED_DEVICE_FAMILY = "1,2";
368 VERSIONING_SYSTEM = "apple-generic";
366 - DEVELOPMENT_TEAM = "2TQF86ZACD";
367 - CODE_SIGN_IDENTITY = "Apple Development";
368 - CODE_SIGN_STYLE = Automatic;
369 };
370 name = Debug;
371 };
@@ -376,7 +376,10 @@
376 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
377 CLANG_ENABLE_MODULES = YES;
378 CODE_SIGN_ENTITLEMENTS = OndeExample/OndeExample.entitlements;
379 + CODE_SIGN_IDENTITY = "Apple Development";
380 + CODE_SIGN_STYLE = Automatic;
381 CURRENT_PROJECT_VERSION = 1;
382 + DEVELOPMENT_TEAM = 2TQF86ZACD;
383 INFOPLIST_FILE = OndeExample/Info.plist;
384 IPHONEOS_DEPLOYMENT_TARGET = 16.0;
385 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -393,9 +396,6 @@
396 SWIFT_VERSION = 5.0;
397 TARGETED_DEVICE_FAMILY = "1,2";
398 VERSIONING_SYSTEM = "apple-generic";
396 - DEVELOPMENT_TEAM = "2TQF86ZACD";
397 - CODE_SIGN_IDENTITY = "Apple Development";
398 - CODE_SIGN_STYLE = Automatic;
399 };
400 name = Release;
401 };
sdk/react-native/example/ios/OndeExample/Info.plist
+4 -1
@@ -8,7 +8,7 @@
8 <key>CFBundleDevelopmentRegion</key>
9 <string>$(DEVELOPMENT_LANGUAGE)</string>
10 <key>CFBundleDisplayName</key>
11 - <string>Onde Example</string>
11 + <string>OIE React</string>
12 <key>CFBundleExecutable</key>
13 <string>$(EXECUTABLE_NAME)</string>
14 <key>CFBundleIdentifier</key>
@@ -45,6 +45,9 @@
45 <key>NSAllowsLocalNetworking</key>
46 <true />
47 </dict>
48 + <key>NSLocalNetworkUsageDescription</key>
49 + <string
50 + >Onde Example connects to the local Metro development server on your Mac while you are developing the app.</string>
51 <key>UILaunchStoryboardName</key>
52 <string>SplashScreen</string>
53 <key>UIRequiredDeviceCapabilities</key>
sdk/react-native/example/ios/Podfile
+17
@@ -62,5 +62,22 @@ target 'OndeExample' do
62 end
63 end
64 end
65 +
66 + # Xcode 26 with the optional Metal Toolchain can point TOOLCHAIN_DIR at
67 + # Metal.xctoolchain, which does not ship the Swift compatibility libraries
68 + # CocoaPods expects in LIBRARY_SEARCH_PATHS. That leads to noisy linker
69 + # warnings and, on some projects, missing swiftCompatibility* symbols.
70 + #
71 + # Force CocoaPods-generated xcconfigs to reference the default Xcode
72 + # toolchain instead of TOOLCHAIN_DIR for Swift runtime search paths.
73 + Dir.glob(File.join(installer.sandbox.root.to_s, 'Target Support Files', '**', '*.xcconfig')).each do |path|
74 + contents = File.read(path)
75 + updated = contents.gsub(
76 + '${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}',
77 + '$(DEVELOPER_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/$(PLATFORM_NAME)" "$(DEVELOPER_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-5.0/$(PLATFORM_NAME)'
78 + )
79 +
80 + File.write(path, updated) if updated != contents
81 + end
82 end
83 end
sdk/react-native/example/ios/Podfile.lock
+3 -3
@@ -36,7 +36,7 @@ PODS:
36 - hermes-engine (0.76.7):
37 - hermes-engine/Pre-built (= 0.76.7)
38 - hermes-engine/Pre-built (0.76.7)
39 - - OndeInference (0.1.3):
39 + - OndeInference (1.0.0):
40 - ExpoModulesCore
41 - RCT-Folly (2024.01.01.00):
42 - boost
@@ -1774,7 +1774,7 @@ SPEC CHECKSUMS:
1774 fmt: 10c6e61f4be25dc963c36bd73fc7b1705fe975be
1775 glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
1776 hermes-engine: eb4a80f6bf578536c58a44198ec93a30f6e69218
1777 - OndeInference: a5d861c6a10ea92d21671c71cd668794c4eafeb0
1777 + OndeInference: 68f587037b3465724d5598a5372d28e550e90d51
1778 RCT-Folly: 84578c8756030547307e4572ab1947de1685c599
1779 RCTDeprecation: 7691283dd69fed46f6653d376de6fa83aaad774c
1780 RCTRequired: eac044a04629288f272ee6706e31f81f3a2b4bfe
@@ -1835,6 +1835,6 @@ SPEC CHECKSUMS:
1835 SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
1836 Yoga: 90d80701b27946c4b23461c00a7207f300a6ff71
1837
1838 -PODFILE CHECKSUM: b90a6db97f1a5db19a42330746defdb6a0d22d69
1838 +PODFILE CHECKSUM: 004c54138c6e7ec08a328874e3f79c69528595b4
1839
1840 COCOAPODS: 1.16.2
sdk/react-native/example/package-lock.json
+1 -1
@@ -23,7 +23,7 @@
23 },
24 "..": {
25 "name": "@ondeinference/react-native",
26 - "version": "0.1.3",
26 + "version": "1.0.0",
27 "license": "MIT OR Apache-2.0",
28 "devDependencies": {
29 "expo-modules-core": "^2.0.0",
sdk/react-native/rust/Cargo.lock
+362 -668
@@ -47,24 +47,6 @@ version = "0.4.0"
47 source = "registry+https://github.com/rust-lang/crates.io-index"
48 checksum = "1763692fc1416554cf051efc56a3de5595eca47299d731cc5c2b583adf8b4d2f"
49
50 -[[package]]
51 -name = "aligned"
52 -version = "0.4.3"
53 -source = "registry+https://github.com/rust-lang/crates.io-index"
54 -checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685"
55 -dependencies = [
56 - "as-slice",
57 -]
58 -
59 -[[package]]
60 -name = "aligned-vec"
61 -version = "0.6.4"
62 -source = "registry+https://github.com/rust-lang/crates.io-index"
63 -checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b"
64 -dependencies = [
65 - "equator",
66 -]
67 -
50 [[package]]
51 name = "allocator-api2"
52 version = "0.2.21"
@@ -171,23 +153,6 @@ dependencies = [
153 "num-traits",
154 ]
155
174 -[[package]]
175 -name = "arbitrary"
176 -version = "1.4.2"
177 -source = "registry+https://github.com/rust-lang/crates.io-index"
178 -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
179 -
180 -[[package]]
181 -name = "arg_enum_proc_macro"
182 -version = "0.3.4"
183 -source = "registry+https://github.com/rust-lang/crates.io-index"
184 -checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
185 -dependencies = [
186 - "proc-macro2",
187 - "quote",
188 - "syn 2.0.117",
189 -]
190 -
156 [[package]]
157 name = "arraydeque"
158 version = "0.5.1"
@@ -206,15 +171,6 @@ version = "0.3.2"
171 source = "registry+https://github.com/rust-lang/crates.io-index"
172 checksum = "b0f477b951e452a0b6b4a10b53ccd569042d1d01729b519e02074a9c0958a063"
173
209 -[[package]]
210 -name = "as-slice"
211 -version = "0.2.1"
212 -source = "registry+https://github.com/rust-lang/crates.io-index"
213 -checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516"
214 -dependencies = [
215 - "stable_deref_trait",
216 -]
217 -
174 [[package]]
175 name = "askama"
176 version = "0.14.0"
@@ -304,49 +260,6 @@ version = "1.5.0"
260 source = "registry+https://github.com/rust-lang/crates.io-index"
261 checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
262
307 -[[package]]
308 -name = "av-scenechange"
309 -version = "0.14.1"
310 -source = "registry+https://github.com/rust-lang/crates.io-index"
311 -checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394"
312 -dependencies = [
313 - "aligned",
314 - "anyhow",
315 - "arg_enum_proc_macro",
316 - "arrayvec",
317 - "log",
318 - "num-rational",
319 - "num-traits",
320 - "pastey",
321 - "rayon",
322 - "thiserror 2.0.18",
323 - "v_frame",
324 - "y4m",
325 -]
326 -
327 -[[package]]
328 -name = "av1-grain"
329 -version = "0.2.5"
330 -source = "registry+https://github.com/rust-lang/crates.io-index"
331 -checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8"
332 -dependencies = [
333 - "anyhow",
334 - "arrayvec",
335 - "log",
336 - "nom 8.0.0",
337 - "num-rational",
338 - "v_frame",
339 -]
340 -
341 -[[package]]
342 -name = "avif-serialize"
343 -version = "0.8.8"
344 -source = "registry+https://github.com/rust-lang/crates.io-index"
345 -checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d"
346 -dependencies = [
347 - "arrayvec",
348 -]
349 -
263 [[package]]
264 name = "aws-lc-rs"
265 version = "1.16.2"
@@ -438,15 +351,6 @@ version = "2.11.0"
351 source = "registry+https://github.com/rust-lang/crates.io-index"
352 checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
353
441 -[[package]]
442 -name = "bitstream-io"
443 -version = "4.9.0"
444 -source = "registry+https://github.com/rust-lang/crates.io-index"
445 -checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757"
446 -dependencies = [
447 - "core2",
448 -]
449 -
354 [[package]]
355 name = "block"
356 version = "0.1.6"
@@ -496,12 +400,6 @@ dependencies = [
400 "serde",
401 ]
402
499 -[[package]]
500 -name = "built"
501 -version = "0.8.0"
502 -source = "registry+https://github.com/rust-lang/crates.io-index"
503 -checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64"
504 -
403 [[package]]
404 name = "bumpalo"
405 version = "3.20.2"
@@ -931,15 +829,6 @@ dependencies = [
829 "libc",
830 ]
831
934 -[[package]]
935 -name = "core2"
936 -version = "0.4.0"
937 -source = "registry+https://github.com/rust-lang/crates.io-index"
938 -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
939 -dependencies = [
940 - "memchr",
941 -]
942 -
832 [[package]]
833 name = "cpufeatures"
834 version = "0.2.17"
@@ -1463,26 +1352,6 @@ dependencies = [
1352 "syn 2.0.117",
1353 ]
1354
1466 -[[package]]
1467 -name = "equator"
1468 -version = "0.4.2"
1469 -source = "registry+https://github.com/rust-lang/crates.io-index"
1470 -checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc"
1471 -dependencies = [
1472 - "equator-macro",
1473 -]
1474 -
1475 -[[package]]
1476 -name = "equator-macro"
1477 -version = "0.4.2"
1478 -source = "registry+https://github.com/rust-lang/crates.io-index"
1479 -checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
1480 -dependencies = [
1481 - "proc-macro2",
1482 - "quote",
1483 - "syn 2.0.117",
1484 -]
1485 -
1355 [[package]]
1356 name = "equivalent"
1357 version = "1.0.2"
@@ -1515,7 +1384,6 @@ dependencies = [
1384 "half",
1385 "lebe",
1386 "miniz_oxide",
1518 - "rayon-core",
1387 "smallvec 1.15.1",
1388 "zune-inflate",
1389 ]
@@ -2574,9 +2442,6 @@ dependencies = [
2442 "num-traits",
2443 "png",
2444 "qoi",
2577 - "ravif",
2578 - "rayon",
2579 - "rgb",
2445 "tiff",
2446 "zune-core",
2447 "zune-jpeg",
@@ -2592,12 +2457,6 @@ dependencies = [
2457 "quick-error",
2458 ]
2459
2595 -[[package]]
2596 -name = "imgref"
2597 -version = "1.12.0"
2598 -source = "registry+https://github.com/rust-lang/crates.io-index"
2599 -checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
2600 -
2460 [[package]]
2461 name = "indexmap"
2462 version = "1.9.3"
@@ -2648,17 +2507,6 @@ dependencies = [
2507 "web-time",
2508 ]
2509
2651 -[[package]]
2652 -name = "interpolate_name"
2653 -version = "0.2.4"
2654 -source = "registry+https://github.com/rust-lang/crates.io-index"
2655 -checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
2656 -dependencies = [
2657 - "proc-macro2",
2658 - "quote",
2659 - "syn 2.0.117",
2660 -]
2661 -
2510 [[package]]
2511 name = "interprocess"
2512 version = "2.4.0"
@@ -2799,16 +2647,6 @@ version = "0.2.184"
2647 source = "registry+https://github.com/rust-lang/crates.io-index"
2648 checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
2649
2802 -[[package]]
2803 -name = "libfuzzer-sys"
2804 -version = "0.4.12"
2805 -source = "registry+https://github.com/rust-lang/crates.io-index"
2806 -checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d"
2807 -dependencies = [
2808 - "arbitrary",
2809 - "cc",
2810 -]
2811 -
2650 [[package]]
2651 name = "libloading"
2652 version = "0.8.9"
@@ -2897,15 +2735,6 @@ dependencies = [
2735 "tracing-subscriber",
2736 ]
2737
2900 -[[package]]
2901 -name = "loop9"
2902 -version = "0.1.5"
2903 -source = "registry+https://github.com/rust-lang/crates.io-index"
2904 -checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
2905 -dependencies = [
2906 - "imgref",
2907 -]
2908 -
2738 [[package]]
2739 name = "lrtable"
2740 version = "0.14.1"
@@ -3003,16 +2832,6 @@ dependencies = [
2832 "rawpointer",
2833 ]
2834
3006 -[[package]]
3007 -name = "maybe-rayon"
3008 -version = "0.1.1"
3009 -source = "registry+https://github.com/rust-lang/crates.io-index"
3010 -checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
3011 -dependencies = [
3012 - "cfg-if",
3013 - "rayon",
3014 -]
3015 -
2835 [[package]]
2836 name = "memchr"
2837 version = "2.8.0"
@@ -3116,263 +2935,42 @@ dependencies = [
2935 ]
2936
2937 [[package]]
3119 -name = "mistralrs"
3120 -version = "0.8.1"
3121 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
2938 +name = "monostate"
2939 +version = "0.1.18"
2940 +source = "registry+https://github.com/rust-lang/crates.io-index"
2941 +checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67"
2942 dependencies = [
3123 - "anyhow",
3124 - "candle-core",
3125 - "candle-nn",
3126 - "clap 4.6.0",
3127 - "either",
3128 - "futures",
3129 - "image",
3130 - "indexmap 2.14.0",
3131 - "mistralrs-core",
3132 - "mistralrs-macros",
3133 - "rand 0.9.2",
3134 - "reqwest 0.13.2",
3135 - "schemars 1.2.1",
2943 + "monostate-impl",
2944 "serde",
3137 - "serde_json",
3138 - "thiserror 2.0.18",
3139 - "tokio",
3140 - "tracing",
3141 - "tracing-subscriber",
3142 - "walkdir",
2945 + "serde_core",
2946 ]
2947
2948 [[package]]
3146 -name = "mistralrs-audio"
3147 -version = "0.8.1"
3148 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
2949 +name = "monostate-impl"
2950 +version = "0.1.18"
2951 +source = "registry+https://github.com/rust-lang/crates.io-index"
2952 +checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9"
2953 dependencies = [
3150 - "anyhow",
3151 - "apodize",
3152 - "hound",
3153 - "symphonia",
2954 + "proc-macro2",
2955 + "quote",
2956 + "syn 2.0.117",
2957 ]
2958
2959 [[package]]
3157 -name = "mistralrs-core"
2960 +name = "moxcms"
2961 version = "0.8.1"
3159 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
2962 +source = "registry+https://github.com/rust-lang/crates.io-index"
2963 +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
2964 dependencies = [
3161 - "ahash",
3162 - "akin",
3163 - "anyhow",
3164 - "apodize",
3165 - "as-any",
3166 - "async-trait",
3167 - "base64 0.22.1",
3168 - "bm25",
3169 - "bytemuck",
3170 - "bytemuck_derive",
3171 - "candle-core",
3172 - "candle-metal-kernels",
3173 - "candle-nn",
3174 - "cfgrammar",
3175 - "chrono",
3176 - "clap 4.6.0",
3177 - "csv",
3178 - "derive-new",
3179 - "derive_more",
3180 - "dirs",
3181 - "either",
3182 - "float8",
3183 - "futures",
3184 - "galil-seiferas",
3185 - "half",
3186 - "hashbrown 0.16.1",
3187 - "hf-hub",
3188 - "hound",
3189 - "html2text",
3190 - "http",
3191 - "image",
3192 - "indexmap 2.14.0",
3193 - "indicatif 0.18.4",
3194 - "interprocess",
3195 - "itertools",
3196 - "libc",
3197 - "llguidance",
3198 - "lrtable",
3199 - "minijinja",
3200 - "minijinja-contrib",
3201 - "mistralrs-audio",
3202 - "mistralrs-mcp",
3203 - "mistralrs-paged-attn",
3204 - "mistralrs-quant",
3205 - "mistralrs-vision",
2965 "num-traits",
3207 - "objc",
3208 - "objc2-metal",
3209 - "openai-harmony",
3210 - "ordered-float",
3211 - "parking_lot",
3212 - "radix_trie",
3213 - "rand 0.9.2",
3214 - "rand_distr 0.5.1",
3215 - "rand_isaac",
3216 - "rayon",
3217 - "regex",
3218 - "regex-automata",
3219 - "reqwest 0.13.2",
3220 - "rubato",
3221 - "rust-mcp-schema",
3222 - "rustc-hash 2.1.2",
3223 - "rustfft",
3224 - "safetensors 0.7.0",
3225 - "schemars 1.2.1",
3226 - "scraper",
3227 - "serde",
3228 - "serde-big-array",
3229 - "serde-saphyr",
3230 - "serde_json",
3231 - "serde_plain",
3232 - "statrs",
3233 - "strum 0.27.2",
3234 - "symphonia",
3235 - "sysinfo",
3236 - "thiserror 2.0.18",
3237 - "tokenizers 0.21.4",
3238 - "tokio",
3239 - "tokio-rayon",
3240 - "tokio-tungstenite",
3241 - "toktrie",
3242 - "toktrie_hf_tokenizers",
3243 - "toml",
3244 - "tqdm",
3245 - "tracing",
3246 - "tracing-subscriber",
3247 - "urlencoding",
3248 - "uuid 1.23.0",
3249 - "variantly",
3250 - "vob",
2966 + "pxfm",
2967 ]
2968
2969 [[package]]
3254 -name = "mistralrs-macros"
3255 -version = "0.8.1"
3256 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3257 -dependencies = [
3258 - "darling 0.23.0",
3259 - "proc-macro2",
3260 - "quote",
3261 - "syn 2.0.117",
3262 -]
3263 -
3264 -[[package]]
3265 -name = "mistralrs-mcp"
3266 -version = "0.8.1"
3267 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3268 -dependencies = [
3269 - "anyhow",
3270 - "async-trait",
3271 - "futures-util",
3272 - "http",
3273 - "reqwest 0.13.2",
3274 - "rust-mcp-schema",
3275 - "serde",
3276 - "serde_json",
3277 - "tokio",
3278 - "tokio-tungstenite",
3279 - "tracing",
3280 - "utoipa",
3281 - "uuid 1.23.0",
3282 -]
3283 -
3284 -[[package]]
3285 -name = "mistralrs-paged-attn"
3286 -version = "0.8.1"
3287 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3288 -dependencies = [
3289 - "anyhow",
3290 - "candle-core",
3291 - "candle-metal-kernels",
3292 - "dispatch2",
3293 - "float8",
3294 - "half",
3295 - "objc2-foundation",
3296 - "objc2-metal",
3297 - "thiserror 2.0.18",
3298 -]
3299 -
3300 -[[package]]
3301 -name = "mistralrs-quant"
3302 -version = "0.8.1"
3303 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3304 -dependencies = [
3305 - "byteorder",
3306 - "candle-core",
3307 - "candle-metal-kernels",
3308 - "candle-nn",
3309 - "dispatch2",
3310 - "float8",
3311 - "half",
3312 - "hf-hub",
3313 - "lazy_static",
3314 - "memmap2",
3315 - "objc2-foundation",
3316 - "objc2-metal",
3317 - "paste",
3318 - "rayon",
3319 - "regex",
3320 - "safetensors 0.7.0",
3321 - "serde",
3322 - "serde_json",
3323 - "thiserror 2.0.18",
3324 - "tokio",
3325 - "tracing",
3326 - "yoke 0.8.2",
3327 -]
3328 -
3329 -[[package]]
3330 -name = "mistralrs-vision"
3331 -version = "0.8.1"
3332 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3333 -dependencies = [
3334 - "candle-core",
3335 - "image",
3336 - "rayon",
3337 -]
3338 -
3339 -[[package]]
3340 -name = "monostate"
3341 -version = "0.1.18"
3342 -source = "registry+https://github.com/rust-lang/crates.io-index"
3343 -checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67"
3344 -dependencies = [
3345 - "monostate-impl",
3346 - "serde",
3347 - "serde_core",
3348 -]
3349 -
3350 -[[package]]
3351 -name = "monostate-impl"
3352 -version = "0.1.18"
3353 -source = "registry+https://github.com/rust-lang/crates.io-index"
3354 -checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9"
3355 -dependencies = [
3356 - "proc-macro2",
3357 - "quote",
3358 - "syn 2.0.117",
3359 -]
3360 -
3361 -[[package]]
3362 -name = "moxcms"
3363 -version = "0.8.1"
3364 -source = "registry+https://github.com/rust-lang/crates.io-index"
3365 -checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
3366 -dependencies = [
3367 - "num-traits",
3368 - "pxfm",
3369 -]
3370 -
3371 -[[package]]
3372 -name = "nalgebra"
3373 -version = "0.33.3"
3374 -source = "registry+https://github.com/rust-lang/crates.io-index"
3375 -checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
2970 +name = "nalgebra"
2971 +version = "0.33.3"
2972 +source = "registry+https://github.com/rust-lang/crates.io-index"
2973 +checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
2974 dependencies = [
2975 "approx",
2976 "matrixmultiply",
@@ -3416,21 +3014,6 @@ dependencies = [
3014 "minimal-lexical",
3015 ]
3016
3419 -[[package]]
3420 -name = "nom"
3421 -version = "8.0.0"
3422 -source = "registry+https://github.com/rust-lang/crates.io-index"
3423 -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
3424 -dependencies = [
3425 - "memchr",
3426 -]
3427 -
3428 -[[package]]
3429 -name = "noop_proc_macro"
3430 -version = "0.3.0"
3431 -source = "registry+https://github.com/rust-lang/crates.io-index"
3432 -checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
3433 -
3017 [[package]]
3018 name = "ntapi"
3019 version = "0.4.3"
@@ -3489,17 +3072,6 @@ version = "0.2.1"
3072 source = "registry+https://github.com/rust-lang/crates.io-index"
3073 checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
3074
3492 -[[package]]
3493 -name = "num-derive"
3494 -version = "0.4.2"
3495 -source = "registry+https://github.com/rust-lang/crates.io-index"
3496 -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
3497 -dependencies = [
3498 - "proc-macro2",
3499 - "quote",
3500 - "syn 2.0.117",
3501 -]
3502 -
3075 [[package]]
3076 name = "num-integer"
3077 version = "0.1.46"
@@ -3552,115 +3124,367 @@ dependencies = [
3124 ]
3125
3126 [[package]]
3555 -name = "number_prefix"
3556 -version = "0.4.0"
3557 -source = "registry+https://github.com/rust-lang/crates.io-index"
3558 -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
3559 -
3560 -[[package]]
3561 -name = "objc"
3562 -version = "0.2.7"
3127 +name = "number_prefix"
3128 +version = "0.4.0"
3129 +source = "registry+https://github.com/rust-lang/crates.io-index"
3130 +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
3131 +
3132 +[[package]]
3133 +name = "objc"
3134 +version = "0.2.7"
3135 +source = "registry+https://github.com/rust-lang/crates.io-index"
3136 +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
3137 +dependencies = [
3138 + "malloc_buf",
3139 +]
3140 +
3141 +[[package]]
3142 +name = "objc2"
3143 +version = "0.6.4"
3144 +source = "registry+https://github.com/rust-lang/crates.io-index"
3145 +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3146 +dependencies = [
3147 + "objc2-encode",
3148 +]
3149 +
3150 +[[package]]
3151 +name = "objc2-core-foundation"
3152 +version = "0.3.2"
3153 +source = "registry+https://github.com/rust-lang/crates.io-index"
3154 +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
3155 +dependencies = [
3156 + "bitflags 2.11.0",
3157 + "dispatch2",
3158 + "objc2",
3159 +]
3160 +
3161 +[[package]]
3162 +name = "objc2-encode"
3163 +version = "4.1.0"
3164 +source = "registry+https://github.com/rust-lang/crates.io-index"
3165 +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3166 +
3167 +[[package]]
3168 +name = "objc2-foundation"
3169 +version = "0.3.2"
3170 +source = "registry+https://github.com/rust-lang/crates.io-index"
3171 +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3172 +dependencies = [
3173 + "bitflags 2.11.0",
3174 + "block2",
3175 + "libc",
3176 + "objc2",
3177 + "objc2-core-foundation",
3178 +]
3179 +
3180 +[[package]]
3181 +name = "objc2-io-kit"
3182 +version = "0.3.2"
3183 +source = "registry+https://github.com/rust-lang/crates.io-index"
3184 +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
3185 +dependencies = [
3186 + "libc",
3187 + "objc2-core-foundation",
3188 +]
3189 +
3190 +[[package]]
3191 +name = "objc2-metal"
3192 +version = "0.3.2"
3193 +source = "registry+https://github.com/rust-lang/crates.io-index"
3194 +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
3195 +dependencies = [
3196 + "bitflags 2.11.0",
3197 + "block2",
3198 + "dispatch2",
3199 + "objc2",
3200 + "objc2-core-foundation",
3201 + "objc2-foundation",
3202 +]
3203 +
3204 +[[package]]
3205 +name = "once_cell"
3206 +version = "1.21.4"
3207 +source = "registry+https://github.com/rust-lang/crates.io-index"
3208 +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
3209 +
3210 +[[package]]
3211 +name = "once_cell_polyfill"
3212 +version = "1.70.2"
3213 +source = "registry+https://github.com/rust-lang/crates.io-index"
3214 +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3215 +
3216 +[[package]]
3217 +name = "onde"
3218 +version = "1.0.0"
3219 +dependencies = [
3220 + "anyhow",
3221 + "cc",
3222 + "dotenvy",
3223 + "hf-hub",
3224 + "home",
3225 + "log",
3226 + "onde-mistralrs",
3227 + "onde-mistralrs-core",
3228 + "reqwest 0.12.28",
3229 + "serde",
3230 + "serde_json",
3231 + "smbcloud-gresiq-sdk",
3232 + "thiserror 2.0.18",
3233 + "tokio",
3234 + "tsync",
3235 + "uniffi",
3236 +]
3237 +
3238 +[[package]]
3239 +name = "onde-mistralrs"
3240 +version = "0.8.2"
3241 +source = "registry+https://github.com/rust-lang/crates.io-index"
3242 +checksum = "f4b5589da2ed82d3962ab4d8278cc8a93fea7c758eb1230894ffadb926c3c16c"
3243 +dependencies = [
3244 + "anyhow",
3245 + "candle-core",
3246 + "candle-nn",
3247 + "clap 4.6.0",
3248 + "either",
3249 + "futures",
3250 + "image",
3251 + "indexmap 2.14.0",
3252 + "onde-mistralrs-core",
3253 + "onde-mistralrs-macros",
3254 + "rand 0.9.2",
3255 + "reqwest 0.13.2",
3256 + "schemars 1.2.1",
3257 + "serde",
3258 + "serde_json",
3259 + "thiserror 2.0.18",
3260 + "tokio",
3261 + "tracing",
3262 + "tracing-subscriber",
3263 + "walkdir",
3264 +]
3265 +
3266 +[[package]]
3267 +name = "onde-mistralrs-audio"
3268 +version = "0.8.2"
3269 +source = "registry+https://github.com/rust-lang/crates.io-index"
3270 +checksum = "ed88aa277c613327f393ff5816fed55609a7a93b87ace505d70a6b3438b12dd2"
3271 +dependencies = [
3272 + "anyhow",
3273 + "apodize",
3274 + "hound",
3275 + "symphonia",
3276 +]
3277 +
3278 +[[package]]
3279 +name = "onde-mistralrs-core"
3280 +version = "0.8.2"
3281 +source = "registry+https://github.com/rust-lang/crates.io-index"
3282 +checksum = "7872456b7db2d8aaf39da83269dbf77e2503d6d398010f3b9a17eebec3da8dee"
3283 +dependencies = [
3284 + "ahash",
3285 + "akin",
3286 + "anyhow",
3287 + "apodize",
3288 + "as-any",
3289 + "async-trait",
3290 + "base64 0.22.1",
3291 + "bm25",
3292 + "bytemuck",
3293 + "bytemuck_derive",
3294 + "candle-core",
3295 + "candle-metal-kernels",
3296 + "candle-nn",
3297 + "cfgrammar",
3298 + "chrono",
3299 + "clap 4.6.0",
3300 + "csv",
3301 + "derive-new",
3302 + "derive_more",
3303 + "dirs",
3304 + "either",
3305 + "float8",
3306 + "futures",
3307 + "galil-seiferas",
3308 + "half",
3309 + "hashbrown 0.16.1",
3310 + "hf-hub",
3311 + "hound",
3312 + "html2text",
3313 + "http",
3314 + "image",
3315 + "indexmap 2.14.0",
3316 + "indicatif 0.18.4",
3317 + "interprocess",
3318 + "itertools",
3319 + "libc",
3320 + "llguidance",
3321 + "lrtable",
3322 + "minijinja",
3323 + "minijinja-contrib",
3324 + "num-traits",
3325 + "objc",
3326 + "objc2-metal",
3327 + "onde-mistralrs-audio",
3328 + "onde-mistralrs-mcp",
3329 + "onde-mistralrs-paged-attn",
3330 + "onde-mistralrs-quant",
3331 + "onde-mistralrs-vision",
3332 + "onde-openai-harmony",
3333 + "onde-tqdm",
3334 + "ordered-float",
3335 + "parking_lot",
3336 + "radix_trie",
3337 + "rand 0.9.2",
3338 + "rand_distr 0.5.1",
3339 + "rand_isaac",
3340 + "rayon",
3341 + "regex",
3342 + "regex-automata",
3343 + "reqwest 0.13.2",
3344 + "rubato",
3345 + "rust-mcp-schema",
3346 + "rustc-hash 2.1.2",
3347 + "rustfft",
3348 + "safetensors 0.7.0",
3349 + "schemars 1.2.1",
3350 + "scraper",
3351 + "serde",
3352 + "serde-big-array",
3353 + "serde-saphyr",
3354 + "serde_json",
3355 + "serde_plain",
3356 + "statrs",
3357 + "strum 0.27.2",
3358 + "symphonia",
3359 + "sysinfo",
3360 + "thiserror 2.0.18",
3361 + "tokenizers 0.21.4",
3362 + "tokio",
3363 + "tokio-rayon",
3364 + "tokio-tungstenite",
3365 + "toktrie",
3366 + "toktrie_hf_tokenizers",
3367 + "toml",
3368 + "tracing",
3369 + "tracing-subscriber",
3370 + "urlencoding",
3371 + "uuid 1.23.0",
3372 + "variantly",
3373 + "vob",
3374 +]
3375 +
3376 +[[package]]
3377 +name = "onde-mistralrs-macros"
3378 +version = "0.8.2"
3379 source = "registry+https://github.com/rust-lang/crates.io-index"
3564 -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
3380 +checksum = "ed7a88fcf59377469c00a355065f3ad9723e00c1870c8b3717b0649f86c77bde"
3381 dependencies = [
3566 - "malloc_buf",
3382 + "darling 0.23.0",
3383 + "proc-macro2",
3384 + "quote",
3385 + "syn 2.0.117",
3386 ]
3387
3388 [[package]]
3570 -name = "objc2"
3571 -version = "0.6.4"
3389 +name = "onde-mistralrs-mcp"
3390 +version = "0.8.2"
3391 source = "registry+https://github.com/rust-lang/crates.io-index"
3573 -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3392 +checksum = "f708829672943371b2a14cceaa8c09182d11c9049ec6d3a9c303a74ae65dfc1f"
3393 dependencies = [
3575 - "objc2-encode",
3394 + "anyhow",
3395 + "async-trait",
3396 + "futures-util",
3397 + "http",
3398 + "reqwest 0.13.2",
3399 + "rust-mcp-schema",
3400 + "serde",
3401 + "serde_json",
3402 + "tokio",
3403 + "tokio-tungstenite",
3404 + "tracing",
3405 + "utoipa",
3406 + "uuid 1.23.0",
3407 ]
3408
3409 [[package]]
3579 -name = "objc2-core-foundation"
3580 -version = "0.3.2"
3410 +name = "onde-mistralrs-paged-attn"
3411 +version = "0.8.2"
3412 source = "registry+https://github.com/rust-lang/crates.io-index"
3582 -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
3413 +checksum = "bdd14bcbee553325d640609504117a2a49db166417bd7883329c6d39971b28c2"
3414 dependencies = [
3584 - "bitflags 2.11.0",
3415 + "anyhow",
3416 + "candle-core",
3417 + "candle-metal-kernels",
3418 "dispatch2",
3586 - "objc2",
3587 -]
3588 -
3589 -[[package]]
3590 -name = "objc2-encode"
3591 -version = "4.1.0"
3592 -source = "registry+https://github.com/rust-lang/crates.io-index"
3593 -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3594 -
3595 -[[package]]
3596 -name = "objc2-foundation"
3597 -version = "0.3.2"
3598 -source = "registry+https://github.com/rust-lang/crates.io-index"
3599 -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3600 -dependencies = [
3601 - "bitflags 2.11.0",
3602 - "block2",
3603 - "libc",
3604 - "objc2",
3605 - "objc2-core-foundation",
3606 -]
3607 -
3608 -[[package]]
3609 -name = "objc2-io-kit"
3610 -version = "0.3.2"
3611 -source = "registry+https://github.com/rust-lang/crates.io-index"
3612 -checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
3613 -dependencies = [
3614 - "libc",
3615 - "objc2-core-foundation",
3419 + "float8",
3420 + "half",
3421 + "objc2-foundation",
3422 + "objc2-metal",
3423 + "thiserror 2.0.18",
3424 ]
3425
3426 [[package]]
3619 -name = "objc2-metal"
3620 -version = "0.3.2"
3427 +name = "onde-mistralrs-quant"
3428 +version = "0.8.2"
3429 source = "registry+https://github.com/rust-lang/crates.io-index"
3622 -checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
3430 +checksum = "36928bb1eec1138ca7b36ee1f4d370e4e374f0874f378915ff0ff34f927c4daf"
3431 dependencies = [
3624 - "bitflags 2.11.0",
3625 - "block2",
3432 + "byteorder",
3433 + "candle-core",
3434 + "candle-metal-kernels",
3435 + "candle-nn",
3436 "dispatch2",
3627 - "objc2",
3628 - "objc2-core-foundation",
3437 + "float8",
3438 + "half",
3439 + "hf-hub",
3440 + "lazy_static",
3441 + "memmap2",
3442 "objc2-foundation",
3443 + "objc2-metal",
3444 + "paste",
3445 + "rayon",
3446 + "regex",
3447 + "safetensors 0.7.0",
3448 + "serde",
3449 + "serde_json",
3450 + "thiserror 2.0.18",
3451 + "tokio",
3452 + "tracing",
3453 + "yoke 0.8.2",
3454 ]
3455
3456 [[package]]
3633 -name = "once_cell"
3634 -version = "1.21.4"
3457 +name = "onde-mistralrs-vision"
3458 +version = "0.8.2"
3459 source = "registry+https://github.com/rust-lang/crates.io-index"
3636 -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
3460 +checksum = "2670a611890bfddc7964902f253626cd2b3fd0b7df13f84a779180f35e2a79e9"
3461 +dependencies = [
3462 + "candle-core",
3463 + "image",
3464 + "rayon",
3465 +]
3466
3467 [[package]]
3639 -name = "once_cell_polyfill"
3640 -version = "1.70.2"
3468 +name = "onde-openai-harmony"
3469 +version = "0.0.9"
3470 source = "registry+https://github.com/rust-lang/crates.io-index"
3642 -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3643 -
3644 -[[package]]
3645 -name = "onde"
3646 -version = "0.1.7"
3471 +checksum = "f0f73e12b7378937cb8aaf832bed02b2afa1687581f73c3298c5af0cca9df5e6"
3472 dependencies = [
3473 "anyhow",
3649 - "cc",
3650 - "dotenvy",
3651 - "hf-hub",
3652 - "home",
3653 - "log",
3654 - "mistralrs",
3655 - "mistralrs-core",
3474 + "base64 0.22.1",
3475 + "bstr",
3476 + "clap 4.6.0",
3477 + "fancy-regex 0.13.0",
3478 + "futures",
3479 + "regex",
3480 "reqwest 0.12.28",
3481 + "rustc-hash 1.1.0",
3482 "serde",
3483 "serde_json",
3659 - "smbcloud-gresiq-sdk",
3484 + "serde_with",
3485 + "sha1",
3486 + "sha2",
3487 "thiserror 2.0.18",
3661 - "tokio",
3662 - "tsync",
3663 - "uniffi",
3488 ]
3489
3490 [[package]]
@@ -3675,6 +3499,17 @@ dependencies = [
3499 "tokio",
3500 ]
3501
3502 +[[package]]
3503 +name = "onde-tqdm"
3504 +version = "0.8.2"
3505 +source = "registry+https://github.com/rust-lang/crates.io-index"
3506 +checksum = "2d96f4fcb4af06959bf9c9b81ace0502e2be2d11d7e037c94f3f7851bde720ea"
3507 +dependencies = [
3508 + "anyhow",
3509 + "crossterm",
3510 + "once_cell",
3511 +]
3512 +
3513 [[package]]
3514 name = "onig"
3515 version = "6.5.1"
@@ -3697,30 +3532,6 @@ dependencies = [
3532 "pkg-config",
3533 ]
3534
3700 -[[package]]
3701 -name = "openai-harmony"
3702 -version = "0.0.8"
3703 -source = "registry+https://github.com/rust-lang/crates.io-index"
3704 -checksum = "e77e82af451fc95deeb728a40b84db8ee82d341e136c268de415123a560b9b72"
3705 -dependencies = [
3706 - "anyhow",
3707 - "base64 0.22.1",
3708 - "bstr",
3709 - "clap 4.6.0",
3710 - "fancy-regex 0.13.0",
3711 - "futures",
3712 - "image",
3713 - "regex",
3714 - "reqwest 0.12.28",
3715 - "rustc-hash 1.1.0",
3716 - "serde",
3717 - "serde_json",
3718 - "serde_with",
3719 - "sha1",
3720 - "sha2",
3721 - "thiserror 2.0.18",
3722 -]
3723 -
3535 [[package]]
3536 name = "openssl-probe"
3537 version = "0.2.1"
@@ -3780,12 +3591,6 @@ version = "1.0.15"
3591 source = "registry+https://github.com/rust-lang/crates.io-index"
3592 checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
3593
3783 -[[package]]
3784 -name = "pastey"
3785 -version = "0.1.1"
3786 -source = "registry+https://github.com/rust-lang/crates.io-index"
3787 -checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
3788 -
3594 [[package]]
3595 name = "percent-encoding"
3596 version = "2.3.2"
@@ -3964,25 +3769,6 @@ dependencies = [
3769 "unicode-ident",
3770 ]
3771
3967 -[[package]]
3968 -name = "profiling"
3969 -version = "1.0.17"
3970 -source = "registry+https://github.com/rust-lang/crates.io-index"
3971 -checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
3972 -dependencies = [
3973 - "profiling-procmacros",
3974 -]
3975 -
3976 -[[package]]
3977 -name = "profiling-procmacros"
3978 -version = "1.0.17"
3979 -source = "registry+https://github.com/rust-lang/crates.io-index"
3980 -checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
3981 -dependencies = [
3982 - "quote",
3983 - "syn 2.0.117",
3984 -]
3985 -
3772 [[package]]
3773 name = "pulp"
3774 version = "0.21.5"
@@ -4216,56 +4002,6 @@ dependencies = [
4002 "rand_core 0.9.5",
4003 ]
4004
4219 -[[package]]
4220 -name = "rav1e"
4221 -version = "0.8.1"
4222 -source = "registry+https://github.com/rust-lang/crates.io-index"
4223 -checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b"
4224 -dependencies = [
4225 - "aligned-vec",
4226 - "arbitrary",
4227 - "arg_enum_proc_macro",
4228 - "arrayvec",
4229 - "av-scenechange",
4230 - "av1-grain",
4231 - "bitstream-io",
4232 - "built",
4233 - "cfg-if",
4234 - "interpolate_name",
4235 - "itertools",
4236 - "libc",
4237 - "libfuzzer-sys",
4238 - "log",
4239 - "maybe-rayon",
4240 - "new_debug_unreachable",
4241 - "noop_proc_macro",
4242 - "num-derive",
4243 - "num-traits",
4244 - "paste",
4245 - "profiling",
4246 - "rand 0.9.2",
4247 - "rand_chacha 0.9.0",
4248 - "simd_helpers",
4249 - "thiserror 2.0.18",
4250 - "v_frame",
4251 - "wasm-bindgen",
4252 -]
4253 -
4254 -[[package]]
4255 -name = "ravif"
4256 -version = "0.13.0"
4257 -source = "registry+https://github.com/rust-lang/crates.io-index"
4258 -checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45"
4259 -dependencies = [
4260 - "avif-serialize",
4261 - "imgref",
4262 - "loop9",
4263 - "quick-error",
4264 - "rav1e",
4265 - "rayon",
4266 - "rgb",
4267 -]
4268 -
4005 [[package]]
4006 name = "raw-cpuid"
4007 version = "11.6.0"
@@ -4493,12 +4229,6 @@ dependencies = [
4229 "web-sys",
4230 ]
4231
4496 -[[package]]
4497 -name = "rgb"
4498 -version = "0.8.53"
4499 -source = "registry+https://github.com/rust-lang/crates.io-index"
4500 -checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4"
4501 -
4232 [[package]]
4233 name = "ring"
4234 version = "0.17.14"
@@ -5135,15 +4865,6 @@ version = "0.3.9"
4865 source = "registry+https://github.com/rust-lang/crates.io-index"
4866 checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
4867
5138 -[[package]]
5139 -name = "simd_helpers"
5140 -version = "0.1.0"
5141 -source = "registry+https://github.com/rust-lang/crates.io-index"
5142 -checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6"
5143 -dependencies = [
5144 - "quote",
5145 -]
5146 -
4868 [[package]]
4869 name = "siphasher"
4870 version = "1.0.2"
@@ -5272,7 +4993,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
4993 checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
4994 dependencies = [
4995 "base64 0.13.1",
5275 - "nom 7.1.3",
4996 + "nom",
4997 "serde",
4998 "unicode-segmentation",
4999 ]
@@ -6097,16 +5818,6 @@ version = "0.3.3"
5818 source = "registry+https://github.com/rust-lang/crates.io-index"
5819 checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
5820
6100 -[[package]]
6101 -name = "tqdm"
6102 -version = "0.8.0"
6103 -source = "git+https://github.com/setoelkahfi/tqdm?branch=deps%2Fbump-crossterm#41e4182829136e6dadbdd1c36af824d19219147a"
6104 -dependencies = [
6105 - "anyhow",
6106 - "crossterm",
6107 - "once_cell",
6108 -]
6109 -
5821 [[package]]
5822 name = "tracing"
5823 version = "0.1.44"
@@ -6570,17 +6281,6 @@ dependencies = [
6281 "wasm-bindgen",
6282 ]
6283
6573 -[[package]]
6574 -name = "v_frame"
6575 -version = "0.3.9"
6576 -source = "registry+https://github.com/rust-lang/crates.io-index"
6577 -checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2"
6578 -dependencies = [
6579 - "aligned-vec",
6580 - "num-traits",
6581 - "wasm-bindgen",
6582 -]
6583 -
6284 [[package]]
6285 name = "valuable"
6286 version = "0.1.1"
@@ -6845,7 +6545,7 @@ version = "5.0.0"
6545 source = "registry+https://github.com/rust-lang/crates.io-index"
6546 checksum = "998d2c24ec099a87daf9467808859f9d82b61f1d9c9701251aea037f514eae0e"
6547 dependencies = [
6848 - "nom 7.1.3",
6548 + "nom",
6549 ]
6550
6551 [[package]]
@@ -7466,12 +7166,6 @@ version = "0.6.3"
7166 source = "registry+https://github.com/rust-lang/crates.io-index"
7167 checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
7168
7469 -[[package]]
7470 -name = "y4m"
7471 -version = "0.8.0"
7472 -source = "registry+https://github.com/rust-lang/crates.io-index"
7473 -checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448"
7474 -
7169 [[package]]
7170 name = "yoke"
7171 version = "0.7.5"
sdk/react-native/scripts/build-rust.sh
+4
@@ -12,17 +12,20 @@ SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
12 RUST_DIR="$SCRIPT_DIR/../rust"
13 IOS_XCFRAMEWORK_OUT="$SCRIPT_DIR/../ios/rust/OndeReactNative.xcframework"
14 ANDROID_OUT="$SCRIPT_DIR/../android/src/main/jniLibs"
15 +IOS_DEPLOYMENT_TARGET="${IOS_DEPLOYMENT_TARGET:-16.0}"
16
17 build_ios() {
18 echo "=== Building Rust for iOS ==="
19
20 # Device (arm64)
21 echo " → aarch64-apple-ios"
22 + IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" \
23 cargo build --manifest-path "$RUST_DIR/Cargo.toml" \
24 --target aarch64-apple-ios --release
25
26 # Simulator (arm64 Apple Silicon)
27 echo " → aarch64-apple-ios-sim"
28 + IPHONEOS_DEPLOYMENT_TARGET="$IOS_DEPLOYMENT_TARGET" \
29 cargo build --manifest-path "$RUST_DIR/Cargo.toml" \
30 --target aarch64-apple-ios-sim --release
31
@@ -37,6 +40,7 @@ build_ios() {
40 -output "$IOS_XCFRAMEWORK_OUT"
41
42 echo " ✓ iOS XCFramework created at ios/rust/OndeReactNative.xcframework"
43 + echo " ✓ Built with IPHONEOS_DEPLOYMENT_TARGET=$IOS_DEPLOYMENT_TARGET"
44 }
45
46 build_android() {