Skip to content

Feature: Add location.get command to iOS node #152

@mbelinky

Description

@mbelinky

Feature Request

Add a location.get command to the iOS node to expose device location via the Bridge.

Proposed Implementation

iOS side (NodeAppModel.swift):

case ClawdisLocationCommand.get.rawValue:
    let location = try await self.locationManager.getCurrentLocation()
    let payload = try Self.encodePayload([
        "latitude": location.coordinate.latitude,
        "longitude": location.coordinate.longitude,
        "accuracy": location.horizontalAccuracy,
        "altitude": location.altitude,
        "timestamp": location.timestamp.timeIntervalSince1970
    ])
    return BridgeInvokeResponse(id: req.id, ok: true, payloadJSON: payload)

CLI wrapper (nodes-cli.ts or similar):

clawdis nodes location get --node <idOrNameOrIp>
clawdis location get  # auto-pick single connected node

Use Cases

  • Context-aware agent responses ("coffee near me", "weather here")
  • Automatic location logging for memory/journaling
  • Integration with goplaces skill for location-based search
  • Travel tracking and timezone awareness

Privacy Considerations

  • Requires user-granted location permissions (CLLocationManager)
  • Only accessible when app is foregrounded (consistent with camera/screen)
  • Location data stays local unless explicitly shared via agent

Related

  • Nodes already support: canvas, camera, screen recording
  • Would complement existing goplaces skill nicely

Happy to implement if you're open to it! 🥷

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions