diff --git a/NucleicRemote/NucleicRemote/AppIntents/NucleicShortcuts.swift b/NucleicRemote/NucleicRemote/AppIntents/NucleicShortcuts.swift new file mode 100644 index 0000000..6e16131 --- /dev/null +++ b/NucleicRemote/NucleicRemote/AppIntents/NucleicShortcuts.swift @@ -0,0 +1,45 @@ +import AppIntents + +/// Curates the handful of genuinely voice-worthy actions for Siri / Spotlight (§8: keep the spoken +/// set to ~4 — approve, unblock, open, "what needs me" — and expose the long tail through Shortcuts +/// only). Every phrase must name the app; `\(.applicationName)` resolves to "Nucleic". +struct NucleicShortcuts: AppShortcutsProvider { + static var appShortcuts: [AppShortcut] { + AppShortcut( + intent: SessionsNeedingMeIntent(), + phrases: [ + "What needs me in \(.applicationName)", + "What's waiting in \(.applicationName)", + "Which agents need me in \(.applicationName)", + ], + shortTitle: "What Needs Me", + systemImageName: "bell.badge") + + AppShortcut( + intent: AnswerApprovalIntent(), + phrases: [ + "Approve in \(.applicationName)", + "Answer an approval in \(.applicationName)", + ], + shortTitle: "Answer Approval", + systemImageName: "checkmark.shield") + + AppShortcut( + intent: SendFollowUpIntent(), + phrases: [ + "Send a follow-up in \(.applicationName)", + "Tell an agent in \(.applicationName)", + ], + shortTitle: "Send Follow-Up", + systemImageName: "arrowshape.turn.up.right") + + AppShortcut( + intent: OpenSessionIntent(), + phrases: [ + "Open a session in \(.applicationName)", + "Open \(.applicationName)", + ], + shortTitle: "Open Session", + systemImageName: "bubble.left.and.text.bubble.right") + } +}