Skip to content

fix(deps): drop swift-sdk fork branch for official tagged release#31

Merged
gsdali merged 1 commit into
mainfrom
fix/official-swift-sdk
May 26, 2026
Merged

fix(deps): drop swift-sdk fork branch for official tagged release#31
gsdali merged 1 commit into
mainfrom
fix/official-swift-sdk

Conversation

@gsdali
Copy link
Copy Markdown
Owner

@gsdali gsdali commented May 26, 2026

Problem

OCCTMCP — a tagged, released package (currently v1.4.0) — depended on the gsdali/swift-sdk fork branch add-value-numbervalue:

.package(url: "https://github.com/gsdali/swift-sdk.git", branch: "add-value-numbervalue"),

A branch reference is a moving, non-reproducible pin: consumers and CI get whatever is on the branch at resolve time, and it breaks if the fork branch is ever rebased or deleted. The branch's only delta from upstream main is a single Value.numberValue computed property (proposed upstream in modelcontextprotocol/swift-sdk#225, PR #226 — still open).

Fix

  • Depend on the official modelcontextprotocol/swift-sdk (from: "0.11.0", resolves to 0.12.1). The package identity stays swift-sdk, so all .product(name: "MCP", package: "swift-sdk") references are unchanged.
  • Back-port Value.numberValue locally in Sources/OCCTMCPCore/Value+NumberValue.swift — a verbatim copy of the proposed accessor (coerces .int/.doubleDouble). Server.swift consumes it in ~12 places (coordinates, tolerances, material params).
  • Delete that one file once the SDK ships the property upstream; nothing else changes.

Verification

Package.resolved now pins swift-sdk at version 0.12.1 (revision-locked) instead of a branch. swift build clean (0 errors); all 28 tests pass.

🤖 Generated with Claude Code

OCCTMCP (a tagged, released package) depended on the gsdali/swift-sdk fork
branch `add-value-numbervalue` — a moving, non-reproducible reference whose
only delta from upstream was a single `Value.numberValue` computed property
(upstream PR modelcontextprotocol/swift-sdk#226, still open).

Switch to the official modelcontextprotocol/swift-sdk (`from: "0.11.0"`,
resolves to 0.12.1) and back-port `Value.numberValue` locally in
Value+NumberValue.swift. Behavior is identical — the back-port is a verbatim
copy of the proposed accessor — but the dependency is now a reproducible
version pin instead of a fork branch that could move or disappear.

Delete Value+NumberValue.swift (and nothing else) once the SDK ships the
property upstream.

Build clean; all 28 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@gsdali gsdali merged commit 4bd23f7 into main May 26, 2026
@gsdali gsdali deleted the fix/official-swift-sdk branch May 26, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant