react-native-nitro-mlx 0.2.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/MLXReactNative.podspec +7 -1
  2. package/ios/Sources/AudioCaptureManager.swift +110 -0
  3. package/ios/Sources/HybridLLM.swift +518 -42
  4. package/ios/Sources/HybridSTT.swift +202 -0
  5. package/ios/Sources/HybridTTS.swift +145 -0
  6. package/ios/Sources/JSONHelpers.swift +9 -0
  7. package/ios/Sources/ModelDownloader.swift +26 -12
  8. package/ios/Sources/StreamEventEmitter.swift +132 -0
  9. package/ios/Sources/ThinkingStateMachine.swift +206 -0
  10. package/lib/module/index.js +3 -0
  11. package/lib/module/index.js.map +1 -1
  12. package/lib/module/llm.js +72 -4
  13. package/lib/module/llm.js.map +1 -1
  14. package/lib/module/models.js +97 -26
  15. package/lib/module/models.js.map +1 -1
  16. package/lib/module/specs/STT.nitro.js +4 -0
  17. package/lib/module/specs/STT.nitro.js.map +1 -0
  18. package/lib/module/specs/TTS.nitro.js +4 -0
  19. package/lib/module/specs/TTS.nitro.js.map +1 -0
  20. package/lib/module/stt.js +49 -0
  21. package/lib/module/stt.js.map +1 -0
  22. package/lib/module/tool-utils.js +56 -0
  23. package/lib/module/tool-utils.js.map +1 -0
  24. package/lib/module/tts.js +40 -0
  25. package/lib/module/tts.js.map +1 -0
  26. package/lib/typescript/src/index.d.ts +8 -3
  27. package/lib/typescript/src/index.d.ts.map +1 -1
  28. package/lib/typescript/src/llm.d.ts +46 -4
  29. package/lib/typescript/src/llm.d.ts.map +1 -1
  30. package/lib/typescript/src/models.d.ts +13 -4
  31. package/lib/typescript/src/models.d.ts.map +1 -1
  32. package/lib/typescript/src/specs/LLM.nitro.d.ts +79 -7
  33. package/lib/typescript/src/specs/LLM.nitro.d.ts.map +1 -1
  34. package/lib/typescript/src/specs/STT.nitro.d.ts +28 -0
  35. package/lib/typescript/src/specs/STT.nitro.d.ts.map +1 -0
  36. package/lib/typescript/src/specs/TTS.nitro.d.ts +22 -0
  37. package/lib/typescript/src/specs/TTS.nitro.d.ts.map +1 -0
  38. package/lib/typescript/src/stt.d.ts +16 -0
  39. package/lib/typescript/src/stt.d.ts.map +1 -0
  40. package/lib/typescript/src/tool-utils.d.ts +13 -0
  41. package/lib/typescript/src/tool-utils.d.ts.map +1 -0
  42. package/lib/typescript/src/tts.d.ts +13 -0
  43. package/lib/typescript/src/tts.d.ts.map +1 -0
  44. package/nitrogen/generated/ios/MLXReactNative+autolinking.rb +1 -1
  45. package/nitrogen/generated/ios/MLXReactNative-Swift-Cxx-Bridge.cpp +76 -1
  46. package/nitrogen/generated/ios/MLXReactNative-Swift-Cxx-Bridge.hpp +338 -1
  47. package/nitrogen/generated/ios/MLXReactNative-Swift-Cxx-Umbrella.hpp +28 -1
  48. package/nitrogen/generated/ios/MLXReactNativeAutolinking.mm +17 -1
  49. package/nitrogen/generated/ios/MLXReactNativeAutolinking.swift +31 -1
  50. package/nitrogen/generated/ios/c++/HybridLLMSpecSwift.cpp +1 -1
  51. package/nitrogen/generated/ios/c++/HybridLLMSpecSwift.hpp +18 -3
  52. package/nitrogen/generated/ios/c++/HybridModelManagerSpecSwift.cpp +1 -1
  53. package/nitrogen/generated/ios/c++/HybridModelManagerSpecSwift.hpp +1 -1
  54. package/nitrogen/generated/ios/c++/HybridSTTSpecSwift.cpp +11 -0
  55. package/nitrogen/generated/ios/c++/HybridSTTSpecSwift.hpp +149 -0
  56. package/nitrogen/generated/ios/c++/HybridTTSSpecSwift.cpp +11 -0
  57. package/nitrogen/generated/ios/c++/HybridTTSSpecSwift.hpp +128 -0
  58. package/nitrogen/generated/ios/swift/Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_.swift +62 -0
  59. package/nitrogen/generated/ios/swift/Func_void.swift +1 -1
  60. package/nitrogen/generated/ios/swift/Func_void_bool.swift +1 -1
  61. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -1
  62. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -1
  63. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_AnyMap_.swift +47 -0
  64. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_ArrayBuffer_.swift +47 -0
  65. package/nitrogen/generated/ios/swift/Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___.swift +67 -0
  66. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -1
  67. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +47 -0
  68. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +1 -1
  69. package/nitrogen/generated/ios/swift/GenerationStats.swift +14 -3
  70. package/nitrogen/generated/ios/swift/HybridLLMSpec.swift +3 -2
  71. package/nitrogen/generated/ios/swift/HybridLLMSpec_cxx.swift +38 -2
  72. package/nitrogen/generated/ios/swift/HybridModelManagerSpec.swift +1 -1
  73. package/nitrogen/generated/ios/swift/HybridModelManagerSpec_cxx.swift +1 -1
  74. package/nitrogen/generated/ios/swift/HybridSTTSpec.swift +66 -0
  75. package/nitrogen/generated/ios/swift/HybridSTTSpec_cxx.swift +286 -0
  76. package/nitrogen/generated/ios/swift/HybridTTSSpec.swift +63 -0
  77. package/nitrogen/generated/ios/swift/HybridTTSSpec_cxx.swift +229 -0
  78. package/nitrogen/generated/ios/swift/LLMLoadOptions.swift +44 -2
  79. package/nitrogen/generated/ios/swift/LLMMessage.swift +1 -1
  80. package/nitrogen/generated/ios/swift/STTLoadOptions.swift +66 -0
  81. package/nitrogen/generated/ios/swift/TTSGenerateOptions.swift +78 -0
  82. package/nitrogen/generated/ios/swift/TTSLoadOptions.swift +66 -0
  83. package/nitrogen/generated/ios/swift/ToolDefinition.swift +113 -0
  84. package/nitrogen/generated/ios/swift/ToolParameter.swift +69 -0
  85. package/nitrogen/generated/shared/c++/GenerationStats.hpp +7 -3
  86. package/nitrogen/generated/shared/c++/HybridLLMSpec.cpp +2 -1
  87. package/nitrogen/generated/shared/c++/HybridLLMSpec.hpp +3 -2
  88. package/nitrogen/generated/shared/c++/HybridModelManagerSpec.cpp +1 -1
  89. package/nitrogen/generated/shared/c++/HybridModelManagerSpec.hpp +1 -1
  90. package/nitrogen/generated/shared/c++/HybridSTTSpec.cpp +32 -0
  91. package/nitrogen/generated/shared/c++/HybridSTTSpec.hpp +78 -0
  92. package/nitrogen/generated/shared/c++/HybridTTSSpec.cpp +29 -0
  93. package/nitrogen/generated/shared/c++/HybridTTSSpec.hpp +78 -0
  94. package/nitrogen/generated/shared/c++/LLMLoadOptions.hpp +10 -3
  95. package/nitrogen/generated/shared/c++/LLMMessage.hpp +1 -1
  96. package/nitrogen/generated/shared/c++/STTLoadOptions.hpp +76 -0
  97. package/nitrogen/generated/shared/c++/TTSGenerateOptions.hpp +80 -0
  98. package/nitrogen/generated/shared/c++/TTSLoadOptions.hpp +76 -0
  99. package/nitrogen/generated/shared/c++/ToolDefinition.hpp +93 -0
  100. package/nitrogen/generated/shared/c++/ToolParameter.hpp +87 -0
  101. package/package.json +13 -8
  102. package/src/index.ts +40 -3
  103. package/src/llm.ts +90 -5
  104. package/src/models.ts +81 -1
  105. package/src/specs/LLM.nitro.ts +111 -7
  106. package/src/specs/STT.nitro.ts +35 -0
  107. package/src/specs/TTS.nitro.ts +30 -0
  108. package/src/stt.ts +67 -0
  109. package/src/tool-utils.ts +74 -0
  110. package/src/tts.ts +60 -0
