react-native-candle 0.1.11 → 0.1.13

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 (34) hide show
  1. package/ReactNativeCandle.podspec +1 -1
  2. package/ios/Sources/CandleLinkSheetWrapperView.swift +179 -38
  3. package/ios/Sources/CandleLinkViewModel.swift +3 -11
  4. package/ios/Sources/RNCandle.swift +300 -100
  5. package/ios/Sources/UIApplication++.swift +0 -1
  6. package/lib/commonjs/index.js +33 -41
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/module/index.js +31 -35
  9. package/lib/module/index.js.map +1 -1
  10. package/lib/typescript/commonjs/src/index.d.ts +23 -19
  11. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  12. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts +11 -6
  13. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts.map +1 -1
  14. package/lib/typescript/module/src/index.d.ts +23 -19
  15. package/lib/typescript/module/src/index.d.ts.map +1 -1
  16. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts +11 -6
  17. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts.map +1 -1
  18. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.cpp +20 -4
  19. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.hpp +99 -20
  20. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Umbrella.hpp +6 -0
  21. package/nitrogen/generated/ios/c++/HybridRNCandleSpecSwift.hpp +15 -3
  22. package/nitrogen/generated/ios/swift/AppUser.swift +44 -0
  23. package/nitrogen/generated/ios/swift/Func_void_LinkedAccount.swift +44 -0
  24. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_AnyMap__.swift +47 -0
  25. package/nitrogen/generated/ios/swift/HybridRNCandleSpec.swift +4 -2
  26. package/nitrogen/generated/ios/swift/HybridRNCandleSpec_cxx.swift +40 -12
  27. package/nitrogen/generated/ios/swift/Service.swift +292 -0
  28. package/nitrogen/generated/shared/c++/AppUser.hpp +73 -0
  29. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.cpp +1 -0
  30. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.hpp +10 -3
  31. package/nitrogen/generated/shared/c++/Service.hpp +292 -0
  32. package/package.json +1 -1
  33. package/src/index.ts +55 -55
  34. package/src/specs/RNCandle.nitro.ts +85 -6
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_std__vector_std__shared_ptr_AnyMap__.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+ /// Wraps a Swift `(_ value: [AnyMapHolder]) -> Void` as a class.
11
+ /// This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
12
+ public final class Func_void_std__vector_std__shared_ptr_AnyMap__ {
13
+ public typealias bridge = margelo.nitro.rncandle.bridge.swift
14
+
15
+ private let closure: (_ value: [AnyMapHolder]) -> Void
16
+
17
+ public init(_ closure: @escaping (_ value: [AnyMapHolder]) -> Void) {
18
+ self.closure = closure
19
+ }
20
+
21
+ @inline(__always)
22
+ public func call(value: bridge.std__vector_std__shared_ptr_AnyMap__) {
23
+ self.closure(value.map({ __item in AnyMapHolder(withCppPart: __item) }))
24
+ }
25
+
26
+ /**
27
+ * Casts this instance to a retained unsafe raw pointer.
28
+ * This acquires one additional strong reference on the object!
29
+ */
30
+ @inline(__always)
31
+ public func toUnsafe() -> UnsafeMutableRawPointer {
32
+ return Unmanaged.passRetained(self).toOpaque()
33
+ }
34
+
35
+ /**
36
+ * Casts an unsafe pointer to a `Func_void_std__vector_std__shared_ptr_AnyMap__`.
37
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_std__vector_std__shared_ptr_AnyMap__>`.
38
+ * This removes one strong reference from the object!
39
+ */
40
+ @inline(__always)
41
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer)
42
+ -> Func_void_std__vector_std__shared_ptr_AnyMap__
43
+ {
44
+ return Unmanaged<Func_void_std__vector_std__shared_ptr_AnyMap__>.fromOpaque(pointer)
45
+ .takeRetainedValue()
46
+ }
47
+ }
@@ -16,13 +16,15 @@ public protocol HybridRNCandleSpec_protocol: HybridObject {
16
16
  func candleLinkSheet(
17
17
  isPresented: Bool, services: [Service]?, cornerRadius: Double, customerName: String?,
18
18
  showDynamicLoading: Bool, presentationBackground: PresentationBackground,
19
- presentationStyle: PresentationStyle, onSuccess: @escaping (_ account: String) -> Void) throws
19
+ presentationStyle: PresentationStyle, onSuccess: @escaping (_ account: LinkedAccount) -> Void)
20
+ throws
21
+ func initialize(appUser: AppUser) throws
20
22
  func getLinkedAccounts() throws -> Promise<[LinkedAccount]>
