Make the package resolvable next to newer swift-syntax, and vend the core module - #99
Merged
Merged
Conversation
…core Pinning swift-syntax to `from: "600.0.0"` — which SwiftPM reads as 600.0.0..<601.0.0 — makes this package unresolvable in any graph that also contains something requiring a newer one. mlx-swift-lm asks for 602..<604, so the two cannot coexist today, even for a client that only uses the llama backend and never builds the macro targets. Widened to 600..<604. `LocalLLMClientCore` is also vended as its own product. A host that builds its tools from data has no use for the macros, and reaching the core through the umbrella target drags swift-syntax into its dependency graph for nothing.
tattn
approved these changes
Aug 25, 2026
tattn
left a comment
Owner
There was a problem hiding this comment.
Thank you for the PR.
I think this is a good change, so I'll go ahead and merge it.
sebastien-burel
added a commit
to sebastien-burel/KaozKit
that referenced
this pull request
Aug 25, 2026
tattn/LocalLLMClient#99 — the swift-syntax range that collided with mlx-swift-lm's, and vending LocalLLMClientCore — was merged upstream within the hour, which is what splitting the work into two PRs was for. Rebasing the fork onto the new upstream main drops that commit as already applied, so the delta KaozKit carries is now only the runtime tool schemas of #100: three files, no packaging changes. Drop the fork entirely when that one lands too.
Contributor
Author
|
Thanks for the quick review and merge. For context: I hit the swift-syntax range while depending on |
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.
Two small packaging changes, found while depending on
LocalLLMClientLlamafrom a package that also uses MLX.swift-syntax range
from: "600.0.0"means600.0.0..<601.0.0. Any graph that also contains a package requiring a newer swift-syntax cannot resolve:This bites even when the client only uses the llama backend and never builds the macro targets, since SwiftPM resolves the whole package graph. Widened to
600..<604.LocalLLMClientCore as a product
A host that builds its tools from data rather than from the
@Toolmacros has no use for the macro layer, but the only way to reachAnyLLMTooltoday is through theLocalLLMClientumbrella target, which depends onLocalLLMClientMacrosand so pulls swift-syntax in for nothing. Vending the core target as its own product lets such a client depend on just what it uses.Both
LocalLLMClientCoreandLocalLLMClientLlamabuild clean on this branch.