Docs/tests: node list hardware fields

This commit is contained in:
Peter Steinberger
2025-12-17 20:11:13 +00:00
parent a40fc50e5e
commit 9d29fbbf80
2 changed files with 15 additions and 2 deletions

View File

@@ -8,6 +8,8 @@ import Testing
displayName: "Paired Name",
platform: "iOS 1",
version: "1.0",
deviceFamily: "iPhone",
modelIdentifier: "iPhone0,0",
token: "token",
createdAtMs: 1,
lastSeenAtMs: nil)
@@ -17,6 +19,8 @@ import Testing
displayName: "Live Name",
platform: "iOS 2",
version: "2.0",
deviceFamily: "iPhone",
modelIdentifier: "iPhone14,2",
remoteAddress: "10.0.0.1",
caps: ["canvas", "camera"])
@@ -31,6 +35,8 @@ import Testing
#expect(node?.displayName == "Live Name")
#expect(node?.platform == "iOS 2")
#expect(node?.version == "2.0")
#expect(node?.deviceFamily == "iPhone")
#expect(node?.modelIdentifier == "iPhone14,2")
#expect(node?.remoteAddress == "10.0.0.1")
#expect(node?.connected == true)
#expect(node?.capabilities?.sorted() == ["camera", "canvas"])
@@ -42,6 +48,8 @@ import Testing
displayName: "Android Node",
platform: "Android",
version: "dev",
deviceFamily: "Android",
modelIdentifier: "Pixel",
remoteAddress: "192.168.0.10",
caps: ["canvas"])
@@ -55,6 +63,8 @@ import Testing
#expect(node != nil)
#expect(node?.connected == true)
#expect(node?.capabilities == ["canvas"])
#expect(node?.deviceFamily == "Android")
#expect(node?.modelIdentifier == "Pixel")
}
@Test func nodeListIncludesPairedDisconnectedNodesWithoutCapabilities() async {
@@ -63,6 +73,8 @@ import Testing
displayName: "Offline Node",
platform: "iOS",
version: "1.2.3",
deviceFamily: "iPad",
modelIdentifier: "iPad1,1",
token: "token",
createdAtMs: 1,
lastSeenAtMs: nil)
@@ -78,6 +90,7 @@ import Testing
#expect(node?.connected == false)
#expect(node?.capabilities == nil)
#expect(node?.remoteAddress == nil)
#expect(node?.deviceFamily == "iPad")
#expect(node?.modelIdentifier == "iPad1,1")
}
}

View File

@@ -75,7 +75,7 @@ UI automation is not part of `ClawdisIPC.Request`:
- `run -- cmd args... [--cwd] [--env KEY=VAL] [--timeout 30] [--needs-screen-recording]`
- `status`
- Nodes (bridge-connected companions):
- `node list` — lists paired + currently connected nodes, including advertised capabilities (e.g. `canvas`, `camera`).
- `node list` — lists paired + currently connected nodes, including advertised capabilities (e.g. `canvas`, `camera`) and hardware identifiers (`deviceFamily`, `modelIdentifier`).
- `node invoke --node <id> --command <name> [--params-json <json>]`
- Sounds: supply any macOS alert name with `--sound` per notification; omit the flag to use the system default. There is no longer a persisted “default sound” in the app UI.
- Priority: `timeSensitive` is best-effort and falls back to `active` unless the app is signed with the Time Sensitive Notifications entitlement.