@@ -0,0 +1,13 @@
1
+ import type { TTSLoadOptions, TTSGenerateOptions } from './specs/TTS.nitro';
2
+ export declare const TTS: {
3
+ load(modelId: string, options?: TTSLoadOptions): Promise<void>;
4
+ generate(text: string, options?: TTSGenerateOptions): Promise<ArrayBuffer>;
5
+ stream(text: string, onAudioChunk: (audio: ArrayBuffer) => void, options?: TTSGenerateOptions): Promise<void>;
6
+ stop(): void;
7
+ unload(): void;
8
+ readonly isLoaded: boolean;
9
+ readonly isGenerating: boolean;
10
+ readonly modelId: string;
11
+ readonly sampleRate: number;
12
+ };
13
+ //# sourceMappingURL=tts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tts.d.ts","sourceRoot":"","sources":["../../../src/tts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,kBAAkB,EACnB,MAAM,mBAAmB,CAAA;AAW1B,eAAO,MAAM,GAAG;kBACA,MAAM,YAAY,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;mBAKtD,MAAM,YACF,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC;iBAKf,MAAM,gBACE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,YAChC,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC;YAIR,IAAI;cAIF,IAAI;uBAIE,OAAO;2BAIH,OAAO;sBAIZ,MAAM;yBAIH,MAAM;CAGzB,CAAA"}
@@ -2,7 +2,7 @@
2
2
  # MLXReactNative+autolinking.rb
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2025 Marc Rousavy @ Margelo
5
+ # Copyright © 2026 Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a Ruby script that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// MLXReactNative-Swift-Cxx-Bridge.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "MLXReactNative-Swift-Cxx-Bridge.hpp"
@@ -10,6 +10,8 @@
10
10
  // Include C++ implementation defined types
11
11
  #include "HybridLLMSpecSwift.hpp"
12
12
  #include "HybridModelManagerSpecSwift.hpp"
13
+ #include "HybridSTTSpecSwift.hpp"
14
+ #include "HybridTTSSpecSwift.hpp"
13
15
  #include "MLXReactNative-Swift-Cxx-Umbrella.hpp"
14
16
  #include <NitroModules/NitroDefines.hpp>
15
17
 
@@ -39,6 +41,31 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
39
41
  };
40
42
  }
41
43
 
