Skip to content

Commit 075b67b

Browse files
committed
Remove Features, expose _room
1 parent 475ea24 commit 075b67b

File tree

5 files changed

+14
-23
lines changed

5 files changed

+14
-23
lines changed

VoiceAgent/Agent/AgentSession+Types.swift

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,11 @@ extension AgentSession {
1818
// }
1919
}
2020

21-
struct Features: OptionSet {
22-
let rawValue: Int
23-
24-
static let voice = Self(rawValue: 1 << 0)
25-
static let text = Self(rawValue: 1 << 1)
26-
static let video = Self(rawValue: 1 << 2)
27-
28-
static let all: Self = [.voice, .text, .video]
29-
}
30-
31-
struct Context {
21+
struct Options {
3222
let room: Room
33-
let features: Features
3423

35-
init(room: Room = .init(), features: Features = .all) {
24+
init(room: Room = .init()) {
3625
self.room = room
37-
self.features = features
3826
}
3927
}
4028

VoiceAgent/Agent/AgentSession.swift

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,12 @@ final class AgentSession: ObservableObject {
3939

4040
@Published private(set) var messages: OrderedDictionary<ReceivedMessage.ID, ReceivedMessage> = [:]
4141

42-
var supportedFeatures: Features { features }
42+
var _room: Room { room }
4343

4444
// MARK: - Dependencies
4545

4646
private let environment: Environment
4747
private let room: Room
48-
private let features: Features
4948
private let senders: [any MessageSender]
5049
private let receivers: [any MessageReceiver]
5150

@@ -55,10 +54,9 @@ final class AgentSession: ObservableObject {
5554

5655
// MARK: - Init
5756

58-
init(environment: Environment, context: Context = .init(), senders: [any MessageSender]? = nil, receivers: [any MessageReceiver]? = nil) {
57+
init(environment: Environment, options: Options = .init(), senders: [any MessageSender]? = nil, receivers: [any MessageReceiver]? = nil) {
5958
self.environment = environment
60-
room = context.room
61-
features = context.features
59+
room = options.room
6260

6361
let textMessageSender = TextMessageSender(room: room)
6462
self.senders = senders ?? [textMessageSender]

VoiceAgent/ControlBar/ControlBar.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ struct ControlBar: View {
1616
var body: some View {
1717
HStack(spacing: .zero) {
1818
biggerSpacer()
19-
if session.supportedFeatures.contains(.voice) {
19+
if FeatureSwitches.voice {
2020
audioControls()
2121
flexibleSpacer()
2222
}
23-
if session.supportedFeatures.contains(.video) {
23+
if FeatureSwitches.video {
2424
videoControls()
2525
flexibleSpacer()
2626
screenShareButton()
2727
flexibleSpacer()
2828
}
29-
if session.supportedFeatures.contains(.text) {
29+
if FeatureSwitches.text {
3030
textInputButton()
3131
flexibleSpacer()
3232
}

VoiceAgent/FeatureSwitches.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
enum FeatureSwitches {
2+
static let voice = true
3+
static let video = true
4+
static let text = true
5+
}

VoiceAgent/VoiceAgentApp.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ struct VoiceAgentApp: App {
1313
WindowGroup {
1414
AppView()
1515
.environmentObject(DeviceSwitcher(room: room))
16-
.environmentObject(AgentSession(environment: .sandbox(id: sandboxID), context: .init(room: room)))
16+
.environmentObject(AgentSession(environment: .sandbox(id: sandboxID), options: .init(room: room)))
1717
}
1818
#if os(macOS)
1919
.defaultSize(width: 900, height: 900)

0 commit comments

Comments
 (0)