Non Optional AppIntent Param

After building my app with Xcode 16 beta 6 I'm getting this warning in my AppIntents.

Encountered a non-optional type for parameter: computer. Conformance to the following AppIntent protocols requires all parameter types to be optional: AppIntents.WidgetConfigurationIntent, AppIntents.ControlConfigurationIntent

The intent looks something like this

struct WakeUp: AppIntent, WidgetConfigurationIntent, PredictableIntent {
@Parameter(title: "intent.param.computer", requestValueDialog:"intent.param.request_dialog.computer")
var computer: ComputerEntity
init(computer: ComputerEntity) {
self.computer = computer
}
init() {
}
public static var parameterSummary: some ParameterSummary {
Summary("Wake Up \(\.$computer)")
}
static var predictionConfiguration: some IntentPredictionConfiguration {
IntentPrediction(parameters: (\.$computer)) { computer in
DisplayRepresentation(
title: "Wake Up \(computer)"
)
}
}
@MainActor
func perform() async throws -> some IntentResult & ProvidesDialog {
}
}

According to the docs though specifying optional is how we say if the value is required or not. https://developer.apple.com/documentation/appintents/adding-parameters-to-an-app-intent#Make-a-parameter-optional-or-required

So is this warning accurate? If so, how do I specify that a parameter is required by the intent now?

Same question here...

You probably should declare two different intents: one with non-optional parameter and perform() function implementation; and another one that implements WidgetConfigurationIntent, has optional parameter, and no perform() function.

You'd also want to declare that second one as non-discoverable.

static let isDiscoverable = false

That approach worked well for me.

Same question here

You can add default values, such as in Emoji Rangers would look like this:

@Parameter(title: "Selected Hero", default: EmojiRanger.cake, optionsProvider: EmojiRangerOptionsProvider())
var hero: EmojiRanger?
Non Optional AppIntent Param
 
 
Q