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)