44
+ // pragma MARK: std::function<void(const std::shared_ptr<AnyMap>& /* result */)>
45
+ Func_void_std__shared_ptr_AnyMap_ create_Func_void_std__shared_ptr_AnyMap_(void* NON_NULL swiftClosureWrapper) noexcept {
46
+ auto swiftClosure = MLXReactNative::Func_void_std__shared_ptr_AnyMap_::fromUnsafe(swiftClosureWrapper);
47
+ return [swiftClosure = std::move(swiftClosure)](const std::shared_ptr<AnyMap>& result) mutable -> void {
48
+ swiftClosure.call(result);
49
+ };
50
+ }
51
+
52
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>
53
+ Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_ create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_(void* NON_NULL swiftClosureWrapper) noexcept {
54
+ auto swiftClosure = MLXReactNative::Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_::fromUnsafe(swiftClosureWrapper);
55
+ return [swiftClosure = std::move(swiftClosure)](const std::shared_ptr<AnyMap>& args) mutable -> std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>> {
56
+ auto __result = swiftClosure.call(args);
57
+ return __result;
58
+ };
59
+ }
60
+
61
+ // pragma MARK: std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>
62
+ Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___ create_Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___(void* NON_NULL swiftClosureWrapper) noexcept {
63
+ auto swiftClosure = MLXReactNative::Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___::fromUnsafe(swiftClosureWrapper);
64
+ return [swiftClosure = std::move(swiftClosure)](const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& result) mutable -> void {
65
+ swiftClosure.call(result);
66
+ };
67
+ }
68
+
42
69
  // pragma MARK: std::function<void(const std::string& /* result */)>
43
70
  Func_void_std__string create_Func_void_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
44
71
  auto swiftClosure = MLXReactNative::Func_void_std__string::fromUnsafe(swiftClosureWrapper);
@@ -47,6 +74,14 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
47
74
  };
48
75
  }
49
76
 
77
+ // pragma MARK: std::function<void(const std::string& /* toolName */, const std::string& /* args */)>
78
+ Func_void_std__string_std__string create_Func_void_std__string_std__string(void* NON_NULL swiftClosureWrapper) noexcept {
79
+ auto swiftClosure = MLXReactNative::Func_void_std__string_std__string::fromUnsafe(swiftClosureWrapper);
80
+ return [swiftClosure = std::move(swiftClosure)](const std::string& toolName, const std::string& args) mutable -> void {
81
+ swiftClosure.call(toolName, args);
82
+ };
83
+ }
84
+
50
85
  // pragma MARK: std::shared_ptr<HybridLLMSpec>
51
86
  std::shared_ptr<HybridLLMSpec> create_std__shared_ptr_HybridLLMSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
52
87
  MLXReactNative::HybridLLMSpec_cxx swiftPart = MLXReactNative::HybridLLMSpec_cxx::fromUnsafe(swiftUnsafePointer);
@@ -94,5 +129,45 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
94
129
  MLXReactNative::HybridModelManagerSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
95
130
  return swiftPart.toUnsafe();
96
131
  }
132
+
133
+ // pragma MARK: std::shared_ptr<HybridSTTSpec>
134
+ std::shared_ptr<HybridSTTSpec> create_std__shared_ptr_HybridSTTSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
135
+ MLXReactNative::HybridSTTSpec_cxx swiftPart = MLXReactNative::HybridSTTSpec_cxx::fromUnsafe(swiftUnsafePointer);
136
+ return std::make_shared<margelo::nitro::mlxreactnative::HybridSTTSpecSwift>(swiftPart);
137
+ }
138
+ void* NON_NULL get_std__shared_ptr_HybridSTTSpec_(std__shared_ptr_HybridSTTSpec_ cppType) {
139
+ std::shared_ptr<margelo::nitro::mlxreactnative::HybridSTTSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::mlxreactnative::HybridSTTSpecSwift>(cppType);
140
+ #ifdef NITRO_DEBUG
141
+ if (swiftWrapper == nullptr) [[unlikely]] {
142
+ throw std::runtime_error("Class \"HybridSTTSpec\" is not implemented in Swift!");
143
+ }
144
+ #endif
145
+ MLXReactNative::HybridSTTSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
146
+ return swiftPart.toUnsafe();
147
+ }
148
+
149
+ // pragma MARK: std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>
150
+ Func_void_std__shared_ptr_ArrayBuffer_ create_Func_void_std__shared_ptr_ArrayBuffer_(void* NON_NULL swiftClosureWrapper) noexcept {
151
+ auto swiftClosure = MLXReactNative::Func_void_std__shared_ptr_ArrayBuffer_::fromUnsafe(swiftClosureWrapper);
152
+ return [swiftClosure = std::move(swiftClosure)](const std::shared_ptr<ArrayBuffer>& result) mutable -> void {
153
+ swiftClosure.call(ArrayBufferHolder(result));
154
+ };
155
+ }
156
+
157
+ // pragma MARK: std::shared_ptr<HybridTTSSpec>
158
+ std::shared_ptr<HybridTTSSpec> create_std__shared_ptr_HybridTTSSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
159
+ MLXReactNative::HybridTTSSpec_cxx swiftPart = MLXReactNative::HybridTTSSpec_cxx::fromUnsafe(swiftUnsafePointer);
160
+ return std::make_shared<margelo::nitro::mlxreactnative::HybridTTSSpecSwift>(swiftPart);
161
+ }
162
+ void* NON_NULL get_std__shared_ptr_HybridTTSSpec_(std__shared_ptr_HybridTTSSpec_ cppType) {
163
+ std::shared_ptr<margelo::nitro::mlxreactnative::HybridTTSSpecSwift> swiftWrapper = std::dynamic_pointer_cast<margelo::nitro::mlxreactnative::HybridTTSSpecSwift>(cppType);
164
+ #ifdef NITRO_DEBUG
165
+ if (swiftWrapper == nullptr) [[unlikely]] {
166
+ throw std::runtime_error("Class \"HybridTTSSpec\" is not implemented in Swift!");
167
+ }
168
+ #endif
169
+ MLXReactNative::HybridTTSSpec_cxx& swiftPart = swiftWrapper->getSwiftPart();
170
+ return swiftPart.toUnsafe();
171
+ }
97
172
 
98
173
  } // namespace margelo::nitro::mlxreactnative::bridge::swift
@@ -2,35 +2,65 @@
2
2
  /// MLXReactNative-Swift-Cxx-Bridge.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
9
9
 
10
10
  // Forward declarations of C++ defined types
