Skip to content

Commit 39c24dc

Browse files
Release v0.19.3: Fix WhisperKit telemetry + STT framework tracking
- Fixed framework_to_string() in telemetry to serialize whisperkit_coreml, coreml, mlx - Fixed STT component to configure actual_framework before model load - Pass framework from ModelInfo through CppBridge.STT.loadModel() - Updated checksums for v0.19.3 xcframeworks (iOS + macOS) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 0fae755 commit 39c24dc

4 files changed

Lines changed: 35 additions & 7 deletions

File tree

Package.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ let useLocalBinaries = false // Toggle: true for local dev, false for release
4141

4242
// Version for remote XCFrameworks (used when testLocal = false)
4343
// Updated automatically by CI/CD during releases
44-
let sdkVersion = "0.19.2"
44+
let sdkVersion = "0.19.3"
4545

4646
let package = Package(
4747
name: "runanywhere-sdks",
@@ -268,22 +268,22 @@ func binaryTargets() -> [Target] {
268268
.binaryTarget(
269269
name: "RACommonsBinary",
270270
url: "https://github.com/RunanywhereAI/runanywhere-sdks/releases/download/v\(sdkVersion)/RACommons-v\(sdkVersion).zip",
271-
checksum: "ab6b15e52983f7f5706fc167ae79f5935042a23915a3ff56af49a19a92d48ebb"
271+
checksum: "b2bb724a880da4a9373bde20042800e9cb42f216ade17bfb7d57552c249c5bad"
272272
),
273273
.binaryTarget(
274274
name: "RABackendLlamaCPPBinary",
275275
url: "https://github.com/RunanywhereAI/runanywhere-sdks/releases/download/v\(sdkVersion)/RABackendLLAMACPP-v\(sdkVersion).zip",
276-
checksum: "063e4c53718e9b5367b58009039b9f3c401c0ffde8f8646036bb0b55a2625a3e"
276+
checksum: "b515c758155d6f49f8f8dbeea95b7ea6cf08c69dbec730f5dd72b623b8cf310e"
277277
),
278278
.binaryTarget(
279279
name: "RABackendONNXBinary",
280280
url: "https://github.com/RunanywhereAI/runanywhere-sdks/releases/download/v\(sdkVersion)/RABackendONNX-v\(sdkVersion).zip",
281-
checksum: "108b897dbb6c51a372641c0a46e2c8db8419724cf3ad3388dc886b8c121036bf"
281+
checksum: "a76dd2f3d4a5db40852574c4764b27fca15245ce3c231f07674c5bfdd0424c56"
282282
),
283283
.binaryTarget(
284284
name: "ONNXRuntimeBinary",
285285
url: "https://github.com/RunanywhereAI/runanywhere-sdks/releases/download/v\(sdkVersion)/onnxruntime-v\(sdkVersion).zip",
286-
checksum: "394550455ac5f0c2ac0fa8f7a93be5a4eaec43a9c52772ed83179f3ae151dd6a"
286+
checksum: "c2393b597ec29f0a71575e8ac17658de92c871726a152d2d4239735d1d5611b6"
287287
),
288288
]
289289
}

sdk/runanywhere-commons/src/infrastructure/telemetry/telemetry_manager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,12 @@ const char* framework_to_string(rac_inference_framework_t framework) {
312312
return "builtin";
313313
case RAC_FRAMEWORK_NONE:
314314
return "none";
315+
case RAC_FRAMEWORK_COREML:
316+
return "coreml";
317+
case RAC_FRAMEWORK_MLX:
318+
return "mlx";
319+
case RAC_FRAMEWORK_WHISPERKIT_COREML:
320+
return "whisperkit_coreml";
315321
case RAC_FRAMEWORK_UNKNOWN:
316322
default:
317323
return "unknown";

sdk/runanywhere-swift/Sources/RunAnywhere/Foundation/Bridge/Extensions/CppBridge+STT.swift

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,25 @@ extension CppBridge {
6464
// MARK: - Model Lifecycle
6565

6666
/// Load an STT model
67-
public func loadModel(_ modelPath: String, modelId: String, modelName: String) throws {
67+
public func loadModel(
68+
_ modelPath: String,
69+
modelId: String,
70+
modelName: String,
71+
framework: rac_inference_framework_t = RAC_FRAMEWORK_UNKNOWN
72+
) throws {
6873
let handle = try getHandle()
74+
75+
// Configure the component with the correct framework so telemetry events
76+
// carry the real framework value instead of "unknown".
77+
if framework != RAC_FRAMEWORK_UNKNOWN {
78+
var config = RAC_STT_CONFIG_DEFAULT
79+
config.preferred_framework = Int32(framework.rawValue)
80+
let configResult = rac_stt_component_configure(handle, &config)
81+
if configResult != RAC_SUCCESS {
82+
logger.warning("Failed to configure STT framework: \(configResult)")
83+
}
84+
}
85+
6986
let result = modelPath.withCString { pathPtr in
7087
modelId.withCString { idPtr in
7188
modelName.withCString { namePtr in

sdk/runanywhere-swift/Sources/RunAnywhere/Public/Extensions/Models/RunAnywhere+ModelManagement.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,12 @@ extension RunAnywhere {
291291
let logger = SDKLogger(category: "RunAnywhere.STT")
292292
logger.info("Loading STT model from resolved path: \(modelPath.path)")
293293

294-
try await CppBridge.STT.shared.loadModel(modelPath.path, modelId: modelId, modelName: modelInfo.name)
294+
try await CppBridge.STT.shared.loadModel(
295+
modelPath.path,
296+
modelId: modelId,
297+
modelName: modelInfo.name,
298+
framework: modelInfo.framework.toCFramework()
299+
)
295300
}
296301

297302
/// Load a TTS (Text-to-Speech) voice by ID

0 commit comments

Comments
 (0)