iGent Concert
/fabric/sdks/

Fabric SDKs

SDK family and language responsibilities for Fabric clients and services

Fabric has a multi-language SDK family so services can share protocol behavior without copying envelope, capability, streaming, and error logic.

SDK Family

LanguageMain use
TypeScriptDiminuendo, clients, Unison, local tooling
RustPodium, Chronicle, codex-tui, performance-sensitive local clients
GoEnsemble service integration
PythonAgent tooling and test clients
SwiftApple client surfaces and native integrations

What SDKs Should Provide

CapabilityDescription
JSON-RPC envelopesRequest, response, notification, batch, and error helpers
Capability negotiationInitialize, profile discovery, and feature flags
Streaming helpersEvent parsing, cancellation, terminal state handling
Auth metadataBearer token and scoped identity propagation
Profile clientsFocused helpers for inference, runtime, resource, conversation, and workspace methods
Test fixturesShared protocol examples that catch drift across languages

Current Guidance

Use the SDK that belongs to the service runtime when building inside the Fabric workspace. For docs and new protocol examples, prefer Fabric method names and profile concepts over older service-native or ACP-specific examples.

When an SDK has compatibility helpers for a legacy REST or ACP path, treat those helpers as adapter code. New first-party work should target Fabric profiles.