@runanywhere/llamacpp 0.17.0 → 0.17.2

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 (76) hide show
  1. package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +218 -0
  2. package/android/src/main/include/rac/backends/rac_stt_onnx.h +99 -0
  3. package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +153 -0
  4. package/android/src/main/include/rac/backends/rac_tts_onnx.h +71 -0
  5. package/android/src/main/include/rac/backends/rac_vad_onnx.h +84 -0
  6. package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +290 -0
  7. package/android/src/main/include/rac/core/rac_analytics_events.h +610 -0
  8. package/android/src/main/include/rac/core/rac_audio_utils.h +88 -0
  9. package/android/src/main/include/rac/core/rac_component_types.h +160 -0
  10. package/android/src/main/include/rac/core/rac_core.h +331 -0
  11. package/android/src/main/include/rac/core/rac_error.h +469 -0
  12. package/android/src/main/include/rac/core/rac_events.h +334 -0
  13. package/android/src/main/include/rac/core/rac_logger.h +416 -0
  14. package/android/src/main/include/rac/core/rac_platform_adapter.h +340 -0
  15. package/android/src/main/include/rac/core/rac_sdk_state.h +292 -0
  16. package/android/src/main/include/rac/core/rac_structured_error.h +594 -0
  17. package/android/src/main/include/rac/core/rac_types.h +264 -0
  18. package/android/src/main/include/rac/features/llm/rac_llm.h +17 -0
  19. package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +188 -0
  20. package/android/src/main/include/rac/features/llm/rac_llm_component.h +228 -0
  21. package/android/src/main/include/rac/features/llm/rac_llm_events.h +215 -0
  22. package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +402 -0
  23. package/android/src/main/include/rac/features/llm/rac_llm_service.h +163 -0
  24. package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +141 -0
  25. package/android/src/main/include/rac/features/llm/rac_llm_types.h +384 -0
  26. package/android/src/main/include/rac/features/platform/rac_llm_platform.h +204 -0
  27. package/android/src/main/include/rac/features/platform/rac_tts_platform.h +197 -0
  28. package/android/src/main/include/rac/features/stt/rac_stt.h +17 -0
  29. package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +204 -0
  30. package/android/src/main/include/rac/features/stt/rac_stt_component.h +162 -0
  31. package/android/src/main/include/rac/features/stt/rac_stt_events.h +62 -0
  32. package/android/src/main/include/rac/features/stt/rac_stt_service.h +154 -0
  33. package/android/src/main/include/rac/features/stt/rac_stt_types.h +389 -0
  34. package/android/src/main/include/rac/features/tts/rac_tts.h +17 -0
  35. package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +181 -0
  36. package/android/src/main/include/rac/features/tts/rac_tts_component.h +158 -0
  37. package/android/src/main/include/rac/features/tts/rac_tts_events.h +54 -0
  38. package/android/src/main/include/rac/features/tts/rac_tts_service.h +162 -0
  39. package/android/src/main/include/rac/features/tts/rac_tts_types.h +374 -0
  40. package/android/src/main/include/rac/features/vad/rac_vad.h +17 -0
  41. package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +236 -0
  42. package/android/src/main/include/rac/features/vad/rac_vad_component.h +185 -0
  43. package/android/src/main/include/rac/features/vad/rac_vad_energy.h +443 -0
  44. package/android/src/main/include/rac/features/vad/rac_vad_events.h +76 -0
  45. package/android/src/main/include/rac/features/vad/rac_vad_service.h +167 -0
  46. package/android/src/main/include/rac/features/vad/rac_vad_types.h +244 -0
  47. package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +612 -0
  48. package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +176 -0
  49. package/android/src/main/include/rac/infrastructure/download/rac_download.h +418 -0
  50. package/android/src/main/include/rac/infrastructure/events/rac_events.h +177 -0
  51. package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +169 -0
  52. package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +258 -0
  53. package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +357 -0
  54. package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +374 -0
  55. package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +613 -0
  56. package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +335 -0
  57. package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +252 -0
  58. package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +85 -0
  59. package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +102 -0
  60. package/android/src/main/include/rac/infrastructure/network/rac_environment.h +220 -0
  61. package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +233 -0
  62. package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +286 -0
  63. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +206 -0
  64. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +234 -0
  65. package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
  66. package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp.so +0 -0
  67. package/ios/Frameworks/RABackendLLAMACPP.xcframework/Info.plist +44 -0
  68. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +2 -0
  69. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Info.plist +11 -0
  70. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Modules/module.modulemap +5 -0
  71. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/RABackendLLAMACPP +0 -0
  72. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +2 -0
  73. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Info.plist +11 -0
  74. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Modules/module.modulemap +5 -0
  75. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/RABackendLLAMACPP +0 -0
  76. package/package.json +1 -1
@@ -0,0 +1,290 @@
1
+ /**
2
+ * @file rac_lifecycle.h
3
+ * @brief RunAnywhere Commons - Lifecycle Management API
4
+ *
5
+ * C port of Swift's ManagedLifecycle.swift from:
6
+ * Sources/RunAnywhere/Core/Capabilities/ManagedLifecycle.swift
7
+ *
8
+ * Provides unified lifecycle management with integrated event tracking.
9
+ * Tracks lifecycle events (load, unload) via EventPublisher.
10
+ */
11
+
12
+ #ifndef RAC_LIFECYCLE_H
13
+ #define RAC_LIFECYCLE_H
14
+
15
+ #include "rac/core/rac_error.h"
16
+ #include "rac/core/rac_types.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ // =============================================================================
23
+ // TYPES - Mirrors Swift's CapabilityLoadingState
24
+ // =============================================================================
25
+
26
+ /**
27
+ * @brief Capability loading state
28
+ *
29
+ * Mirrors Swift's CapabilityLoadingState enum.
30
+ */
31
+ typedef enum rac_lifecycle_state {
32
+ RAC_LIFECYCLE_STATE_IDLE = 0, /**< Not loaded */
33
+ RAC_LIFECYCLE_STATE_LOADING = 1, /**< Currently loading */
34
+ RAC_LIFECYCLE_STATE_LOADED = 2, /**< Successfully loaded */
35
+ RAC_LIFECYCLE_STATE_FAILED = 3 /**< Load failed */
36
+ } rac_lifecycle_state_t;
37
+
38
+ /**
39
+ * @brief Resource type for lifecycle tracking
40
+ *
41
+ * Mirrors Swift's CapabilityResourceType enum.
42
+ */
43
+ typedef enum rac_resource_type {
44
+ RAC_RESOURCE_TYPE_LLM_MODEL = 0,
45
+ RAC_RESOURCE_TYPE_STT_MODEL = 1,
46
+ RAC_RESOURCE_TYPE_TTS_VOICE = 2,
47
+ RAC_RESOURCE_TYPE_VAD_MODEL = 3,
48
+ RAC_RESOURCE_TYPE_DIARIZATION_MODEL = 4
49
+ } rac_resource_type_t;
50
+
51
+ /**
52
+ * @brief Lifecycle metrics
53
+ *
54
+ * Mirrors Swift's ModelLifecycleMetrics struct.
55
+ */
56
+ typedef struct rac_lifecycle_metrics {
57
+ /** Total lifecycle events */
58
+ int32_t total_events;
59
+
60
+ /** Start time (ms since epoch) */
61
+ int64_t start_time_ms;
62
+
63
+ /** Last event time (ms since epoch, 0 if none) */
64
+ int64_t last_event_time_ms;
65
+
66
+ /** Total load attempts */
67
+ int32_t total_loads;
68
+
69
+ /** Successful loads */
70
+ int32_t successful_loads;
71
+
72
+ /** Failed loads */
73
+ int32_t failed_loads;
74
+
75
+ /** Average load time in milliseconds */
76
+ double average_load_time_ms;
77
+
78
+ /** Total unloads */
79
+ int32_t total_unloads;
80
+ } rac_lifecycle_metrics_t;
81
+
82
+ /**
83
+ * @brief Lifecycle configuration
84
+ */
85
+ typedef struct rac_lifecycle_config {
86
+ /** Resource type for event tracking */
87
+ rac_resource_type_t resource_type;
88
+
89
+ /** Logger category (can be NULL for default) */
90
+ const char* logger_category;
91
+
92
+ /** User data for callbacks */
93
+ void* user_data;
94
+ } rac_lifecycle_config_t;
95
+
96
+ /**
97
+ * @brief Service creation callback
98
+ *
99
+ * Called by the lifecycle manager to create a service for a given model ID.
100
+ *
101
+ * @param model_id The model ID to load
102
+ * @param user_data User-provided context
103
+ * @param out_service Output: Handle to the created service
104
+ * @return RAC_SUCCESS or error code
105
+ */
106
+ typedef rac_result_t (*rac_lifecycle_create_service_fn)(const char* model_id, void* user_data,
107
+ rac_handle_t* out_service);
108
+
109
+ /**
110
+ * @brief Service destroy callback
111
+ *
112
+ * Called by the lifecycle manager to destroy a service.
113
+ *
114
+ * @param service Handle to the service to destroy
115
+ * @param user_data User-provided context
116
+ */
117
+ typedef void (*rac_lifecycle_destroy_service_fn)(rac_handle_t service, void* user_data);
118
+
119
+ // =============================================================================
120
+ // LIFECYCLE API - Mirrors Swift's ManagedLifecycle
121
+ // =============================================================================
122
+
123
+ /**
124
+ * @brief Create a lifecycle manager
125
+ *
126
+ * @param config Lifecycle configuration
127
+ * @param create_fn Service creation callback
128
+ * @param destroy_fn Service destruction callback (can be NULL)
129
+ * @param out_handle Output: Handle to the lifecycle manager
130
+ * @return RAC_SUCCESS or error code
131
+ */
132
+ RAC_API rac_result_t rac_lifecycle_create(const rac_lifecycle_config_t* config,
133
+ rac_lifecycle_create_service_fn create_fn,
134
+ rac_lifecycle_destroy_service_fn destroy_fn,
135
+ rac_handle_t* out_handle);
136
+
137
+ /**
138
+ * @brief Load a model with automatic event tracking
139
+ *
140
+ * Mirrors Swift's ManagedLifecycle.load(_:)
141
+ * If already loaded with same ID, skips duplicate load.
142
+ *
143
+ * @param handle Lifecycle manager handle
144
+ * @param model_path File path to the model (used for loading) - REQUIRED
145
+ * @param model_id Model identifier for telemetry (e.g., "sherpa-onnx-whisper-tiny.en")
146
+ * Optional: if NULL, defaults to model_path
147
+ * @param model_name Human-readable model name (e.g., "Sherpa Whisper Tiny (ONNX)")
148
+ * Optional: if NULL, defaults to model_id
149
+ * @param out_service Output: Handle to the loaded service
150
+ * @return RAC_SUCCESS or error code
151
+ */
152
+ RAC_API rac_result_t rac_lifecycle_load(rac_handle_t handle, const char* model_path,
153
+ const char* model_id, const char* model_name,
154
+ rac_handle_t* out_service);
155
+
156
+ /**
157
+ * @brief Unload the currently loaded model
158
+ *
159
+ * Mirrors Swift's ManagedLifecycle.unload()
160
+ *
161
+ * @param handle Lifecycle manager handle
162
+ * @return RAC_SUCCESS or error code
163
+ */
164
+ RAC_API rac_result_t rac_lifecycle_unload(rac_handle_t handle);
165
+
166
+ /**
167
+ * @brief Reset all state
168
+ *
169
+ * Mirrors Swift's ManagedLifecycle.reset()
170
+ *
171
+ * @param handle Lifecycle manager handle
172
+ * @return RAC_SUCCESS or error code
173
+ */
174
+ RAC_API rac_result_t rac_lifecycle_reset(rac_handle_t handle);
175
+
176
+ /**
177
+ * @brief Get current lifecycle state
178
+ *
179
+ * Mirrors Swift's ManagedLifecycle.state
180
+ *
181
+ * @param handle Lifecycle manager handle
182
+ * @return Current state
183
+ */
184
+ RAC_API rac_lifecycle_state_t rac_lifecycle_get_state(rac_handle_t handle);
185
+
186
+ /**
187
+ * @brief Check if a model is loaded
188
+ *
189
+ * Mirrors Swift's ManagedLifecycle.isLoaded
190
+ *
191
+ * @param handle Lifecycle manager handle
192
+ * @return RAC_TRUE if loaded, RAC_FALSE otherwise
193
+ */
194
+ RAC_API rac_bool_t rac_lifecycle_is_loaded(rac_handle_t handle);
195
+
196
+ /**
197
+ * @brief Get current model ID
198
+ *
199
+ * Mirrors Swift's ManagedLifecycle.currentModelId
200
+ *
201
+ * @param handle Lifecycle manager handle
202
+ * @return Current model ID (may be NULL if not loaded)
203
+ */
204
+ RAC_API const char* rac_lifecycle_get_model_id(rac_handle_t handle);
205
+
206
+ /**
207
+ * @brief Get current model name (human-readable)
208
+ *
209
+ * @param handle Lifecycle manager handle
210
+ * @return Current model name (may be NULL if not loaded)
211
+ */
212
+ RAC_API const char* rac_lifecycle_get_model_name(rac_handle_t handle);
213
+
214
+ /**
215
+ * @brief Get current service handle
216
+ *
217
+ * Mirrors Swift's ManagedLifecycle.currentService
218
+ *
219
+ * @param handle Lifecycle manager handle
220
+ * @return Current service handle (may be NULL if not loaded)
221
+ */
222
+ RAC_API rac_handle_t rac_lifecycle_get_service(rac_handle_t handle);
223
+
224
+ /**
225
+ * @brief Require service or return error
226
+ *
227
+ * Mirrors Swift's ManagedLifecycle.requireService()
228
+ *
229
+ * @param handle Lifecycle manager handle
230
+ * @param out_service Output: Service handle
231
+ * @return RAC_SUCCESS or RAC_ERROR_NOT_INITIALIZED if not loaded
232
+ */
233
+ RAC_API rac_result_t rac_lifecycle_require_service(rac_handle_t handle, rac_handle_t* out_service);
234
+
235
+ /**
236
+ * @brief Track an operation error
237
+ *
238
+ * Mirrors Swift's ManagedLifecycle.trackOperationError(_:operation:)
239
+ *
240
+ * @param handle Lifecycle manager handle
241
+ * @param error_code Error code
242
+ * @param operation Operation name
243
+ */
244
+ RAC_API void rac_lifecycle_track_error(rac_handle_t handle, rac_result_t error_code,
245
+ const char* operation);
246
+
247
+ /**
248
+ * @brief Get lifecycle metrics
249
+ *
250
+ * Mirrors Swift's ManagedLifecycle.getLifecycleMetrics()
251
+ *
252
+ * @param handle Lifecycle manager handle
253
+ * @param out_metrics Output: Lifecycle metrics
254
+ * @return RAC_SUCCESS or error code
255
+ */
256
+ RAC_API rac_result_t rac_lifecycle_get_metrics(rac_handle_t handle,
257
+ rac_lifecycle_metrics_t* out_metrics);
258
+
259
+ /**
260
+ * @brief Destroy a lifecycle manager
261
+ *
262
+ * @param handle Lifecycle manager handle
263
+ */
264
+ RAC_API void rac_lifecycle_destroy(rac_handle_t handle);
265
+
266
+ // =============================================================================
267
+ // CONVENIENCE STATE HELPERS
268
+ // =============================================================================
269
+
270
+ /**
271
+ * @brief Get state name string
272
+ *
273
+ * @param state Lifecycle state
274
+ * @return Human-readable state name
275
+ */
276
+ RAC_API const char* rac_lifecycle_state_name(rac_lifecycle_state_t state);
277
+
278
+ /**
279
+ * @brief Get resource type name string
280
+ *
281
+ * @param type Resource type
282
+ * @return Human-readable resource type name
283
+ */
284
+ RAC_API const char* rac_resource_type_name(rac_resource_type_t type);
285
+
286
+ #ifdef __cplusplus
287
+ }
288
+ #endif
289
+
290
+ #endif /* RAC_LIFECYCLE_H */