11
+ // Forward declaration of `ArrayBufferHolder` to properly resolve imports.
12
+ namespace NitroModules { class ArrayBufferHolder; }
11
13
  // Forward declaration of `GenerationStats` to properly resolve imports.
12
14
  namespace margelo::nitro::mlxreactnative { struct GenerationStats; }
13
15
  // Forward declaration of `HybridLLMSpec` to properly resolve imports.
14
16
  namespace margelo::nitro::mlxreactnative { class HybridLLMSpec; }
15
17
  // Forward declaration of `HybridModelManagerSpec` to properly resolve imports.
16
18
  namespace margelo::nitro::mlxreactnative { class HybridModelManagerSpec; }
19
+ // Forward declaration of `HybridSTTSpec` to properly resolve imports.
20
+ namespace margelo::nitro::mlxreactnative { class HybridSTTSpec; }
21
+ // Forward declaration of `HybridTTSSpec` to properly resolve imports.
22
+ namespace margelo::nitro::mlxreactnative { class HybridTTSSpec; }
17
23
  // Forward declaration of `LLMLoadOptions` to properly resolve imports.
18
24
  namespace margelo::nitro::mlxreactnative { struct LLMLoadOptions; }
19
25
  // Forward declaration of `LLMMessage` to properly resolve imports.
20
26
  namespace margelo::nitro::mlxreactnative { struct LLMMessage; }
27
+ // Forward declaration of `STTLoadOptions` to properly resolve imports.
28
+ namespace margelo::nitro::mlxreactnative { struct STTLoadOptions; }
29
+ // Forward declaration of `TTSGenerateOptions` to properly resolve imports.
30
+ namespace margelo::nitro::mlxreactnative { struct TTSGenerateOptions; }
31
+ // Forward declaration of `TTSLoadOptions` to properly resolve imports.
32
+ namespace margelo::nitro::mlxreactnative { struct TTSLoadOptions; }
33
+ // Forward declaration of `ToolDefinition` to properly resolve imports.
34
+ namespace margelo::nitro::mlxreactnative { struct ToolDefinition; }
35
+ // Forward declaration of `ToolParameter` to properly resolve imports.
36
+ namespace margelo::nitro::mlxreactnative { struct ToolParameter; }
21
37
 
22
38
  // Forward declarations of Swift defined types
23
39
  // Forward declaration of `HybridLLMSpec_cxx` to properly resolve imports.
24
40
  namespace MLXReactNative { class HybridLLMSpec_cxx; }
25
41
  // Forward declaration of `HybridModelManagerSpec_cxx` to properly resolve imports.
26
42
  namespace MLXReactNative { class HybridModelManagerSpec_cxx; }
43
+ // Forward declaration of `HybridSTTSpec_cxx` to properly resolve imports.
44
+ namespace MLXReactNative { class HybridSTTSpec_cxx; }
45
+ // Forward declaration of `HybridTTSSpec_cxx` to properly resolve imports.
46
+ namespace MLXReactNative { class HybridTTSSpec_cxx; }
27
47
 
28
48
  // Include C++ defined types
29
49
  #include "GenerationStats.hpp"
30
50
  #include "HybridLLMSpec.hpp"
31
51
  #include "HybridModelManagerSpec.hpp"
52
+ #include "HybridSTTSpec.hpp"
53
+ #include "HybridTTSSpec.hpp"
32
54
  #include "LLMLoadOptions.hpp"
33
55
  #include "LLMMessage.hpp"
56
+ #include "STTLoadOptions.hpp"
57
+ #include "TTSGenerateOptions.hpp"
58
+ #include "TTSLoadOptions.hpp"
59
+ #include "ToolDefinition.hpp"
60
+ #include "ToolParameter.hpp"
61
+ #include <NitroModules/AnyMap.hpp>
62
+ #include <NitroModules/ArrayBuffer.hpp>
63
+ #include <NitroModules/ArrayBufferHolder.hpp>
34
64
  #include <NitroModules/Promise.hpp>
35
65
  #include <NitroModules/PromiseHolder.hpp>
36
66
  #include <NitroModules/Result.hpp>
@@ -181,6 +211,134 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
181
211
  return *optional;
182
212
  }
183
213
 
214
+ // pragma MARK: std::vector<ToolParameter>
215
+ /**
216
+ * Specialized version of `std::vector<ToolParameter>`.
217
+ */
218
+ using std__vector_ToolParameter_ = std::vector<ToolParameter>;
219
+ inline std::vector<ToolParameter> create_std__vector_ToolParameter_(size_t size) noexcept {
220
+ std::vector<ToolParameter> vector;
221
+ vector.reserve(size);
222
+ return vector;
223
+ }
224
+
225
+ // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>
226
+ /**
227
+ * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>`.
228
+ */
229
+ using std__shared_ptr_Promise_std__shared_ptr_AnyMap___ = std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>;
230
+ inline std::shared_ptr<Promise<std::shared_ptr<AnyMap>>> create_std__shared_ptr_Promise_std__shared_ptr_AnyMap___() noexcept {
231
+ return Promise<std::shared_ptr<AnyMap>>::create();
232
+ }
233
+ inline PromiseHolder<std::shared_ptr<AnyMap>> wrap_std__shared_ptr_Promise_std__shared_ptr_AnyMap___(std::shared_ptr<Promise<std::shared_ptr<AnyMap>>> promise) noexcept {
234
+ return PromiseHolder<std::shared_ptr<AnyMap>>(std::move(promise));
235
+ }
236
+
237
+ // pragma MARK: std::function<void(const std::shared_ptr<AnyMap>& /* result */)>
238
+ /**
239
+ * Specialized version of `std::function<void(const std::shared_ptr<AnyMap>&)>`.
240
+ */
241
+ using Func_void_std__shared_ptr_AnyMap_ = std::function<void(const std::shared_ptr<AnyMap>& /* result */)>;
242
+ /**
243
+ * Wrapper class for a `std::function<void(const std::shared_ptr<AnyMap>& / * result * /)>`, this can be used from Swift.
244
+ */
245
+ class Func_void_std__shared_ptr_AnyMap__Wrapper final {
246
+ public:
247
+ explicit Func_void_std__shared_ptr_AnyMap__Wrapper(std::function<void(const std::shared_ptr<AnyMap>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<AnyMap>& /* result */)>>(std::move(func))) {}
248
+ inline void call(std::shared_ptr<AnyMap> result) const noexcept {
249
+ _function->operator()(result);
250
+ }
251
+ private:
252
+ std::unique_ptr<std::function<void(const std::shared_ptr<AnyMap>& /* result */)>> _function;
253
+ } SWIFT_NONCOPYABLE;
254
+ Func_void_std__shared_ptr_AnyMap_ create_Func_void_std__shared_ptr_AnyMap_(void* NON_NULL swiftClosureWrapper) noexcept;
255
+ inline Func_void_std__shared_ptr_AnyMap__Wrapper wrap_Func_void_std__shared_ptr_AnyMap_(Func_void_std__shared_ptr_AnyMap_ value) noexcept {
256
+ return Func_void_std__shared_ptr_AnyMap__Wrapper(std::move(value));
257
+ }
258
+
259
+ // pragma MARK: std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>
260
+ /**
261
+ * Specialized version of `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>&)>`.
262
+ */
263
+ using Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_ = std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>;
264
+ /**
265
+ * Wrapper class for a `std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& / * args * /)>`, this can be used from Swift.
266
+ */
267
+ class Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap__Wrapper final {
268
+ public:
269
+ explicit Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap__Wrapper(std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>&& func): _function(std::make_unique<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>>(std::move(func))) {}
270
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>> call(std::shared_ptr<AnyMap> args) const noexcept {
271
+ auto __result = _function->operator()(args);
272
+ return __result;
273
+ }
274
+ private:
275
+ std::unique_ptr<std::function<std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>(const std::shared_ptr<AnyMap>& /* args */)>> _function;
276
+ } SWIFT_NONCOPYABLE;
277
+ Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_ create_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_(void* NON_NULL swiftClosureWrapper) noexcept;
278
+ inline Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap__Wrapper wrap_Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_(Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap_ value) noexcept {
279
+ return Func_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap______std__shared_ptr_AnyMap__Wrapper(std::move(value));
280
+ }
281
+
282
+ // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>
283
+ /**
284
+ * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>`.
285
+ */
286
+ using std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap_____ = std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>>;
287
+ inline std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>> create_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap_____() noexcept {
288
+ return Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>::create();
289
+ }
290
+ inline PromiseHolder<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>> wrap_std__shared_ptr_Promise_std__shared_ptr_Promise_std__shared_ptr_AnyMap_____(std::shared_ptr<Promise<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>> promise) noexcept {
291
+ return PromiseHolder<std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>>(std::move(promise));
292
+ }
293
+
294
+ // pragma MARK: std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>
295
+ /**
296
+ * Specialized version of `std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>&)>`.
297
+ */
298
+ using Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___ = std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>;
299
+ /**
300
+ * Wrapper class for a `std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& / * result * /)>`, this can be used from Swift.
301
+ */
302
+ class Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap____Wrapper final {
303
+ public:
304
+ explicit Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap____Wrapper(std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>>(std::move(func))) {}
305
+ inline void call(std::shared_ptr<Promise<std::shared_ptr<AnyMap>>> result) const noexcept {
306
+ _function->operator()(result);
307
+ }
308
+ private:
309
+ std::unique_ptr<std::function<void(const std::shared_ptr<Promise<std::shared_ptr<AnyMap>>>& /* result */)>> _function;
310
+ } SWIFT_NONCOPYABLE;
311
+ Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___ create_Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___(void* NON_NULL swiftClosureWrapper) noexcept;
312
+ inline Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap____Wrapper wrap_Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___(Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap___ value) noexcept {
313
+ return Func_void_std__shared_ptr_Promise_std__shared_ptr_AnyMap____Wrapper(std::move(value));
314
+ }
315
+
316
+ // pragma MARK: std::vector<ToolDefinition>
317
+ /**
318
+ * Specialized version of `std::vector<ToolDefinition>`.
319
+ */
320
+ using std__vector_ToolDefinition_ = std::vector<ToolDefinition>;
321
+ inline std::vector<ToolDefinition> create_std__vector_ToolDefinition_(size_t size) noexcept {
322
+ std::vector<ToolDefinition> vector;
323
+ vector.reserve(size);
324
+ return vector;
325
+ }
326
+
327
+ // pragma MARK: std::optional<std::vector<ToolDefinition>>
328
+ /**
329
+ * Specialized version of `std::optional<std::vector<ToolDefinition>>`.
330
+ */
331
+ using std__optional_std__vector_ToolDefinition__ = std::optional<std::vector<ToolDefinition>>;
332
+ inline std::optional<std::vector<ToolDefinition>> create_std__optional_std__vector_ToolDefinition__(const std::vector<ToolDefinition>& value) noexcept {
333
+ return std::optional<std::vector<ToolDefinition>>(value);
334
+ }
335
+ inline bool has_value_std__optional_std__vector_ToolDefinition__(const std::optional<std::vector<ToolDefinition>>& optional) noexcept {
336
+ return optional.has_value();
337
+ }
338
+ inline std::vector<ToolDefinition> get_std__optional_std__vector_ToolDefinition__(const std::optional<std::vector<ToolDefinition>>& optional) noexcept {
339
+ return *optional;
340
+ }
341
+
184
342
  // pragma MARK: std::optional<LLMLoadOptions>
185
343
  /**
186
344
  * Specialized version of `std::optional<LLMLoadOptions>`.
@@ -230,6 +388,43 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
230
388
  return Func_void_std__string_Wrapper(std::move(value));
231
389
  }
232
390
 
391
+ // pragma MARK: std::function<void(const std::string& /* toolName */, const std::string& /* args */)>
392
+ /**
393
+ * Specialized version of `std::function<void(const std::string&, const std::string&)>`.
394
+ */
395
+ using Func_void_std__string_std__string = std::function<void(const std::string& /* toolName */, const std::string& /* args */)>;
396
+ /**
397
+ * Wrapper class for a `std::function<void(const std::string& / * toolName * /, const std::string& / * args * /)>`, this can be used from Swift.
398
+ */
399
+ class Func_void_std__string_std__string_Wrapper final {
400
+ public:
401
+ explicit Func_void_std__string_std__string_Wrapper(std::function<void(const std::string& /* toolName */, const std::string& /* args */)>&& func): _function(std::make_unique<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>(std::move(func))) {}
402
+ inline void call(std::string toolName, std::string args) const noexcept {
403
+ _function->operator()(toolName, args);
404
+ }
405
+ private:
406
+ std::unique_ptr<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>> _function;
407
+ } SWIFT_NONCOPYABLE;
408
+ Func_void_std__string_std__string create_Func_void_std__string_std__string(void* NON_NULL swiftClosureWrapper) noexcept;
409
+ inline Func_void_std__string_std__string_Wrapper wrap_Func_void_std__string_std__string(Func_void_std__string_std__string value) noexcept {
410
+ return Func_void_std__string_std__string_Wrapper(std::move(value));
411
+ }
412
+
413
+ // pragma MARK: std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>
414
+ /**
415
+ * Specialized version of `std::optional<std::function<void(const std::string& / * toolName * /, const std::string& / * args * /)>>`.
416
+ */
417
+ using std__optional_std__function_void_const_std__string_____toolName_____const_std__string_____args______ = std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>;
418
+ inline std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>> create_std__optional_std__function_void_const_std__string_____toolName_____const_std__string_____args______(const std::function<void(const std::string& /* toolName */, const std::string& /* args */)>& value) noexcept {
419
+ return std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>(value);
420
+ }
421
+ inline bool has_value_std__optional_std__function_void_const_std__string_____toolName_____const_std__string_____args______(const std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>& optional) noexcept {
422
+ return optional.has_value();
423
+ }
424
+ inline std::function<void(const std::string& /* toolName */, const std::string& /* args */)> get_std__optional_std__function_void_const_std__string_____toolName_____const_std__string_____args______(const std::optional<std::function<void(const std::string& /* toolName */, const std::string& /* args */)>>& optional) noexcept {
425
+ return *optional;
426
+ }
427
+
233
428
  // pragma MARK: std::shared_ptr<HybridLLMSpec>
234
429
  /**
235
430
  * Specialized version of `std::shared_ptr<HybridLLMSpec>`.
@@ -395,5 +590,147 @@ namespace margelo::nitro::mlxreactnative::bridge::swift {
395
590
  inline Result_std__shared_ptr_Promise_std__vector_std__string____ create_Result_std__shared_ptr_Promise_std__vector_std__string____(const std::exception_ptr& error) noexcept {
396
591
  return Result<std::shared_ptr<Promise<std::vector<std::string>>>>::withError(error);
397
592
  }
593
+
594
+ // pragma MARK: std::optional<STTLoadOptions>
595
+ /**
596
+ * Specialized version of `std::optional<STTLoadOptions>`.
597
+ */
598
+ using std__optional_STTLoadOptions_ = std::optional<STTLoadOptions>;
599
+ inline std::optional<STTLoadOptions> create_std__optional_STTLoadOptions_(const STTLoadOptions& value) noexcept {
600
+ return std::optional<STTLoadOptions>(value);
601
+ }
602
+ inline bool has_value_std__optional_STTLoadOptions_(const std::optional<STTLoadOptions>& optional) noexcept {
603
+ return optional.has_value();
604
+ }
605
+ inline STTLoadOptions get_std__optional_STTLoadOptions_(const std::optional<STTLoadOptions>& optional) noexcept {
606
+ return *optional;
607
+ }
608
+
609
+ // pragma MARK: std::shared_ptr<HybridSTTSpec>
610
+ /**
611
+ * Specialized version of `std::shared_ptr<HybridSTTSpec>`.
612
+ */
613
+ using std__shared_ptr_HybridSTTSpec_ = std::shared_ptr<HybridSTTSpec>;
614
+ std::shared_ptr<HybridSTTSpec> create_std__shared_ptr_HybridSTTSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
615
+ void* NON_NULL get_std__shared_ptr_HybridSTTSpec_(std__shared_ptr_HybridSTTSpec_ cppType);
616
+
617
+ // pragma MARK: std::weak_ptr<HybridSTTSpec>
618
+ using std__weak_ptr_HybridSTTSpec_ = std::weak_ptr<HybridSTTSpec>;
619
+ inline std__weak_ptr_HybridSTTSpec_ weakify_std__shared_ptr_HybridSTTSpec_(const std::shared_ptr<HybridSTTSpec>& strong) noexcept { return strong; }
620
+
621
+ // pragma MARK: std::optional<TTSLoadOptions>
622
+ /**
623
+ * Specialized version of `std::optional<TTSLoadOptions>`.
624
+ */
625
+ using std__optional_TTSLoadOptions_ = std::optional<TTSLoadOptions>;
626
+ inline std::optional<TTSLoadOptions> create_std__optional_TTSLoadOptions_(const TTSLoadOptions& value) noexcept {
627
+ return std::optional<TTSLoadOptions>(value);
628
+ }
629
+ inline bool has_value_std__optional_TTSLoadOptions_(const std::optional<TTSLoadOptions>& optional) noexcept {
630
+ return optional.has_value();
631
+ }
632
+ inline TTSLoadOptions get_std__optional_TTSLoadOptions_(const std::optional<TTSLoadOptions>& optional) noexcept {
633
+ return *optional;
634
+ }
635
+
636
+ // pragma MARK: std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>
637
+ /**
638
+ * Specialized version of `std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>`.
639
+ */
640
+ using std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer___ = std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>;
641
+ inline std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> create_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer___() noexcept {
642
+ return Promise<std::shared_ptr<ArrayBuffer>>::create();
643
+ }
644
+ inline PromiseHolder<std::shared_ptr<ArrayBuffer>> wrap_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer___(std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>> promise) noexcept {
645
+ return PromiseHolder<std::shared_ptr<ArrayBuffer>>(std::move(promise));
646
+ }
647
+
648
+ // pragma MARK: std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>
649
+ /**
650
+ * Specialized version of `std::function<void(const std::shared_ptr<ArrayBuffer>&)>`.
651
+ */
652
+ using Func_void_std__shared_ptr_ArrayBuffer_ = std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>;
653
+ /**
654
+ * Wrapper class for a `std::function<void(const std::shared_ptr<ArrayBuffer>& / * result * /)>`, this can be used from Swift.
655
+ */
656
+ class Func_void_std__shared_ptr_ArrayBuffer__Wrapper final {
657
+ public:
658
+ explicit Func_void_std__shared_ptr_ArrayBuffer__Wrapper(std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>&& func): _function(std::make_unique<std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>>(std::move(func))) {}
659
+ inline void call(ArrayBufferHolder result) const noexcept {
660
+ _function->operator()(result.getArrayBuffer());
661
+ }
662
+ private:
663
+ std::unique_ptr<std::function<void(const std::shared_ptr<ArrayBuffer>& /* result */)>> _function;
664
+ } SWIFT_NONCOPYABLE;
665
+ Func_void_std__shared_ptr_ArrayBuffer_ create_Func_void_std__shared_ptr_ArrayBuffer_(void* NON_NULL swiftClosureWrapper) noexcept;
666
+ inline Func_void_std__shared_ptr_ArrayBuffer__Wrapper wrap_Func_void_std__shared_ptr_ArrayBuffer_(Func_void_std__shared_ptr_ArrayBuffer_ value) noexcept {
667
+ return Func_void_std__shared_ptr_ArrayBuffer__Wrapper(std::move(value));
668
+ }
669
+
670
+ // pragma MARK: std::optional<std::string>
671
+ /**
672
+ * Specialized version of `std::optional<std::string>`.
673
+ */
674
+ using std__optional_std__string_ = std::optional<std::string>;
675
+ inline std::optional<std::string> create_std__optional_std__string_(const std::string& value) noexcept {
676
+ return std::optional<std::string>(value);
677
+ }
678
+ inline bool has_value_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
679
+ return optional.has_value();
680
+ }
681
+ inline std::string get_std__optional_std__string_(const std::optional<std::string>& optional) noexcept {
682
+ return *optional;
683
+ }
684
+
685
+ // pragma MARK: std::optional<double>
686
+ /**
687
+ * Specialized version of `std::optional<double>`.
688
+ */
689
+ using std__optional_double_ = std::optional<double>;
690
+ inline std::optional<double> create_std__optional_double_(const double& value) noexcept {
691
+ return std::optional<double>(value);
692
+ }
693
+ inline bool has_value_std__optional_double_(const std::optional<double>& optional) noexcept {
694
+ return optional.has_value();
695
+ }
696
+ inline double get_std__optional_double_(const std::optional<double>& optional) noexcept {
697
+ return *optional;
698
+ }
699
+
700
+ // pragma MARK: std::optional<TTSGenerateOptions>
701
+ /**
702
+ * Specialized version of `std::optional<TTSGenerateOptions>`.
703
+ */
704
+ using std__optional_TTSGenerateOptions_ = std::optional<TTSGenerateOptions>;
705
+ inline std::optional<TTSGenerateOptions> create_std__optional_TTSGenerateOptions_(const TTSGenerateOptions& value) noexcept {
706
+ return std::optional<TTSGenerateOptions>(value);
707
+ }
708
+ inline bool has_value_std__optional_TTSGenerateOptions_(const std::optional<TTSGenerateOptions>& optional) noexcept {
709
+ return optional.has_value();
710
+ }
711
+ inline TTSGenerateOptions get_std__optional_TTSGenerateOptions_(const std::optional<TTSGenerateOptions>& optional) noexcept {
712
+ return *optional;
713
+ }
714
+
715
+ // pragma MARK: std::shared_ptr<HybridTTSSpec>
716
+ /**
717
+ * Specialized version of `std::shared_ptr<HybridTTSSpec>`.
718
+ */
719
+ using std__shared_ptr_HybridTTSSpec_ = std::shared_ptr<HybridTTSSpec>;
720
+ std::shared_ptr<HybridTTSSpec> create_std__shared_ptr_HybridTTSSpec_(void* NON_NULL swiftUnsafePointer) noexcept;
721
+ void* NON_NULL get_std__shared_ptr_HybridTTSSpec_(std__shared_ptr_HybridTTSSpec_ cppType);
722
+
723
+ // pragma MARK: std::weak_ptr<HybridTTSSpec>
724
+ using std__weak_ptr_HybridTTSSpec_ = std::weak_ptr<HybridTTSSpec>;
725
+ inline std__weak_ptr_HybridTTSSpec_ weakify_std__shared_ptr_HybridTTSSpec_(const std::shared_ptr<HybridTTSSpec>& strong) noexcept { return strong; }
726
+
727
+ // pragma MARK: Result<std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>>
728
+ using Result_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer____ = Result<std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>>;
729
+ inline Result_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer____ create_Result_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer____(const std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>& value) noexcept {
730
+ return Result<std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>>::withValue(value);
731
+ }
732
+ inline Result_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer____ create_Result_std__shared_ptr_Promise_std__shared_ptr_ArrayBuffer____(const std::exception_ptr& error) noexcept {
733
+ return Result<std::shared_ptr<Promise<std::shared_ptr<ArrayBuffer>>>>::withError(error);
734
+ }
398
735
 
