FigraniumIntentClientProvider so your app controls authentication and secrets. Intents never accept credentials as parameters.
App Intents support is compiled only when
#if canImport(AppIntents) is true. Server-side Swift deployments without App Intents use the rest of the SDK unchanged.Configure the client provider
Before the system can present any Figranium intent, callFigraniumIntentConfiguration.configure(_:) once at app launch with a provider that vends a configured Figranium client.
AppIntentProvider.swift
FigraniumError with code INTENT_NOT_CONFIGURED.
Available intents
RunFigraniumTaskIntent
Starts a task and returns a spoken dialog with the outcome. Signature:- Parameter:
task(typeFigraniumTask) — anAppEntitypopulated fromFigraniumTaskQuery.suggestedEntities(), which lists task summaries from the server. - Result dialog:
"<task.name> finished with <outcome>." - HTTP endpoint:
POST /tasks/{id}/run(viaclient.runTask(_:))
StopFigraniumExecutionIntent
Stops a running execution by its run ID. Signature:- Parameter:
runID— the execution identifier to stop. - Result dialog:
"Stopped Figranium execution." - HTTP endpoint:
POST /executions/{runID}/stop
GetFigraniumExecutionStatusIntent
Reads the current status of an execution and speaks it back. Signature:- Parameter:
executionID— the execution identifier to query. - Result dialog:
"Execution status: <status>."(falls back tooutcomeorunknown) - HTTP endpoint:
GET /executions/{executionID}
Task entity and query
FigraniumTask is an AppEntity backed by FigraniumTaskQuery. The query fetches task summaries from the server and filters them by identifier.
suggestedEntities()callsclient.tasks.listSummaries().entities(for:)callsclient.tasks.list()and filters by ID.
Register App Shortcuts
Expose intents to the Shortcuts app with anAppShortcutsProvider.
FigraniumAppShortcuts.swift
Security notes
- Keep API keys in the Keychain or another secure app-owned store.
- Intents never accept credentials as parameters. The provider is the only path the SDK uses to obtain a client.
- If the provider throws, the intent surfaces the error through the App Intents system dialog.