21
23
  func unlinkAccount(linkedAccountID: String) throws -> Promise<Void>
22
24
  func getFiatAccounts() throws -> Promise<String>
23
25
  func getActivity(span: String?) throws -> Promise<String>
24
26
  func deleteUser() throws -> Promise<Void>
25
- func getAvailableTools() throws -> Promise<String>
27
+ func getAvailableTools() throws -> Promise<[AnyMapHolder]>
26
28
  func executeTool(tool: ToolCall) throws -> Promise<String>
27
29
  }
28
30
 
@@ -101,7 +101,8 @@ public class HybridRNCandleSpec_cxx {
101
101
  public final func candleLinkSheet(
102
102
  isPresented: Bool, services: bridge.std__optional_std__vector_Service__, cornerRadius: Double,
103
103
  customerName: bridge.std__optional_std__string_, showDynamicLoading: Bool,
104
- presentationBackground: Int32, presentationStyle: Int32, onSuccess: bridge.Func_void_std__string
104
+ presentationBackground: Int32, presentationStyle: Int32,
105
+ onSuccess: bridge.Func_void_LinkedAccount
105
106
  ) -> bridge.Result_void_ {
106
107
  do {
107
108
  try self.__implementation.candleLinkSheet(
@@ -123,10 +124,10 @@ public class HybridRNCandleSpec_cxx {
123
124
  presentationBackground: margelo.nitro.rncandle.PresentationBackground(
124
125
  rawValue: presentationBackground)!,
125
126
  presentationStyle: margelo.nitro.rncandle.PresentationStyle(rawValue: presentationStyle)!,
126
- onSuccess: { () -> (String) -> Void in
127
- let __wrappedFunction = bridge.wrap_Func_void_std__string(onSuccess)
128
- return { (__account: String) -> Void in
129
- __wrappedFunction.call(std.string(__account))
127
+ onSuccess: { () -> (LinkedAccount) -> Void in
128
+ let __wrappedFunction = bridge.wrap_Func_void_LinkedAccount(onSuccess)
129
+ return { (__account: LinkedAccount) -> Void in
130
+ __wrappedFunction.call(__account)
130
131
  }
131
132
  }())
132
133
  return bridge.create_Result_void_()
@@ -136,6 +137,17 @@ public class HybridRNCandleSpec_cxx {
136
137
  }
137
138
  }
138
139
 
140
+ @inline(__always)
141
+ public final func initialize(appUser: AppUser) -> bridge.Result_void_ {
142
+ do {
143
+ try self.__implementation.initialize(appUser: appUser)
144
+ return bridge.create_Result_void_()
145
+ } catch (let __error) {
146
+ let __exceptionPtr = __error.toCpp()
147
+ return bridge.create_Result_void_(__exceptionPtr)
148
+ }
149
+ }
150
+
139
151
  @inline(__always)
140
152
  public final func getLinkedAccounts()
141
153
  -> bridge.Result_std__shared_ptr_Promise_std__vector_LinkedAccount____
@@ -257,21 +269,37 @@ public class HybridRNCandleSpec_cxx {
257
269
  }
258
270
 
259
271
  @inline(__always)
260
- public final func getAvailableTools() -> bridge.Result_std__shared_ptr_Promise_std__string___ {
272
+ public final func getAvailableTools()
273
+ -> bridge.Result_std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap_____
274
+ {
261
275
  do {
262
276
  let __result = try self.__implementation.getAvailableTools()
263
- let __resultCpp = { () -> bridge.std__shared_ptr_Promise_std__string__ in
264
- let __promise = bridge.create_std__shared_ptr_Promise_std__string__()
265
- let __promiseHolder = bridge.wrap_std__shared_ptr_Promise_std__string__(__promise)
277
+ let __resultCpp = {
278
+ () -> bridge.std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap____ in
279
+ let __promise =
280
+ bridge.create_std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap____()
281
+ let __promiseHolder =
282
+ bridge.wrap_std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap____(__promise)
266
283
  __result
267
- .then({ __result in __promiseHolder.resolve(std.string(__result)) })
284
+ .then({ __result in
285
+ __promiseHolder.resolve(
286
+ { () -> bridge.std__vector_std__shared_ptr_AnyMap__ in
287
+ var __vector = bridge.create_std__vector_std__shared_ptr_AnyMap__(__result.count)
288
+ for __item in __result {
289
+ __vector.push_back(__item.cppPart)
290
+ }
291
+ return __vector
292
+ }())
293
+ })
268
294
  .catch({ __error in __promiseHolder.reject(__error.toCpp()) })
269
295
  return __promise
270
296
  }()
271
- return bridge.create_Result_std__shared_ptr_Promise_std__string___(__resultCpp)
297
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap_____(
298
+ __resultCpp)
272
299
  } catch (let __error) {
273
300
  let __exceptionPtr = __error.toCpp()
274
- return bridge.create_Result_std__shared_ptr_Promise_std__string___(__exceptionPtr)
301
+ return bridge.create_Result_std__shared_ptr_Promise_std__vector_std__shared_ptr_AnyMap_____(
302
+ __exceptionPtr)
275
303
  }
276
304
  }
277
305
 
@@ -29,6 +29,152 @@ extension Service {
29
29
  self = .uber
30
30
  case "lyft":
31
31
  self = .lyft
32
+ case "chime":
33
+ self = .chime
34
+ case "paypal":
35
+ self = .paypal
36
+ case "coinbase":
37
+ self = .coinbase
38
+ case "discover":
39
+ self = .discover
40
+ case "american_express":
41
+ self = .americanExpress
42
+ case "jpmorgan_chase":
43
+ self = .jpmorganChase
44
+ case "bank_of_america":
45
+ self = .bankOfAmerica
46
+ case "capital_one":
47
+ self = .capitalOne
48
+ case "citibank":
49
+ self = .citibank
50
+ case "vanguard":
51
+ self = .vanguard
52
+ case "wells_fargo":
53
+ self = .wellsFargo
54
+ case "charles_schwab":
55
+ self = .charlesSchwab
56
+ case "kalshi":
57
+ self = .kalshi
58
+ case "experian":
59
+ self = .experian
60
+ case "waymo":
61
+ self = .waymo
62
+ case "revel":
63
+ self = .revel
64
+ case "turo":
65
+ self = .turo
66
+ case "getaround":
67
+ self = .getaround
68
+ case "zipcar":
69
+ self = .zipcar
70
+ case "airbnb":
71
+ self = .airbnb
72
+ case "american_airlines":
73
+ self = .americanAirlines
74
+ case "delta":
75
+ self = .delta
76
+ case "united":
77
+ self = .united
78
+ case "jetblue":
79
+ self = .jetblue
80
+ case "southwest":
81
+ self = .southwest
82
+ case "hawaiian":
83
+ self = .hawaiian
84
+ case "hotels":
85
+ self = .hotels
86
+ case "geico":
87
+ self = .geico
88
+ case "progressive":
89
+ self = .progressive
90
+ case "aaa":
91
+ self = .aaa
92
+ case "state_farm":
93
+ self = .stateFarm
94
+ case "hertz":
95
+ self = .hertz
96
+ case "avis":
97
+ self = .avis
98
+ case "tesla":
99
+ self = .tesla
100
+ case "doordash":
101
+ self = .doordash
102
+ case "uber_eats":
103
+ self = .uberEats
104
+ case "grubhub":
105
+ self = .grubhub
106
+ case "resy":
107
+ self = .resy
108
+ case "opentable":
109
+ self = .opentable
110
+ case "starbucks":
111
+ self = .starbucks
112
+ case "blue_bottle":
113
+ self = .blueBottle
114
+ case "costco":
115
+ self = .costco
116
+ case "amazon":
117
+ self = .amazon
118
+ case "walmart":
119
+ self = .walmart
120
+ case "whole_foods":
121
+ self = .wholeFoods
122
+ case "mcdonalds":
123
+ self = .mcdonalds
124
+ case "chipotle":
125
+ self = .chipotle
126
+ case "sweetgreen":
127
+ self = .sweetgreen
128
+ case "snapchat":
129
+ self = .snapchat
130
+ case "x":
131
+ self = .x
132
+ case "facebook":
133
+ self = .facebook
134
+ case "instagram":
135
+ self = .instagram
136
+ case "signal":
137
+ self = .signal
138
+ case "whatsapp":
139
+ self = .whatsapp
140
+ case "messenger":
141
+ self = .messenger
142
+ case "linkedin":
143
+ self = .linkedin
144
+ case "discord":
145
+ self = .discord
146
+ case "messages":
147
+ self = .messages
148
+ case "telegram":
149
+ self = .telegram
150
+ case "reddit":
151
+ self = .reddit
152
+ case "pinterest":
153
+ self = .pinterest
154
+ case "new_york_times":
155
+ self = .newYorkTimes
156
+ case "washington_post":
157
+ self = .washingtonPost
158
+ case "wall_street_journal":
159
+ self = .wallStreetJournal
160
+ case "cnn":
161
+ self = .cnn
162
+ case "yahoo":
163
+ self = .yahoo
164
+ case "fox":
165
+ self = .fox
166
+ case "perplexity":
167
+ self = .perplexity
168
+ case "openai":
169
+ self = .openai
170
+ case "polymarket":
171
+ self = .polymarket
172
+ case "espn":
173
+ self = .espn
174
+ case "youtube":
175
+ self = .youtube
176
+ case "netflix":
177
+ self = .netflix
32
178
  default:
33
179
  return nil
34
180
  }
@@ -53,6 +199,152 @@ extension Service {
53
199
  return "uber"
54
200
  case .lyft:
55
201
  return "lyft"
202
+ case .chime:
203
+ return "chime"
204
+ case .paypal:
205
+ return "paypal"
206
+ case .coinbase:
207
+ return "coinbase"
208
+ case .discover:
209
+ return "discover"
210
+ case .americanExpress:
211
+ return "american_express"
212
+ case .jpmorganChase:
213
+ return "jpmorgan_chase"
214
+ case .bankOfAmerica:
215
+ return "bank_of_america"
216
+ case .capitalOne:
217
+ return "capital_one"
218
+ case .citibank:
219
+ return "citibank"
220
+ case .vanguard:
221
+ return "vanguard"
222
+ case .wellsFargo:
223
+ return "wells_fargo"
224
+ case .charlesSchwab:
225
+ return "charles_schwab"
226
+ case .kalshi:
227
+ return "kalshi"
228
+ case .experian:
229
+ return "experian"
230
+ case .waymo:
231
+ return "waymo"
232
+ case .revel:
233
+ return "revel"
234
+ case .turo:
235
+ return "turo"
236
+ case .getaround:
237
+ return "getaround"
238
+ case .zipcar:
239
+ return "zipcar"
240
+ case .airbnb:
241
+ return "airbnb"
242
+ case .americanAirlines:
243
+ return "american_airlines"
244
+ case .delta:
245
+ return "delta"
246
+ case .united:
247
+ return "united"
248
+ case .jetblue:
249
+ return "jetblue"
250
+ case .southwest:
251
+ return "southwest"
252
+ case .hawaiian:
253
+ return "hawaiian"
254
+ case .hotels:
255
+ return "hotels"
256
+ case .geico:
257
+ return "geico"
258
+ case .progressive:
259
+ return "progressive"
260
+ case .aaa:
261
+ return "aaa"
262
+ case .stateFarm:
263
+ return "state_farm"
264
+ case .hertz:
265
+ return "hertz"
266
+ case .avis:
267
+ return "avis"
268
+ case .tesla:
269
+ return "tesla"
270
+ case .doordash:
271
+ return "doordash"
272
+ case .uberEats:
273
+ return "uber_eats"
274
+ case .grubhub:
275
+ return "grubhub"
276
+ case .resy:
277
+ return "resy"
278
+ case .opentable:
279
+ return "opentable"
280
+ case .starbucks:
281
+ return "starbucks"
282
+ case .blueBottle:
283
+ return "blue_bottle"
284
+ case .costco:
285
+ return "costco"
286
+ case .amazon:
287
+ return "amazon"
288
+ case .walmart:
289
+ return "walmart"
290
+ case .wholeFoods:
291
+ return "whole_foods"
292
+ case .mcdonalds:
293
+ return "mcdonalds"
294
+ case .chipotle:
295
+ return "chipotle"
296
+ case .sweetgreen:
297
+ return "sweetgreen"
298
+ case .snapchat:
299
+ return "snapchat"
300
+ case .x:
301
+ return "x"
302
+ case .facebook:
303
+ return "facebook"
304
+ case .instagram:
305
+ return "instagram"
306
+ case .signal:
307
+ return "signal"
308
+ case .whatsapp:
309
+ return "whatsapp"
310
+ case .messenger:
311
+ return "messenger"
312
+ case .linkedin:
313
+ return "linkedin"
314
+ case .discord:
315
+ return "discord"
316
+ case .messages:
317
+ return "messages"
318
+ case .telegram:
319
+ return "telegram"
320
+ case .reddit:
321
+ return "reddit"
322
+ case .pinterest:
323
+ return "pinterest"
324
+ case .newYorkTimes:
325
+ return "new_york_times"
326
+ case .washingtonPost:
327
+ return "washington_post"
328
+ case .wallStreetJournal:
329
+ return "wall_street_journal"
330
+ case .cnn:
331
+ return "cnn"
332
+ case .yahoo:
333
+ return "yahoo"
334
+ case .fox:
335
+ return "fox"
336
+ case .perplexity:
337
+ return "perplexity"
338
+ case .openai:
339
+ return "openai"
340
+ case .polymarket:
341
+ return "polymarket"
342
+ case .espn:
343
+ return "espn"
344
+ case .youtube:
345
+ return "youtube"
346
+ case .netflix:
347
+ return "netflix"
56
348
  }
57
349
  }
58
350
  }
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// AppUser.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/JSIConverter.hpp>)
11
+ #include <NitroModules/JSIConverter.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+ #if __has_include(<NitroModules/NitroDefines.hpp>)
16
+ #include <NitroModules/NitroDefines.hpp>
17
+ #else
18
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
19
+ #endif
20
+
21
+
22
+
23
+ #include <string>
24
+
25
+ namespace margelo::nitro::rncandle {
26
+
27
+ /**
28
+ * A struct which can be represented as a JavaScript object (AppUser).
29
+ */
30
+ struct AppUser {
31
+ public:
32
+ std::string appKey SWIFT_PRIVATE;
33
+ std::string appSecret SWIFT_PRIVATE;
34
+
35
+ public:
36
+ AppUser() = default;
37
+ explicit AppUser(std::string appKey, std::string appSecret): appKey(appKey), appSecret(appSecret) {}
38
+ };
39
+
40
+ } // namespace margelo::nitro::rncandle
41
+
42
+ namespace margelo::nitro {
43
+
44
+ using namespace margelo::nitro::rncandle;
45
+
46
+ // C++ AppUser <> JS AppUser (object)
47
+ template <>
48
+ struct JSIConverter<AppUser> final {
49
+ static inline AppUser fromJSI(jsi::Runtime& runtime, const jsi::Value& arg) {
50
+ jsi::Object obj = arg.asObject(runtime);
51
+ return AppUser(
52
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "appKey")),
53
+ JSIConverter<std::string>::fromJSI(runtime, obj.getProperty(runtime, "appSecret"))
54
+ );
55
+ }
56
+ static inline jsi::Value toJSI(jsi::Runtime& runtime, const AppUser& arg) {
57
+ jsi::Object obj(runtime);
58
+ obj.setProperty(runtime, "appKey", JSIConverter<std::string>::toJSI(runtime, arg.appKey));
59
+ obj.setProperty(runtime, "appSecret", JSIConverter<std::string>::toJSI(runtime, arg.appSecret));
60
+ return obj;
61
+ }
62
+ static inline bool canConvert(jsi::Runtime& runtime, const jsi::Value& value) {
63
+ if (!value.isObject()) {
64
+ return false;
65
+ }
66
+ jsi::Object obj = value.getObject(runtime);
67
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "appKey"))) return false;
68
+ if (!JSIConverter<std::string>::canConvert(runtime, obj.getProperty(runtime, "appSecret"))) return false;
69
+ return true;
70
+ }
71
+ };
72
+
73
+ } // namespace margelo::nitro
@@ -15,6 +15,7 @@ namespace margelo::nitro::rncandle {
15
15
  // load custom methods/properties
16
16
  registerHybrids(this, [](Prototype& prototype) {
17
17
  prototype.registerHybridMethod("candleLinkSheet", &HybridRNCandleSpec::candleLinkSheet);
18
+ prototype.registerHybridMethod("initialize", &HybridRNCandleSpec::initialize);
18
19
  prototype.registerHybridMethod("getLinkedAccounts", &HybridRNCandleSpec::getLinkedAccounts);
19
20
  prototype.registerHybridMethod("unlinkAccount", &HybridRNCandleSpec::unlinkAccount);
20
21
  prototype.registerHybridMethod("getFiatAccounts", &HybridRNCandleSpec::getFiatAccounts);
@@ -21,6 +21,10 @@ namespace margelo::nitro::rncandle { enum class PresentationBackground; }
21
21
  namespace margelo::nitro::rncandle { enum class PresentationStyle; }
22
22
  // Forward declaration of `LinkedAccount` to properly resolve imports.
23
23
  namespace margelo::nitro::rncandle { struct LinkedAccount; }
24
+ // Forward declaration of `AppUser` to properly resolve imports.
25
+ namespace margelo::nitro::rncandle { struct AppUser; }
26
+ // Forward declaration of `AnyMap` to properly resolve imports.
27
+ namespace NitroModules { class AnyMap; }
24
28
  // Forward declaration of `ToolCall` to properly resolve imports.
25
29
  namespace margelo::nitro::rncandle { struct ToolCall; }
26
30
 
@@ -31,8 +35,10 @@ namespace margelo::nitro::rncandle { struct ToolCall; }
31
35
  #include "PresentationBackground.hpp"
32
36
  #include "PresentationStyle.hpp"
33
37
  #include <functional>
34
- #include <NitroModules/Promise.hpp>
35
38
  #include "LinkedAccount.hpp"
39
+ #include "AppUser.hpp"
40
+ #include <NitroModules/Promise.hpp>
41
+ #include <NitroModules/AnyMap.hpp>
36
42
  #include "ToolCall.hpp"
37
43
 
38
44
  namespace margelo::nitro::rncandle {
@@ -66,13 +72,14 @@ namespace margelo::nitro::rncandle {
66
72
 
67
73
  public:
68
74
  // Methods
69
- virtual void candleLinkSheet(bool isPresented, const std::optional<std::vector<Service>>& services, double cornerRadius, const std::optional<std::string>& customerName, bool showDynamicLoading, PresentationBackground presentationBackground, PresentationStyle presentationStyle, const std::function<void(const std::string& /* account */)>& onSuccess) = 0;
75
+ virtual void candleLinkSheet(bool isPresented, const std::optional<std::vector<Service>>& services, double cornerRadius, const std::optional<std::string>& customerName, bool showDynamicLoading, PresentationBackground presentationBackground, PresentationStyle presentationStyle, const std::function<void(const LinkedAccount& /* account */)>& onSuccess) = 0;
76
+ virtual void initialize(const AppUser& appUser) = 0;
70
77
  virtual std::shared_ptr<Promise<std::vector<LinkedAccount>>> getLinkedAccounts() = 0;
71
78
  virtual std::shared_ptr<Promise<void>> unlinkAccount(const std::string& linkedAccountID) = 0;
72
79
  virtual std::shared_ptr<Promise<std::string>> getFiatAccounts() = 0;
73
80
  virtual std::shared_ptr<Promise<std::string>> getActivity(const std::optional<std::string>& span) = 0;
74
81
  virtual std::shared_ptr<Promise<void>> deleteUser() = 0;
75
- virtual std::shared_ptr<Promise<std::string>> getAvailableTools() = 0;
82
+ virtual std::shared_ptr<Promise<std::vector<std::shared_ptr<AnyMap>>>> getAvailableTools() = 0;
76
83
  virtual std::shared_ptr<Promise<std::string>> executeTool(const ToolCall& tool) = 0;
77
84
 
78
85
  protected: