@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.
- package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +218 -0
- package/android/src/main/include/rac/backends/rac_stt_onnx.h +99 -0
- package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +153 -0
- package/android/src/main/include/rac/backends/rac_tts_onnx.h +71 -0
- package/android/src/main/include/rac/backends/rac_vad_onnx.h +84 -0
- package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +290 -0
- package/android/src/main/include/rac/core/rac_analytics_events.h +610 -0
- package/android/src/main/include/rac/core/rac_audio_utils.h +88 -0
- package/android/src/main/include/rac/core/rac_component_types.h +160 -0
- package/android/src/main/include/rac/core/rac_core.h +331 -0
- package/android/src/main/include/rac/core/rac_error.h +469 -0
- package/android/src/main/include/rac/core/rac_events.h +334 -0
- package/android/src/main/include/rac/core/rac_logger.h +416 -0
- package/android/src/main/include/rac/core/rac_platform_adapter.h +340 -0
- package/android/src/main/include/rac/core/rac_sdk_state.h +292 -0
- package/android/src/main/include/rac/core/rac_structured_error.h +594 -0
- package/android/src/main/include/rac/core/rac_types.h +264 -0
- package/android/src/main/include/rac/features/llm/rac_llm.h +17 -0
- package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +188 -0
- package/android/src/main/include/rac/features/llm/rac_llm_component.h +228 -0
- package/android/src/main/include/rac/features/llm/rac_llm_events.h +215 -0
- package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +402 -0
- package/android/src/main/include/rac/features/llm/rac_llm_service.h +163 -0
- package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +141 -0
- package/android/src/main/include/rac/features/llm/rac_llm_types.h +384 -0
- package/android/src/main/include/rac/features/platform/rac_llm_platform.h +204 -0
- package/android/src/main/include/rac/features/platform/rac_tts_platform.h +197 -0
- package/android/src/main/include/rac/features/stt/rac_stt.h +17 -0
- package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +204 -0
- package/android/src/main/include/rac/features/stt/rac_stt_component.h +162 -0
- package/android/src/main/include/rac/features/stt/rac_stt_events.h +62 -0
- package/android/src/main/include/rac/features/stt/rac_stt_service.h +154 -0
- package/android/src/main/include/rac/features/stt/rac_stt_types.h +389 -0
- package/android/src/main/include/rac/features/tts/rac_tts.h +17 -0
- package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +181 -0
- package/android/src/main/include/rac/features/tts/rac_tts_component.h +158 -0
- package/android/src/main/include/rac/features/tts/rac_tts_events.h +54 -0
- package/android/src/main/include/rac/features/tts/rac_tts_service.h +162 -0
- package/android/src/main/include/rac/features/tts/rac_tts_types.h +374 -0
- package/android/src/main/include/rac/features/vad/rac_vad.h +17 -0
- package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +236 -0
- package/android/src/main/include/rac/features/vad/rac_vad_component.h +185 -0
- package/android/src/main/include/rac/features/vad/rac_vad_energy.h +443 -0
- package/android/src/main/include/rac/features/vad/rac_vad_events.h +76 -0
- package/android/src/main/include/rac/features/vad/rac_vad_service.h +167 -0
- package/android/src/main/include/rac/features/vad/rac_vad_types.h +244 -0
- package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +612 -0
- package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +176 -0
- package/android/src/main/include/rac/infrastructure/download/rac_download.h +418 -0
- package/android/src/main/include/rac/infrastructure/events/rac_events.h +177 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +169 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +258 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +357 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +374 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +613 -0
- package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +335 -0
- package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +252 -0
- package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +85 -0
- package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +102 -0
- package/android/src/main/include/rac/infrastructure/network/rac_environment.h +220 -0
- package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +233 -0
- package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +286 -0
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +206 -0
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +234 -0
- package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp.so +0 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/Info.plist +44 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +2 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Info.plist +11 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Modules/module.modulemap +5 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/RABackendLLAMACPP +0 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +2 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Info.plist +11 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Modules/module.modulemap +5 -0
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/RABackendLLAMACPP +0 -0
- 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 */
|