399
736
  } // namespace margelo::nitro::mlxreactnative::bridge::swift
@@ -2,7 +2,7 @@
2
2
  /// MLXReactNative-Swift-Cxx-Umbrella.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -14,17 +14,40 @@ namespace margelo::nitro::mlxreactnative { struct GenerationStats; }
14
14
  namespace margelo::nitro::mlxreactnative { class HybridLLMSpec; }
15
15
  // Forward declaration of `HybridModelManagerSpec` to properly resolve imports.
16
16
  namespace margelo::nitro::mlxreactnative { class HybridModelManagerSpec; }
17
+ // Forward declaration of `HybridSTTSpec` to properly resolve imports.
18
+ namespace margelo::nitro::mlxreactnative { class HybridSTTSpec; }
19
+ // Forward declaration of `HybridTTSSpec` to properly resolve imports.
20
+ namespace margelo::nitro::mlxreactnative { class HybridTTSSpec; }
17
21
  // Forward declaration of `LLMLoadOptions` to properly resolve imports.
18
22
  namespace margelo::nitro::mlxreactnative { struct LLMLoadOptions; }
19
23
  // Forward declaration of `LLMMessage` to properly resolve imports.
20
24
  namespace margelo::nitro::mlxreactnative { struct LLMMessage; }
25
+ // Forward declaration of `STTLoadOptions` to properly resolve imports.
26
+ namespace margelo::nitro::mlxreactnative { struct STTLoadOptions; }
27
+ // Forward declaration of `TTSGenerateOptions` to properly resolve imports.
28
+ namespace margelo::nitro::mlxreactnative { struct TTSGenerateOptions; }
29
+ // Forward declaration of `TTSLoadOptions` to properly resolve imports.
30
+ namespace margelo::nitro::mlxreactnative { struct TTSLoadOptions; }
31
+ // Forward declaration of `ToolDefinition` to properly resolve imports.
32
+ namespace margelo::nitro::mlxreactnative { struct ToolDefinition; }
33
+ // Forward declaration of `ToolParameter` to properly resolve imports.
34
+ namespace margelo::nitro::mlxreactnative { struct ToolParameter; }
21
35
 
22
36
  // Include C++ defined types
23
37
  #include "GenerationStats.hpp"
24
38
  #include "HybridLLMSpec.hpp"
25
39
  #include "HybridModelManagerSpec.hpp"
40
+ #include "HybridSTTSpec.hpp"
41
+ #include "HybridTTSSpec.hpp"
26
42
  #include "LLMLoadOptions.hpp"
27
43
  #include "LLMMessage.hpp"
44
+ #include "STTLoadOptions.hpp"
45
+ #include "TTSGenerateOptions.hpp"
46
+ #include "TTSLoadOptions.hpp"
47
+ #include "ToolDefinition.hpp"
48
+ #include "ToolParameter.hpp"
49
+ #include <NitroModules/AnyMap.hpp>
50
+ #include <NitroModules/ArrayBuffer.hpp>
28
51
  #include <NitroModules/Promise.hpp>
29
52
  #include <NitroModules/Result.hpp>
30
53
  #include <exception>
@@ -48,6 +71,10 @@ namespace margelo::nitro::mlxreactnative { struct LLMMessage; }
48
71
  namespace MLXReactNative { class HybridLLMSpec_cxx; }
49
72
  // Forward declaration of `HybridModelManagerSpec_cxx` to properly resolve imports.
50
73
  namespace MLXReactNative { class HybridModelManagerSpec_cxx; }
74
+ // Forward declaration of `HybridSTTSpec_cxx` to properly resolve imports.
75
+ namespace MLXReactNative { class HybridSTTSpec_cxx; }
76
+ // Forward declaration of `HybridTTSSpec_cxx` to properly resolve imports.
77
+ namespace MLXReactNative { class HybridTTSSpec_cxx; }
51
78
 
52
79
  // Include Swift defined types
53
80
  #if __has_include("MLXReactNative-Swift.h")
@@ -2,7 +2,7 @@
2
2
  /// MLXReactNativeAutolinking.mm
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2025 Marc Rousavy @ Margelo
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #import <Foundation/Foundation.h>
@@ -12,6 +12,8 @@
12
12
 
13
13
  #include "HybridLLMSpecSwift.hpp"
14
14
  #include "HybridModelManagerSpecSwift.hpp"
15
+ #include "HybridTTSSpecSwift.hpp"
16
+ #include "HybridSTTSpecSwift.hpp"
15
17
 
16
18
  @interface MLXReactNativeAutolinking : NSObject
17
19
  @end
@@ -36,6 +38,20 @@
36
38
  return hybridObject;
37
39
  }
38
40
  );
41
+ HybridObjectRegistry::registerHybridObjectConstructor(
42
+ "TTS",
43
+ []() -> std::shared_ptr<HybridObject> {
44
+ std::shared_ptr<HybridTTSSpec> hybridObject = MLXReactNative::MLXReactNativeAutolinking::createTTS();
45
+ return hybridObject;
46
+ }
47
+ );
48
+ HybridObjectRegistry::registerHybridObjectConstructor(
49
+ "STT",
50
+ []() -> std::shared_ptr<HybridObject> {
51
+ std::shared_ptr<HybridSTTSpec> hybridObject = MLXReactNative::MLXReactNativeAutolinking::createSTT();
52
+ return hybridObject;
53
+ }
54
+ );
39
55
  }
40
56
 
41
57
  @end