SpatioSDK
Build and extend Darwin's AI ecosystem with our native Swift SDK. Create capabilities, workflows, agents, and even embed your own SwiftUI apps.
Developer Tools
Build and extend Darwin's AI ecosystem
The SpatioSDK is a Swift package that provides everything you need to create and integrate with Darwin's AI capabilities.
Spatio Protocol
Enable seamless interaction with Darwin and manage context, similar to Claude’s MCP. The protocol provides a structured way to communicate with Darwin’s AI systems.
Capabilities
Develop atomic tools that Darwin can access and use. These capabilities extend what Darwin can do, from API integrations to specialized functions.
Workflows
Create pre-defined sets of capabilities that work together to accomplish specific tasks, providing structured paths for complex operations.
Agents
Build specialized systems that dynamically use capabilities and workflows, collaborating with the Spatio Protocol to solve complex problems.
Native SwiftUI Apps
Create fully native SwiftUI applications that seamlessly embed into Darwin, providing rich, interactive experiences for users.
Simple Integration
Get started in minutes
The SpatioSDK is a Swift package that makes it easy to extend Darwin’s capabilities.
// Create a new capability with SpatioSDK
import SpatioSDK
import SwiftUI
// Define your capability
struct WeatherCapability: Capability {
static var id = "weather_lookup"
static var name = "Weather Lookup"
static var description = "Get current weather for a location"
// Define the parameters your capability accepts
struct Parameters: Codable {
let location: String
let units: String?
}
// Define the response your capability returns
struct Response: Codable {
let temperature: Double
let conditions: String
let location: String
}
// Implement the capability logic
static func execute(parameters: Parameters) async throws -> Response {
// Call weather API with the location
let weatherData = try await WeatherAPI.getWeather(
location: parameters.location,
units: parameters.units ?? "metric"
)
return Response(
temperature: weatherData.temperature,
conditions: weatherData.conditions,
location: weatherData.location
)
}
}
// Register with Darwin
SpatioSDK.registerCapability(WeatherCapability.self)