Draft
Conversation
Wire up SwiftSyntax macro targets in Package.swift and update all four iOS example apps to match the latest KMP SDK API surface. Add GeneratableType protocol and constrained generation macros in LeapSDKMacros target. Use SKIE-bundled convenience extensions from the SDK for Swift-friendly initializers and type conversions.
Remove KMP migration workarounds now handled by SDK convenience extensions: .init() ChatMessage disambiguation (9 sites), explicit generationOptions: nil / options: nil (5 sites), and progress.doubleValue unwrapping (4 sites). Uses new progress: labeled parameter with native Swift Double/Int64 types.
0de5a3f to
b6aac6d
Compare
All four iOS example projects need the nested dylibs inside LeapSDK.framework/Frameworks/ to be code-signed at build time and the linker/runtime search paths updated so they can be found. - Add LIBRARY_SEARCH_PATHS and LD_RUNPATH_SEARCH_PATHS for nested dylibs - Add post-build script to codesign nested .dylib files in LeapSDK.framework - Applied to LeapAudioDemo, LeapChatExample, LeapSloganExample, RecipeGenerator - Pass options: nil for audio model load (audio engine rejects unknown extras fields) - Stop tracking xcodeproj/project.pbxproj files (generated by xcodegen) - Update .gitignore to exclude *.xcodeproj/project.pbxproj
LeapSDKMacros (@Generatable, @Guide, GeneratableType) now lives in the SDK repo and is consumed as a second SPM package dependency rather than being duplicated in the Examples repo. - Remove iOS/Sources/ (macro sources deleted, now in SDK repo) - Simplify iOS/Package.swift to only vend XCFramework binary targets - Add LeapAndroidSDK package reference in LeapSloganExample and RecipeGenerator project.yml files pointing to the SDK worktree - Replace setResponseFormat(type:) calls with direct jsonSchemaConstraint assignment (GenerationOptions extension removed from macro library to avoid linking two copies of LeapSDK)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key changes
onEnum(of:)sealed class pattern,any Conversation/any ModelRunnerprotocol existentials,ChatMessage.Roleenum,completion.fullMessagepropertyprogress:callback with native SwiftDouble/Int64(no moreKotlinDouble),generateResponse(message:)without explicitgenerationOptions: nil,Leap.load()without explicitoptions: nilGeneratableTypeprotocol and@Generatablemacro moved from old pure-Swift SDK to LeapSDKMacros package targetDependencies
Test plan