Commit cc632b2
[Swift-example][Playground] [Swift-SDK] Introducing YapRun (#400)
* feat: implement Voice Dictation feature for iOS keyboard extension
- Enabled local binaries for development in Package.swift.
- Added VoiceDictationManagementView and ViewModel for managing dictation settings and history.
- Introduced FlowSessionManager to handle audio recording and transcription flow.
- Created shared constants and data bridge for inter-process communication between the main app and keyboard extension.
- Updated Info.plist for keyboard extension with necessary permissions and configurations.
- Integrated deep linking to start dictation sessions from the keyboard.
This commit lays the groundwork for a fully functional voice dictation feature in the RunAnywhereAI iOS app.
* some fixes
* it works
* UI updates
* adding yaprun app
* UI/UX update
* adding macos app
* Refactor color handling and UI components for adaptive design
- Removed hardcoded color schemes in multiple views, replacing them with adaptive colors from AppColors.
- Updated ContentView, ModelCardView, NotepadView, and various onboarding steps to use AppColors for text and background styles.
- Added a new AppTab enum for managing tab selection in the iOS app.
- Introduced a new network client entitlement in the app's entitlements file.
- Ensured that the app respects the system's light/dark mode settings across various views.
* tests
* Implement WhisperKit support for speech-to-text functionality
- Added WhisperKit as a new library for speech-to-text processing using Apple Neural Engine.
- Introduced WhisperKitRuntime target and integrated it into the main application.
- Updated ModelRegistry to include WhisperKit models and their respective handling.
- Enhanced RunAnywhere SDK to support model registration and discovery for WhisperKit.
- Updated various components to utilize WhisperKit for STT, ensuring compatibility with existing frameworks.
- Refactored model management to accommodate WhisperKit's directory-based model structure.
* minor fix
* minor changes
* Release v0.19.2: Add WhisperKit module + persistence fixes
- Added RunAnywhereWhisperKit SPM product for Apple Neural Engine STT
- Changed WhisperKit dependency from local path to remote URL for SPM consumers
- Fixed model download persistence: added RAC_FRAMEWORK_WHISPERKIT to discovery scan
- Fixed registerModel() race condition with flushPendingRegistrations()
- Emitted Swift STT events for WhisperKit model load/unload
- Updated checksums for v0.19.2 xcframeworks (iOS + macOS)
Co-authored-by: Cursor <cursoragent@cursor.com>
* addressing comments + renaming
* changes
* updates to whisper kit
* 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>
* minor things
* minor changes
* Release v0.19.4: Fix framework Info.plist for App Store validation
- Added CFBundleVersion to build-ios.sh Info.plist templates (RACommons, backends)
- Added CFBundleVersion + CFBundleShortVersionString to onnxruntime macOS plist in create-onnxruntime-xcframework.sh
- Added MinimumOSVersion to pre-built onnxruntime iOS Info.plists
- Updated Package.swift version to 0.19.4 with new checksums
- Updated sdk/runanywhere-swift/VERSION to 0.19.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Release v0.19.4: Set useLocalBinaries = false for SPM consumers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Release v0.19.5: Fix App Store validation by using library-format xcframeworks
- Restructure xcframeworks from .framework format to plain .a library format
to prevent SPM/Xcode from embedding static libraries as dynamic frameworks
- Split onnxruntime into iOS (static) and macOS (dynamic) xcframeworks since
xcframeworks can't mix library types
- Make all library products explicitly .static in Package.swift
- Add build phase to strip SPM-generated framework stubs from app bundle
- Update build-ios.sh and create-onnxruntime-xcframework.sh to produce
library-format xcframeworks going forward
This fixes: "Invalid Bundle - does not support minimum OS Version" and
"Upload Symbols Failed" errors during App Store validation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* minor changes
* Fix v0.19.5: Remove type: .static from library products to fix linker errors
type: .static on SPM library products prevents binary target linker flags
from being forwarded to consuming apps, causing "Undefined symbol: _rac_*"
errors when archiving. Reverting to automatic library type resolves this.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix v0.19.5: Use framework-format xcframeworks for remote SPM
Library-format xcframeworks (.a files) cause linker errors when consumed
by Xcode apps via remote SPM. Reverted release zips to framework-format
(.framework bundles) which properly propagate linker flags.
Local dev still uses library-format via useLocalBinaries=true.
The YapRun strip build phase handles App Store embedding.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix v0.19.5: Use versioned framework structure for macOS slices
macOS frameworks require Versions/A/ directory structure with symlinks.
The flat iOS-style structure caused linker errors on macOS builds.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Release v0.19.6: Fix remote SPM with versioned macOS framework structure
- Framework-format xcframeworks for proper SPM linker flag propagation
- Versioned macOS framework structure (Versions/A/ with symlinks)
- Flat iOS framework structure (standard)
- Fixes undefined symbol errors on both iOS and macOS remote SPM builds
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Fix missing ONNXRuntimeBinary target in Package.swift
Replace stale "ONNXRuntimeBinary" dependency (which doesn't exist) with
platform-conditional ONNXRuntimeiOSBinary/ONNXRuntimemacOSBinary targets.
This was preventing SPM from resolving the package graph.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* adding 0.19.6
* Add linker stubs for unimplemented LoRA and RAG symbols
The LoRA functions (rac_llm_component_*_lora) are declared in headers
but not yet implemented in the RACommons C++ library. The RAG functions
(rac_rag_*) are implemented in RABackendRAG which is excluded from
remote releases. Both cause undefined symbol linker errors.
Add weak stub implementations in shim.c that return
RAC_ERROR_NOT_IMPLEMENTED. When the real backends are available, the
strong definitions will override these stubs automatically.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* Add voice agent/WhisperKit stubs, fix YapRun linker settings
- Add weak stubs for rac_voice_agent_* and
rac_whisperkit_coreml_stt_set_callbacks (not yet in RACommons binary)
- Add ARCHS=arm64 to YapRun (xcframeworks are arm64-only)
- Fix OTHER_LDFLAGS to use $(inherited) + -all_load array format
(required to force-link all symbols from SPM binary targets)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* mac app upload
* minor updates
* minor updates
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>File tree
192 files changed
+22111
-273
lines changed- Playground/YapRun
- YapRun.xcodeproj
- project.xcworkspace
- YapRunActivity
- Assets.xcassets
- AccentColor.colorset
- AppIcon.appiconset
- WidgetBackground.colorset
- yaprun_icon.imageset
- YapRunKeyboard
- Assets.xcassets
- yaprun_icon.imageset
- YapRunTests
- YapRunUITests
- YapRun
- Assets.xcassets
- AccentColor.colorset
- AppIcon.appiconset
- runanywhere_logo.imageset
- yaprun_logo.imageset
- Core
- Features
- Home
- Notepad
- Onboarding
- Steps
- Playground
- VoiceKeyboard
- Settings.bundle
- macOS
- Features
- Onboarding
- Services
- logos
- examples/ios/RunAnywhereAI
- RunAnywhereAI.xcodeproj
- RunAnywhereAI
- App
- Assets.xcassets/AccentColor.colorset
- Features/VoiceKeyboard
- RunAnywhereActivityExtension
- Assets.xcassets
- AccentColor.colorset
- AppIcon.appiconset
- WidgetBackground.colorset
- runanywhere_icon.imageset
- RunAnywhereKeyboard
- Assets.xcassets
- runanywhere_icon.imageset
- sdk
- runanywhere-commons
- cmake
- include/rac
- backends
- infrastructure/model_management
- scripts
- src
- backends
- onnx
- whisperkit_coreml
- features/stt
- infrastructure
- model_management
- telemetry
- tests
- scripts
- runanywhere-flutter/packages/runanywhere/lib/native
- runanywhere-swift
- Sources
- RunAnywhere
- CRACommons
- include
- Features/STT/Services
- Foundation/Bridge/Extensions
- Public/Extensions
- Models
- STT
- WhisperKitRuntime
- scripts
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
192 files changed
+22111
-273
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
391 | 391 | | |
392 | 392 | | |
393 | 393 | | |
| 394 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
83 | 90 | | |
84 | 91 | | |
85 | 92 | | |
| |||
91 | 98 | | |
92 | 99 | | |
93 | 100 | | |
| 101 | + | |
| 102 | + | |
94 | 103 | | |
95 | 104 | | |
96 | 105 | | |
| |||
118 | 127 | | |
119 | 128 | | |
120 | 129 | | |
121 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
122 | 135 | | |
123 | 136 | | |
124 | 137 | | |
| |||
159 | 172 | | |
160 | 173 | | |
161 | 174 | | |
162 | | - | |
| 175 | + | |
| 176 | + | |
163 | 177 | | |
164 | 178 | | |
165 | 179 | | |
| |||
192 | 206 | | |
193 | 207 | | |
194 | 208 | | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
195 | 225 | | |
196 | 226 | | |
197 | 227 | | |
| |||
289 | 319 | | |
290 | 320 | | |
291 | 321 | | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
300 | 335 | | |
301 | 336 | | |
302 | 337 | | |
| |||
309 | 344 | | |
310 | 345 | | |
311 | 346 | | |
312 | | - | |
| 347 | + | |
313 | 348 | | |
314 | 349 | | |
315 | 350 | | |
316 | 351 | | |
317 | | - | |
| 352 | + | |
318 | 353 | | |
319 | 354 | | |
320 | 355 | | |
321 | 356 | | |
322 | | - | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
323 | 363 | | |
324 | 364 | | |
325 | | - | |
326 | | - | |
327 | | - | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
328 | 368 | | |
329 | 369 | | |
330 | 370 | | |
| |||
0 commit comments