@ondeinference / onde / commits / 4564152

Update Dart FRB bindings and clean up generated code

Seto Elkahfi committed May 14, 2026 at 13:28 UTC 45641523591f9ff0900f184341018cb73d7bb5d3
7 files changed +2010 -2272
sdk/dart/lib/src/frb_generated.dart/api.dart
+6 -21
@@ -3,14 +3,14 @@
3
4 // ignore_for_file: type=lint, unused_import, unnecessary_import
5
6 -// ignore_for_file: invalid_use_of_internal_member
6 +// ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import
7
8 import 'frb_generated.dart';
9 import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart';
10 import 'package:freezed_annotation/freezed_annotation.dart' hide protected;
11 part 'api.freezed.dart';
12
13 -// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`
13 +// These function are ignored because they are on traits that is not defined in current crate (put an empty `#[frb]` on it to unignore): `assert_receiver_is_total_eq`, `assert_receiver_is_total_eq`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `clone`, `eq`, `eq`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `fmt`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`, `from`
14
15 /// Return the platform-appropriate default `GgufModelConfig`.
16 ///
@@ -99,11 +99,7 @@ abstract class OndeChatEngine implements RustOpaqueInterface {
99 /// Returns `true` if a model is currently loaded and ready.
100 Future<bool> isLoaded();
101
102 - /// Load the model assigned to this app via the Onde dashboard.
103 - ///
104 - /// The [appId] and [appSecret] identify your app on
105 - /// [ondeinference.com](https://ondeinference.com). If no model is
106 - /// assigned, the platform default is loaded instead.
102 + /// Load the model assigned to this Onde app from the dashboard.
103 ///
104 /// Returns the wall-clock seconds taken to load the model.
105 Future<double> loadAssignedModel({
@@ -239,16 +235,12 @@ class GgufModelConfig {
235 /// Approximate memory footprint, e.g. `"~941 MB (GGUF Q4_K_M)"`.
236 final String approxMemory;
237
242 - /// Optional chat template override (Jinja format).
243 - final String? chatTemplate;
244 -
238 const GgufModelConfig({
239 required this.modelId,
240 required this.files,
241 this.tokModelId,
242 required this.displayName,
243 required this.approxMemory,
251 - this.chatTemplate,
244 });
245
246 @override
@@ -257,8 +249,7 @@ class GgufModelConfig {
249 files.hashCode ^
250 tokModelId.hashCode ^
251 displayName.hashCode ^
260 - approxMemory.hashCode ^
261 - chatTemplate.hashCode;
252 + approxMemory.hashCode;
253
254 @override
255 bool operator ==(Object other) =>
@@ -269,8 +260,7 @@ class GgufModelConfig {
260 files == other.files &&
261 tokModelId == other.tokModelId &&
262 displayName == other.displayName &&
272 - approxMemory == other.approxMemory &&
273 - chatTemplate == other.chatTemplate;
263 + approxMemory == other.approxMemory;
264 }
265
266 /// The result of a completed inference request.
@@ -408,15 +398,10 @@ class StreamChunk {
398 finishReason == other.finishReason;
399 }
400
411 -/// Metadata about a tool call requested by the model.
401 +/// Structured tool-call request emitted by the model.
402 class ToolCallInfo {
413 - /// Unique identifier for this tool call.
403 final String id;
415 -
416 - /// Name of the function to call.
404 final String functionName;
418 -
419 - /// JSON-encoded arguments for the function.
405 final String arguments;
406
407 const ToolCallInfo({
sdk/dart/lib/src/frb_generated.dart/api.freezed.dart
+435 -946
@@ -1,5 +1,5 @@
1 -// coverage:ignore-file
1 // GENERATED CODE - DO NOT MODIFY BY HAND
2 +// coverage:ignore-file
3 // ignore_for_file: type=lint
4 // ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark
5
@@ -9,1029 +9,518 @@ part of 'api.dart';
9 // FreezedGenerator
10 // **************************************************************************
11
12 +// dart format off
13 T _$identity<T>(T value) => value;
13 -
14 -final _privateConstructorUsedError = UnsupportedError(
15 - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');
16 -
14 /// @nodoc
15 mixin _$OndeError {
19 - @optionalTypeArgs
20 - TResult when<TResult extends Object?>({
21 - required TResult Function() noModelLoaded,
22 - required TResult Function(String modelName) alreadyLoaded,
23 - required TResult Function(String reason) modelBuild,
24 - required TResult Function(String reason) inference,
25 - required TResult Function() cancelled,
26 - required TResult Function(String reason) other,
27 - }) =>
28 - throw _privateConstructorUsedError;
29 - @optionalTypeArgs
30 - TResult? whenOrNull<TResult extends Object?>({
31 - TResult? Function()? noModelLoaded,
32 - TResult? Function(String modelName)? alreadyLoaded,
33 - TResult? Function(String reason)? modelBuild,
34 - TResult? Function(String reason)? inference,
35 - TResult? Function()? cancelled,
36 - TResult? Function(String reason)? other,
37 - }) =>
38 - throw _privateConstructorUsedError;
39 - @optionalTypeArgs
40 - TResult maybeWhen<TResult extends Object?>({
41 - TResult Function()? noModelLoaded,
42 - TResult Function(String modelName)? alreadyLoaded,
43 - TResult Function(String reason)? modelBuild,
44 - TResult Function(String reason)? inference,
45 - TResult Function()? cancelled,
46 - TResult Function(String reason)? other,
47 - required TResult orElse(),
48 - }) =>
49 - throw _privateConstructorUsedError;
50 - @optionalTypeArgs
51 - TResult map<TResult extends Object?>({
52 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
53 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
54 - required TResult Function(OndeError_ModelBuild value) modelBuild,
55 - required TResult Function(OndeError_Inference value) inference,
56 - required TResult Function(OndeError_Cancelled value) cancelled,
57 - required TResult Function(OndeError_Other value) other,
58 - }) =>
59 - throw _privateConstructorUsedError;
60 - @optionalTypeArgs
61 - TResult? mapOrNull<TResult extends Object?>({
62 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
63 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
64 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
65 - TResult? Function(OndeError_Inference value)? inference,
66 - TResult? Function(OndeError_Cancelled value)? cancelled,
67 - TResult? Function(OndeError_Other value)? other,
68 - }) =>
69 - throw _privateConstructorUsedError;
70 - @optionalTypeArgs
71 - TResult maybeMap<TResult extends Object?>({
72 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
73 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
74 - TResult Function(OndeError_ModelBuild value)? modelBuild,
75 - TResult Function(OndeError_Inference value)? inference,
76 - TResult Function(OndeError_Cancelled value)? cancelled,
77 - TResult Function(OndeError_Other value)? other,
78 - required TResult orElse(),
79 - }) =>
80 - throw _privateConstructorUsedError;
81 -}
16
83 -/// @nodoc
84 -abstract class $OndeErrorCopyWith<$Res> {
85 - factory $OndeErrorCopyWith(OndeError value, $Res Function(OndeError) then) =
86 - _$OndeErrorCopyWithImpl<$Res, OndeError>;
17 +
18 +
19 +
20 +
21 +@override
22 +bool operator ==(Object other) {
23 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError);
24 }
25
89 -/// @nodoc
90 -class _$OndeErrorCopyWithImpl<$Res, $Val extends OndeError>
91 - implements $OndeErrorCopyWith<$Res> {
92 - _$OndeErrorCopyWithImpl(this._value, this._then);
26
94 - // ignore: unused_field
95 - final $Val _value;
96 - // ignore: unused_field
97 - final $Res Function($Val) _then;
27 +@override
28 +int get hashCode => runtimeType.hashCode;
29
99 - /// Create a copy of OndeError
100 - /// with the given fields replaced by the non-null parameter values.
30 +@override
31 +String toString() {
32 + return 'OndeError()';
33 }
34
103 -/// @nodoc
104 -abstract class _$$OndeError_NoModelLoadedImplCopyWith<$Res> {
105 - factory _$$OndeError_NoModelLoadedImplCopyWith(
106 - _$OndeError_NoModelLoadedImpl value,
107 - $Res Function(_$OndeError_NoModelLoadedImpl) then) =
108 - __$$OndeError_NoModelLoadedImplCopyWithImpl<$Res>;
35 +
36 }
37
38 /// @nodoc
112 -class __$$OndeError_NoModelLoadedImplCopyWithImpl<$Res>
113 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_NoModelLoadedImpl>
114 - implements _$$OndeError_NoModelLoadedImplCopyWith<$Res> {
115 - __$$OndeError_NoModelLoadedImplCopyWithImpl(
116 - _$OndeError_NoModelLoadedImpl _value,
117 - $Res Function(_$OndeError_NoModelLoadedImpl) _then)
118 - : super(_value, _then);
119 -
120 - /// Create a copy of OndeError
121 - /// with the given fields replaced by the non-null parameter values.
39 +class $OndeErrorCopyWith<$Res> {
40 +$OndeErrorCopyWith(OndeError _, $Res Function(OndeError) __);
41 }
42
124 -/// @nodoc
43
126 -class _$OndeError_NoModelLoadedImpl extends OndeError_NoModelLoaded {
127 - const _$OndeError_NoModelLoadedImpl() : super._();
128 -
129 - @override
130 - String toString() {
131 - return 'OndeError.noModelLoaded()';
132 - }
133 -
134 - @override
135 - bool operator ==(Object other) {
136 - return identical(this, other) ||
137 - (other.runtimeType == runtimeType &&
138 - other is _$OndeError_NoModelLoadedImpl);
139 - }
140 -
141 - @override
142 - int get hashCode => runtimeType.hashCode;
143 -
144 - @override
145 - @optionalTypeArgs
146 - TResult when<TResult extends Object?>({
147 - required TResult Function() noModelLoaded,
148 - required TResult Function(String modelName) alreadyLoaded,
149 - required TResult Function(String reason) modelBuild,
150 - required TResult Function(String reason) inference,
151 - required TResult Function() cancelled,
152 - required TResult Function(String reason) other,
153 - }) {
154 - return noModelLoaded();
155 - }
156 -
157 - @override
158 - @optionalTypeArgs
159 - TResult? whenOrNull<TResult extends Object?>({
160 - TResult? Function()? noModelLoaded,
161 - TResult? Function(String modelName)? alreadyLoaded,
162 - TResult? Function(String reason)? modelBuild,
163 - TResult? Function(String reason)? inference,
164 - TResult? Function()? cancelled,
165 - TResult? Function(String reason)? other,
166 - }) {
167 - return noModelLoaded?.call();
168 - }
169 -
170 - @override
171 - @optionalTypeArgs
172 - TResult maybeWhen<TResult extends Object?>({
173 - TResult Function()? noModelLoaded,
174 - TResult Function(String modelName)? alreadyLoaded,
175 - TResult Function(String reason)? modelBuild,
176 - TResult Function(String reason)? inference,
177 - TResult Function()? cancelled,
178 - TResult Function(String reason)? other,
179 - required TResult orElse(),
180 - }) {
181 - if (noModelLoaded != null) {
182 - return noModelLoaded();
183 - }
184 - return orElse();
185 - }
186 -
187 - @override
188 - @optionalTypeArgs
189 - TResult map<TResult extends Object?>({
190 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
191 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
192 - required TResult Function(OndeError_ModelBuild value) modelBuild,
193 - required TResult Function(OndeError_Inference value) inference,
194 - required TResult Function(OndeError_Cancelled value) cancelled,
195 - required TResult Function(OndeError_Other value) other,
196 - }) {
197 - return noModelLoaded(this);
198 - }
199 -
200 - @override
201 - @optionalTypeArgs
202 - TResult? mapOrNull<TResult extends Object?>({
203 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
204 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
205 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
206 - TResult? Function(OndeError_Inference value)? inference,
207 - TResult? Function(OndeError_Cancelled value)? cancelled,
208 - TResult? Function(OndeError_Other value)? other,
209 - }) {
210 - return noModelLoaded?.call(this);
211 - }
212 -
213 - @override
214 - @optionalTypeArgs
215 - TResult maybeMap<TResult extends Object?>({
216 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
217 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
218 - TResult Function(OndeError_ModelBuild value)? modelBuild,
219 - TResult Function(OndeError_Inference value)? inference,
220 - TResult Function(OndeError_Cancelled value)? cancelled,
221 - TResult Function(OndeError_Other value)? other,
222 - required TResult orElse(),
223 - }) {
224 - if (noModelLoaded != null) {
225 - return noModelLoaded(this);
226 - }
227 - return orElse();
228 - }
44 +/// Adds pattern-matching-related methods to [OndeError].
45 +extension OndeErrorPatterns on OndeError {
46 +/// A variant of `map` that fallback to returning `orElse`.
47 +///
48 +/// It is equivalent to doing:
49 +/// ```dart
50 +/// switch (sealedClass) {
51 +/// case final Subclass value:
52 +/// return ...;
53 +/// case _:
54 +/// return orElse();
55 +/// }
56 +/// ```
57 +
58 +@optionalTypeArgs TResult maybeMap<TResult extends Object?>({TResult Function( OndeError_NoModelLoaded value)? noModelLoaded,TResult Function( OndeError_AlreadyLoaded value)? alreadyLoaded,TResult Function( OndeError_ModelBuild value)? modelBuild,TResult Function( OndeError_Inference value)? inference,TResult Function( OndeError_Cancelled value)? cancelled,TResult Function( OndeError_Other value)? other,required TResult orElse(),}){
59 +final _that = this;
60 +switch (_that) {
61 +case OndeError_NoModelLoaded() when noModelLoaded != null:
62 +return noModelLoaded(_that);case OndeError_AlreadyLoaded() when alreadyLoaded != null:
63 +return alreadyLoaded(_that);case OndeError_ModelBuild() when modelBuild != null:
64 +return modelBuild(_that);case OndeError_Inference() when inference != null:
65 +return inference(_that);case OndeError_Cancelled() when cancelled != null:
66 +return cancelled(_that);case OndeError_Other() when other != null:
67 +return other(_that);case _:
68 + return orElse();
69 +
70 +}
71 +}
72 +/// A `switch`-like method, using callbacks.
73 +///
74 +/// Callbacks receives the raw object, upcasted.
75 +/// It is equivalent to doing:
76 +/// ```dart
77 +/// switch (sealedClass) {
78 +/// case final Subclass value:
79 +/// return ...;
80 +/// case final Subclass2 value:
81 +/// return ...;
82 +/// }
83 +/// ```
84 +
85 +@optionalTypeArgs TResult map<TResult extends Object?>({required TResult Function( OndeError_NoModelLoaded value) noModelLoaded,required TResult Function( OndeError_AlreadyLoaded value) alreadyLoaded,required TResult Function( OndeError_ModelBuild value) modelBuild,required TResult Function( OndeError_Inference value) inference,required TResult Function( OndeError_Cancelled value) cancelled,required TResult Function( OndeError_Other value) other,}){
86 +final _that = this;
87 +switch (_that) {
88 +case OndeError_NoModelLoaded():
89 +return noModelLoaded(_that);case OndeError_AlreadyLoaded():
90 +return alreadyLoaded(_that);case OndeError_ModelBuild():
91 +return modelBuild(_that);case OndeError_Inference():
92 +return inference(_that);case OndeError_Cancelled():
93 +return cancelled(_that);case OndeError_Other():
94 +return other(_that);}
95 }
96 +/// A variant of `map` that fallback to returning `null`.
97 +///
98 +/// It is equivalent to doing:
99 +/// ```dart
100 +/// switch (sealedClass) {
101 +/// case final Subclass value:
102 +/// return ...;
103 +/// case _:
104 +/// return null;
105 +/// }
106 +/// ```
107 +
108 +@optionalTypeArgs TResult? mapOrNull<TResult extends Object?>({TResult? Function( OndeError_NoModelLoaded value)? noModelLoaded,TResult? Function( OndeError_AlreadyLoaded value)? alreadyLoaded,TResult? Function( OndeError_ModelBuild value)? modelBuild,TResult? Function( OndeError_Inference value)? inference,TResult? Function( OndeError_Cancelled value)? cancelled,TResult? Function( OndeError_Other value)? other,}){
109 +final _that = this;
110 +switch (_that) {
111 +case OndeError_NoModelLoaded() when noModelLoaded != null:
112 +return noModelLoaded(_that);case OndeError_AlreadyLoaded() when alreadyLoaded != null:
113 +return alreadyLoaded(_that);case OndeError_ModelBuild() when modelBuild != null:
114 +return modelBuild(_that);case OndeError_Inference() when inference != null:
115 +return inference(_that);case OndeError_Cancelled() when cancelled != null:
116 +return cancelled(_that);case OndeError_Other() when other != null:
117 +return other(_that);case _:
118 + return null;
119
231 -abstract class OndeError_NoModelLoaded extends OndeError {
232 - const factory OndeError_NoModelLoaded() = _$OndeError_NoModelLoadedImpl;
233 - const OndeError_NoModelLoaded._() : super._();
120 }
121 +}
122 +/// A variant of `when` that fallback to an `orElse` callback.
123 +///
124 +/// It is equivalent to doing:
125 +/// ```dart
126 +/// switch (sealedClass) {
127 +/// case Subclass(:final field):
128 +/// return ...;
129 +/// case _:
130 +/// return orElse();
131 +/// }
132 +/// ```
133 +
134 +@optionalTypeArgs TResult maybeWhen<TResult extends Object?>({TResult Function()? noModelLoaded,TResult Function( String modelName)? alreadyLoaded,TResult Function( String reason)? modelBuild,TResult Function( String reason)? inference,TResult Function()? cancelled,TResult Function( String reason)? other,required TResult orElse(),}) {final _that = this;
135 +switch (_that) {
136 +case OndeError_NoModelLoaded() when noModelLoaded != null:
137 +return noModelLoaded();case OndeError_AlreadyLoaded() when alreadyLoaded != null:
138 +return alreadyLoaded(_that.modelName);case OndeError_ModelBuild() when modelBuild != null:
139 +return modelBuild(_that.reason);case OndeError_Inference() when inference != null:
140 +return inference(_that.reason);case OndeError_Cancelled() when cancelled != null:
141 +return cancelled();case OndeError_Other() when other != null:
142 +return other(_that.reason);case _:
143 + return orElse();
144
236 -/// @nodoc
237 -abstract class _$$OndeError_AlreadyLoadedImplCopyWith<$Res> {
238 - factory _$$OndeError_AlreadyLoadedImplCopyWith(
239 - _$OndeError_AlreadyLoadedImpl value,
240 - $Res Function(_$OndeError_AlreadyLoadedImpl) then) =
241 - __$$OndeError_AlreadyLoadedImplCopyWithImpl<$Res>;
242 - @useResult
243 - $Res call({String modelName});
145 +}
146 +}
147 +/// A `switch`-like method, using callbacks.
148 +///
149 +/// As opposed to `map`, this offers destructuring.
150 +/// It is equivalent to doing:
151 +/// ```dart
152 +/// switch (sealedClass) {
153 +/// case Subclass(:final field):
154 +/// return ...;
155 +/// case Subclass2(:final field2):
156 +/// return ...;
157 +/// }
158 +/// ```
159 +
160 +@optionalTypeArgs TResult when<TResult extends Object?>({required TResult Function() noModelLoaded,required TResult Function( String modelName) alreadyLoaded,required TResult Function( String reason) modelBuild,required TResult Function( String reason) inference,required TResult Function() cancelled,required TResult Function( String reason) other,}) {final _that = this;
161 +switch (_that) {
162 +case OndeError_NoModelLoaded():
163 +return noModelLoaded();case OndeError_AlreadyLoaded():
164 +return alreadyLoaded(_that.modelName);case OndeError_ModelBuild():
165 +return modelBuild(_that.reason);case OndeError_Inference():
166 +return inference(_that.reason);case OndeError_Cancelled():
167 +return cancelled();case OndeError_Other():
168 +return other(_that.reason);}
169 +}
170 +/// A variant of `when` that fallback to returning `null`
171 +///
172 +/// It is equivalent to doing:
173 +/// ```dart
174 +/// switch (sealedClass) {
175 +/// case Subclass(:final field):
176 +/// return ...;
177 +/// case _:
178 +/// return null;
179 +/// }
180 +/// ```
181 +
182 +@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>({TResult? Function()? noModelLoaded,TResult? Function( String modelName)? alreadyLoaded,TResult? Function( String reason)? modelBuild,TResult? Function( String reason)? inference,TResult? Function()? cancelled,TResult? Function( String reason)? other,}) {final _that = this;
183 +switch (_that) {
184 +case OndeError_NoModelLoaded() when noModelLoaded != null:
185 +return noModelLoaded();case OndeError_AlreadyLoaded() when alreadyLoaded != null:
186 +return alreadyLoaded(_that.modelName);case OndeError_ModelBuild() when modelBuild != null:
187 +return modelBuild(_that.reason);case OndeError_Inference() when inference != null:
188 +return inference(_that.reason);case OndeError_Cancelled() when cancelled != null:
189 +return cancelled();case OndeError_Other() when other != null:
190 +return other(_that.reason);case _:
191 + return null;
192 +
193 +}
194 }
195
246 -/// @nodoc
247 -class __$$OndeError_AlreadyLoadedImplCopyWithImpl<$Res>
248 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_AlreadyLoadedImpl>
249 - implements _$$OndeError_AlreadyLoadedImplCopyWith<$Res> {
250 - __$$OndeError_AlreadyLoadedImplCopyWithImpl(
251 - _$OndeError_AlreadyLoadedImpl _value,
252 - $Res Function(_$OndeError_AlreadyLoadedImpl) _then)
253 - : super(_value, _then);
254 -
255 - /// Create a copy of OndeError
256 - /// with the given fields replaced by the non-null parameter values.
257 - @pragma('vm:prefer-inline')
258 - @override
259 - $Res call({
260 - Object? modelName = null,
261 - }) {
262 - return _then(_$OndeError_AlreadyLoadedImpl(
263 - modelName: null == modelName
264 - ? _value.modelName
265 - : modelName // ignore: cast_nullable_to_non_nullable
266 - as String,
267 - ));
268 - }
196 }
197
198 /// @nodoc
199
273 -class _$OndeError_AlreadyLoadedImpl extends OndeError_AlreadyLoaded {
274 - const _$OndeError_AlreadyLoadedImpl({required this.modelName}) : super._();
275 -
276 - @override
277 - final String modelName;
278 -
279 - @override
280 - String toString() {
281 - return 'OndeError.alreadyLoaded(modelName: $modelName)';
282 - }
283 -
284 - @override
285 - bool operator ==(Object other) {
286 - return identical(this, other) ||
287 - (other.runtimeType == runtimeType &&
288 - other is _$OndeError_AlreadyLoadedImpl &&
289 - (identical(other.modelName, modelName) ||
290 - other.modelName == modelName));
291 - }
292 -
293 - @override
294 - int get hashCode => Object.hash(runtimeType, modelName);
295 -
296 - /// Create a copy of OndeError
297 - /// with the given fields replaced by the non-null parameter values.
298 - @JsonKey(includeFromJson: false, includeToJson: false)
299 - @override
300 - @pragma('vm:prefer-inline')
301 - _$$OndeError_AlreadyLoadedImplCopyWith<_$OndeError_AlreadyLoadedImpl>
302 - get copyWith => __$$OndeError_AlreadyLoadedImplCopyWithImpl<
303 - _$OndeError_AlreadyLoadedImpl>(this, _$identity);
304 -
305 - @override
306 - @optionalTypeArgs
307 - TResult when<TResult extends Object?>({
308 - required TResult Function() noModelLoaded,
309 - required TResult Function(String modelName) alreadyLoaded,
310 - required TResult Function(String reason) modelBuild,
311 - required TResult Function(String reason) inference,
312 - required TResult Function() cancelled,
313 - required TResult Function(String reason) other,
314 - }) {
315 - return alreadyLoaded(modelName);
316 - }
317 -
318 - @override
319 - @optionalTypeArgs
320 - TResult? whenOrNull<TResult extends Object?>({
321 - TResult? Function()? noModelLoaded,
322 - TResult? Function(String modelName)? alreadyLoaded,
323 - TResult? Function(String reason)? modelBuild,
324 - TResult? Function(String reason)? inference,
325 - TResult? Function()? cancelled,
326 - TResult? Function(String reason)? other,
327 - }) {
328 - return alreadyLoaded?.call(modelName);
329 - }
330 -
331 - @override
332 - @optionalTypeArgs
333 - TResult maybeWhen<TResult extends Object?>({
334 - TResult Function()? noModelLoaded,
335 - TResult Function(String modelName)? alreadyLoaded,
336 - TResult Function(String reason)? modelBuild,
337 - TResult Function(String reason)? inference,
338 - TResult Function()? cancelled,
339 - TResult Function(String reason)? other,
340 - required TResult orElse(),
341 - }) {
342 - if (alreadyLoaded != null) {
343 - return alreadyLoaded(modelName);
344 - }
345 - return orElse();
346 - }
347 -
348 - @override
349 - @optionalTypeArgs
350 - TResult map<TResult extends Object?>({
351 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
352 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
353 - required TResult Function(OndeError_ModelBuild value) modelBuild,
354 - required TResult Function(OndeError_Inference value) inference,
355 - required TResult Function(OndeError_Cancelled value) cancelled,
356 - required TResult Function(OndeError_Other value) other,
357 - }) {
358 - return alreadyLoaded(this);
359 - }
360 -
361 - @override
362 - @optionalTypeArgs
363 - TResult? mapOrNull<TResult extends Object?>({
364 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
365 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
366 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
367 - TResult? Function(OndeError_Inference value)? inference,
368 - TResult? Function(OndeError_Cancelled value)? cancelled,
369 - TResult? Function(OndeError_Other value)? other,
370 - }) {
371 - return alreadyLoaded?.call(this);
372 - }
373 -
374 - @override
375 - @optionalTypeArgs
376 - TResult maybeMap<TResult extends Object?>({
377 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
378 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
379 - TResult Function(OndeError_ModelBuild value)? modelBuild,
380 - TResult Function(OndeError_Inference value)? inference,
381 - TResult Function(OndeError_Cancelled value)? cancelled,
382 - TResult Function(OndeError_Other value)? other,
383 - required TResult orElse(),
384 - }) {
385 - if (alreadyLoaded != null) {
386 - return alreadyLoaded(this);
387 - }
388 - return orElse();
389 - }
200 +
201 +class OndeError_NoModelLoaded extends OndeError {
202 + const OndeError_NoModelLoaded(): super._();
203 +
204 +
205 +
206 +
207 +
208 +
209 +
210 +@override
211 +bool operator ==(Object other) {
212 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_NoModelLoaded);
213 }
214
392 -abstract class OndeError_AlreadyLoaded extends OndeError {
393 - const factory OndeError_AlreadyLoaded({required final String modelName}) =
394 - _$OndeError_AlreadyLoadedImpl;
395 - const OndeError_AlreadyLoaded._() : super._();
215
397 - String get modelName;
216 +@override
217 +int get hashCode => runtimeType.hashCode;
218
399 - /// Create a copy of OndeError
400 - /// with the given fields replaced by the non-null parameter values.
401 - @JsonKey(includeFromJson: false, includeToJson: false)
402 - _$$OndeError_AlreadyLoadedImplCopyWith<_$OndeError_AlreadyLoadedImpl>
403 - get copyWith => throw _privateConstructorUsedError;
219 +@override
220 +String toString() {
221 + return 'OndeError.noModelLoaded()';
222 }
223
224 +
225 +}
226 +
227 +
228 +
229 +
230 /// @nodoc
407 -abstract class _$$OndeError_ModelBuildImplCopyWith<$Res> {
408 - factory _$$OndeError_ModelBuildImplCopyWith(_$OndeError_ModelBuildImpl value,
409 - $Res Function(_$OndeError_ModelBuildImpl) then) =
410 - __$$OndeError_ModelBuildImplCopyWithImpl<$Res>;
411 - @useResult
412 - $Res call({String reason});
231 +
232 +
233 +class OndeError_AlreadyLoaded extends OndeError {
234 + const OndeError_AlreadyLoaded({required this.modelName}): super._();
235 +
236 +
237 + final String modelName;
238 +
239 +/// Create a copy of OndeError
240 +/// with the given fields replaced by the non-null parameter values.
241 +@JsonKey(includeFromJson: false, includeToJson: false)
242 +@pragma('vm:prefer-inline')
243 +$OndeError_AlreadyLoadedCopyWith<OndeError_AlreadyLoaded> get copyWith => _$OndeError_AlreadyLoadedCopyWithImpl<OndeError_AlreadyLoaded>(this, _$identity);
244 +
245 +
246 +
247 +@override
248 +bool operator ==(Object other) {
249 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_AlreadyLoaded&&(identical(other.modelName, modelName) || other.modelName == modelName));
250 +}
251 +
252 +
253 +@override
254 +int get hashCode => Object.hash(runtimeType,modelName);
255 +
256 +@override
257 +String toString() {
258 + return 'OndeError.alreadyLoaded(modelName: $modelName)';
259 }
260
261 +
262 +}
263 +
264 +/// @nodoc
265 +abstract mixin class $OndeError_AlreadyLoadedCopyWith<$Res> implements $OndeErrorCopyWith<$Res> {
266 + factory $OndeError_AlreadyLoadedCopyWith(OndeError_AlreadyLoaded value, $Res Function(OndeError_AlreadyLoaded) _then) = _$OndeError_AlreadyLoadedCopyWithImpl;
267 +@useResult
268 +$Res call({
269 + String modelName
270 +});
271 +
272 +
273 +
274 +
275 +}
276 /// @nodoc
416 -class __$$OndeError_ModelBuildImplCopyWithImpl<$Res>
417 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_ModelBuildImpl>
418 - implements _$$OndeError_ModelBuildImplCopyWith<$Res> {
419 - __$$OndeError_ModelBuildImplCopyWithImpl(_$OndeError_ModelBuildImpl _value,
420 - $Res Function(_$OndeError_ModelBuildImpl) _then)
421 - : super(_value, _then);
422 -
423 - /// Create a copy of OndeError
424 - /// with the given fields replaced by the non-null parameter values.
425 - @pragma('vm:prefer-inline')
426 - @override
427 - $Res call({
428 - Object? reason = null,
429 - }) {
430 - return _then(_$OndeError_ModelBuildImpl(
431 - reason: null == reason
432 - ? _value.reason
433 - : reason // ignore: cast_nullable_to_non_nullable
434 - as String,
435 - ));
436 - }
277 +class _$OndeError_AlreadyLoadedCopyWithImpl<$Res>
278 + implements $OndeError_AlreadyLoadedCopyWith<$Res> {
279 + _$OndeError_AlreadyLoadedCopyWithImpl(this._self, this._then);
280 +
281 + final OndeError_AlreadyLoaded _self;
282 + final $Res Function(OndeError_AlreadyLoaded) _then;
283 +
284 +/// Create a copy of OndeError
285 +/// with the given fields replaced by the non-null parameter values.
286 +@pragma('vm:prefer-inline') $Res call({Object? modelName = null,}) {
287 + return _then(OndeError_AlreadyLoaded(
288 +modelName: null == modelName ? _self.modelName : modelName // ignore: cast_nullable_to_non_nullable
289 +as String,
290 + ));
291 +}
292 +
293 +
294 }
295
296 /// @nodoc
297
441 -class _$OndeError_ModelBuildImpl extends OndeError_ModelBuild {
442 - const _$OndeError_ModelBuildImpl({required this.reason}) : super._();
443 -
444 - @override
445 - final String reason;
446 -
447 - @override
448 - String toString() {
449 - return 'OndeError.modelBuild(reason: $reason)';
450 - }
451 -
452 - @override
453 - bool operator ==(Object other) {
454 - return identical(this, other) ||
455 - (other.runtimeType == runtimeType &&
456 - other is _$OndeError_ModelBuildImpl &&
457 - (identical(other.reason, reason) || other.reason == reason));
458 - }
459 -
460 - @override
461 - int get hashCode => Object.hash(runtimeType, reason);
462 -
463 - /// Create a copy of OndeError
464 - /// with the given fields replaced by the non-null parameter values.
465 - @JsonKey(includeFromJson: false, includeToJson: false)
466 - @override
467 - @pragma('vm:prefer-inline')
468 - _$$OndeError_ModelBuildImplCopyWith<_$OndeError_ModelBuildImpl>
469 - get copyWith =>
470 - __$$OndeError_ModelBuildImplCopyWithImpl<_$OndeError_ModelBuildImpl>(
471 - this, _$identity);
472 -
473 - @override
474 - @optionalTypeArgs
475 - TResult when<TResult extends Object?>({
476 - required TResult Function() noModelLoaded,
477 - required TResult Function(String modelName) alreadyLoaded,
478 - required TResult Function(String reason) modelBuild,
479 - required TResult Function(String reason) inference,
480 - required TResult Function() cancelled,
481 - required TResult Function(String reason) other,
482 - }) {
483 - return modelBuild(reason);
484 - }
485 -
486 - @override
487 - @optionalTypeArgs
488 - TResult? whenOrNull<TResult extends Object?>({
489 - TResult? Function()? noModelLoaded,
490 - TResult? Function(String modelName)? alreadyLoaded,
491 - TResult? Function(String reason)? modelBuild,
492 - TResult? Function(String reason)? inference,
493 - TResult? Function()? cancelled,
494 - TResult? Function(String reason)? other,
495 - }) {
496 - return modelBuild?.call(reason);
497 - }
498 -
499 - @override
500 - @optionalTypeArgs
501 - TResult maybeWhen<TResult extends Object?>({
502 - TResult Function()? noModelLoaded,
503 - TResult Function(String modelName)? alreadyLoaded,
504 - TResult Function(String reason)? modelBuild,
505 - TResult Function(String reason)? inference,
506 - TResult Function()? cancelled,
507 - TResult Function(String reason)? other,
508 - required TResult orElse(),
509 - }) {
510 - if (modelBuild != null) {
511 - return modelBuild(reason);
512 - }
513 - return orElse();
514 - }
515 -
516 - @override
517 - @optionalTypeArgs
518 - TResult map<TResult extends Object?>({
519 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
520 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
521 - required TResult Function(OndeError_ModelBuild value) modelBuild,
522 - required TResult Function(OndeError_Inference value) inference,
523 - required TResult Function(OndeError_Cancelled value) cancelled,
524 - required TResult Function(OndeError_Other value) other,
525 - }) {
526 - return modelBuild(this);
527 - }
528 -
529 - @override
530 - @optionalTypeArgs
531 - TResult? mapOrNull<TResult extends Object?>({
532 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
533 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
534 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
535 - TResult? Function(OndeError_Inference value)? inference,
536 - TResult? Function(OndeError_Cancelled value)? cancelled,
537 - TResult? Function(OndeError_Other value)? other,
538 - }) {
539 - return modelBuild?.call(this);
540 - }
541 -
542 - @override
543 - @optionalTypeArgs
544 - TResult maybeMap<TResult extends Object?>({
545 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
546 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
547 - TResult Function(OndeError_ModelBuild value)? modelBuild,
548 - TResult Function(OndeError_Inference value)? inference,
549 - TResult Function(OndeError_Cancelled value)? cancelled,
550 - TResult Function(OndeError_Other value)? other,
551 - required TResult orElse(),
552 - }) {
553 - if (modelBuild != null) {
554 - return modelBuild(this);
555 - }
556 - return orElse();
557 - }
298 +
299 +class OndeError_ModelBuild extends OndeError {
300 + const OndeError_ModelBuild({required this.reason}): super._();
301 +
302 +
303 + final String reason;
304 +
305 +/// Create a copy of OndeError
306 +/// with the given fields replaced by the non-null parameter values.
307 +@JsonKey(includeFromJson: false, includeToJson: false)
308 +@pragma('vm:prefer-inline')
309 +$OndeError_ModelBuildCopyWith<OndeError_ModelBuild> get copyWith => _$OndeError_ModelBuildCopyWithImpl<OndeError_ModelBuild>(this, _$identity);
310 +
311 +
312 +
313 +@override
314 +bool operator ==(Object other) {
315 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_ModelBuild&&(identical(other.reason, reason) || other.reason == reason));
316 }
317
560 -abstract class OndeError_ModelBuild extends OndeError {
561 - const factory OndeError_ModelBuild({required final String reason}) =
562 - _$OndeError_ModelBuildImpl;
563 - const OndeError_ModelBuild._() : super._();
318
565 - String get reason;
319 +@override
320 +int get hashCode => Object.hash(runtimeType,reason);
321
567 - /// Create a copy of OndeError
568 - /// with the given fields replaced by the non-null parameter values.
569 - @JsonKey(includeFromJson: false, includeToJson: false)
570 - _$$OndeError_ModelBuildImplCopyWith<_$OndeError_ModelBuildImpl>
571 - get copyWith => throw _privateConstructorUsedError;
322 +@override
323 +String toString() {
324 + return 'OndeError.modelBuild(reason: $reason)';
325 }
326
574 -/// @nodoc
575 -abstract class _$$OndeError_InferenceImplCopyWith<$Res> {
576 - factory _$$OndeError_InferenceImplCopyWith(_$OndeError_InferenceImpl value,
577 - $Res Function(_$OndeError_InferenceImpl) then) =
578 - __$$OndeError_InferenceImplCopyWithImpl<$Res>;
579 - @useResult
580 - $Res call({String reason});
327 +
328 }
329
330 /// @nodoc
584 -class __$$OndeError_InferenceImplCopyWithImpl<$Res>
585 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_InferenceImpl>
586 - implements _$$OndeError_InferenceImplCopyWith<$Res> {
587 - __$$OndeError_InferenceImplCopyWithImpl(_$OndeError_InferenceImpl _value,
588 - $Res Function(_$OndeError_InferenceImpl) _then)
589 - : super(_value, _then);
590 -
591 - /// Create a copy of OndeError
592 - /// with the given fields replaced by the non-null parameter values.
593 - @pragma('vm:prefer-inline')
594 - @override
595 - $Res call({
596 - Object? reason = null,
597 - }) {
598 - return _then(_$OndeError_InferenceImpl(
599 - reason: null == reason
600 - ? _value.reason
601 - : reason // ignore: cast_nullable_to_non_nullable
602 - as String,
603 - ));
604 - }
331 +abstract mixin class $OndeError_ModelBuildCopyWith<$Res> implements $OndeErrorCopyWith<$Res> {
332 + factory $OndeError_ModelBuildCopyWith(OndeError_ModelBuild value, $Res Function(OndeError_ModelBuild) _then) = _$OndeError_ModelBuildCopyWithImpl;
333 +@useResult
334 +$Res call({
335 + String reason
336 +});
337 +
338 +
339 +
340 +
341 +}
342 +/// @nodoc
343 +class _$OndeError_ModelBuildCopyWithImpl<$Res>
344 + implements $OndeError_ModelBuildCopyWith<$Res> {
345 + _$OndeError_ModelBuildCopyWithImpl(this._self, this._then);
346 +
347 + final OndeError_ModelBuild _self;
348 + final $Res Function(OndeError_ModelBuild) _then;
349 +
350 +/// Create a copy of OndeError
351 +/// with the given fields replaced by the non-null parameter values.
352 +@pragma('vm:prefer-inline') $Res call({Object? reason = null,}) {
353 + return _then(OndeError_ModelBuild(
354 +reason: null == reason ? _self.reason : reason // ignore: cast_nullable_to_non_nullable
355 +as String,
356 + ));
357 +}
358 +
359 +
360 }
361
362 /// @nodoc
363
609 -class _$OndeError_InferenceImpl extends OndeError_Inference {
610 - const _$OndeError_InferenceImpl({required this.reason}) : super._();
611 -
612 - @override
613 - final String reason;
614 -
615 - @override
616 - String toString() {
617 - return 'OndeError.inference(reason: $reason)';
618 - }
619 -
620 - @override
621 - bool operator ==(Object other) {
622 - return identical(this, other) ||
623 - (other.runtimeType == runtimeType &&
624 - other is _$OndeError_InferenceImpl &&
625 - (identical(other.reason, reason) || other.reason == reason));
626 - }
627 -
628 - @override
629 - int get hashCode => Object.hash(runtimeType, reason);
630 -
631 - /// Create a copy of OndeError
632 - /// with the given fields replaced by the non-null parameter values.
633 - @JsonKey(includeFromJson: false, includeToJson: false)
634 - @override
635 - @pragma('vm:prefer-inline')
636 - _$$OndeError_InferenceImplCopyWith<_$OndeError_InferenceImpl> get copyWith =>
637 - __$$OndeError_InferenceImplCopyWithImpl<_$OndeError_InferenceImpl>(
638 - this, _$identity);
639 -
640 - @override
641 - @optionalTypeArgs
642 - TResult when<TResult extends Object?>({
643 - required TResult Function() noModelLoaded,
644 - required TResult Function(String modelName) alreadyLoaded,
645 - required TResult Function(String reason) modelBuild,
646 - required TResult Function(String reason) inference,
647 - required TResult Function() cancelled,
648 - required TResult Function(String reason) other,
649 - }) {
650 - return inference(reason);
651 - }
652 -
653 - @override
654 - @optionalTypeArgs
655 - TResult? whenOrNull<TResult extends Object?>({
656 - TResult? Function()? noModelLoaded,
657 - TResult? Function(String modelName)? alreadyLoaded,
658 - TResult? Function(String reason)? modelBuild,
659 - TResult? Function(String reason)? inference,
660 - TResult? Function()? cancelled,
661 - TResult? Function(String reason)? other,
662 - }) {
663 - return inference?.call(reason);
664 - }
665 -
666 - @override
667 - @optionalTypeArgs
668 - TResult maybeWhen<TResult extends Object?>({
669 - TResult Function()? noModelLoaded,
670 - TResult Function(String modelName)? alreadyLoaded,
671 - TResult Function(String reason)? modelBuild,
672 - TResult Function(String reason)? inference,
673 - TResult Function()? cancelled,
674 - TResult Function(String reason)? other,
675 - required TResult orElse(),
676 - }) {
677 - if (inference != null) {
678 - return inference(reason);
679 - }
680 - return orElse();
681 - }
682 -
683 - @override
684 - @optionalTypeArgs
685 - TResult map<TResult extends Object?>({
686 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
687 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
688 - required TResult Function(OndeError_ModelBuild value) modelBuild,
689 - required TResult Function(OndeError_Inference value) inference,
690 - required TResult Function(OndeError_Cancelled value) cancelled,
691 - required TResult Function(OndeError_Other value) other,
692 - }) {
693 - return inference(this);
694 - }
695 -
696 - @override
697 - @optionalTypeArgs
698 - TResult? mapOrNull<TResult extends Object?>({
699 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
700 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
701 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
702 - TResult? Function(OndeError_Inference value)? inference,
703 - TResult? Function(OndeError_Cancelled value)? cancelled,
704 - TResult? Function(OndeError_Other value)? other,
705 - }) {
706 - return inference?.call(this);
707 - }
708 -
709 - @override
710 - @optionalTypeArgs
711 - TResult maybeMap<TResult extends Object?>({
712 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
713 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
714 - TResult Function(OndeError_ModelBuild value)? modelBuild,
715 - TResult Function(OndeError_Inference value)? inference,
716 - TResult Function(OndeError_Cancelled value)? cancelled,
717 - TResult Function(OndeError_Other value)? other,
718 - required TResult orElse(),
719 - }) {
720 - if (inference != null) {
721 - return inference(this);
722 - }
723 - return orElse();
724 - }
364 +
365 +class OndeError_Inference extends OndeError {
366 + const OndeError_Inference({required this.reason}): super._();
367 +
368 +
369 + final String reason;
370 +
371 +/// Create a copy of OndeError
372 +/// with the given fields replaced by the non-null parameter values.
373 +@JsonKey(includeFromJson: false, includeToJson: false)
374 +@pragma('vm:prefer-inline')
375 +$OndeError_InferenceCopyWith<OndeError_Inference> get copyWith => _$OndeError_InferenceCopyWithImpl<OndeError_Inference>(this, _$identity);
376 +
377 +
378 +
379 +@override
380 +bool operator ==(Object other) {
381 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_Inference&&(identical(other.reason, reason) || other.reason == reason));
382 }
383
727 -abstract class OndeError_Inference extends OndeError {
728 - const factory OndeError_Inference({required final String reason}) =
729 - _$OndeError_InferenceImpl;
730 - const OndeError_Inference._() : super._();
384
732 - String get reason;
385 +@override
386 +int get hashCode => Object.hash(runtimeType,reason);
387
734 - /// Create a copy of OndeError
735 - /// with the given fields replaced by the non-null parameter values.
736 - @JsonKey(includeFromJson: false, includeToJson: false)
737 - _$$OndeError_InferenceImplCopyWith<_$OndeError_InferenceImpl> get copyWith =>
738 - throw _privateConstructorUsedError;
388 +@override
389 +String toString() {
390 + return 'OndeError.inference(reason: $reason)';
391 }
392
741 -/// @nodoc
742 -abstract class _$$OndeError_CancelledImplCopyWith<$Res> {
743 - factory _$$OndeError_CancelledImplCopyWith(_$OndeError_CancelledImpl value,
744 - $Res Function(_$OndeError_CancelledImpl) then) =
745 - __$$OndeError_CancelledImplCopyWithImpl<$Res>;
393 +
394 }
395
396 /// @nodoc
749 -class __$$OndeError_CancelledImplCopyWithImpl<$Res>
750 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_CancelledImpl>
751 - implements _$$OndeError_CancelledImplCopyWith<$Res> {
752 - __$$OndeError_CancelledImplCopyWithImpl(_$OndeError_CancelledImpl _value,
753 - $Res Function(_$OndeError_CancelledImpl) _then)
754 - : super(_value, _then);
755 -
756 - /// Create a copy of OndeError
757 - /// with the given fields replaced by the non-null parameter values.
397 +abstract mixin class $OndeError_InferenceCopyWith<$Res> implements $OndeErrorCopyWith<$Res> {
398 + factory $OndeError_InferenceCopyWith(OndeError_Inference value, $Res Function(OndeError_Inference) _then) = _$OndeError_InferenceCopyWithImpl;
399 +@useResult
400 +$Res call({
401 + String reason
402 +});
403 +
404 +
405 +
406 +
407 +}
408 +/// @nodoc
409 +class _$OndeError_InferenceCopyWithImpl<$Res>
410 + implements $OndeError_InferenceCopyWith<$Res> {
411 + _$OndeError_InferenceCopyWithImpl(this._self, this._then);
412 +
413 + final OndeError_Inference _self;
414 + final $Res Function(OndeError_Inference) _then;
415 +
416 +/// Create a copy of OndeError
417 +/// with the given fields replaced by the non-null parameter values.
418 +@pragma('vm:prefer-inline') $Res call({Object? reason = null,}) {
419 + return _then(OndeError_Inference(
420 +reason: null == reason ? _self.reason : reason // ignore: cast_nullable_to_non_nullable
421 +as String,
422 + ));
423 +}
424 +
425 +
426 }
427
428 /// @nodoc
429
762 -class _$OndeError_CancelledImpl extends OndeError_Cancelled {
763 - const _$OndeError_CancelledImpl() : super._();
764 -
765 - @override
766 - String toString() {
767 - return 'OndeError.cancelled()';
768 - }
769 -
770 - @override
771 - bool operator ==(Object other) {
772 - return identical(this, other) ||
773 - (other.runtimeType == runtimeType &&
774 - other is _$OndeError_CancelledImpl);
775 - }
776 -
777 - @override
778 - int get hashCode => runtimeType.hashCode;
779 -
780 - @override
781 - @optionalTypeArgs
782 - TResult when<TResult extends Object?>({
783 - required TResult Function() noModelLoaded,
784 - required TResult Function(String modelName) alreadyLoaded,
785 - required TResult Function(String reason) modelBuild,
786 - required TResult Function(String reason) inference,
787 - required TResult Function() cancelled,
788 - required TResult Function(String reason) other,
789 - }) {
790 - return cancelled();
791 - }
792 -
793 - @override
794 - @optionalTypeArgs
795 - TResult? whenOrNull<TResult extends Object?>({
796 - TResult? Function()? noModelLoaded,
797 - TResult? Function(String modelName)? alreadyLoaded,
798 - TResult? Function(String reason)? modelBuild,
799 - TResult? Function(String reason)? inference,
800 - TResult? Function()? cancelled,
801 - TResult? Function(String reason)? other,
802 - }) {
803 - return cancelled?.call();
804 - }
805 -
806 - @override
807 - @optionalTypeArgs
808 - TResult maybeWhen<TResult extends Object?>({
809 - TResult Function()? noModelLoaded,
810 - TResult Function(String modelName)? alreadyLoaded,
811 - TResult Function(String reason)? modelBuild,
812 - TResult Function(String reason)? inference,
813 - TResult Function()? cancelled,
814 - TResult Function(String reason)? other,
815 - required TResult orElse(),
816 - }) {
817 - if (cancelled != null) {
818 - return cancelled();
819 - }
820 - return orElse();
821 - }
822 -
823 - @override
824 - @optionalTypeArgs
825 - TResult map<TResult extends Object?>({
826 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
827 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
828 - required TResult Function(OndeError_ModelBuild value) modelBuild,
829 - required TResult Function(OndeError_Inference value) inference,
830 - required TResult Function(OndeError_Cancelled value) cancelled,
831 - required TResult Function(OndeError_Other value) other,
832 - }) {
833 - return cancelled(this);
834 - }
835 -
836 - @override
837 - @optionalTypeArgs
838 - TResult? mapOrNull<TResult extends Object?>({
839 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
840 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
841 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
842 - TResult? Function(OndeError_Inference value)? inference,
843 - TResult? Function(OndeError_Cancelled value)? cancelled,
844 - TResult? Function(OndeError_Other value)? other,
845 - }) {
846 - return cancelled?.call(this);
847 - }
848 -
849 - @override
850 - @optionalTypeArgs
851 - TResult maybeMap<TResult extends Object?>({
852 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
853 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
854 - TResult Function(OndeError_ModelBuild value)? modelBuild,
855 - TResult Function(OndeError_Inference value)? inference,
856 - TResult Function(OndeError_Cancelled value)? cancelled,
857 - TResult Function(OndeError_Other value)? other,
858 - required TResult orElse(),
859 - }) {
860 - if (cancelled != null) {
861 - return cancelled(this);
862 - }
863 - return orElse();
864 - }
430 +
431 +class OndeError_Cancelled extends OndeError {
432 + const OndeError_Cancelled(): super._();
433 +
434 +
435 +
436 +
437 +
438 +
439 +
440 +@override
441 +bool operator ==(Object other) {
442 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_Cancelled);
443 }
444
867 -abstract class OndeError_Cancelled extends OndeError {
868 - const factory OndeError_Cancelled() = _$OndeError_CancelledImpl;
869 - const OndeError_Cancelled._() : super._();
445 +
446 +@override
447 +int get hashCode => runtimeType.hashCode;
448 +
449 +@override
450 +String toString() {
451 + return 'OndeError.cancelled()';
452 }
453
872 -/// @nodoc
873 -abstract class _$$OndeError_OtherImplCopyWith<$Res> {
874 - factory _$$OndeError_OtherImplCopyWith(_$OndeError_OtherImpl value,
875 - $Res Function(_$OndeError_OtherImpl) then) =
876 - __$$OndeError_OtherImplCopyWithImpl<$Res>;
877 - @useResult
878 - $Res call({String reason});
454 +
455 }
456
457 +
458 +
459 +
460 /// @nodoc
882 -class __$$OndeError_OtherImplCopyWithImpl<$Res>
883 - extends _$OndeErrorCopyWithImpl<$Res, _$OndeError_OtherImpl>
884 - implements _$$OndeError_OtherImplCopyWith<$Res> {
885 - __$$OndeError_OtherImplCopyWithImpl(
886 - _$OndeError_OtherImpl _value, $Res Function(_$OndeError_OtherImpl) _then)
887 - : super(_value, _then);
888 -
889 - /// Create a copy of OndeError
890 - /// with the given fields replaced by the non-null parameter values.
891 - @pragma('vm:prefer-inline')
892 - @override
893 - $Res call({
894 - Object? reason = null,
895 - }) {
896 - return _then(_$OndeError_OtherImpl(
897 - reason: null == reason
898 - ? _value.reason
899 - : reason // ignore: cast_nullable_to_non_nullable
900 - as String,
901 - ));
902 - }
461 +
462 +
463 +class OndeError_Other extends OndeError {
464 + const OndeError_Other({required this.reason}): super._();
465 +
466 +
467 + final String reason;
468 +
469 +/// Create a copy of OndeError
470 +/// with the given fields replaced by the non-null parameter values.
471 +@JsonKey(includeFromJson: false, includeToJson: false)
472 +@pragma('vm:prefer-inline')
473 +$OndeError_OtherCopyWith<OndeError_Other> get copyWith => _$OndeError_OtherCopyWithImpl<OndeError_Other>(this, _$identity);
474 +
475 +
476 +
477 +@override
478 +bool operator ==(Object other) {
479 + return identical(this, other) || (other.runtimeType == runtimeType&&other is OndeError_Other&&(identical(other.reason, reason) || other.reason == reason));
480 }
481
905 -/// @nodoc
482
907 -class _$OndeError_OtherImpl extends OndeError_Other {
908 - const _$OndeError_OtherImpl({required this.reason}) : super._();
909 -
910 - @override
911 - final String reason;
912 -
913 - @override
914 - String toString() {
915 - return 'OndeError.other(reason: $reason)';
916 - }
917 -
918 - @override
919 - bool operator ==(Object other) {
920 - return identical(this, other) ||
921 - (other.runtimeType == runtimeType &&
922 - other is _$OndeError_OtherImpl &&
923 - (identical(other.reason, reason) || other.reason == reason));
924 - }
925 -
926 - @override
927 - int get hashCode => Object.hash(runtimeType, reason);
928 -
929 - /// Create a copy of OndeError
930 - /// with the given fields replaced by the non-null parameter values.
931 - @JsonKey(includeFromJson: false, includeToJson: false)
932 - @override
933 - @pragma('vm:prefer-inline')
934 - _$$OndeError_OtherImplCopyWith<_$OndeError_OtherImpl> get copyWith =>
935 - __$$OndeError_OtherImplCopyWithImpl<_$OndeError_OtherImpl>(
936 - this, _$identity);
937 -
938 - @override
939 - @optionalTypeArgs
940 - TResult when<TResult extends Object?>({
941 - required TResult Function() noModelLoaded,
942 - required TResult Function(String modelName) alreadyLoaded,
943 - required TResult Function(String reason) modelBuild,
944 - required TResult Function(String reason) inference,
945 - required TResult Function() cancelled,
946 - required TResult Function(String reason) other,
947 - }) {
948 - return other(reason);
949 - }
950 -
951 - @override
952 - @optionalTypeArgs
953 - TResult? whenOrNull<TResult extends Object?>({
954 - TResult? Function()? noModelLoaded,
955 - TResult? Function(String modelName)? alreadyLoaded,
956 - TResult? Function(String reason)? modelBuild,
957 - TResult? Function(String reason)? inference,
958 - TResult? Function()? cancelled,
959 - TResult? Function(String reason)? other,
960 - }) {
961 - return other?.call(reason);
962 - }
963 -
964 - @override
965 - @optionalTypeArgs
966 - TResult maybeWhen<TResult extends Object?>({
967 - TResult Function()? noModelLoaded,
968 - TResult Function(String modelName)? alreadyLoaded,
969 - TResult Function(String reason)? modelBuild,
970 - TResult Function(String reason)? inference,
971 - TResult Function()? cancelled,
972 - TResult Function(String reason)? other,
973 - required TResult orElse(),
974 - }) {
975 - if (other != null) {
976 - return other(reason);
977 - }
978 - return orElse();
979 - }
980 -
981 - @override
982 - @optionalTypeArgs
983 - TResult map<TResult extends Object?>({
984 - required TResult Function(OndeError_NoModelLoaded value) noModelLoaded,
985 - required TResult Function(OndeError_AlreadyLoaded value) alreadyLoaded,
986 - required TResult Function(OndeError_ModelBuild value) modelBuild,
987 - required TResult Function(OndeError_Inference value) inference,
988 - required TResult Function(OndeError_Cancelled value) cancelled,
989 - required TResult Function(OndeError_Other value) other,
990 - }) {
991 - return other(this);
992 - }
993 -
994 - @override
995 - @optionalTypeArgs
996 - TResult? mapOrNull<TResult extends Object?>({
997 - TResult? Function(OndeError_NoModelLoaded value)? noModelLoaded,
998 - TResult? Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
999 - TResult? Function(OndeError_ModelBuild value)? modelBuild,
1000 - TResult? Function(OndeError_Inference value)? inference,
1001 - TResult? Function(OndeError_Cancelled value)? cancelled,
1002 - TResult? Function(OndeError_Other value)? other,
1003 - }) {
1004 - return other?.call(this);
1005 - }
1006 -
1007 - @override
1008 - @optionalTypeArgs
1009 - TResult maybeMap<TResult extends Object?>({
1010 - TResult Function(OndeError_NoModelLoaded value)? noModelLoaded,
1011 - TResult Function(OndeError_AlreadyLoaded value)? alreadyLoaded,
1012 - TResult Function(OndeError_ModelBuild value)? modelBuild,
1013 - TResult Function(OndeError_Inference value)? inference,
1014 - TResult Function(OndeError_Cancelled value)? cancelled,
1015 - TResult Function(OndeError_Other value)? other,
1016 - required TResult orElse(),
1017 - }) {
1018 - if (other != null) {
1019 - return other(this);
1020 - }
1021 - return orElse();
1022 - }
483 +@override
484 +int get hashCode => Object.hash(runtimeType,reason);
485 +
486 +@override
487 +String toString() {
488 + return 'OndeError.other(reason: $reason)';
489 }
490
1025 -abstract class OndeError_Other extends OndeError {
1026 - const factory OndeError_Other({required final String reason}) =
1027 - _$OndeError_OtherImpl;
1028 - const OndeError_Other._() : super._();
491
1030 - String get reason;
492 +}
493 +
494 +/// @nodoc
495 +abstract mixin class $OndeError_OtherCopyWith<$Res> implements $OndeErrorCopyWith<$Res> {
496 + factory $OndeError_OtherCopyWith(OndeError_Other value, $Res Function(OndeError_Other) _then) = _$OndeError_OtherCopyWithImpl;
497 +@useResult
498 +$Res call({
499 + String reason
500 +});
501 +
502 +
503 +
504 +
505 +}
506 +/// @nodoc
507 +class _$OndeError_OtherCopyWithImpl<$Res>
508 + implements $OndeError_OtherCopyWith<$Res> {
509 + _$OndeError_OtherCopyWithImpl(this._self, this._then);
510 +
511 + final OndeError_Other _self;
512 + final $Res Function(OndeError_Other) _then;
513 +
514 +/// Create a copy of OndeError
515 +/// with the given fields replaced by the non-null parameter values.
516 +@pragma('vm:prefer-inline') $Res call({Object? reason = null,}) {
517 + return _then(OndeError_Other(
518 +reason: null == reason ? _self.reason : reason // ignore: cast_nullable_to_non_nullable
519 +as String,
520 + ));
521 +}
522 +
523
1032 - /// Create a copy of OndeError
1033 - /// with the given fields replaced by the non-null parameter values.
1034 - @JsonKey(includeFromJson: false, includeToJson: false)
1035 - _$$OndeError_OtherImplCopyWith<_$OndeError_OtherImpl> get copyWith =>
1036 - throw _privateConstructorUsedError;
524 }
525 +
526 +// dart format on
sdk/dart/lib/src/frb_generated.dart/frb_generated.dart
+889 -570
@@ -37,12 +37,8 @@ class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
37
38 /// Initialize flutter_rust_bridge in mock mode.
39 /// No libraries for FFI are loaded.
40 - static void initMock({
41 - required RustLibApi api,
42 - }) {
43 - instance.initMockImpl(
44 - api: api,
45 - );
40 + static void initMock({required RustLibApi api}) {
41 + instance.initMockImpl(api: api);
42 }
43
44 /// Dispose flutter_rust_bridge
@@ -70,61 +66,85 @@ class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
66 String get codegenVersion => '2.12.0';
67
68 @override
73 - int get rustContentHash => -2049740590;
69 + int get rustContentHash => -467241906;
70
71 static const kDefaultExternalLibraryLoaderConfig =
72 ExternalLibraryLoaderConfig(
77 - stem: 'onde_inference_dart',
78 - ioDirectory: 'rust/target/release/',
79 - webPrefix: 'pkg/',
80 - wasmBindgenName: 'wasm_bindgen',
81 - );
73 + stem: 'onde_inference_dart',
74 + ioDirectory: 'rust/target/release/',
75 + webPrefix: 'pkg/',
76 + wasmBindgenName: 'wasm_bindgen',
77 + );
78 }
79
80 abstract class RustLibApi extends BaseApi {
85 - Future<BigInt> crateApiOndeChatEngineClearHistory(
86 - {required OndeChatEngine that});
81 + Future<BigInt> crateApiOndeChatEngineClearHistory({
82 + required OndeChatEngine that,
83 + });
84
88 - Future<void> crateApiOndeChatEngineClearSystemPrompt(
89 - {required OndeChatEngine that});
85 + Future<void> crateApiOndeChatEngineClearSystemPrompt({
86 + required OndeChatEngine that,
87 + });
88
91 - Future<InferenceResult> crateApiOndeChatEngineGenerate(
92 - {required OndeChatEngine that,
93 - required List<ChatMessage> messages,
94 - SamplingConfig? sampling});
89 + Future<InferenceResult> crateApiOndeChatEngineGenerate({
90 + required OndeChatEngine that,
91 + required List<ChatMessage> messages,
92 + SamplingConfig? sampling,
93 + });
94
96 - Future<List<ChatMessage>> crateApiOndeChatEngineHistory(
97 - {required OndeChatEngine that});
95 + Future<List<ChatMessage>> crateApiOndeChatEngineHistory({
96 + required OndeChatEngine that,
97 + });
98
99 Future<EngineInfo> crateApiOndeChatEngineInfo({required OndeChatEngine that});
100
101 Future<bool> crateApiOndeChatEngineIsLoaded({required OndeChatEngine that});
102
103 - Future<double> crateApiOndeChatEngineLoadGgufModel(
104 - {required OndeChatEngine that,
105 - required GgufModelConfig config,
106 - String? systemPrompt,
107 - SamplingConfig? sampling});
103 + Future<double> crateApiOndeChatEngineLoadAssignedModel({
104 + required OndeChatEngine that,
105 + required String appId,
106 + required String appSecret,
107 + String? systemPrompt,
108 + SamplingConfig? sampling,
109 + });
110 +
111 + Future<double> crateApiOndeChatEngineLoadGgufModel({
112 + required OndeChatEngine that,
113 + required GgufModelConfig config,
114 + String? systemPrompt,
115 + SamplingConfig? sampling,
116 + });
117
118 OndeChatEngine crateApiOndeChatEngineNew();
119
111 - Future<void> crateApiOndeChatEnginePushHistory(
112 - {required OndeChatEngine that, required ChatMessage message});
120 + Future<void> crateApiOndeChatEnginePushHistory({
121 + required OndeChatEngine that,
122 + required ChatMessage message,
123 + });
124
114 - Future<InferenceResult> crateApiOndeChatEngineSendMessage(
115 - {required OndeChatEngine that, required String message});
125 + Future<InferenceResult> crateApiOndeChatEngineSendMessage({
126 + required OndeChatEngine that,
127 + required String message,
128 + });
129
117 - Future<void> crateApiOndeChatEngineSetSampling(
118 - {required OndeChatEngine that, required SamplingConfig sampling});
130 + Future<void> crateApiOndeChatEngineSetSampling({
131 + required OndeChatEngine that,
132 + required SamplingConfig sampling,
133 + });
134
120 - Future<void> crateApiOndeChatEngineSetSystemPrompt(
121 - {required OndeChatEngine that, required String prompt});
135 + Future<void> crateApiOndeChatEngineSetSystemPrompt({
136 + required OndeChatEngine that,
137 + required String prompt,
138 + });
139
123 - Stream<StreamChunk> crateApiOndeChatEngineStreamMessage(
124 - {required OndeChatEngine that, required String message});
140 + Stream<StreamChunk> crateApiOndeChatEngineStreamMessage({
141 + required OndeChatEngine that,
142 + required String message,
143 + });
144
126 - Future<String?> crateApiOndeChatEngineUnloadModel(
127 - {required OndeChatEngine that});
145 + Future<String?> crateApiOndeChatEngineUnloadModel({
146 + required OndeChatEngine that,
147 + });
148
149 void crateApiConfigureCacheDir({required String appDataDir});
150
@@ -145,13 +165,13 @@ abstract class RustLibApi extends BaseApi {
165 GgufModelConfig crateApiQwen25Coder3BConfig();
166
167 RustArcIncrementStrongCountFnType
148 - get rust_arc_increment_strong_count_OndeChatEngine;
168 + get rust_arc_increment_strong_count_OndeChatEngine;
169
170 RustArcDecrementStrongCountFnType
151 - get rust_arc_decrement_strong_count_OndeChatEngine;
171 + get rust_arc_decrement_strong_count_OndeChatEngine;
172
173 CrossPlatformFinalizerArg
154 - get rust_arc_decrement_strong_count_OndeChatEnginePtr;
174 + get rust_arc_decrement_strong_count_OndeChatEnginePtr;
175 }
176
177 class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
@@ -163,24 +183,33 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
183 });
184
185 @override
166 - Future<BigInt> crateApiOndeChatEngineClearHistory(
167 - {required OndeChatEngine that}) {
168 - return handler.executeNormal(NormalTask(
169 - callFfi: (port_) {
170 - final serializer = SseSerializer(generalizedFrbRustBinding);
171 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
172 - that, serializer);
173 - pdeCallFfi(generalizedFrbRustBinding, serializer,
174 - funcId: 1, port: port_);
175 - },
176 - codec: SseCodec(
177 - decodeSuccessData: sse_decode_u_64,
178 - decodeErrorData: null,
186 + Future<BigInt> crateApiOndeChatEngineClearHistory({
187 + required OndeChatEngine that,
188 + }) {
189 + return handler.executeNormal(
190 + NormalTask(
191 + callFfi: (port_) {
192 + final serializer = SseSerializer(generalizedFrbRustBinding);
193 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
194 + that,
195 + serializer,
196 + );
197 + pdeCallFfi(
198 + generalizedFrbRustBinding,
199 + serializer,
200 + funcId: 1,
201 + port: port_,
202 + );
203 + },
204 + codec: SseCodec(
205 + decodeSuccessData: sse_decode_u_64,
206 + decodeErrorData: null,
207 + ),
208 + constMeta: kCrateApiOndeChatEngineClearHistoryConstMeta,
209 + argValues: [that],
210 + apiImpl: this,
211 ),
180 - constMeta: kCrateApiOndeChatEngineClearHistoryConstMeta,
181 - argValues: [that],
182 - apiImpl: this,
183 - ));
212 + );
213 }
214
215 TaskConstMeta get kCrateApiOndeChatEngineClearHistoryConstMeta =>
@@ -190,24 +219,33 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
219 );
220
221 @override
193 - Future<void> crateApiOndeChatEngineClearSystemPrompt(
194 - {required OndeChatEngine that}) {
195 - return handler.executeNormal(NormalTask(
196 - callFfi: (port_) {
197 - final serializer = SseSerializer(generalizedFrbRustBinding);
198 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
199 - that, serializer);
200 - pdeCallFfi(generalizedFrbRustBinding, serializer,
201 - funcId: 2, port: port_);
202 - },
203 - codec: SseCodec(
204 - decodeSuccessData: sse_decode_unit,
205 - decodeErrorData: null,
222 + Future<void> crateApiOndeChatEngineClearSystemPrompt({
223 + required OndeChatEngine that,
224 + }) {
225 + return handler.executeNormal(
226 + NormalTask(
227 + callFfi: (port_) {
228 + final serializer = SseSerializer(generalizedFrbRustBinding);
229 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
230 + that,
231 + serializer,
232 + );
233 + pdeCallFfi(
234 + generalizedFrbRustBinding,
235 + serializer,
236 + funcId: 2,
237 + port: port_,
238 + );
239 + },
240 + codec: SseCodec(
241 + decodeSuccessData: sse_decode_unit,
242 + decodeErrorData: null,
243 + ),
244 + constMeta: kCrateApiOndeChatEngineClearSystemPromptConstMeta,
245 + argValues: [that],
246 + apiImpl: this,
247 ),
207 - constMeta: kCrateApiOndeChatEngineClearSystemPromptConstMeta,
208 - argValues: [that],
209 - apiImpl: this,
210 - ));
248 + );
249 }
250
251 TaskConstMeta get kCrateApiOndeChatEngineClearSystemPromptConstMeta =>
@@ -217,28 +255,37 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
255 );
256
257 @override
220 - Future<InferenceResult> crateApiOndeChatEngineGenerate(
221 - {required OndeChatEngine that,
222 - required List<ChatMessage> messages,
223 - SamplingConfig? sampling}) {
224 - return handler.executeNormal(NormalTask(
225 - callFfi: (port_) {
226 - final serializer = SseSerializer(generalizedFrbRustBinding);
227 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
228 - that, serializer);
229 - sse_encode_list_chat_message(messages, serializer);
230 - sse_encode_opt_box_autoadd_sampling_config(sampling, serializer);
231 - pdeCallFfi(generalizedFrbRustBinding, serializer,
232 - funcId: 3, port: port_);
233 - },
234 - codec: SseCodec(
235 - decodeSuccessData: sse_decode_inference_result,
236 - decodeErrorData: sse_decode_onde_error,
258 + Future<InferenceResult> crateApiOndeChatEngineGenerate({
259 + required OndeChatEngine that,
260 + required List<ChatMessage> messages,
261 + SamplingConfig? sampling,
262 + }) {
263 + return handler.executeNormal(
264 + NormalTask(
265 + callFfi: (port_) {
266 + final serializer = SseSerializer(generalizedFrbRustBinding);
267 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
268 + that,
269 + serializer,
270 + );
271 + sse_encode_list_chat_message(messages, serializer);
272 + sse_encode_opt_box_autoadd_sampling_config(sampling, serializer);
273 + pdeCallFfi(
274 + generalizedFrbRustBinding,
275 + serializer,
276 + funcId: 3,
277 + port: port_,
278 + );
279 + },
280 + codec: SseCodec(
281 + decodeSuccessData: sse_decode_inference_result,
282 + decodeErrorData: sse_decode_onde_error,
283 + ),
284 + constMeta: kCrateApiOndeChatEngineGenerateConstMeta,
285 + argValues: [that, messages, sampling],
286 + apiImpl: this,
287 ),
238 - constMeta: kCrateApiOndeChatEngineGenerateConstMeta,
239 - argValues: [that, messages, sampling],
240 - apiImpl: this,
241 - ));
288 + );
289 }
290
291 TaskConstMeta get kCrateApiOndeChatEngineGenerateConstMeta =>
@@ -248,24 +295,33 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
295 );
296
297 @override
251 - Future<List<ChatMessage>> crateApiOndeChatEngineHistory(
252 - {required OndeChatEngine that}) {
253 - return handler.executeNormal(NormalTask(
254 - callFfi: (port_) {
255 - final serializer = SseSerializer(generalizedFrbRustBinding);
256 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
257 - that, serializer);
258 - pdeCallFfi(generalizedFrbRustBinding, serializer,
259 - funcId: 4, port: port_);
260 - },
261 - codec: SseCodec(
262 - decodeSuccessData: sse_decode_list_chat_message,
263 - decodeErrorData: null,
298 + Future<List<ChatMessage>> crateApiOndeChatEngineHistory({
299 + required OndeChatEngine that,
300 + }) {
301 + return handler.executeNormal(
302 + NormalTask(
303 + callFfi: (port_) {
304 + final serializer = SseSerializer(generalizedFrbRustBinding);
305 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
306 + that,
307 + serializer,
308 + );
309 + pdeCallFfi(
310 + generalizedFrbRustBinding,
311 + serializer,
312 + funcId: 4,
313 + port: port_,
314 + );
315 + },
316 + codec: SseCodec(
317 + decodeSuccessData: sse_decode_list_chat_message,
318 + decodeErrorData: null,
319 + ),
320 + constMeta: kCrateApiOndeChatEngineHistoryConstMeta,
321 + argValues: [that],
322 + apiImpl: this,
323 ),
265 - constMeta: kCrateApiOndeChatEngineHistoryConstMeta,
266 - argValues: [that],
267 - apiImpl: this,
268 - ));
324 + );
325 }
326
327 TaskConstMeta get kCrateApiOndeChatEngineHistoryConstMeta =>
@@ -275,49 +331,64 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
331 );
332
333 @override
278 - Future<EngineInfo> crateApiOndeChatEngineInfo(
279 - {required OndeChatEngine that}) {
280 - return handler.executeNormal(NormalTask(
281 - callFfi: (port_) {
282 - final serializer = SseSerializer(generalizedFrbRustBinding);
283 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
284 - that, serializer);
285 - pdeCallFfi(generalizedFrbRustBinding, serializer,
286 - funcId: 5, port: port_);
287 - },
288 - codec: SseCodec(
289 - decodeSuccessData: sse_decode_engine_info,
290 - decodeErrorData: null,
334 + Future<EngineInfo> crateApiOndeChatEngineInfo({
335 + required OndeChatEngine that,
336 + }) {
337 + return handler.executeNormal(
338 + NormalTask(
339 + callFfi: (port_) {
340 + final serializer = SseSerializer(generalizedFrbRustBinding);
341 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
342 + that,
343 + serializer,
344 + );
345 + pdeCallFfi(
346 + generalizedFrbRustBinding,
347 + serializer,
348 + funcId: 5,
349 + port: port_,
350 + );
351 + },
352 + codec: SseCodec(
353 + decodeSuccessData: sse_decode_engine_info,
354 + decodeErrorData: null,
355 + ),
356 + constMeta: kCrateApiOndeChatEngineInfoConstMeta,
357 + argValues: [that],
358 + apiImpl: this,
359 ),
292 - constMeta: kCrateApiOndeChatEngineInfoConstMeta,
293 - argValues: [that],
294 - apiImpl: this,
295 - ));
360 + );
361 }
362
298 - TaskConstMeta get kCrateApiOndeChatEngineInfoConstMeta => const TaskConstMeta(
299 - debugName: "OndeChatEngine_info",
300 - argNames: ["that"],
301 - );
363 + TaskConstMeta get kCrateApiOndeChatEngineInfoConstMeta =>
364 + const TaskConstMeta(debugName: "OndeChatEngine_info", argNames: ["that"]);
365
366 @override
367 Future<bool> crateApiOndeChatEngineIsLoaded({required OndeChatEngine that}) {
305 - return handler.executeNormal(NormalTask(
306 - callFfi: (port_) {
307 - final serializer = SseSerializer(generalizedFrbRustBinding);
308 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
309 - that, serializer);
310 - pdeCallFfi(generalizedFrbRustBinding, serializer,
311 - funcId: 6, port: port_);
312 - },
313 - codec: SseCodec(
314 - decodeSuccessData: sse_decode_bool,
315 - decodeErrorData: null,
368 + return handler.executeNormal(
369 + NormalTask(
370 + callFfi: (port_) {
371 + final serializer = SseSerializer(generalizedFrbRustBinding);
372 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
373 + that,
374 + serializer,
375 + );
376 + pdeCallFfi(
377 + generalizedFrbRustBinding,
378 + serializer,
379 + funcId: 6,
380 + port: port_,
381 + );
382 + },
383 + codec: SseCodec(
384 + decodeSuccessData: sse_decode_bool,
385 + decodeErrorData: null,
386 + ),
387 + constMeta: kCrateApiOndeChatEngineIsLoadedConstMeta,
388 + argValues: [that],
389 + apiImpl: this,
390 ),
317 - constMeta: kCrateApiOndeChatEngineIsLoadedConstMeta,
318 - argValues: [that],
319 - apiImpl: this,
320 - ));
391 + );
392 }
393
394 TaskConstMeta get kCrateApiOndeChatEngineIsLoadedConstMeta =>
@@ -327,30 +398,83 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
398 );
399
400 @override
330 - Future<double> crateApiOndeChatEngineLoadGgufModel(
331 - {required OndeChatEngine that,
332 - required GgufModelConfig config,
333 - String? systemPrompt,
334 - SamplingConfig? sampling}) {
335 - return handler.executeNormal(NormalTask(
336 - callFfi: (port_) {
337 - final serializer = SseSerializer(generalizedFrbRustBinding);
338 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
339 - that, serializer);
340 - sse_encode_box_autoadd_gguf_model_config(config, serializer);
341 - sse_encode_opt_String(systemPrompt, serializer);
342 - sse_encode_opt_box_autoadd_sampling_config(sampling, serializer);
343 - pdeCallFfi(generalizedFrbRustBinding, serializer,
344 - funcId: 7, port: port_);
345 - },
346 - codec: SseCodec(
347 - decodeSuccessData: sse_decode_f_64,
348 - decodeErrorData: sse_decode_onde_error,
401 + Future<double> crateApiOndeChatEngineLoadAssignedModel({
402 + required OndeChatEngine that,
403 + required String appId,
404 + required String appSecret,
405 + String? systemPrompt,
406 + SamplingConfig? sampling,
407 + }) {
408 + return handler.executeNormal(
409 + NormalTask(
410 + callFfi: (port_) {
411 + final serializer = SseSerializer(generalizedFrbRustBinding);
412 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
413 + that,
414 + serializer,
415 + );
416 + sse_encode_String(appId, serializer);
417 + sse_encode_String(appSecret, serializer);
418 + sse_encode_opt_String(systemPrompt, serializer);
419 + sse_encode_opt_box_autoadd_sampling_config(sampling, serializer);
420 + pdeCallFfi(
421 + generalizedFrbRustBinding,
422 + serializer,
423 + funcId: 7,
424 + port: port_,
425 + );
426 + },
427 + codec: SseCodec(
428 + decodeSuccessData: sse_decode_f_64,
429 + decodeErrorData: sse_decode_onde_error,
430 + ),
431 + constMeta: kCrateApiOndeChatEngineLoadAssignedModelConstMeta,
432 + argValues: [that, appId, appSecret, systemPrompt, sampling],
433 + apiImpl: this,
434 + ),
435 + );
436 + }
437 +
438 + TaskConstMeta get kCrateApiOndeChatEngineLoadAssignedModelConstMeta =>
439 + const TaskConstMeta(
440 + debugName: "OndeChatEngine_load_assigned_model",
441 + argNames: ["that", "appId", "appSecret", "systemPrompt", "sampling"],
442 + );
443 +
444 + @override
445 + Future<double> crateApiOndeChatEngineLoadGgufModel({
446 + required OndeChatEngine that,
447 + required GgufModelConfig config,
448 + String? systemPrompt,
449 + SamplingConfig? sampling,
450 + }) {
451 + return handler.executeNormal(
452 + NormalTask(
453 + callFfi: (port_) {
454 + final serializer = SseSerializer(generalizedFrbRustBinding);
455 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
456 + that,
457 + serializer,
458 + );
459 + sse_encode_box_autoadd_gguf_model_config(config, serializer);
460 + sse_encode_opt_String(systemPrompt, serializer);
461 + sse_encode_opt_box_autoadd_sampling_config(sampling, serializer);
462 + pdeCallFfi(
463 + generalizedFrbRustBinding,
464 + serializer,
465 + funcId: 8,
466 + port: port_,
467 + );
468 + },
469 + codec: SseCodec(
470 + decodeSuccessData: sse_decode_f_64,
471 + decodeErrorData: sse_decode_onde_error,
472 + ),
473 + constMeta: kCrateApiOndeChatEngineLoadGgufModelConstMeta,
474 + argValues: [that, config, systemPrompt, sampling],
475 + apiImpl: this,
476 ),
350 - constMeta: kCrateApiOndeChatEngineLoadGgufModelConstMeta,
351 - argValues: [that, config, systemPrompt, sampling],
352 - apiImpl: this,
353 - ));
477 + );
478 }
479
480 TaskConstMeta get kCrateApiOndeChatEngineLoadGgufModelConstMeta =>
@@ -361,47 +485,57 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
485
486 @override
487 OndeChatEngine crateApiOndeChatEngineNew() {
364 - return handler.executeSync(SyncTask(
365 - callFfi: () {
366 - final serializer = SseSerializer(generalizedFrbRustBinding);
367 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 8)!;
368 - },
369 - codec: SseCodec(
370 - decodeSuccessData:
371 - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine,
372 - decodeErrorData: null,
488 + return handler.executeSync(
489 + SyncTask(
490 + callFfi: () {
491 + final serializer = SseSerializer(generalizedFrbRustBinding);
492 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 9)!;
493 + },
494 + codec: SseCodec(
495 + decodeSuccessData:
496 + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine,
497 + decodeErrorData: null,
498 + ),
499 + constMeta: kCrateApiOndeChatEngineNewConstMeta,
500 + argValues: [],
501 + apiImpl: this,
502 ),
374 - constMeta: kCrateApiOndeChatEngineNewConstMeta,
375 - argValues: [],
376 - apiImpl: this,
377 - ));
503 + );
504 }
505
380 - TaskConstMeta get kCrateApiOndeChatEngineNewConstMeta => const TaskConstMeta(
381 - debugName: "OndeChatEngine_new",
382 - argNames: [],
383 - );
506 + TaskConstMeta get kCrateApiOndeChatEngineNewConstMeta =>
507 + const TaskConstMeta(debugName: "OndeChatEngine_new", argNames: []);
508
509 @override
386 - Future<void> crateApiOndeChatEnginePushHistory(
387 - {required OndeChatEngine that, required ChatMessage message}) {
388 - return handler.executeNormal(NormalTask(
389 - callFfi: (port_) {
390 - final serializer = SseSerializer(generalizedFrbRustBinding);
391 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
392 - that, serializer);
393 - sse_encode_box_autoadd_chat_message(message, serializer);
394 - pdeCallFfi(generalizedFrbRustBinding, serializer,
395 - funcId: 9, port: port_);
396 - },
397 - codec: SseCodec(
398 - decodeSuccessData: sse_decode_unit,
399 - decodeErrorData: null,
510 + Future<void> crateApiOndeChatEnginePushHistory({
511 + required OndeChatEngine that,
512 + required ChatMessage message,
513 + }) {
514 + return handler.executeNormal(
515 + NormalTask(
516 + callFfi: (port_) {
517 + final serializer = SseSerializer(generalizedFrbRustBinding);
518 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
519 + that,
520 + serializer,
521 + );
522 + sse_encode_box_autoadd_chat_message(message, serializer);
523 + pdeCallFfi(
524 + generalizedFrbRustBinding,
525 + serializer,
526 + funcId: 10,
527 + port: port_,
528 + );
529 + },
530 + codec: SseCodec(
531 + decodeSuccessData: sse_decode_unit,
532 + decodeErrorData: null,
533 + ),
534 + constMeta: kCrateApiOndeChatEnginePushHistoryConstMeta,
535 + argValues: [that, message],
536 + apiImpl: this,
537 ),
401 - constMeta: kCrateApiOndeChatEnginePushHistoryConstMeta,
402 - argValues: [that, message],
403 - apiImpl: this,
404 - ));
538 + );
539 }
540
541 TaskConstMeta get kCrateApiOndeChatEnginePushHistoryConstMeta =>
@@ -411,25 +545,35 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
545 );
546
547 @override
414 - Future<InferenceResult> crateApiOndeChatEngineSendMessage(
415 - {required OndeChatEngine that, required String message}) {
416 - return handler.executeNormal(NormalTask(
417 - callFfi: (port_) {
418 - final serializer = SseSerializer(generalizedFrbRustBinding);
419 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
420 - that, serializer);
421 - sse_encode_String(message, serializer);
422 - pdeCallFfi(generalizedFrbRustBinding, serializer,
423 - funcId: 10, port: port_);
424 - },
425 - codec: SseCodec(
426 - decodeSuccessData: sse_decode_inference_result,
427 - decodeErrorData: sse_decode_onde_error,
548 + Future<InferenceResult> crateApiOndeChatEngineSendMessage({
549 + required OndeChatEngine that,
550 + required String message,
551 + }) {
552 + return handler.executeNormal(
553 + NormalTask(
554 + callFfi: (port_) {
555 + final serializer = SseSerializer(generalizedFrbRustBinding);
556 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
557 + that,
558 + serializer,
559 + );
560 + sse_encode_String(message, serializer);
561 + pdeCallFfi(
562 + generalizedFrbRustBinding,
563 + serializer,
564 + funcId: 11,
565 + port: port_,
566 + );
567 + },
568 + codec: SseCodec(
569 + decodeSuccessData: sse_decode_inference_result,
570 + decodeErrorData: sse_decode_onde_error,
571 + ),
572 + constMeta: kCrateApiOndeChatEngineSendMessageConstMeta,
573 + argValues: [that, message],
574 + apiImpl: this,
575 ),
429 - constMeta: kCrateApiOndeChatEngineSendMessageConstMeta,
430 - argValues: [that, message],
431 - apiImpl: this,
432 - ));
576 + );
577 }
578
579 TaskConstMeta get kCrateApiOndeChatEngineSendMessageConstMeta =>
@@ -439,25 +583,35 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
583 );
584
585 @override
442 - Future<void> crateApiOndeChatEngineSetSampling(
443 - {required OndeChatEngine that, required SamplingConfig sampling}) {
444 - return handler.executeNormal(NormalTask(
445 - callFfi: (port_) {
446 - final serializer = SseSerializer(generalizedFrbRustBinding);
447 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
448 - that, serializer);
449 - sse_encode_box_autoadd_sampling_config(sampling, serializer);
450 - pdeCallFfi(generalizedFrbRustBinding, serializer,
451 - funcId: 11, port: port_);
452 - },
453 - codec: SseCodec(
454 - decodeSuccessData: sse_decode_unit,
455 - decodeErrorData: null,
586 + Future<void> crateApiOndeChatEngineSetSampling({
587 + required OndeChatEngine that,
588 + required SamplingConfig sampling,
589 + }) {
590 + return handler.executeNormal(
591 + NormalTask(
592 + callFfi: (port_) {
593 + final serializer = SseSerializer(generalizedFrbRustBinding);
594 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
595 + that,
596 + serializer,
597 + );
598 + sse_encode_box_autoadd_sampling_config(sampling, serializer);
599 + pdeCallFfi(
600 + generalizedFrbRustBinding,
601 + serializer,
602 + funcId: 12,
603 + port: port_,
604 + );
605 + },
606 + codec: SseCodec(
607 + decodeSuccessData: sse_decode_unit,
608 + decodeErrorData: null,
609 + ),
610 + constMeta: kCrateApiOndeChatEngineSetSamplingConstMeta,
611 + argValues: [that, sampling],
612 + apiImpl: this,
613 ),
457 - constMeta: kCrateApiOndeChatEngineSetSamplingConstMeta,
458 - argValues: [that, sampling],
459 - apiImpl: this,
460 - ));
614 + );
615 }
616
617 TaskConstMeta get kCrateApiOndeChatEngineSetSamplingConstMeta =>
@@ -467,25 +621,35 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
621 );
622
623 @override
470 - Future<void> crateApiOndeChatEngineSetSystemPrompt(
471 - {required OndeChatEngine that, required String prompt}) {
472 - return handler.executeNormal(NormalTask(
473 - callFfi: (port_) {
474 - final serializer = SseSerializer(generalizedFrbRustBinding);
475 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
476 - that, serializer);
477 - sse_encode_String(prompt, serializer);
478 - pdeCallFfi(generalizedFrbRustBinding, serializer,
479 - funcId: 12, port: port_);
480 - },
481 - codec: SseCodec(
482 - decodeSuccessData: sse_decode_unit,
483 - decodeErrorData: null,
624 + Future<void> crateApiOndeChatEngineSetSystemPrompt({
625 + required OndeChatEngine that,
626 + required String prompt,
627 + }) {
628 + return handler.executeNormal(
629 + NormalTask(
630 + callFfi: (port_) {
631 + final serializer = SseSerializer(generalizedFrbRustBinding);
632 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
633 + that,
634 + serializer,
635 + );
636 + sse_encode_String(prompt, serializer);
637 + pdeCallFfi(
638 + generalizedFrbRustBinding,
639 + serializer,
640 + funcId: 13,
641 + port: port_,
642 + );
643 + },
644 + codec: SseCodec(
645 + decodeSuccessData: sse_decode_unit,
646 + decodeErrorData: null,
647 + ),
648 + constMeta: kCrateApiOndeChatEngineSetSystemPromptConstMeta,
649 + argValues: [that, prompt],
650 + apiImpl: this,
651 ),
485 - constMeta: kCrateApiOndeChatEngineSetSystemPromptConstMeta,
486 - argValues: [that, prompt],
487 - apiImpl: this,
488 - ));
652 + );
653 }
654
655 TaskConstMeta get kCrateApiOndeChatEngineSetSystemPromptConstMeta =>
@@ -495,27 +659,39 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
659 );
660
661 @override
498 - Stream<StreamChunk> crateApiOndeChatEngineStreamMessage(
499 - {required OndeChatEngine that, required String message}) {
662 + Stream<StreamChunk> crateApiOndeChatEngineStreamMessage({
663 + required OndeChatEngine that,
664 + required String message,
665 + }) {
666 final sink = RustStreamSink<StreamChunk>();
501 - unawaited(handler.executeNormal(NormalTask(
502 - callFfi: (port_) {
503 - final serializer = SseSerializer(generalizedFrbRustBinding);
504 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
505 - that, serializer);
506 - sse_encode_String(message, serializer);
507 - sse_encode_StreamSink_stream_chunk_Sse(sink, serializer);
508 - pdeCallFfi(generalizedFrbRustBinding, serializer,
509 - funcId: 13, port: port_);
510 - },
511 - codec: SseCodec(
512 - decodeSuccessData: sse_decode_unit,
513 - decodeErrorData: sse_decode_onde_error,
667 + unawaited(
668 + handler.executeNormal(
669 + NormalTask(
670 + callFfi: (port_) {
671 + final serializer = SseSerializer(generalizedFrbRustBinding);
672 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
673 + that,
674 + serializer,
675 + );
676 + sse_encode_String(message, serializer);
677 + sse_encode_StreamSink_stream_chunk_Sse(sink, serializer);
678 + pdeCallFfi(
679 + generalizedFrbRustBinding,
680 + serializer,
681 + funcId: 14,
682 + port: port_,
683 + );
684 + },
685 + codec: SseCodec(
686 + decodeSuccessData: sse_decode_unit,
687 + decodeErrorData: sse_decode_onde_error,
688 + ),
689 + constMeta: kCrateApiOndeChatEngineStreamMessageConstMeta,
690 + argValues: [that, message, sink],
691 + apiImpl: this,
692 + ),
693 ),
515 - constMeta: kCrateApiOndeChatEngineStreamMessageConstMeta,
516 - argValues: [that, message, sink],
517 - apiImpl: this,
518 - )));
694 + );
695 return sink.stream;
696 }
697
@@ -526,24 +702,33 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
702 );
703
704 @override
529 - Future<String?> crateApiOndeChatEngineUnloadModel(
530 - {required OndeChatEngine that}) {
531 - return handler.executeNormal(NormalTask(
532 - callFfi: (port_) {
533 - final serializer = SseSerializer(generalizedFrbRustBinding);
534 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
535 - that, serializer);
536 - pdeCallFfi(generalizedFrbRustBinding, serializer,
537 - funcId: 14, port: port_);
538 - },
539 - codec: SseCodec(
540 - decodeSuccessData: sse_decode_opt_String,
541 - decodeErrorData: null,
705 + Future<String?> crateApiOndeChatEngineUnloadModel({
706 + required OndeChatEngine that,
707 + }) {
708 + return handler.executeNormal(
709 + NormalTask(
710 + callFfi: (port_) {
711 + final serializer = SseSerializer(generalizedFrbRustBinding);
712 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
713 + that,
714 + serializer,
715 + );
716 + pdeCallFfi(
717 + generalizedFrbRustBinding,
718 + serializer,
719 + funcId: 15,
720 + port: port_,
721 + );
722 + },
723 + codec: SseCodec(
724 + decodeSuccessData: sse_decode_opt_String,
725 + decodeErrorData: null,
726 + ),
727 + constMeta: kCrateApiOndeChatEngineUnloadModelConstMeta,
728 + argValues: [that],
729 + apiImpl: this,
730 ),
543 - constMeta: kCrateApiOndeChatEngineUnloadModelConstMeta,
544 - argValues: [that],
545 - apiImpl: this,
546 - ));
731 + );
732 }
733
734 TaskConstMeta get kCrateApiOndeChatEngineUnloadModelConstMeta =>
@@ -554,87 +739,90 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
739
740 @override
741 void crateApiConfigureCacheDir({required String appDataDir}) {
557 - return handler.executeSync(SyncTask(
558 - callFfi: () {
559 - final serializer = SseSerializer(generalizedFrbRustBinding);
560 - sse_encode_String(appDataDir, serializer);
561 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 15)!;
562 - },
563 - codec: SseCodec(
564 - decodeSuccessData: sse_decode_unit,
565 - decodeErrorData: sse_decode_onde_error,
742 + return handler.executeSync(
743 + SyncTask(
744 + callFfi: () {
745 + final serializer = SseSerializer(generalizedFrbRustBinding);
746 + sse_encode_String(appDataDir, serializer);
747 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 16)!;
748 + },
749 + codec: SseCodec(
750 + decodeSuccessData: sse_decode_unit,
751 + decodeErrorData: sse_decode_onde_error,
752 + ),
753 + constMeta: kCrateApiConfigureCacheDirConstMeta,
754 + argValues: [appDataDir],
755 + apiImpl: this,
756 ),
567 - constMeta: kCrateApiConfigureCacheDirConstMeta,
568 - argValues: [appDataDir],
569 - apiImpl: this,
570 - ));
757 + );
758 }
759
760 TaskConstMeta get kCrateApiConfigureCacheDirConstMeta => const TaskConstMeta(
574 - debugName: "configure_cache_dir",
575 - argNames: ["appDataDir"],
576 - );
761 + debugName: "configure_cache_dir",
762 + argNames: ["appDataDir"],
763 + );
764
765 @override
766 GgufModelConfig crateApiDefaultModelConfig() {
580 - return handler.executeSync(SyncTask(
581 - callFfi: () {
582 - final serializer = SseSerializer(generalizedFrbRustBinding);
583 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 16)!;
584 - },
585 - codec: SseCodec(
586 - decodeSuccessData: sse_decode_gguf_model_config,
587 - decodeErrorData: null,
767 + return handler.executeSync(
768 + SyncTask(
769 + callFfi: () {
770 + final serializer = SseSerializer(generalizedFrbRustBinding);
771 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 17)!;
772 + },
773 + codec: SseCodec(
774 + decodeSuccessData: sse_decode_gguf_model_config,
775 + decodeErrorData: null,
776 + ),
777 + constMeta: kCrateApiDefaultModelConfigConstMeta,
778 + argValues: [],
779 + apiImpl: this,
780 ),
589 - constMeta: kCrateApiDefaultModelConfigConstMeta,
590 - argValues: [],
591 - apiImpl: this,
592 - ));
781 + );
782 }
783
595 - TaskConstMeta get kCrateApiDefaultModelConfigConstMeta => const TaskConstMeta(
596 - debugName: "default_model_config",
597 - argNames: [],
598 - );
784 + TaskConstMeta get kCrateApiDefaultModelConfigConstMeta =>
785 + const TaskConstMeta(debugName: "default_model_config", argNames: []);
786
787 @override
788 SamplingConfig crateApiDefaultSamplingConfig() {
602 - return handler.executeSync(SyncTask(
603 - callFfi: () {
604 - final serializer = SseSerializer(generalizedFrbRustBinding);
605 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 17)!;
606 - },
607 - codec: SseCodec(
608 - decodeSuccessData: sse_decode_sampling_config,
609 - decodeErrorData: null,
789 + return handler.executeSync(
790 + SyncTask(
791 + callFfi: () {
792 + final serializer = SseSerializer(generalizedFrbRustBinding);
793 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 18)!;
794 + },
795 + codec: SseCodec(
796 + decodeSuccessData: sse_decode_sampling_config,
797 + decodeErrorData: null,
798 + ),
799 + constMeta: kCrateApiDefaultSamplingConfigConstMeta,
800 + argValues: [],
801 + apiImpl: this,
802 ),
611 - constMeta: kCrateApiDefaultSamplingConfigConstMeta,
612 - argValues: [],
613 - apiImpl: this,
614 - ));
803 + );
804 }
805
806 TaskConstMeta get kCrateApiDefaultSamplingConfigConstMeta =>
618 - const TaskConstMeta(
619 - debugName: "default_sampling_config",
620 - argNames: [],
621 - );
807 + const TaskConstMeta(debugName: "default_sampling_config", argNames: []);
808
809 @override
810 SamplingConfig crateApiDeterministicSamplingConfig() {
625 - return handler.executeSync(SyncTask(
626 - callFfi: () {
627 - final serializer = SseSerializer(generalizedFrbRustBinding);
628 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 18)!;
629 - },
630 - codec: SseCodec(
631 - decodeSuccessData: sse_decode_sampling_config,
632 - decodeErrorData: null,
811 + return handler.executeSync(
812 + SyncTask(
813 + callFfi: () {
814 + final serializer = SseSerializer(generalizedFrbRustBinding);
815 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 19)!;
816 + },
817 + codec: SseCodec(
818 + decodeSuccessData: sse_decode_sampling_config,
819 + decodeErrorData: null,
820 + ),
821 + constMeta: kCrateApiDeterministicSamplingConfigConstMeta,
822 + argValues: [],
823 + apiImpl: this,
824 ),
634 - constMeta: kCrateApiDeterministicSamplingConfigConstMeta,
635 - argValues: [],
636 - apiImpl: this,
637 - ));
825 + );
826 }
827
828 TaskConstMeta get kCrateApiDeterministicSamplingConfigConstMeta =>
@@ -645,124 +833,121 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
833
834 @override
835 SamplingConfig crateApiMobileSamplingConfig() {
648 - return handler.executeSync(SyncTask(
649 - callFfi: () {
650 - final serializer = SseSerializer(generalizedFrbRustBinding);
651 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 19)!;
652 - },
653 - codec: SseCodec(
654 - decodeSuccessData: sse_decode_sampling_config,
655 - decodeErrorData: null,
836 + return handler.executeSync(
837 + SyncTask(
838 + callFfi: () {
839 + final serializer = SseSerializer(generalizedFrbRustBinding);
840 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 20)!;
841 + },
842 + codec: SseCodec(
843 + decodeSuccessData: sse_decode_sampling_config,
844 + decodeErrorData: null,
845 + ),
846 + constMeta: kCrateApiMobileSamplingConfigConstMeta,
847 + argValues: [],
848 + apiImpl: this,
849 ),
657 - constMeta: kCrateApiMobileSamplingConfigConstMeta,
658 - argValues: [],
659 - apiImpl: this,
660 - ));
850 + );
851 }
852
853 TaskConstMeta get kCrateApiMobileSamplingConfigConstMeta =>
664 - const TaskConstMeta(
665 - debugName: "mobile_sampling_config",
666 - argNames: [],
667 - );
854 + const TaskConstMeta(debugName: "mobile_sampling_config", argNames: []);
855
856 @override
857 GgufModelConfig crateApiQwen2515BConfig() {
671 - return handler.executeSync(SyncTask(
672 - callFfi: () {
673 - final serializer = SseSerializer(generalizedFrbRustBinding);
674 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 20)!;
675 - },
676 - codec: SseCodec(
677 - decodeSuccessData: sse_decode_gguf_model_config,
678 - decodeErrorData: null,
858 + return handler.executeSync(
859 + SyncTask(
860 + callFfi: () {
861 + final serializer = SseSerializer(generalizedFrbRustBinding);
862 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 21)!;
863 + },
864 + codec: SseCodec(
865 + decodeSuccessData: sse_decode_gguf_model_config,
866 + decodeErrorData: null,
867 + ),
868 + constMeta: kCrateApiQwen2515BConfigConstMeta,
869 + argValues: [],
870 + apiImpl: this,
871 ),
680 - constMeta: kCrateApiQwen2515BConfigConstMeta,
681 - argValues: [],
682 - apiImpl: this,
683 - ));
872 + );
873 }
874
686 - TaskConstMeta get kCrateApiQwen2515BConfigConstMeta => const TaskConstMeta(
687 - debugName: "qwen25_1_5b_config",
688 - argNames: [],
689 - );
875 + TaskConstMeta get kCrateApiQwen2515BConfigConstMeta =>
876 + const TaskConstMeta(debugName: "qwen25_1_5b_config", argNames: []);
877
878 @override
879 GgufModelConfig crateApiQwen253BConfig() {
693 - return handler.executeSync(SyncTask(
694 - callFfi: () {
695 - final serializer = SseSerializer(generalizedFrbRustBinding);
696 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 21)!;
697 - },
698 - codec: SseCodec(
699 - decodeSuccessData: sse_decode_gguf_model_config,
700 - decodeErrorData: null,
880 + return handler.executeSync(
881 + SyncTask(
882 + callFfi: () {
883 + final serializer = SseSerializer(generalizedFrbRustBinding);
884 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 22)!;
885 + },
886 + codec: SseCodec(
887 + decodeSuccessData: sse_decode_gguf_model_config,
888 + decodeErrorData: null,
889 + ),
890 + constMeta: kCrateApiQwen253BConfigConstMeta,
891 + argValues: [],
892 + apiImpl: this,
893 ),
702 - constMeta: kCrateApiQwen253BConfigConstMeta,
703 - argValues: [],
704 - apiImpl: this,
705 - ));
894 + );
895 }
896
708 - TaskConstMeta get kCrateApiQwen253BConfigConstMeta => const TaskConstMeta(
709 - debugName: "qwen25_3b_config",
710 - argNames: [],
711 - );
897 + TaskConstMeta get kCrateApiQwen253BConfigConstMeta =>
898 + const TaskConstMeta(debugName: "qwen25_3b_config", argNames: []);
899
900 @override
901 GgufModelConfig crateApiQwen25Coder15BConfig() {
715 - return handler.executeSync(SyncTask(
716 - callFfi: () {
717 - final serializer = SseSerializer(generalizedFrbRustBinding);
718 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 22)!;
719 - },
720 - codec: SseCodec(
721 - decodeSuccessData: sse_decode_gguf_model_config,
722 - decodeErrorData: null,
902 + return handler.executeSync(
903 + SyncTask(
904 + callFfi: () {
905 + final serializer = SseSerializer(generalizedFrbRustBinding);
906 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 23)!;
907 + },
908 + codec: SseCodec(
909 + decodeSuccessData: sse_decode_gguf_model_config,
910 + decodeErrorData: null,
911 + ),
912 + constMeta: kCrateApiQwen25Coder15BConfigConstMeta,
913 + argValues: [],
914 + apiImpl: this,
915 ),
724 - constMeta: kCrateApiQwen25Coder15BConfigConstMeta,
725 - argValues: [],
726 - apiImpl: this,
727 - ));
916 + );
917 }
918
919 TaskConstMeta get kCrateApiQwen25Coder15BConfigConstMeta =>
731 - const TaskConstMeta(
732 - debugName: "qwen25_coder_1_5b_config",
733 - argNames: [],
734 - );
920 + const TaskConstMeta(debugName: "qwen25_coder_1_5b_config", argNames: []);
921
922 @override
923 GgufModelConfig crateApiQwen25Coder3BConfig() {
738 - return handler.executeSync(SyncTask(
739 - callFfi: () {
740 - final serializer = SseSerializer(generalizedFrbRustBinding);
741 - return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 23)!;
742 - },
743 - codec: SseCodec(
744 - decodeSuccessData: sse_decode_gguf_model_config,
745 - decodeErrorData: null,
924 + return handler.executeSync(
925 + SyncTask(
926 + callFfi: () {
927 + final serializer = SseSerializer(generalizedFrbRustBinding);
928 + return pdeCallFfi(generalizedFrbRustBinding, serializer, funcId: 24)!;
929 + },
930 + codec: SseCodec(
931 + decodeSuccessData: sse_decode_gguf_model_config,
932 + decodeErrorData: null,
933 + ),
934 + constMeta: kCrateApiQwen25Coder3BConfigConstMeta,
935 + argValues: [],
936 + apiImpl: this,
937 ),
747 - constMeta: kCrateApiQwen25Coder3BConfigConstMeta,
748 - argValues: [],
749 - apiImpl: this,
750 - ));
938 + );
939 }
940
941 TaskConstMeta get kCrateApiQwen25Coder3BConfigConstMeta =>
754 - const TaskConstMeta(
755 - debugName: "qwen25_coder_3b_config",
756 - argNames: [],
757 - );
942 + const TaskConstMeta(debugName: "qwen25_coder_3b_config", argNames: []);
943
944 RustArcIncrementStrongCountFnType
760 - get rust_arc_increment_strong_count_OndeChatEngine => wire
761 - .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine;
945 + get rust_arc_increment_strong_count_OndeChatEngine => wire
946 + .rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine;
947
948 RustArcDecrementStrongCountFnType
764 - get rust_arc_decrement_strong_count_OndeChatEngine => wire
765 - .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine;
949 + get rust_arc_decrement_strong_count_OndeChatEngine => wire
950 + .rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine;
951
952 @protected
953 AnyhowException dco_decode_AnyhowException(dynamic raw) {
@@ -772,31 +957,35 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
957
958 @protected
959 OndeChatEngine
775 - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
776 - dynamic raw) {
960 + dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
961 + dynamic raw,
962 + ) {
963 // Codec=Dco (DartCObject based), see doc to use other codecs
964 return OndeChatEngineImpl.frbInternalDcoDecode(raw as List<dynamic>);
965 }
966
967 @protected
968 OndeChatEngine
783 - dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
784 - dynamic raw) {
969 + dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
970 + dynamic raw,
971 + ) {
972 // Codec=Dco (DartCObject based), see doc to use other codecs
973 return OndeChatEngineImpl.frbInternalDcoDecode(raw as List<dynamic>);
974 }
975
976 @protected
977 OndeChatEngine
791 - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
792 - dynamic raw) {
978 + dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
979 + dynamic raw,
980 + ) {
981 // Codec=Dco (DartCObject based), see doc to use other codecs
982 return OndeChatEngineImpl.frbInternalDcoDecode(raw as List<dynamic>);
983 }
984
985 @protected
986 RustStreamSink<StreamChunk> dco_decode_StreamSink_stream_chunk_Sse(
799 - dynamic raw) {
987 + dynamic raw,
988 + ) {
989 // Codec=Dco (DartCObject based), see doc to use other codecs
990 throw UnimplementedError();
991 }
@@ -924,13 +1113,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1113 InferenceResult dco_decode_inference_result(dynamic raw) {
1114 // Codec=Dco (DartCObject based), see doc to use other codecs
1115 final arr = raw as List<dynamic>;
927 - if (arr.length != 4)
928 - throw Exception('unexpected arr length: expect 4 but see ${arr.length}');
1116 + if (arr.length != 5)
1117 + throw Exception('unexpected arr length: expect 5 but see ${arr.length}');
1118 return InferenceResult(
1119 text: dco_decode_String(arr[0]),
1120 durationSecs: dco_decode_f_64(arr[1]),
1121 durationDisplay: dco_decode_String(arr[2]),
1122 finishReason: dco_decode_String(arr[3]),
1123 + toolCalls: dco_decode_list_tool_call_info(arr[4]),
1124 );
1125 }
1126
@@ -952,6 +1142,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1142 return raw as Uint8List;
1143 }
1144
1145 + @protected
1146 + List<ToolCallInfo> dco_decode_list_tool_call_info(dynamic raw) {
1147 + // Codec=Dco (DartCObject based), see doc to use other codecs
1148 + return (raw as List<dynamic>).map(dco_decode_tool_call_info).toList();
1149 + }
1150 +
1151 @protected
1152 OndeError dco_decode_onde_error(dynamic raw) {
1153 // Codec=Dco (DartCObject based), see doc to use other codecs
@@ -959,23 +1155,15 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1155 case 0:
1156 return OndeError_NoModelLoaded();
1157 case 1:
962 - return OndeError_AlreadyLoaded(
963 - modelName: dco_decode_String(raw[1]),
964 - );
1158 + return OndeError_AlreadyLoaded(modelName: dco_decode_String(raw[1]));
1159 case 2:
966 - return OndeError_ModelBuild(
967 - reason: dco_decode_String(raw[1]),
968 - );
1160 + return OndeError_ModelBuild(reason: dco_decode_String(raw[1]));
1161 case 3:
970 - return OndeError_Inference(
971 - reason: dco_decode_String(raw[1]),
972 - );
1162 + return OndeError_Inference(reason: dco_decode_String(raw[1]));
1163 case 4:
1164 return OndeError_Cancelled();
1165 case 5:
976 - return OndeError_Other(
977 - reason: dco_decode_String(raw[1]),
978 - );
1166 + return OndeError_Other(reason: dco_decode_String(raw[1]));
1167 default:
1168 throw Exception("unreachable");
1169 }
@@ -1041,6 +1229,19 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1229 );
1230 }
1231
1232 + @protected
1233 + ToolCallInfo dco_decode_tool_call_info(dynamic raw) {
1234 + // Codec=Dco (DartCObject based), see doc to use other codecs
1235 + final arr = raw as List<dynamic>;
1236 + if (arr.length != 3)
1237 + throw Exception('unexpected arr length: expect 3 but see ${arr.length}');
1238 + return ToolCallInfo(
1239 + id: dco_decode_String(arr[0]),
1240 + functionName: dco_decode_String(arr[1]),
1241 + arguments: dco_decode_String(arr[2]),
1242 + );
1243 + }
1244 +
1245 @protected
1246 BigInt dco_decode_u_64(dynamic raw) {
1247 // Codec=Dco (DartCObject based), see doc to use other codecs
@@ -1074,34 +1275,44 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1275
1276 @protected
1277 OndeChatEngine
1077 - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1078 - SseDeserializer deserializer) {
1278 + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1279 + SseDeserializer deserializer,
1280 + ) {
1281 // Codec=Sse (Serialization based), see doc to use other codecs
1282 return OndeChatEngineImpl.frbInternalSseDecode(
1081 - sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
1283 + sse_decode_usize(deserializer),
1284 + sse_decode_i_32(deserializer),
1285 + );
1286 }
1287
1288 @protected
1289 OndeChatEngine
1086 - sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1087 - SseDeserializer deserializer) {
1290 + sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1291 + SseDeserializer deserializer,
1292 + ) {
1293 // Codec=Sse (Serialization based), see doc to use other codecs
1294 return OndeChatEngineImpl.frbInternalSseDecode(
1090 - sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
1295 + sse_decode_usize(deserializer),
1296 + sse_decode_i_32(deserializer),
1297 + );
1298 }
1299
1300 @protected
1301 OndeChatEngine
1095 - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1096 - SseDeserializer deserializer) {
1302 + sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1303 + SseDeserializer deserializer,
1304 + ) {
1305 // Codec=Sse (Serialization based), see doc to use other codecs
1306 return OndeChatEngineImpl.frbInternalSseDecode(
1099 - sse_decode_usize(deserializer), sse_decode_i_32(deserializer));
1307 + sse_decode_usize(deserializer),
1308 + sse_decode_i_32(deserializer),
1309 + );
1310 }
1311
1312 @protected
1313 RustStreamSink<StreamChunk> sse_decode_StreamSink_stream_chunk_Sse(
1104 - SseDeserializer deserializer) {
1314 + SseDeserializer deserializer,
1315 + ) {
1316 // Codec=Sse (Serialization based), see doc to use other codecs
1317 throw UnimplementedError('Unreachable ()');
1318 }
@@ -1121,7 +1332,8 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1332
1333 @protected
1334 ChatMessage sse_decode_box_autoadd_chat_message(
1124 - SseDeserializer deserializer) {
1335 + SseDeserializer deserializer,
1336 + ) {
1337 // Codec=Sse (Serialization based), see doc to use other codecs
1338 return (sse_decode_chat_message(deserializer));
1339 }
@@ -1140,14 +1352,16 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1352
1353 @protected
1354 GgufModelConfig sse_decode_box_autoadd_gguf_model_config(
1143 - SseDeserializer deserializer) {
1355 + SseDeserializer deserializer,
1356 + ) {
1357 // Codec=Sse (Serialization based), see doc to use other codecs
1358 return (sse_decode_gguf_model_config(deserializer));
1359 }
1360
1361 @protected
1362 SamplingConfig sse_decode_box_autoadd_sampling_config(
1150 - SseDeserializer deserializer) {
1363 + SseDeserializer deserializer,
1364 + ) {
1365 // Codec=Sse (Serialization based), see doc to use other codecs
1366 return (sse_decode_sampling_config(deserializer));
1367 }
@@ -1181,10 +1395,11 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1395 var var_approxMemory = sse_decode_opt_String(deserializer);
1396 var var_historyLength = sse_decode_u_64(deserializer);
1397 return EngineInfo(
1184 - status: var_status,
1185 - modelName: var_modelName,
1186 - approxMemory: var_approxMemory,
1187 - historyLength: var_historyLength);
1398 + status: var_status,
1399 + modelName: var_modelName,
1400 + approxMemory: var_approxMemory,
1401 + historyLength: var_historyLength,
1402 + );
1403 }
1404
1405 @protected
@@ -1215,11 +1430,12 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1430 var var_displayName = sse_decode_String(deserializer);
1431 var var_approxMemory = sse_decode_String(deserializer);
1432 return GgufModelConfig(
1218 - modelId: var_modelId,
1219 - files: var_files,
1220 - tokModelId: var_tokModelId,
1221 - displayName: var_displayName,
1222 - approxMemory: var_approxMemory);
1433 + modelId: var_modelId,
1434 + files: var_files,
1435 + tokModelId: var_tokModelId,
1436 + displayName: var_displayName,
1437 + approxMemory: var_approxMemory,
1438 + );
1439 }
1440
1441 @protected
@@ -1235,11 +1451,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1451 var var_durationSecs = sse_decode_f_64(deserializer);
1452 var var_durationDisplay = sse_decode_String(deserializer);
1453 var var_finishReason = sse_decode_String(deserializer);
1454 + var var_toolCalls = sse_decode_list_tool_call_info(deserializer);
1455 return InferenceResult(
1239 - text: var_text,
1240 - durationSecs: var_durationSecs,
1241 - durationDisplay: var_durationDisplay,
1242 - finishReason: var_finishReason);
1456 + text: var_text,
1457 + durationSecs: var_durationSecs,
1458 + durationDisplay: var_durationDisplay,
1459 + finishReason: var_finishReason,
1460 + toolCalls: var_toolCalls,
1461 + );
1462 }
1463
1464 @protected
@@ -1273,6 +1492,20 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1492 return deserializer.buffer.getUint8List(len_);
1493 }
1494
1495 + @protected
1496 + List<ToolCallInfo> sse_decode_list_tool_call_info(
1497 + SseDeserializer deserializer,
1498 + ) {
1499 + // Codec=Sse (Serialization based), see doc to use other codecs
1500 +
1501 + var len_ = sse_decode_i_32(deserializer);
1502 + var ans_ = <ToolCallInfo>[];
1503 + for (var idx_ = 0; idx_ < len_; ++idx_) {
1504 + ans_.add(sse_decode_tool_call_info(deserializer));
1505 + }
1506 + return ans_;
1507 + }
1508 +
1509 @protected
1510 OndeError sse_decode_onde_error(SseDeserializer deserializer) {
1511 // Codec=Sse (Serialization based), see doc to use other codecs
@@ -1335,7 +1568,8 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1568
1569 @protected
1570 SamplingConfig? sse_decode_opt_box_autoadd_sampling_config(
1338 - SseDeserializer deserializer) {
1571 + SseDeserializer deserializer,
1572 + ) {
1573 // Codec=Sse (Serialization based), see doc to use other codecs
1574
1575 if (sse_decode_bool(deserializer)) {
@@ -1367,13 +1601,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1601 var var_frequencyPenalty = sse_decode_opt_box_autoadd_f_32(deserializer);
1602 var var_presencePenalty = sse_decode_opt_box_autoadd_f_32(deserializer);
1603 return SamplingConfig(
1370 - temperature: var_temperature,
1371 - topP: var_topP,
1372 - topK: var_topK,
1373 - minP: var_minP,
1374 - maxTokens: var_maxTokens,
1375 - frequencyPenalty: var_frequencyPenalty,
1376 - presencePenalty: var_presencePenalty);
1604 + temperature: var_temperature,
1605 + topP: var_topP,
1606 + topK: var_topK,
1607 + minP: var_minP,
1608 + maxTokens: var_maxTokens,
1609 + frequencyPenalty: var_frequencyPenalty,
1610 + presencePenalty: var_presencePenalty,
1611 + );
1612 }
1613
1614 @protected
@@ -1383,7 +1618,23 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1618 var var_done = sse_decode_bool(deserializer);
1619 var var_finishReason = sse_decode_opt_String(deserializer);
1620 return StreamChunk(
1386 - delta: var_delta, done: var_done, finishReason: var_finishReason);
1621 + delta: var_delta,
1622 + done: var_done,
1623 + finishReason: var_finishReason,
1624 + );
1625 + }
1626 +
1627 + @protected
1628 + ToolCallInfo sse_decode_tool_call_info(SseDeserializer deserializer) {
1629 + // Codec=Sse (Serialization based), see doc to use other codecs
1630 + var var_id = sse_decode_String(deserializer);
1631 + var var_functionName = sse_decode_String(deserializer);
1632 + var var_arguments = sse_decode_String(deserializer);
1633 + return ToolCallInfo(
1634 + id: var_id,
1635 + functionName: var_functionName,
1636 + arguments: var_arguments,
1637 + );
1638 }
1639
1640 @protected
@@ -1411,52 +1662,67 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1662
1663 @protected
1664 void sse_encode_AnyhowException(
1414 - AnyhowException self, SseSerializer serializer) {
1665 + AnyhowException self,
1666 + SseSerializer serializer,
1667 + ) {
1668 // Codec=Sse (Serialization based), see doc to use other codecs
1669 sse_encode_String(self.message, serializer);
1670 }
1671
1672 @protected
1673 void
1421 - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1422 - OndeChatEngine self, SseSerializer serializer) {
1674 + sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1675 + OndeChatEngine self,
1676 + SseSerializer serializer,
1677 + ) {
1678 // Codec=Sse (Serialization based), see doc to use other codecs
1679 sse_encode_usize(
1425 - (self as OndeChatEngineImpl).frbInternalSseEncode(move: true),
1426 - serializer);
1680 + (self as OndeChatEngineImpl).frbInternalSseEncode(move: true),
1681 + serializer,
1682 + );
1683 }
1684
1685 @protected
1686 void
1431 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1432 - OndeChatEngine self, SseSerializer serializer) {
1687 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1688 + OndeChatEngine self,
1689 + SseSerializer serializer,
1690 + ) {
1691 // Codec=Sse (Serialization based), see doc to use other codecs
1692 sse_encode_usize(
1435 - (self as OndeChatEngineImpl).frbInternalSseEncode(move: false),
1436 - serializer);
1693 + (self as OndeChatEngineImpl).frbInternalSseEncode(move: false),
1694 + serializer,
1695 + );
1696 }
1697
1698 @protected
1699 void
1441 - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1442 - OndeChatEngine self, SseSerializer serializer) {
1700 + sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
1701 + OndeChatEngine self,
1702 + SseSerializer serializer,
1703 + ) {
1704 // Codec=Sse (Serialization based), see doc to use other codecs
1705 sse_encode_usize(
1445 - (self as OndeChatEngineImpl).frbInternalSseEncode(move: null),
1446 - serializer);
1706 + (self as OndeChatEngineImpl).frbInternalSseEncode(move: null),
1707 + serializer,
1708 + );
1709 }
1710
1711 @protected
1712 void sse_encode_StreamSink_stream_chunk_Sse(
1451 - RustStreamSink<StreamChunk> self, SseSerializer serializer) {
1713 + RustStreamSink<StreamChunk> self,
1714 + SseSerializer serializer,
1715 + ) {
1716 // Codec=Sse (Serialization based), see doc to use other codecs
1717 sse_encode_String(
1454 - self.setupAndSerialize(
1455 - codec: SseCodec(
1718 + self.setupAndSerialize(
1719 + codec: SseCodec(
1720 decodeSuccessData: sse_decode_stream_chunk,
1721 decodeErrorData: sse_decode_AnyhowException,
1458 - )),
1459 - serializer);
1722 + ),
1723 + ),
1724 + serializer,
1725 + );
1726 }
1727
1728 @protected
@@ -1473,7 +1739,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1739
1740 @protected
1741 void sse_encode_box_autoadd_chat_message(
1476 - ChatMessage self, SseSerializer serializer) {
1742 + ChatMessage self,
1743 + SseSerializer serializer,
1744 + ) {
1745 // Codec=Sse (Serialization based), see doc to use other codecs
1746 sse_encode_chat_message(self, serializer);
1747 }
@@ -1492,14 +1760,18 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1760
1761 @protected
1762 void sse_encode_box_autoadd_gguf_model_config(
1495 - GgufModelConfig self, SseSerializer serializer) {
1763 + GgufModelConfig self,
1764 + SseSerializer serializer,
1765 + ) {
1766 // Codec=Sse (Serialization based), see doc to use other codecs
1767 sse_encode_gguf_model_config(self, serializer);
1768 }
1769
1770 @protected
1771 void sse_encode_box_autoadd_sampling_config(
1502 - SamplingConfig self, SseSerializer serializer) {
1772 + SamplingConfig self,
1773 + SseSerializer serializer,
1774 + ) {
1775 // Codec=Sse (Serialization based), see doc to use other codecs
1776 sse_encode_sampling_config(self, serializer);
1777 }
@@ -1552,7 +1824,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1824
1825 @protected
1826 void sse_encode_gguf_model_config(
1555 - GgufModelConfig self, SseSerializer serializer) {
1827 + GgufModelConfig self,
1828 + SseSerializer serializer,
1829 + ) {
1830 // Codec=Sse (Serialization based), see doc to use other codecs
1831 sse_encode_String(self.modelId, serializer);
1832 sse_encode_list_String(self.files, serializer);
@@ -1569,12 +1843,15 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1843
1844 @protected
1845 void sse_encode_inference_result(
1572 - InferenceResult self, SseSerializer serializer) {
1846 + InferenceResult self,
1847 + SseSerializer serializer,
1848 + ) {
1849 // Codec=Sse (Serialization based), see doc to use other codecs
1850 sse_encode_String(self.text, serializer);
1851 sse_encode_f_64(self.durationSecs, serializer);
1852 sse_encode_String(self.durationDisplay, serializer);
1853 sse_encode_String(self.finishReason, serializer);
1854 + sse_encode_list_tool_call_info(self.toolCalls, serializer);
1855 }
1856
1857 @protected
@@ -1588,7 +1865,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1865
1866 @protected
1867 void sse_encode_list_chat_message(
1591 - List<ChatMessage> self, SseSerializer serializer) {
1868 + List<ChatMessage> self,
1869 + SseSerializer serializer,
1870 + ) {
1871 // Codec=Sse (Serialization based), see doc to use other codecs
1872 sse_encode_i_32(self.length, serializer);
1873 for (final item in self) {
@@ -1598,12 +1877,26 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1877
1878 @protected
1879 void sse_encode_list_prim_u_8_strict(
1601 - Uint8List self, SseSerializer serializer) {
1880 + Uint8List self,
1881 + SseSerializer serializer,
1882 + ) {
1883 // Codec=Sse (Serialization based), see doc to use other codecs
1884 sse_encode_i_32(self.length, serializer);
1885 serializer.buffer.putUint8List(self);
1886 }
1887
1888 + @protected
1889 + void sse_encode_list_tool_call_info(
1890 + List<ToolCallInfo> self,
1891 + SseSerializer serializer,
1892 + ) {
1893 + // Codec=Sse (Serialization based), see doc to use other codecs
1894 + sse_encode_i_32(self.length, serializer);
1895 + for (final item in self) {
1896 + sse_encode_tool_call_info(item, serializer);
1897 + }
1898 + }
1899 +
1900 @protected
1901 void sse_encode_onde_error(OndeError self, SseSerializer serializer) {
1902 // Codec=Sse (Serialization based), see doc to use other codecs
@@ -1659,7 +1952,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1952
1953 @protected
1954 void sse_encode_opt_box_autoadd_sampling_config(
1662 - SamplingConfig? self, SseSerializer serializer) {
1955 + SamplingConfig? self,
1956 + SseSerializer serializer,
1957 + ) {
1958 // Codec=Sse (Serialization based), see doc to use other codecs
1959
1960 sse_encode_bool(self != null, serializer);
@@ -1680,7 +1975,9 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1975
1976 @protected
1977 void sse_encode_sampling_config(
1683 - SamplingConfig self, SseSerializer serializer) {
1978 + SamplingConfig self,
1979 + SseSerializer serializer,
1980 + ) {
1981 // Codec=Sse (Serialization based), see doc to use other codecs
1982 sse_encode_opt_box_autoadd_f_64(self.temperature, serializer);
1983 sse_encode_opt_box_autoadd_f_64(self.topP, serializer);
@@ -1699,6 +1996,14 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
1996 sse_encode_opt_String(self.finishReason, serializer);
1997 }
1998
1999 + @protected
2000 + void sse_encode_tool_call_info(ToolCallInfo self, SseSerializer serializer) {
2001 + // Codec=Sse (Serialization based), see doc to use other codecs
2002 + sse_encode_String(self.id, serializer);
2003 + sse_encode_String(self.functionName, serializer);
2004 + sse_encode_String(self.arguments, serializer);
2005 + }
2006 +
2007 @protected
2008 void sse_encode_u_64(BigInt self, SseSerializer serializer) {
2009 // Codec=Sse (Serialization based), see doc to use other codecs
@@ -1727,11 +2032,11 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
2032 class OndeChatEngineImpl extends RustOpaque implements OndeChatEngine {
2033 // Not to be used by end users
2034 OndeChatEngineImpl.frbInternalDcoDecode(List<dynamic> wire)
1730 - : super.frbInternalDcoDecode(wire, _kStaticData);
2035 + : super.frbInternalDcoDecode(wire, _kStaticData);
2036
2037 // Not to be used by end users
2038 OndeChatEngineImpl.frbInternalSseDecode(BigInt ptr, int externalSizeOnNative)
1734 - : super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData);
2039 + : super.frbInternalSseDecode(ptr, externalSizeOnNative, _kStaticData);
2040
2041 static final _kStaticData = RustArcStaticData(
2042 rustArcIncrementStrongCount:
@@ -1746,73 +2051,88 @@ class OndeChatEngineImpl extends RustOpaque implements OndeChatEngine {
2051 ///
2052 /// Returns the number of turns that were removed.
2053 Future<BigInt> clearHistory() =>
1749 - RustLib.instance.api.crateApiOndeChatEngineClearHistory(
1750 - that: this,
1751 - );
2054 + RustLib.instance.api.crateApiOndeChatEngineClearHistory(that: this);
2055
2056 /// Clear the current system prompt.
2057 Future<void> clearSystemPrompt() =>
1755 - RustLib.instance.api.crateApiOndeChatEngineClearSystemPrompt(
1756 - that: this,
1757 - );
2058 + RustLib.instance.api.crateApiOndeChatEngineClearSystemPrompt(that: this);
2059
2060 /// One-shot generation from an explicit message list.
2061 ///
2062 /// Does **not** modify the conversation history.
1762 - Future<InferenceResult> generate(
1763 - {required List<ChatMessage> messages, SamplingConfig? sampling}) =>
1764 - RustLib.instance.api.crateApiOndeChatEngineGenerate(
1765 - that: this, messages: messages, sampling: sampling);
2063 + Future<InferenceResult> generate({
2064 + required List<ChatMessage> messages,
2065 + SamplingConfig? sampling,
2066 + }) => RustLib.instance.api.crateApiOndeChatEngineGenerate(
2067 + that: this,
2068 + messages: messages,
2069 + sampling: sampling,
2070 + );
2071
2072 /// Returns a clone of the full conversation history.
2073 Future<List<ChatMessage>> history() =>
1769 - RustLib.instance.api.crateApiOndeChatEngineHistory(
1770 - that: this,
1771 - );
2074 + RustLib.instance.api.crateApiOndeChatEngineHistory(that: this);
2075
2076 /// Returns a point-in-time snapshot of the engine's state.
1774 - Future<EngineInfo> info() => RustLib.instance.api.crateApiOndeChatEngineInfo(
1775 - that: this,
1776 - );
2077 + Future<EngineInfo> info() =>
2078 + RustLib.instance.api.crateApiOndeChatEngineInfo(that: this);
2079
2080 /// Returns `true` if a model is currently loaded and ready.
2081 Future<bool> isLoaded() =>
1780 - RustLib.instance.api.crateApiOndeChatEngineIsLoaded(
1781 - that: this,
1782 - );
2082 + RustLib.instance.api.crateApiOndeChatEngineIsLoaded(that: this);
2083 +
2084 + /// Load the model assigned to this Onde app from the dashboard.
2085 + ///
2086 + /// Returns the wall-clock seconds taken to load the model.
2087 + Future<double> loadAssignedModel({
2088 + required String appId,
2089 + required String appSecret,
2090 + String? systemPrompt,
2091 + SamplingConfig? sampling,
2092 + }) => RustLib.instance.api.crateApiOndeChatEngineLoadAssignedModel(
2093 + that: this,
2094 + appId: appId,
2095 + appSecret: appSecret,
2096 + systemPrompt: systemPrompt,
2097 + sampling: sampling,
2098 + );
2099
2100 /// Load a GGUF model into the engine.
2101 ///
2102 /// Returns the load duration in seconds on success.
1787 - Future<double> loadGgufModel(
1788 - {required GgufModelConfig config,
1789 - String? systemPrompt,
1790 - SamplingConfig? sampling}) =>
1791 - RustLib.instance.api.crateApiOndeChatEngineLoadGgufModel(
1792 - that: this,
1793 - config: config,
1794 - systemPrompt: systemPrompt,
1795 - sampling: sampling);
2103 + Future<double> loadGgufModel({
2104 + required GgufModelConfig config,
2105 + String? systemPrompt,
2106 + SamplingConfig? sampling,
2107 + }) => RustLib.instance.api.crateApiOndeChatEngineLoadGgufModel(
2108 + that: this,
2109 + config: config,
2110 + systemPrompt: systemPrompt,
2111 + sampling: sampling,
2112 + );
2113
2114 /// Append a message to history without running inference.
2115 ///
2116 /// Useful for restoring a saved conversation or injecting context.
1800 - Future<void> pushHistory({required ChatMessage message}) =>
1801 - RustLib.instance.api
1802 - .crateApiOndeChatEnginePushHistory(that: this, message: message);
2117 + Future<void> pushHistory({required ChatMessage message}) => RustLib
2118 + .instance
2119 + .api
2120 + .crateApiOndeChatEnginePushHistory(that: this, message: message);
2121
2122 /// Send a user message and receive a complete assistant reply.
2123 ///
2124 /// Both the user message and assistant reply are appended to the
2125 /// conversation history on success.
1808 - Future<InferenceResult> sendMessage({required String message}) =>
1809 - RustLib.instance.api
1810 - .crateApiOndeChatEngineSendMessage(that: this, message: message);
2126 + Future<InferenceResult> sendMessage({required String message}) => RustLib
2127 + .instance
2128 + .api
2129 + .crateApiOndeChatEngineSendMessage(that: this, message: message);
2130
2131 /// Replace the sampling configuration used for all subsequent inference.
1813 - Future<void> setSampling({required SamplingConfig sampling}) =>
1814 - RustLib.instance.api
1815 - .crateApiOndeChatEngineSetSampling(that: this, sampling: sampling);
2132 + Future<void> setSampling({required SamplingConfig sampling}) => RustLib
2133 + .instance
2134 + .api
2135 + .crateApiOndeChatEngineSetSampling(that: this, sampling: sampling);
2136
2137 /// Set or replace the system prompt.
2138 ///
@@ -1826,16 +2146,15 @@ class OndeChatEngineImpl extends RustOpaque implements OndeChatEngine {
2146 /// Each [`StreamChunk`] carries a `delta` string. The final chunk has
2147 /// `done == true`. The `sink` is closed automatically when the stream
2148 /// ends or if the receiver is dropped.
1829 - Stream<StreamChunk> streamMessage({required String message}) =>
1830 - RustLib.instance.api
1831 - .crateApiOndeChatEngineStreamMessage(that: this, message: message);
2149 + Stream<StreamChunk> streamMessage({required String message}) => RustLib
2150 + .instance
2151 + .api
2152 + .crateApiOndeChatEngineStreamMessage(that: this, message: message);
2153
2154 /// Unload the current model and release its memory.
2155 ///
2156 /// Returns the display name of the model that was unloaded, or `None`
2157 /// if no model was loaded.
2158 Future<String?> unloadModel() =>
1838 - RustLib.instance.api.crateApiOndeChatEngineUnloadModel(
1839 - that: this,
1840 - );
2159 + RustLib.instance.api.crateApiOndeChatEngineUnloadModel(that: this);
2160 }
sdk/dart/lib/src/frb_generated.dart/frb_generated.io.dart
+106 -42
@@ -21,30 +21,34 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
21 });
22
23 CrossPlatformFinalizerArg
24 - get rust_arc_decrement_strong_count_OndeChatEnginePtr => wire
25 - ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr;
24 + get rust_arc_decrement_strong_count_OndeChatEnginePtr => wire
25 + ._rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr;
26
27 @protected
28 AnyhowException dco_decode_AnyhowException(dynamic raw);
29
30 @protected
31 OndeChatEngine
32 - dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
33 - dynamic raw);
32 + dco_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
33 + dynamic raw,
34 + );
35
36 @protected
37 OndeChatEngine
37 - dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
38 - dynamic raw);
38 + dco_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
39 + dynamic raw,
40 + );
41
42 @protected
43 OndeChatEngine
42 - dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
43 - dynamic raw);
44 + dco_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
45 + dynamic raw,
46 + );
47
48 @protected
49 RustStreamSink<StreamChunk> dco_decode_StreamSink_stream_chunk_Sse(
47 - dynamic raw);
50 + dynamic raw,
51 + );
52
53 @protected
54 String dco_decode_String(dynamic raw);
@@ -106,6 +110,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
110 @protected
111 Uint8List dco_decode_list_prim_u_8_strict(dynamic raw);
112
113 + @protected
114 + List<ToolCallInfo> dco_decode_list_tool_call_info(dynamic raw);
115 +
116 @protected
117 OndeError dco_decode_onde_error(dynamic raw);
118
@@ -130,6 +137,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
137 @protected
138 StreamChunk dco_decode_stream_chunk(dynamic raw);
139
140 + @protected
141 + ToolCallInfo dco_decode_tool_call_info(dynamic raw);
142 +
143 @protected
144 BigInt dco_decode_u_64(dynamic raw);
145
@@ -147,22 +157,26 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
157
158 @protected
159 OndeChatEngine
150 - sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
151 - SseDeserializer deserializer);
160 + sse_decode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
161 + SseDeserializer deserializer,
162 + );
163
164 @protected
165 OndeChatEngine
155 - sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
156 - SseDeserializer deserializer);
166 + sse_decode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
167 + SseDeserializer deserializer,
168 + );
169
170 @protected
171 OndeChatEngine
160 - sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
161 - SseDeserializer deserializer);
172 + sse_decode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
173 + SseDeserializer deserializer,
174 + );
175
176 @protected
177 RustStreamSink<StreamChunk> sse_decode_StreamSink_stream_chunk_Sse(
165 - SseDeserializer deserializer);
178 + SseDeserializer deserializer,
179 + );
180
181 @protected
182 String sse_decode_String(SseDeserializer deserializer);
@@ -181,11 +195,13 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
195
196 @protected
197 GgufModelConfig sse_decode_box_autoadd_gguf_model_config(
184 - SseDeserializer deserializer);
198 + SseDeserializer deserializer,
199 + );
200
201 @protected
202 SamplingConfig sse_decode_box_autoadd_sampling_config(
188 - SseDeserializer deserializer);
203 + SseDeserializer deserializer,
204 + );
205
206 @protected
207 BigInt sse_decode_box_autoadd_u_64(SseDeserializer deserializer);
@@ -226,6 +242,11 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
242 @protected
243 Uint8List sse_decode_list_prim_u_8_strict(SseDeserializer deserializer);
244
245 + @protected
246 + List<ToolCallInfo> sse_decode_list_tool_call_info(
247 + SseDeserializer deserializer,
248 + );
249 +
250 @protected
251 OndeError sse_decode_onde_error(SseDeserializer deserializer);
252
@@ -240,7 +261,8 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
261
262 @protected
263 SamplingConfig? sse_decode_opt_box_autoadd_sampling_config(
243 - SseDeserializer deserializer);
264 + SseDeserializer deserializer,
265 + );
266
267 @protected
268 BigInt? sse_decode_opt_box_autoadd_u_64(SseDeserializer deserializer);
@@ -251,6 +273,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
273 @protected
274 StreamChunk sse_decode_stream_chunk(SseDeserializer deserializer);
275
276 + @protected
277 + ToolCallInfo sse_decode_tool_call_info(SseDeserializer deserializer);
278 +
279 @protected
280 BigInt sse_decode_u_64(SseDeserializer deserializer);
281
@@ -265,26 +290,36 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
290
291 @protected
292 void sse_encode_AnyhowException(
268 - AnyhowException self, SseSerializer serializer);
293 + AnyhowException self,
294 + SseSerializer serializer,
295 + );
296
297 @protected
298 void
272 - sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
273 - OndeChatEngine self, SseSerializer serializer);
299 + sse_encode_Auto_Owned_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
300 + OndeChatEngine self,
301 + SseSerializer serializer,
302 + );
303
304 @protected
305 void
277 - sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
278 - OndeChatEngine self, SseSerializer serializer);
306 + sse_encode_Auto_Ref_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
307 + OndeChatEngine self,
308 + SseSerializer serializer,
309 + );
310
311 @protected
312 void
282 - sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
283 - OndeChatEngine self, SseSerializer serializer);
313 + sse_encode_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
314 + OndeChatEngine self,
315 + SseSerializer serializer,
316 + );
317
318 @protected
319 void sse_encode_StreamSink_stream_chunk_Sse(
287 - RustStreamSink<StreamChunk> self, SseSerializer serializer);
320 + RustStreamSink<StreamChunk> self,
321 + SseSerializer serializer,
322 + );
323
324 @protected
325 void sse_encode_String(String self, SseSerializer serializer);
@@ -294,7 +329,9 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
329
330 @protected
331 void sse_encode_box_autoadd_chat_message(
297 - ChatMessage self, SseSerializer serializer);
332 + ChatMessage self,
333 + SseSerializer serializer,
334 + );
335
336 @protected
337 void sse_encode_box_autoadd_f_32(double self, SseSerializer serializer);
@@ -304,11 +341,15 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
341
342 @protected
343 void sse_encode_box_autoadd_gguf_model_config(
307 - GgufModelConfig self, SseSerializer serializer);
344 + GgufModelConfig self,
345 + SseSerializer serializer,
346 + );
347
348 @protected
349 void sse_encode_box_autoadd_sampling_config(
311 - SamplingConfig self, SseSerializer serializer);
350 + SamplingConfig self,
351 + SseSerializer serializer,
352 + );
353
354 @protected
355 void sse_encode_box_autoadd_u_64(BigInt self, SseSerializer serializer);
@@ -333,25 +374,39 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
374
375 @protected
376 void sse_encode_gguf_model_config(
336 - GgufModelConfig self, SseSerializer serializer);
377 + GgufModelConfig self,
378 + SseSerializer serializer,
379 + );
380
381 @protected
382 void sse_encode_i_32(int self, SseSerializer serializer);
383
384 @protected
385 void sse_encode_inference_result(
343 - InferenceResult self, SseSerializer serializer);
386 + InferenceResult self,
387 + SseSerializer serializer,
388 + );
389
390 @protected
391 void sse_encode_list_String(List<String> self, SseSerializer serializer);
392
393 @protected
394 void sse_encode_list_chat_message(
350 - List<ChatMessage> self, SseSerializer serializer);
395 + List<ChatMessage> self,
396 + SseSerializer serializer,
397 + );
398
399 @protected
400 void sse_encode_list_prim_u_8_strict(
354 - Uint8List self, SseSerializer serializer);
401 + Uint8List self,
402 + SseSerializer serializer,
403 + );
404 +
405 + @protected
406 + void sse_encode_list_tool_call_info(
407 + List<ToolCallInfo> self,
408 + SseSerializer serializer,
409 + );
410
411 @protected
412 void sse_encode_onde_error(OndeError self, SseSerializer serializer);
@@ -367,18 +422,25 @@ abstract class RustLibApiImplPlatform extends BaseApiImpl<RustLibWire> {
422
423 @protected
424 void sse_encode_opt_box_autoadd_sampling_config(
370 - SamplingConfig? self, SseSerializer serializer);
425 + SamplingConfig? self,
426 + SseSerializer serializer,
427 + );
428
429 @protected
430 void sse_encode_opt_box_autoadd_u_64(BigInt? self, SseSerializer serializer);
431
432 @protected
433 void sse_encode_sampling_config(
377 - SamplingConfig self, SseSerializer serializer);
434 + SamplingConfig self,
435 + SseSerializer serializer,
436 + );
437
438 @protected
439 void sse_encode_stream_chunk(StreamChunk self, SseSerializer serializer);
440
441 + @protected
442 + void sse_encode_tool_call_info(ToolCallInfo self, SseSerializer serializer);
443 +
444 @protected
445 void sse_encode_u_64(BigInt self, SseSerializer serializer);
446
@@ -400,14 +462,14 @@ class RustLibWire implements BaseWire {
462
463 /// Holds the symbol lookup function.
464 final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
403 - _lookup;
465 + _lookup;
466
467 /// The symbols are looked up in [dynamicLibrary].
468 RustLibWire(ffi.DynamicLibrary dynamicLibrary)
407 - : _lookup = dynamicLibrary.lookup;
469 + : _lookup = dynamicLibrary.lookup;
470
471 void
410 - rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
472 + rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
473 ffi.Pointer<ffi.Void> ptr,
474 ) {
475 return _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
@@ -417,13 +479,14 @@ class RustLibWire implements BaseWire {
479
480 late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr =
481 _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
420 - 'frbgen_onde_inference_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine');
482 + 'frbgen_onde_inference_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine',
483 + );
484 late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine =
485 _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr
486 .asFunction<void Function(ffi.Pointer<ffi.Void>)>();
487
488 void
426 - rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
489 + rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
490 ffi.Pointer<ffi.Void> ptr,
491 ) {
492 return _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine(
@@ -433,7 +496,8 @@ class RustLibWire implements BaseWire {
496
497 late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr =
498 _lookup<ffi.NativeFunction<ffi.Void Function(ffi.Pointer<ffi.Void>)>>(
436 - 'frbgen_onde_inference_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine');
499 + 'frbgen_onde_inference_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine',
500 + );
501 late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEngine =
502 _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerOndeChatEnginePtr
503 .asFunction<void Function(ffi.Pointer<ffi.Void>)>();
sdk/dart/rust/Cargo.lock
+369 -675
@@ -56,24 +56,6 @@ version = "0.4.0"
56 source = "registry+https://github.com/rust-lang/crates.io-index"
57 checksum = "1763692fc1416554cf051efc56a3de5595eca47299d731cc5c2b583adf8b4d2f"
58
59 -[[package]]
60 -name = "aligned"
61 -version = "0.4.3"
62 -source = "registry+https://github.com/rust-lang/crates.io-index"
63 -checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685"
64 -dependencies = [
65 - "as-slice",
66 -]
67 -
68 -[[package]]
69 -name = "aligned-vec"
70 -version = "0.6.4"
71 -source = "registry+https://github.com/rust-lang/crates.io-index"
72 -checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b"
73 -dependencies = [
74 - "equator",
75 -]
76 -
59 [[package]]
60 name = "allo-isolate"
61 version = "0.1.27"
@@ -208,23 +190,6 @@ dependencies = [
190 "num-traits",
191 ]
192
211 -[[package]]
212 -name = "arbitrary"
213 -version = "1.4.2"
214 -source = "registry+https://github.com/rust-lang/crates.io-index"
215 -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
216 -
217 -[[package]]
218 -name = "arg_enum_proc_macro"
219 -version = "0.3.4"
220 -source = "registry+https://github.com/rust-lang/crates.io-index"
221 -checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea"
222 -dependencies = [
223 - "proc-macro2",
224 - "quote",
225 - "syn 2.0.117",
226 -]
227 -
193 [[package]]
194 name = "arraydeque"
195 version = "0.5.1"
@@ -243,15 +208,6 @@ version = "0.3.2"
208 source = "registry+https://github.com/rust-lang/crates.io-index"
209 checksum = "b0f477b951e452a0b6b4a10b53ccd569042d1d01729b519e02074a9c0958a063"
210
246 -[[package]]
247 -name = "as-slice"
248 -version = "0.2.1"
249 -source = "registry+https://github.com/rust-lang/crates.io-index"
250 -checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516"
251 -dependencies = [
252 - "stable_deref_trait",
253 -]
254 -
211 [[package]]
212 name = "askama"
213 version = "0.14.0"
@@ -347,49 +303,6 @@ version = "1.5.0"
303 source = "registry+https://github.com/rust-lang/crates.io-index"
304 checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
305
350 -[[package]]
351 -name = "av-scenechange"
352 -version = "0.14.1"
353 -source = "registry+https://github.com/rust-lang/crates.io-index"
354 -checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394"
355 -dependencies = [
356 - "aligned",
357 - "anyhow",
358 - "arg_enum_proc_macro",
359 - "arrayvec",
360 - "log",
361 - "num-rational",
362 - "num-traits",
363 - "pastey",
364 - "rayon",
365 - "thiserror 2.0.18",
366 - "v_frame",
367 - "y4m",
368 -]
369 -
370 -[[package]]
371 -name = "av1-grain"
372 -version = "0.2.5"
373 -source = "registry+https://github.com/rust-lang/crates.io-index"
374 -checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8"
375 -dependencies = [
376 - "anyhow",
377 - "arrayvec",
378 - "log",
379 - "nom 8.0.0",
380 - "num-rational",
381 - "v_frame",
382 -]
383 -
384 -[[package]]
385 -name = "avif-serialize"
386 -version = "0.8.8"
387 -source = "registry+https://github.com/rust-lang/crates.io-index"
388 -checksum = "375082f007bd67184fb9c0374614b29f9aaa604ec301635f72338bb65386a53d"
389 -dependencies = [
390 - "arrayvec",
391 -]
392 -
306 [[package]]
307 name = "aws-lc-rs"
308 version = "1.16.2"
@@ -496,15 +409,6 @@ version = "2.11.0"
409 source = "registry+https://github.com/rust-lang/crates.io-index"
410 checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
411
499 -[[package]]
500 -name = "bitstream-io"
501 -version = "4.9.0"
502 -source = "registry+https://github.com/rust-lang/crates.io-index"
503 -checksum = "60d4bd9d1db2c6bdf285e223a7fa369d5ce98ec767dec949c6ca62863ce61757"
504 -dependencies = [
505 - "core2",
506 -]
507 -
412 [[package]]
413 name = "block"
414 version = "0.1.6"
@@ -560,12 +464,6 @@ version = "0.4.0"
464 source = "registry+https://github.com/rust-lang/crates.io-index"
465 checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b"
466
563 -[[package]]
564 -name = "built"
565 -version = "0.8.0"
566 -source = "registry+https://github.com/rust-lang/crates.io-index"
567 -checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64"
568 -
467 [[package]]
468 name = "bumpalo"
469 version = "3.20.2"
@@ -1005,15 +903,6 @@ dependencies = [
903 "libc",
904 ]
905
1008 -[[package]]
1009 -name = "core2"
1010 -version = "0.4.0"
1011 -source = "registry+https://github.com/rust-lang/crates.io-index"
1012 -checksum = "b49ba7ef1ad6107f8824dbe97de947cbaac53c44e7f9756a1fba0d37c1eec505"
1013 -dependencies = [
1014 - "memchr",
1015 -]
1016 -
906 [[package]]
907 name = "cpufeatures"
908 version = "0.2.17"
@@ -1580,26 +1469,6 @@ dependencies = [
1469 "regex",
1470 ]
1471
1583 -[[package]]
1584 -name = "equator"
1585 -version = "0.4.2"
1586 -source = "registry+https://github.com/rust-lang/crates.io-index"
1587 -checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc"
1588 -dependencies = [
1589 - "equator-macro",
1590 -]
1591 -
1592 -[[package]]
1593 -name = "equator-macro"
1594 -version = "0.4.2"
1595 -source = "registry+https://github.com/rust-lang/crates.io-index"
1596 -checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3"
1597 -dependencies = [
1598 - "proc-macro2",
1599 - "quote",
1600 - "syn 2.0.117",
1601 -]
1602 -
1472 [[package]]
1473 name = "equivalent"
1474 version = "1.0.2"
@@ -1632,7 +1501,6 @@ dependencies = [
1501 "half",
1502 "lebe",
1503 "miniz_oxide",
1635 - "rayon-core",
1504 "smallvec 1.15.1",
1505 "zune-inflate",
1506 ]
@@ -2739,9 +2607,6 @@ dependencies = [
2607 "num-traits",
2608 "png",
2609 "qoi",
2742 - "ravif",
2743 - "rayon",
2744 - "rgb",
2610 "tiff",
2611 "zune-core",
2612 "zune-jpeg",
@@ -2757,12 +2622,6 @@ dependencies = [
2622 "quick-error",
2623 ]
2624
2760 -[[package]]
2761 -name = "imgref"
2762 -version = "1.12.0"
2763 -source = "registry+https://github.com/rust-lang/crates.io-index"
2764 -checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8"
2765 -
2625 [[package]]
2626 name = "indexmap"
2627 version = "1.9.3"
@@ -2813,17 +2672,6 @@ dependencies = [
2672 "web-time",
2673 ]
2674
2816 -[[package]]
2817 -name = "interpolate_name"
2818 -version = "0.2.4"
2819 -source = "registry+https://github.com/rust-lang/crates.io-index"
2820 -checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60"
2821 -dependencies = [
2822 - "proc-macro2",
2823 - "quote",
2824 - "syn 2.0.117",
2825 -]
2826 -
2675 [[package]]
2676 name = "interprocess"
2677 version = "2.4.0"
@@ -2964,16 +2812,6 @@ version = "0.2.184"
2812 source = "registry+https://github.com/rust-lang/crates.io-index"
2813 checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
2814
2967 -[[package]]
2968 -name = "libfuzzer-sys"
2969 -version = "0.4.12"
2970 -source = "registry+https://github.com/rust-lang/crates.io-index"
2971 -checksum = "f12a681b7dd8ce12bff52488013ba614b869148d54dd79836ab85aafdd53f08d"
2972 -dependencies = [
2973 - "arbitrary",
2974 - "cc",
2975 -]
2976 -
2815 [[package]]
2816 name = "libloading"
2817 version = "0.8.9"
@@ -3062,15 +2900,6 @@ dependencies = [
2900 "tracing-subscriber",
2901 ]
2902
3065 -[[package]]
3066 -name = "loop9"
3067 -version = "0.1.5"
3068 -source = "registry+https://github.com/rust-lang/crates.io-index"
3069 -checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062"
3070 -dependencies = [
3071 - "imgref",
3072 -]
3073 -
2903 [[package]]
2904 name = "lrtable"
2905 version = "0.14.1"
@@ -3168,16 +2997,6 @@ dependencies = [
2997 "rawpointer",
2998 ]
2999
3171 -[[package]]
3172 -name = "maybe-rayon"
3173 -version = "0.1.1"
3174 -source = "registry+https://github.com/rust-lang/crates.io-index"
3175 -checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519"
3176 -dependencies = [
3177 - "cfg-if",
3178 - "rayon",
3179 -]
3180 -
3000 [[package]]
3001 name = "md-5"
3002 version = "0.10.6"
@@ -3291,263 +3110,42 @@ dependencies = [
3110 ]
3111
3112 [[package]]
3294 -name = "mistralrs"
3295 -version = "0.8.1"
3296 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3113 +name = "monostate"
3114 +version = "0.1.18"
3115 +source = "registry+https://github.com/rust-lang/crates.io-index"
3116 +checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67"
3117 dependencies = [
3298 - "anyhow",
3299 - "candle-core",
3300 - "candle-nn",
3301 - "clap 4.6.0",
3302 - "either",
3303 - "futures",
3304 - "image",
3305 - "indexmap 2.13.1",
3306 - "mistralrs-core",
3307 - "mistralrs-macros",
3308 - "rand 0.9.2",
3309 - "reqwest 0.13.2",
3310 - "schemars 1.2.1",
3118 + "monostate-impl",
3119 "serde",
3312 - "serde_json",
3313 - "thiserror 2.0.18",
3314 - "tokio",
3315 - "tracing",
3316 - "tracing-subscriber",
3317 - "walkdir",
3120 + "serde_core",
3121 ]
3122
3123 [[package]]
3321 -name = "mistralrs-audio"
3322 -version = "0.8.1"
3323 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3124 +name = "monostate-impl"
3125 +version = "0.1.18"
3126 +source = "registry+https://github.com/rust-lang/crates.io-index"
3127 +checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9"
3128 dependencies = [
3325 - "anyhow",
3326 - "apodize",
3327 - "hound",
3328 - "symphonia",
3129 + "proc-macro2",
3130 + "quote",
3131 + "syn 2.0.117",
3132 ]
3133
3134 [[package]]
3332 -name = "mistralrs-core"
3135 +name = "moxcms"
3136 version = "0.8.1"
3334 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3137 +source = "registry+https://github.com/rust-lang/crates.io-index"
3138 +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
3139 dependencies = [
3336 - "ahash",
3337 - "akin",
3338 - "anyhow",
3339 - "apodize",
3340 - "as-any",
3341 - "async-trait",
3342 - "base64 0.22.1",
3343 - "bm25",
3344 - "bytemuck",
3345 - "bytemuck_derive",
3346 - "candle-core",
3347 - "candle-metal-kernels",
3348 - "candle-nn",
3349 - "cfgrammar",
3350 - "chrono",
3351 - "clap 4.6.0",
3352 - "csv",
3353 - "derive-new",
3354 - "derive_more",
3355 - "dirs",
3356 - "either",
3357 - "float8",
3358 - "futures",
3359 - "galil-seiferas",
3360 - "half",
3361 - "hashbrown 0.16.1",
3362 - "hf-hub",
3363 - "hound",
3364 - "html2text",
3365 - "http",
3366 - "image",
3367 - "indexmap 2.13.1",
3368 - "indicatif 0.18.4",
3369 - "interprocess",
3370 - "itertools",
3371 - "libc",
3372 - "llguidance",
3373 - "lrtable",
3374 - "minijinja",
3375 - "minijinja-contrib",
3376 - "mistralrs-audio",
3377 - "mistralrs-mcp",
3378 - "mistralrs-paged-attn",
3379 - "mistralrs-quant",
3380 - "mistralrs-vision",
3140 "num-traits",
3382 - "objc",
3383 - "objc2-metal",
3384 - "openai-harmony",
3385 - "ordered-float",
3386 - "parking_lot",
3387 - "radix_trie",
3388 - "rand 0.9.2",
3389 - "rand_distr 0.5.1",
3390 - "rand_isaac",
3391 - "rayon",
3392 - "regex",
3393 - "regex-automata",
3394 - "reqwest 0.13.2",
3395 - "rubato",
3396 - "rust-mcp-schema",
3397 - "rustc-hash 2.1.2",
3398 - "rustfft",
3399 - "safetensors 0.7.0",
3400 - "schemars 1.2.1",
3401 - "scraper",
3402 - "serde",
3403 - "serde-big-array",
3404 - "serde-saphyr",
3405 - "serde_json",
3406 - "serde_plain",
3407 - "statrs",
3408 - "strum 0.27.2",
3409 - "symphonia",
3410 - "sysinfo",
3411 - "thiserror 2.0.18",
3412 - "tokenizers 0.21.4",
3413 - "tokio",
3414 - "tokio-rayon",
3415 - "tokio-tungstenite",
3416 - "toktrie",
3417 - "toktrie_hf_tokenizers",
3418 - "toml",
3419 - "tqdm",
3420 - "tracing",
3421 - "tracing-subscriber",
3422 - "urlencoding",
3423 - "uuid 1.23.0",
3424 - "variantly",
3425 - "vob",
3141 + "pxfm",
3142 ]
3143
3144 [[package]]
3429 -name = "mistralrs-macros"
3430 -version = "0.8.1"
3431 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3432 -dependencies = [
3433 - "darling 0.23.0",
3434 - "proc-macro2",
3435 - "quote",
3436 - "syn 2.0.117",
3437 -]
3438 -
3439 -[[package]]
3440 -name = "mistralrs-mcp"
3441 -version = "0.8.1"
3442 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3443 -dependencies = [
3444 - "anyhow",
3445 - "async-trait",
3446 - "futures-util",
3447 - "http",
3448 - "reqwest 0.13.2",
3449 - "rust-mcp-schema",
3450 - "serde",
3451 - "serde_json",
3452 - "tokio",
3453 - "tokio-tungstenite",
3454 - "tracing",
3455 - "utoipa",
3456 - "uuid 1.23.0",
3457 -]
3458 -
3459 -[[package]]
3460 -name = "mistralrs-paged-attn"
3461 -version = "0.8.1"
3462 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3463 -dependencies = [
3464 - "anyhow",
3465 - "candle-core",
3466 - "candle-metal-kernels",
3467 - "dispatch2",
3468 - "float8",
3469 - "half",
3470 - "objc2-foundation",
3471 - "objc2-metal",
3472 - "thiserror 2.0.18",
3473 -]
3474 -
3475 -[[package]]
3476 -name = "mistralrs-quant"
3477 -version = "0.8.1"
3478 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3479 -dependencies = [
3480 - "byteorder",
3481 - "candle-core",
3482 - "candle-metal-kernels",
3483 - "candle-nn",
3484 - "dispatch2",
3485 - "float8",
3486 - "half",
3487 - "hf-hub",
3488 - "lazy_static",
3489 - "memmap2",
3490 - "objc2-foundation",
3491 - "objc2-metal",
3492 - "paste",
3493 - "rayon",
3494 - "regex",
3495 - "safetensors 0.7.0",
3496 - "serde",
3497 - "serde_json",
3498 - "thiserror 2.0.18",
3499 - "tokio",
3500 - "tracing",
3501 - "yoke 0.8.2",
3502 -]
3503 -
3504 -[[package]]
3505 -name = "mistralrs-vision"
3506 -version = "0.8.1"
3507 -source = "git+https://github.com/setoelkahfi/mistral.rs?branch=fix%2Fall-platform-fixes#020dcbf8e2c4147c16bb015e89435811501baa28"
3508 -dependencies = [
3509 - "candle-core",
3510 - "image",
3511 - "rayon",
3512 -]
3513 -
3514 -[[package]]
3515 -name = "monostate"
3516 -version = "0.1.18"
3517 -source = "registry+https://github.com/rust-lang/crates.io-index"
3518 -checksum = "3341a273f6c9d5bef1908f17b7267bbab0e95c9bf69a0d4dcf8e9e1b2c76ef67"
3519 -dependencies = [
3520 - "monostate-impl",
3521 - "serde",
3522 - "serde_core",
3523 -]
3524 -
3525 -[[package]]
3526 -name = "monostate-impl"
3527 -version = "0.1.18"
3528 -source = "registry+https://github.com/rust-lang/crates.io-index"
3529 -checksum = "e4db6d5580af57bf992f59068d4ea26fd518574ff48d7639b255a36f9de6e7e9"
3530 -dependencies = [
3531 - "proc-macro2",
3532 - "quote",
3533 - "syn 2.0.117",
3534 -]
3535 -
3536 -[[package]]
3537 -name = "moxcms"
3538 -version = "0.8.1"
3539 -source = "registry+https://github.com/rust-lang/crates.io-index"
3540 -checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b"
3541 -dependencies = [
3542 - "num-traits",
3543 - "pxfm",
3544 -]
3545 -
3546 -[[package]]
3547 -name = "nalgebra"
3548 -version = "0.33.3"
3549 -source = "registry+https://github.com/rust-lang/crates.io-index"
3550 -checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
3145 +name = "nalgebra"
3146 +version = "0.33.3"
3147 +source = "registry+https://github.com/rust-lang/crates.io-index"
3148 +checksum = "9d43ddcacf343185dfd6de2ee786d9e8b1c2301622afab66b6c73baf9882abfd"
3149 dependencies = [
3150 "approx",
3151 "matrixmultiply",
@@ -3591,21 +3189,6 @@ dependencies = [
3189 "minimal-lexical",
3190 ]
3191
3594 -[[package]]
3595 -name = "nom"
3596 -version = "8.0.0"
3597 -source = "registry+https://github.com/rust-lang/crates.io-index"
3598 -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
3599 -dependencies = [
3600 - "memchr",
3601 -]
3602 -
3603 -[[package]]
3604 -name = "noop_proc_macro"
3605 -version = "0.3.0"
3606 -source = "registry+https://github.com/rust-lang/crates.io-index"
3607 -checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
3608 -
3192 [[package]]
3193 name = "ntapi"
3194 version = "0.4.3"
@@ -3664,17 +3247,6 @@ version = "0.2.1"
3247 source = "registry+https://github.com/rust-lang/crates.io-index"
3248 checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
3249
3667 -[[package]]
3668 -name = "num-derive"
3669 -version = "0.4.2"
3670 -source = "registry+https://github.com/rust-lang/crates.io-index"
3671 -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
3672 -dependencies = [
3673 - "proc-macro2",
3674 - "quote",
3675 - "syn 2.0.117",
3676 -]
3677 -
3250 [[package]]
3251 name = "num-integer"
3252 version = "0.1.46"
@@ -3727,124 +3299,387 @@ dependencies = [
3299 ]
3300
3301 [[package]]
3730 -name = "number_prefix"
3731 -version = "0.4.0"
3732 -source = "registry+https://github.com/rust-lang/crates.io-index"
3733 -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
3734 -
3735 -[[package]]
3736 -name = "objc"
3737 -version = "0.2.7"
3302 +name = "number_prefix"
3303 +version = "0.4.0"
3304 +source = "registry+https://github.com/rust-lang/crates.io-index"
3305 +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
3306 +
3307 +[[package]]
3308 +name = "objc"
3309 +version = "0.2.7"
3310 +source = "registry+https://github.com/rust-lang/crates.io-index"
3311 +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
3312 +dependencies = [
3313 + "malloc_buf",
3314 +]
3315 +
3316 +[[package]]
3317 +name = "objc2"
3318 +version = "0.6.4"
3319 +source = "registry+https://github.com/rust-lang/crates.io-index"
3320 +checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3321 +dependencies = [
3322 + "objc2-encode",
3323 +]
3324 +
3325 +[[package]]
3326 +name = "objc2-core-foundation"
3327 +version = "0.3.2"
3328 +source = "registry+https://github.com/rust-lang/crates.io-index"
3329 +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
3330 +dependencies = [
3331 + "bitflags 2.11.0",
3332 + "dispatch2",
3333 + "objc2",
3334 +]
3335 +
3336 +[[package]]
3337 +name = "objc2-encode"
3338 +version = "4.1.0"
3339 +source = "registry+https://github.com/rust-lang/crates.io-index"
3340 +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3341 +
3342 +[[package]]
3343 +name = "objc2-foundation"
3344 +version = "0.3.2"
3345 +source = "registry+https://github.com/rust-lang/crates.io-index"
3346 +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3347 +dependencies = [
3348 + "bitflags 2.11.0",
3349 + "block2",
3350 + "libc",
3351 + "objc2",
3352 + "objc2-core-foundation",
3353 +]
3354 +
3355 +[[package]]
3356 +name = "objc2-io-kit"
3357 +version = "0.3.2"
3358 +source = "registry+https://github.com/rust-lang/crates.io-index"
3359 +checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
3360 +dependencies = [
3361 + "libc",
3362 + "objc2-core-foundation",
3363 +]
3364 +
3365 +[[package]]
3366 +name = "objc2-metal"
3367 +version = "0.3.2"
3368 +source = "registry+https://github.com/rust-lang/crates.io-index"
3369 +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
3370 +dependencies = [
3371 + "bitflags 2.11.0",
3372 + "block2",
3373 + "dispatch2",
3374 + "objc2",
3375 + "objc2-core-foundation",
3376 + "objc2-foundation",
3377 +]
3378 +
3379 +[[package]]
3380 +name = "object"
3381 +version = "0.37.3"
3382 +source = "registry+https://github.com/rust-lang/crates.io-index"
3383 +checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
3384 +dependencies = [
3385 + "memchr",
3386 +]
3387 +
3388 +[[package]]
3389 +name = "once_cell"
3390 +version = "1.21.4"
3391 +source = "registry+https://github.com/rust-lang/crates.io-index"
3392 +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
3393 +
3394 +[[package]]
3395 +name = "once_cell_polyfill"
3396 +version = "1.70.2"
3397 +source = "registry+https://github.com/rust-lang/crates.io-index"
3398 +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3399 +
3400 +[[package]]
3401 +name = "onde"
3402 +version = "1.0.0"
3403 +dependencies = [
3404 + "anyhow",
3405 + "cc",
3406 + "dotenvy",
3407 + "hf-hub",
3408 + "home",
3409 + "log",
3410 + "onde-mistralrs",
3411 + "onde-mistralrs-core",
3412 + "reqwest 0.12.28",
3413 + "serde",
3414 + "serde_json",
3415 + "smbcloud-gresiq-sdk",
3416 + "thiserror 2.0.18",
3417 + "tokio",
3418 + "tsync",
3419 + "uniffi",
3420 +]
3421 +
3422 +[[package]]
3423 +name = "onde-mistralrs"
3424 +version = "0.8.2"
3425 +source = "registry+https://github.com/rust-lang/crates.io-index"
3426 +checksum = "f4b5589da2ed82d3962ab4d8278cc8a93fea7c758eb1230894ffadb926c3c16c"
3427 +dependencies = [
3428 + "anyhow",
3429 + "candle-core",
3430 + "candle-nn",
3431 + "clap 4.6.0",
3432 + "either",
3433 + "futures",
3434 + "image",
3435 + "indexmap 2.13.1",
3436 + "onde-mistralrs-core",
3437 + "onde-mistralrs-macros",
3438 + "rand 0.9.2",
3439 + "reqwest 0.13.2",
3440 + "schemars 1.2.1",
3441 + "serde",
3442 + "serde_json",
3443 + "thiserror 2.0.18",
3444 + "tokio",
3445 + "tracing",
3446 + "tracing-subscriber",
3447 + "walkdir",
3448 +]
3449 +
3450 +[[package]]
3451 +name = "onde-mistralrs-audio"
3452 +version = "0.8.2"
3453 +source = "registry+https://github.com/rust-lang/crates.io-index"
3454 +checksum = "ed88aa277c613327f393ff5816fed55609a7a93b87ace505d70a6b3438b12dd2"
3455 +dependencies = [
3456 + "anyhow",
3457 + "apodize",
3458 + "hound",
3459 + "symphonia",
3460 +]
3461 +
3462 +[[package]]
3463 +name = "onde-mistralrs-core"
3464 +version = "0.8.2"
3465 +source = "registry+https://github.com/rust-lang/crates.io-index"
3466 +checksum = "7872456b7db2d8aaf39da83269dbf77e2503d6d398010f3b9a17eebec3da8dee"
3467 +dependencies = [
3468 + "ahash",
3469 + "akin",
3470 + "anyhow",
3471 + "apodize",
3472 + "as-any",
3473 + "async-trait",
3474 + "base64 0.22.1",
3475 + "bm25",
3476 + "bytemuck",
3477 + "bytemuck_derive",
3478 + "candle-core",
3479 + "candle-metal-kernels",
3480 + "candle-nn",
3481 + "cfgrammar",
3482 + "chrono",
3483 + "clap 4.6.0",
3484 + "csv",
3485 + "derive-new",
3486 + "derive_more",
3487 + "dirs",
3488 + "either",
3489 + "float8",
3490 + "futures",
3491 + "galil-seiferas",
3492 + "half",
3493 + "hashbrown 0.16.1",
3494 + "hf-hub",
3495 + "hound",
3496 + "html2text",
3497 + "http",
3498 + "image",
3499 + "indexmap 2.13.1",
3500 + "indicatif 0.18.4",
3501 + "interprocess",
3502 + "itertools",
3503 + "libc",
3504 + "llguidance",
3505 + "lrtable",
3506 + "minijinja",
3507 + "minijinja-contrib",
3508 + "num-traits",
3509 + "objc",
3510 + "objc2-metal",
3511 + "onde-mistralrs-audio",
3512 + "onde-mistralrs-mcp",
3513 + "onde-mistralrs-paged-attn",
3514 + "onde-mistralrs-quant",
3515 + "onde-mistralrs-vision",
3516 + "onde-openai-harmony",
3517 + "onde-tqdm",
3518 + "ordered-float",
3519 + "parking_lot",
3520 + "radix_trie",
3521 + "rand 0.9.2",
3522 + "rand_distr 0.5.1",
3523 + "rand_isaac",
3524 + "rayon",
3525 + "regex",
3526 + "regex-automata",
3527 + "reqwest 0.13.2",
3528 + "rubato",
3529 + "rust-mcp-schema",
3530 + "rustc-hash 2.1.2",
3531 + "rustfft",
3532 + "safetensors 0.7.0",
3533 + "schemars 1.2.1",
3534 + "scraper",
3535 + "serde",
3536 + "serde-big-array",
3537 + "serde-saphyr",
3538 + "serde_json",
3539 + "serde_plain",
3540 + "statrs",
3541 + "strum 0.27.2",
3542 + "symphonia",
3543 + "sysinfo",
3544 + "thiserror 2.0.18",
3545 + "tokenizers 0.21.4",
3546 + "tokio",
3547 + "tokio-rayon",
3548 + "tokio-tungstenite",
3549 + "toktrie",
3550 + "toktrie_hf_tokenizers",
3551 + "toml",
3552 + "tracing",
3553 + "tracing-subscriber",
3554 + "urlencoding",
3555 + "uuid 1.23.0",
3556 + "variantly",
3557 + "vob",
3558 +]
3559 +
3560 +[[package]]
3561 +name = "onde-mistralrs-macros"
3562 +version = "0.8.2"
3563 source = "registry+https://github.com/rust-lang/crates.io-index"
3739 -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
3564 +checksum = "ed7a88fcf59377469c00a355065f3ad9723e00c1870c8b3717b0649f86c77bde"
3565 dependencies = [
3741 - "malloc_buf",
3566 + "darling 0.23.0",
3567 + "proc-macro2",
3568 + "quote",
3569 + "syn 2.0.117",
3570 ]
3571
3572 [[package]]
3745 -name = "objc2"
3746 -version = "0.6.4"
3573 +name = "onde-mistralrs-mcp"
3574 +version = "0.8.2"
3575 source = "registry+https://github.com/rust-lang/crates.io-index"
3748 -checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
3576 +checksum = "f708829672943371b2a14cceaa8c09182d11c9049ec6d3a9c303a74ae65dfc1f"
3577 dependencies = [
3750 - "objc2-encode",
3578 + "anyhow",
3579 + "async-trait",
3580 + "futures-util",
3581 + "http",
3582 + "reqwest 0.13.2",
3583 + "rust-mcp-schema",
3584 + "serde",
3585 + "serde_json",
3586 + "tokio",
3587 + "tokio-tungstenite",
3588 + "tracing",
3589 + "utoipa",
3590 + "uuid 1.23.0",
3591 ]
3592
3593 [[package]]
3754 -name = "objc2-core-foundation"
3755 -version = "0.3.2"
3594 +name = "onde-mistralrs-paged-attn"
3595 +version = "0.8.2"
3596 source = "registry+https://github.com/rust-lang/crates.io-index"
3757 -checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536"
3597 +checksum = "bdd14bcbee553325d640609504117a2a49db166417bd7883329c6d39971b28c2"
3598 dependencies = [
3759 - "bitflags 2.11.0",
3599 + "anyhow",
3600 + "candle-core",
3601 + "candle-metal-kernels",
3602 "dispatch2",
3761 - "objc2",
3762 -]
3763 -
3764 -[[package]]
3765 -name = "objc2-encode"
3766 -version = "4.1.0"
3767 -source = "registry+https://github.com/rust-lang/crates.io-index"
3768 -checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
3769 -
3770 -[[package]]
3771 -name = "objc2-foundation"
3772 -version = "0.3.2"
3773 -source = "registry+https://github.com/rust-lang/crates.io-index"
3774 -checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272"
3775 -dependencies = [
3776 - "bitflags 2.11.0",
3777 - "block2",
3778 - "libc",
3779 - "objc2",
3780 - "objc2-core-foundation",
3781 -]
3782 -
3783 -[[package]]
3784 -name = "objc2-io-kit"
3785 -version = "0.3.2"
3786 -source = "registry+https://github.com/rust-lang/crates.io-index"
3787 -checksum = "33fafba39597d6dc1fb709123dfa8289d39406734be322956a69f0931c73bb15"
3788 -dependencies = [
3789 - "libc",
3790 - "objc2-core-foundation",
3603 + "float8",
3604 + "half",
3605 + "objc2-foundation",
3606 + "objc2-metal",
3607 + "thiserror 2.0.18",
3608 ]
3609
3610 [[package]]
3794 -name = "objc2-metal"
3795 -version = "0.3.2"
3611 +name = "onde-mistralrs-quant"
3612 +version = "0.8.2"
3613 source = "registry+https://github.com/rust-lang/crates.io-index"
3797 -checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794"
3614 +checksum = "36928bb1eec1138ca7b36ee1f4d370e4e374f0874f378915ff0ff34f927c4daf"
3615 dependencies = [
3799 - "bitflags 2.11.0",
3800 - "block2",
3616 + "byteorder",
3617 + "candle-core",
3618 + "candle-metal-kernels",
3619 + "candle-nn",
3620 "dispatch2",
3802 - "objc2",
3803 - "objc2-core-foundation",
3621 + "float8",
3622 + "half",
3623 + "hf-hub",
3624 + "lazy_static",
3625 + "memmap2",
3626 "objc2-foundation",
3627 + "objc2-metal",
3628 + "paste",
3629 + "rayon",
3630 + "regex",
3631 + "safetensors 0.7.0",
3632 + "serde",
3633 + "serde_json",
3634 + "thiserror 2.0.18",
3635 + "tokio",
3636 + "tracing",
3637 + "yoke 0.8.2",
3638 ]
3639
3640 [[package]]
3808 -name = "object"
3809 -version = "0.37.3"
3641 +name = "onde-mistralrs-vision"
3642 +version = "0.8.2"
3643 source = "registry+https://github.com/rust-lang/crates.io-index"
3811 -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
3644 +checksum = "2670a611890bfddc7964902f253626cd2b3fd0b7df13f84a779180f35e2a79e9"
3645 dependencies = [
3813 - "memchr",
3646 + "candle-core",
3647 + "image",
3648 + "rayon",
3649 ]
3650
3651 [[package]]
3817 -name = "once_cell"
3818 -version = "1.21.4"
3819 -source = "registry+https://github.com/rust-lang/crates.io-index"
3820 -checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
3821 -
3822 -[[package]]
3823 -name = "once_cell_polyfill"
3824 -version = "1.70.2"
3652 +name = "onde-openai-harmony"
3653 +version = "0.0.9"
3654 source = "registry+https://github.com/rust-lang/crates.io-index"
3826 -checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3827 -
3828 -[[package]]
3829 -name = "onde"
3830 -version = "0.1.7"
3655 +checksum = "f0f73e12b7378937cb8aaf832bed02b2afa1687581f73c3298c5af0cca9df5e6"
3656 dependencies = [
3657 "anyhow",
3833 - "cc",
3834 - "dotenvy",
3835 - "hf-hub",
3836 - "home",
3837 - "log",
3838 - "mistralrs",
3839 - "mistralrs-core",
3658 + "base64 0.22.1",
3659 + "bstr",
3660 + "clap 4.6.0",
3661 + "fancy-regex 0.13.0",
3662 + "futures",
3663 + "regex",
3664 "reqwest 0.12.28",
3665 + "rustc-hash 1.1.0",
3666 "serde",
3667 "serde_json",
3843 - "smbcloud-gresiq-sdk",
3668 + "serde_with",
3669 + "sha1",
3670 + "sha2",
3671 "thiserror 2.0.18",
3845 - "tokio",
3846 - "tsync",
3847 - "uniffi",
3672 +]
3673 +
3674 +[[package]]
3675 +name = "onde-tqdm"
3676 +version = "0.8.2"
3677 +source = "registry+https://github.com/rust-lang/crates.io-index"
3678 +checksum = "2d96f4fcb4af06959bf9c9b81ace0502e2be2d11d7e037c94f3f7851bde720ea"
3679 +dependencies = [
3680 + "anyhow",
3681 + "crossterm",
3682 + "once_cell",
3683 ]
3684
3685 [[package]]
@@ -3880,30 +3715,6 @@ dependencies = [
3715 "pkg-config",
3716 ]
3717
3883 -[[package]]
3884 -name = "openai-harmony"
3885 -version = "0.0.8"
3886 -source = "registry+https://github.com/rust-lang/crates.io-index"
3887 -checksum = "e77e82af451fc95deeb728a40b84db8ee82d341e136c268de415123a560b9b72"
3888 -dependencies = [
3889 - "anyhow",
3890 - "base64 0.22.1",
3891 - "bstr",
3892 - "clap 4.6.0",
3893 - "fancy-regex 0.13.0",
3894 - "futures",
3895 - "image",
3896 - "regex",
3897 - "reqwest 0.12.28",
3898 - "rustc-hash 1.1.0",
3899 - "serde",
3900 - "serde_json",
3901 - "serde_with",
3902 - "sha1",
3903 - "sha2",
3904 - "thiserror 2.0.18",
3905 -]
3906 -
3718 [[package]]
3719 name = "openssl-probe"
3720 version = "0.2.1"
@@ -3974,12 +3785,6 @@ version = "1.0.15"
3785 source = "registry+https://github.com/rust-lang/crates.io-index"
3786 checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
3787
3977 -[[package]]
3978 -name = "pastey"
3979 -version = "0.1.1"
3980 -source = "registry+https://github.com/rust-lang/crates.io-index"
3981 -checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
3982 -
3788 [[package]]
3789 name = "percent-encoding"
3790 version = "2.3.2"
@@ -4158,25 +3963,6 @@ dependencies = [
3963 "unicode-ident",
3964 ]
3965
4161 -[[package]]
4162 -name = "profiling"
4163 -version = "1.0.17"
4164 -source = "registry+https://github.com/rust-lang/crates.io-index"
4165 -checksum = "3eb8486b569e12e2c32ad3e204dbaba5e4b5b216e9367044f25f1dba42341773"
4166 -dependencies = [
4167 - "profiling-procmacros",
4168 -]
4169 -
4170 -[[package]]
4171 -name = "profiling-procmacros"
4172 -version = "1.0.17"
4173 -source = "registry+https://github.com/rust-lang/crates.io-index"
4174 -checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b"
4175 -dependencies = [
4176 - "quote",
4177 - "syn 2.0.117",
4178 -]
4179 -
3966 [[package]]
3967 name = "pulp"
3968 version = "0.21.5"
@@ -4410,56 +4196,6 @@ dependencies = [
4196 "rand_core 0.9.5",
4197 ]
4198
4413 -[[package]]
4414 -name = "rav1e"
4415 -version = "0.8.1"
4416 -source = "registry+https://github.com/rust-lang/crates.io-index"
4417 -checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b"
4418 -dependencies = [
4419 - "aligned-vec",
4420 - "arbitrary",
4421 - "arg_enum_proc_macro",
4422 - "arrayvec",
4423 - "av-scenechange",
4424 - "av1-grain",
4425 - "bitstream-io",
4426 - "built",
4427 - "cfg-if",
4428 - "interpolate_name",
4429 - "itertools",
4430 - "libc",
4431 - "libfuzzer-sys",
4432 - "log",
4433 - "maybe-rayon",
4434 - "new_debug_unreachable",
4435 - "noop_proc_macro",
4436 - "num-derive",
4437 - "num-traits",
4438 - "paste",
4439 - "profiling",
4440 - "rand 0.9.2",
4441 - "rand_chacha 0.9.0",
4442 - "simd_helpers",
4443 - "thiserror 2.0.18",
4444 - "v_frame",
4445 - "wasm-bindgen",
4446 -]
4447 -
4448 -[[package]]
4449 -name = "ravif"
4450 -version = "0.13.0"
4451 -source = "registry+https://github.com/rust-lang/crates.io-index"
4452 -checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45"
4453 -dependencies = [
4454 - "avif-serialize",
4455 - "imgref",
4456 - "loop9",
4457 - "quick-error",
4458 - "rav1e",
4459 - "rayon",
4460 - "rgb",
4461 -]
4462 -
4199 [[package]]
4200 name = "raw-cpuid"
4201 version = "11.6.0"
@@ -4687,12 +4423,6 @@ dependencies = [
4423 "web-sys",
4424 ]
4425
4690 -[[package]]
4691 -name = "rgb"
4692 -version = "0.8.53"
4693 -source = "registry+https://github.com/rust-lang/crates.io-index"
4694 -checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4"
4695 -
4426 [[package]]
4427 name = "ring"
4428 version = "0.17.14"
@@ -5335,15 +5065,6 @@ version = "0.3.9"
5065 source = "registry+https://github.com/rust-lang/crates.io-index"
5066 checksum = "703d5c7ef118737c72f1af64ad2f6f8c5e1921f818cdcb97b8fe6fc69bf66214"
5067
5338 -[[package]]
5339 -name = "simd_helpers"
5340 -version = "0.1.0"
5341 -source = "registry+https://github.com/rust-lang/crates.io-index"
5342 -checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6"
5343 -dependencies = [
5344 - "quote",
5345 -]
5346 -
5068 [[package]]
5069 name = "siphasher"
5070 version = "1.0.2"
@@ -5472,7 +5193,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
5193 checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
5194 dependencies = [
5195 "base64 0.13.1",
5475 - "nom 7.1.3",
5196 + "nom",
5197 "serde",
5198 "unicode-segmentation",
5199 ]
@@ -6306,16 +6027,6 @@ version = "0.3.3"
6027 source = "registry+https://github.com/rust-lang/crates.io-index"
6028 checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
6029
6309 -[[package]]
6310 -name = "tqdm"
6311 -version = "0.8.0"
6312 -source = "git+https://github.com/setoelkahfi/tqdm?branch=deps%2Fbump-crossterm#41e4182829136e6dadbdd1c36af824d19219147a"
6313 -dependencies = [
6314 - "anyhow",
6315 - "crossterm",
6316 - "once_cell",
6317 -]
6318 -
6030 [[package]]
6031 name = "tracing"
6032 version = "0.1.44"
@@ -6779,17 +6490,6 @@ dependencies = [
6490 "wasm-bindgen",
6491 ]
6492
6782 -[[package]]
6783 -name = "v_frame"
6784 -version = "0.3.9"
6785 -source = "registry+https://github.com/rust-lang/crates.io-index"
6786 -checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2"
6787 -dependencies = [
6788 - "aligned-vec",
6789 - "num-traits",
6790 - "wasm-bindgen",
6791 -]
6792 -
6493 [[package]]
6494 name = "valuable"
6495 version = "0.1.1"
@@ -7054,7 +6754,7 @@ version = "5.0.0"
6754 source = "registry+https://github.com/rust-lang/crates.io-index"
6755 checksum = "998d2c24ec099a87daf9467808859f9d82b61f1d9c9701251aea037f514eae0e"
6756 dependencies = [
7057 - "nom 7.1.3",
6757 + "nom",
6758 ]
6759
6760 [[package]]
@@ -7675,12 +7375,6 @@ version = "0.6.3"
7375 source = "registry+https://github.com/rust-lang/crates.io-index"
7376 checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
7377
7678 -[[package]]
7679 -name = "y4m"
7680 -version = "0.8.0"
7681 -source = "registry+https://github.com/rust-lang/crates.io-index"
7682 -checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448"
7683 -
7378 [[package]]
7379 name = "yoke"
7380 version = "0.7.5"
sdk/dart/rust/src/api.rs
+49
@@ -14,6 +14,7 @@ use onde::inference::{
14 EngineInfo as OndeEngineInfo, EngineStatus as OndeEngineStatus,
15 GgufModelConfig as OndeGgufModelConfig, InferenceError, InferenceResult as OndeInferenceResult,
16 SamplingConfig as OndeSamplingConfig, StreamChunk as OndeStreamChunk,
17 + ToolCallInfo as OndeToolCallInfo,
18 };
19
20 // ── Mirror: ChatRole ──────────────────────────────────────────────────────────
@@ -153,6 +154,27 @@ impl From<GgufModelConfig> for OndeGgufModelConfig {
154 tok_model_id: c.tok_model_id,
155 display_name: c.display_name,
156 approx_memory: c.approx_memory,
157 + chat_template: None,
158 + }
159 + }
160 +}
161 +
162 +// ── Mirror: ToolCallInfo ────────────────────────────────────────────────────
163 +
164 +/// Structured tool-call request emitted by the model.
165 +#[derive(Debug, Clone)]
166 +pub struct ToolCallInfo {
167 + pub id: String,
168 + pub function_name: String,
169 + pub arguments: String,
170 +}
171 +
172 +impl From<OndeToolCallInfo> for ToolCallInfo {
173 + fn from(t: OndeToolCallInfo) -> Self {
174 + Self {
175 + id: t.id,
176 + function_name: t.function_name,
177 + arguments: t.arguments,
178 }
179 }
180 }
@@ -170,6 +192,8 @@ pub struct InferenceResult {
192 pub duration_display: String,
193 /// Finish reason reported by the model, e.g. `"stop"` or `"length"`.
194 pub finish_reason: String,
195 + /// Tool calls requested by the model (empty if none).
196 + pub tool_calls: Vec<ToolCallInfo>,
197 }
198
199 impl From<OndeInferenceResult> for InferenceResult {
@@ -179,6 +203,7 @@ impl From<OndeInferenceResult> for InferenceResult {
203 duration_secs: r.duration_secs,
204 duration_display: r.duration_display,
205 finish_reason: r.finish_reason,
206 + tool_calls: r.tool_calls.into_iter().map(ToolCallInfo::from).collect(),
207 }
208 }
209 }
@@ -332,6 +357,30 @@ impl OndeChatEngine {
357 Ok(elapsed.as_secs_f64())
358 }
359
360 + /// Load the model assigned to this Onde app from the dashboard.
361 + ///
362 + /// Returns the wall-clock seconds taken to load the model.
363 + pub async fn load_assigned_model(
364 + &self,
365 + app_id: String,
366 + app_secret: String,
367 + system_prompt: Option<String>,
368 + sampling: Option<SamplingConfig>,
369 + ) -> Result<f64, OndeError> {
370 + let elapsed = self
371 + .inner
372 + .load_assigned_model(
373 + smbcloud_gresiq_sdk::Environment::Production,
374 + &app_id,
375 + &app_secret,
376 + system_prompt,
377 + sampling.map(Into::into),
378 + )
379 + .await
380 + .map_err(OndeError::from)?;
381 + Ok(elapsed.as_secs_f64())
382 + }
383 +
384 /// Unload the current model and release its memory.
385 ///
386 /// Returns the display name of the model that was unloaded, or `None`
sdk/dart/rust/src/frb_generated.rs
+156 -18
@@ -39,7 +39,7 @@ flutter_rust_bridge::frb_generated_boilerplate!(
39 default_rust_auto_opaque = RustAutoOpaqueMoi,
40 );
41 pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_VERSION: &str = "2.12.0";
42 -pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -2049740590;
42 +pub(crate) const FLUTTER_RUST_BRIDGE_CODEGEN_CONTENT_HASH: i32 = -467241906;
43
44 // Section: executor
45
@@ -394,6 +394,72 @@ fn wire__crate__api__OndeChatEngine_is_loaded_impl(
394 },
395 )
396 }
397 +fn wire__crate__api__OndeChatEngine_load_assigned_model_impl(
398 + port_: flutter_rust_bridge::for_generated::MessagePort,
399 + ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
400 + rust_vec_len_: i32,
401 + data_len_: i32,
402 +) {
403 + FLUTTER_RUST_BRIDGE_HANDLER.wrap_async::<flutter_rust_bridge::for_generated::SseCodec, _, _, _>(
404 + flutter_rust_bridge::for_generated::TaskInfo {
405 + debug_name: "OndeChatEngine_load_assigned_model",
406 + port: Some(port_),
407 + mode: flutter_rust_bridge::for_generated::FfiCallMode::Normal,
408 + },
409 + move || {
410 + let message = unsafe {
411 + flutter_rust_bridge::for_generated::Dart2RustMessageSse::from_wire(
412 + ptr_,
413 + rust_vec_len_,
414 + data_len_,
415 + )
416 + };
417 + let mut deserializer =
418 + flutter_rust_bridge::for_generated::SseDeserializer::new(message);
419 + let api_that = <RustOpaqueMoi<
420 + flutter_rust_bridge::for_generated::RustAutoOpaqueInner<OndeChatEngine>,
421 + >>::sse_decode(&mut deserializer);
422 + let api_app_id = <String>::sse_decode(&mut deserializer);
423 + let api_app_secret = <String>::sse_decode(&mut deserializer);
424 + let api_system_prompt = <Option<String>>::sse_decode(&mut deserializer);
425 + let api_sampling = <Option<crate::api::SamplingConfig>>::sse_decode(&mut deserializer);
426 + deserializer.end();
427 + move |context| async move {
428 + transform_result_sse::<_, crate::api::OndeError>(
429 + (move || async move {
430 + let mut api_that_guard = None;
431 + let decode_indices_ =
432 + flutter_rust_bridge::for_generated::lockable_compute_decode_order(
433 + vec![flutter_rust_bridge::for_generated::LockableOrderInfo::new(
434 + &api_that, 0, false,
435 + )],
436 + );
437 + for i in decode_indices_ {
438 + match i {
439 + 0 => {
440 + api_that_guard =
441 + Some(api_that.lockable_decode_async_ref().await)
442 + }
443 + _ => unreachable!(),
444 + }
445 + }
446 + let api_that_guard = api_that_guard.unwrap();
447 + let output_ok = crate::api::OndeChatEngine::load_assigned_model(
448 + &*api_that_guard,
449 + api_app_id,
450 + api_app_secret,
451 + api_system_prompt,
452 + api_sampling,
453 + )
454 + .await?;
455 + Ok(output_ok)
456 + })()
457 + .await,
458 + )
459 + }
460 + },
461 + )
462 +}
463 fn wire__crate__api__OndeChatEngine_load_gguf_model_impl(
464 port_: flutter_rust_bridge::for_generated::MessagePort,
465 ptr_: flutter_rust_bridge::for_generated::PlatformGeneralizedUint8ListPtr,
@@ -1276,11 +1342,13 @@ impl SseDecode for crate::api::InferenceResult {
1342 let mut var_durationSecs = <f64>::sse_decode(deserializer);
1343 let mut var_durationDisplay = <String>::sse_decode(deserializer);
1344 let mut var_finishReason = <String>::sse_decode(deserializer);
1345 + let mut var_toolCalls = <Vec<crate::api::ToolCallInfo>>::sse_decode(deserializer);
1346 return crate::api::InferenceResult {
1347 text: var_text,
1348 duration_secs: var_durationSecs,
1349 duration_display: var_durationDisplay,
1350 finish_reason: var_finishReason,
1351 + tool_calls: var_toolCalls,
1352 };
1353 }
1354 }
@@ -1321,6 +1389,18 @@ impl SseDecode for Vec<u8> {
1389 }
1390 }
1391
1392 +impl SseDecode for Vec<crate::api::ToolCallInfo> {
1393 + // Codec=Sse (Serialization based), see doc to use other codecs
1394 + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1395 + let mut len_ = <i32>::sse_decode(deserializer);
1396 + let mut ans_ = Vec::with_capacity(len_ as usize);
1397 + for idx_ in 0..len_ {
1398 + ans_.push(<crate::api::ToolCallInfo>::sse_decode(deserializer));
1399 + }
1400 + return ans_;
1401 + }
1402 +}
1403 +
1404 impl SseDecode for crate::api::OndeError {
1405 // Codec=Sse (Serialization based), see doc to use other codecs
1406 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
@@ -1448,6 +1528,20 @@ impl SseDecode for crate::api::StreamChunk {
1528 }
1529 }
1530
1531 +impl SseDecode for crate::api::ToolCallInfo {
1532 + // Codec=Sse (Serialization based), see doc to use other codecs
1533 + fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
1534 + let mut var_id = <String>::sse_decode(deserializer);
1535 + let mut var_functionName = <String>::sse_decode(deserializer);
1536 + let mut var_arguments = <String>::sse_decode(deserializer);
1537 + return crate::api::ToolCallInfo {
1538 + id: var_id,
1539 + function_name: var_functionName,
1540 + arguments: var_arguments,
1541 + };
1542 + }
1543 +}
1544 +
1545 impl SseDecode for u64 {
1546 // Codec=Sse (Serialization based), see doc to use other codecs
1547 fn sse_decode(deserializer: &mut flutter_rust_bridge::for_generated::SseDeserializer) -> Self {
@@ -1494,22 +1588,28 @@ fn pde_ffi_dispatcher_primary_impl(
1588 4 => wire__crate__api__OndeChatEngine_history_impl(port, ptr, rust_vec_len, data_len),
1589 5 => wire__crate__api__OndeChatEngine_info_impl(port, ptr, rust_vec_len, data_len),
1590 6 => wire__crate__api__OndeChatEngine_is_loaded_impl(port, ptr, rust_vec_len, data_len),
1497 - 7 => {
1591 + 7 => wire__crate__api__OndeChatEngine_load_assigned_model_impl(
1592 + port,
1593 + ptr,
1594 + rust_vec_len,
1595 + data_len,
1596 + ),
1597 + 8 => {
1598 wire__crate__api__OndeChatEngine_load_gguf_model_impl(port, ptr, rust_vec_len, data_len)
1599 }
1500 - 9 => wire__crate__api__OndeChatEngine_push_history_impl(port, ptr, rust_vec_len, data_len),
1501 - 10 => wire__crate__api__OndeChatEngine_send_message_impl(port, ptr, rust_vec_len, data_len),
1502 - 11 => wire__crate__api__OndeChatEngine_set_sampling_impl(port, ptr, rust_vec_len, data_len),
1503 - 12 => wire__crate__api__OndeChatEngine_set_system_prompt_impl(
1600 + 10 => wire__crate__api__OndeChatEngine_push_history_impl(port, ptr, rust_vec_len, data_len),
1601 + 11 => wire__crate__api__OndeChatEngine_send_message_impl(port, ptr, rust_vec_len, data_len),
1602 + 12 => wire__crate__api__OndeChatEngine_set_sampling_impl(port, ptr, rust_vec_len, data_len),
1603 + 13 => wire__crate__api__OndeChatEngine_set_system_prompt_impl(
1604 port,
1605 ptr,
1606 rust_vec_len,
1607 data_len,
1608 ),
1509 - 13 => {
1609 + 14 => {
1610 wire__crate__api__OndeChatEngine_stream_message_impl(port, ptr, rust_vec_len, data_len)
1611 }
1512 - 14 => wire__crate__api__OndeChatEngine_unload_model_impl(port, ptr, rust_vec_len, data_len),
1612 + 15 => wire__crate__api__OndeChatEngine_unload_model_impl(port, ptr, rust_vec_len, data_len),
1613 _ => unreachable!(),
1614 }
1615 }
@@ -1522,16 +1622,16 @@ fn pde_ffi_dispatcher_sync_impl(
1622 ) -> flutter_rust_bridge::for_generated::WireSyncRust2DartSse {
1623 // Codec=Pde (Serialization + dispatch), see doc to use other codecs
1624 match func_id {
1525 - 8 => wire__crate__api__OndeChatEngine_new_impl(ptr, rust_vec_len, data_len),
1526 - 15 => wire__crate__api__configure_cache_dir_impl(ptr, rust_vec_len, data_len),
1527 - 16 => wire__crate__api__default_model_config_impl(ptr, rust_vec_len, data_len),
1528 - 17 => wire__crate__api__default_sampling_config_impl(ptr, rust_vec_len, data_len),
1529 - 18 => wire__crate__api__deterministic_sampling_config_impl(ptr, rust_vec_len, data_len),
1530 - 19 => wire__crate__api__mobile_sampling_config_impl(ptr, rust_vec_len, data_len),
1531 - 20 => wire__crate__api__qwen25_1_5b_config_impl(ptr, rust_vec_len, data_len),
1532 - 21 => wire__crate__api__qwen25_3b_config_impl(ptr, rust_vec_len, data_len),
1533 - 22 => wire__crate__api__qwen25_coder_1_5b_config_impl(ptr, rust_vec_len, data_len),
1534 - 23 => wire__crate__api__qwen25_coder_3b_config_impl(ptr, rust_vec_len, data_len),
1625 + 9 => wire__crate__api__OndeChatEngine_new_impl(ptr, rust_vec_len, data_len),
1626 + 16 => wire__crate__api__configure_cache_dir_impl(ptr, rust_vec_len, data_len),
1627 + 17 => wire__crate__api__default_model_config_impl(ptr, rust_vec_len, data_len),
1628 + 18 => wire__crate__api__default_sampling_config_impl(ptr, rust_vec_len, data_len),
1629 + 19 => wire__crate__api__deterministic_sampling_config_impl(ptr, rust_vec_len, data_len),
1630 + 20 => wire__crate__api__mobile_sampling_config_impl(ptr, rust_vec_len, data_len),
1631 + 21 => wire__crate__api__qwen25_1_5b_config_impl(ptr, rust_vec_len, data_len),
1632 + 22 => wire__crate__api__qwen25_3b_config_impl(ptr, rust_vec_len, data_len),
1633 + 23 => wire__crate__api__qwen25_coder_1_5b_config_impl(ptr, rust_vec_len, data_len),
1634 + 24 => wire__crate__api__qwen25_coder_3b_config_impl(ptr, rust_vec_len, data_len),
1635 _ => unreachable!(),
1636 }
1637 }
@@ -1652,6 +1752,7 @@ impl flutter_rust_bridge::IntoDart for crate::api::InferenceResult {
1752 self.duration_secs.into_into_dart().into_dart(),
1753 self.duration_display.into_into_dart().into_dart(),
1754 self.finish_reason.into_into_dart().into_dart(),
1755 + self.tool_calls.into_into_dart().into_dart(),
1756 ]
1757 .into_dart()
1758 }
@@ -1732,6 +1833,23 @@ impl flutter_rust_bridge::IntoIntoDart<crate::api::StreamChunk> for crate::api::
1833 self
1834 }
1835 }
1836 +// Codec=Dco (DartCObject based), see doc to use other codecs
1837 +impl flutter_rust_bridge::IntoDart for crate::api::ToolCallInfo {
1838 + fn into_dart(self) -> flutter_rust_bridge::for_generated::DartAbi {
1839 + [
1840 + self.id.into_into_dart().into_dart(),
1841 + self.function_name.into_into_dart().into_dart(),
1842 + self.arguments.into_into_dart().into_dart(),
1843 + ]
1844 + .into_dart()
1845 + }
1846 +}
1847 +impl flutter_rust_bridge::for_generated::IntoDartExceptPrimitive for crate::api::ToolCallInfo {}
1848 +impl flutter_rust_bridge::IntoIntoDart<crate::api::ToolCallInfo> for crate::api::ToolCallInfo {
1849 + fn into_into_dart(self) -> crate::api::ToolCallInfo {
1850 + self
1851 + }
1852 +}
1853
1854 impl SseEncode for flutter_rust_bridge::for_generated::anyhow::Error {
1855 // Codec=Sse (Serialization based), see doc to use other codecs
@@ -1874,6 +1992,7 @@ impl SseEncode for crate::api::InferenceResult {
1992 <f64>::sse_encode(self.duration_secs, serializer);
1993 <String>::sse_encode(self.duration_display, serializer);
1994 <String>::sse_encode(self.finish_reason, serializer);
1995 + <Vec<crate::api::ToolCallInfo>>::sse_encode(self.tool_calls, serializer);
1996 }
1997 }
1998
@@ -1907,6 +2026,16 @@ impl SseEncode for Vec<u8> {
2026 }
2027 }
2028
2029 +impl SseEncode for Vec<crate::api::ToolCallInfo> {
2030 + // Codec=Sse (Serialization based), see doc to use other codecs
2031 + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
2032 + <i32>::sse_encode(self.len() as _, serializer);
2033 + for item in self {
2034 + <crate::api::ToolCallInfo>::sse_encode(item, serializer);
2035 + }
2036 + }
2037 +}
2038 +
2039 impl SseEncode for crate::api::OndeError {
2040 // Codec=Sse (Serialization based), see doc to use other codecs
2041 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
@@ -2012,6 +2141,15 @@ impl SseEncode for crate::api::StreamChunk {
2141 }
2142 }
2143
2144 +impl SseEncode for crate::api::ToolCallInfo {
2145 + // Codec=Sse (Serialization based), see doc to use other codecs
2146 + fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {
2147 + <String>::sse_encode(self.id, serializer);
2148 + <String>::sse_encode(self.function_name, serializer);
2149 + <String>::sse_encode(self.arguments, serializer);
2150 + }
2151 +}
2152 +
2153 impl SseEncode for u64 {
2154 // Codec=Sse (Serialization based), see doc to use other codecs
2155 fn sse_encode(self, serializer: &mut flutter_rust_bridge::for_generated::SseSerializer) {