apple_intents
Server-side App Intents fulfillment for Elixir — JWS verification, typed handlers, delegation, and approval webhooks.
Installation
def deps do
[{:apple_intents, "~> 0.1.0"}]
end
Usage
defmodule MyApp.PhotoIntent do
use AppleIntents.Intent, intent: "OrganizePhotos"
use AppleIntents.Delegated, task: "organize_photos", require_approval: true
end
defmodule MyApp.IntentRouter do
use AppleIntents.Router
handlers do
[MyApp.PhotoIntent]
end
end
# Phoenix
post "/apple/intents/fulfill", AppleIntents.Plug, init_opts: [router: MyApp.IntentRouter]
post "/apple/intents/approve", AppleIntents.ApprovalPlug, init_opts: [router: MyApp.IntentRouter]
Optional Jido integration
See apple_intents_jido for agent orchestration via Jido.Exec.
License
MIT