M-1: define JarvisAPI.Self protocol (getSelfState, device enumeration, TCC events) #100

Open
opened 2026-05-12 19:36:48 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:36:48 +00:00 (Migrated from github.com)

Goal

Define JarvisAPI.Self protocol: getSelfState query, listAudioDevices/listCameraDevices/getActiveAudioRoute queries, selfStateChanged + tccStatusChanged events.

Scope

  • JarvisAPI.Self protocol with method signatures
  • Typed SelfState struct (modelId, modelDisplayName, memoryVectorAvailable: Bool, devices, TCC permission states)
  • Event types: SelfStateChanged, TCCStatusChanged
  • No conformer yet

Files

  • packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Self.swift (new)
  • packages/JarvisAPI/Sources/JarvisAPI/Surfaces/SelfTypes.swift (new)

Acceptance

  • Protocol compiles in JarvisAPI
  • SelfState is Codable
  • Field modelDisplayName exists and is the sole string in get_self_state tool result text contract

Test

Compile-only; conformer added next sub-issue.

Parent epic

#5

Source

.planning/architecture/JARVIS-API-MIGRATION-PLAN.md §2.2 (M-1.1)
.planning/architecture/JARVIS-API-DESIGN-v0.1.md — Self surface

## Goal Define JarvisAPI.Self protocol: getSelfState query, listAudioDevices/listCameraDevices/getActiveAudioRoute queries, selfStateChanged + tccStatusChanged events. ## Scope - `JarvisAPI.Self` protocol with method signatures - Typed `SelfState` struct (modelId, modelDisplayName, memoryVectorAvailable: Bool, devices, TCC permission states) - Event types: `SelfStateChanged`, `TCCStatusChanged` - No conformer yet ## Files - `packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Self.swift` (new) - `packages/JarvisAPI/Sources/JarvisAPI/Surfaces/SelfTypes.swift` (new) ## Acceptance - [ ] Protocol compiles in JarvisAPI - [ ] `SelfState` is Codable - [ ] Field `modelDisplayName` exists and is the sole string in get_self_state tool result text contract ## Test Compile-only; conformer added next sub-issue. ## Parent epic #5 ## Source `.planning/architecture/JARVIS-API-MIGRATION-PLAN.md` §2.2 (M-1.1) `.planning/architecture/JARVIS-API-DESIGN-v0.1.md` — Self surface
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#100