feat: Add iOS 27 App Intents (AskLoop, CaptureToLoop, LoopRemember, SearchLoop)#81
feat: Add iOS 27 App Intents (AskLoop, CaptureToLoop, LoopRemember, SearchLoop)#81devin-ai-integration[bot] wants to merge 1 commit into
Conversation
…earchLoop) - AskLoopIntent: accepts a String query, opens Loop, injects it into the agent harness chat via notification - CaptureToLoopIntent: captures on-screen content description and sends it to Loop as a new chat message - LoopRememberIntent: appends a quick note to today's Obsidian daily note (runs in background, no app launch needed) - SearchLoopIntent: searches conversations locally, falls through to the agent for deeper search - LoopConversationEntity + LoopNoteEntity: IndexedEntity types so Siri and Spotlight can search Loop conversations and Obsidian notes - All new intents registered in LoopAppShortcuts with Siri phrases - MessagingVC subscribes to intent notifications to inject messages - All new code gated with @available(iOS 27.0, *) - UIKit-dependent intents excluded from LoopMac / LoopVision targets Co-Authored-By: bot_apk <apk@cognition.ai>
Original prompt from API User
|
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Summary
Adds four new
AppIntenttypes + twoIndexedEntitytypes so Siri and Shortcuts can invoke Loop skills, capture on-screen content, and search Loop memory — all gated with@available(iOS 27.0, *).New Intents (
LoopIOS/AppIntents/)AskLoopIntentloopIntentMessageReceived→MessagingVC.didSendMessageTextruns the agentCaptureToLoopIntent[Captured from screen]prefix → same notification pathLoopRememberIntentObsidianClient.shared.today()→ appends a timestamped bullet toQuick Notes.mdin today's day folder (creates if missing)SearchLoopIntentSimpleConversationManager.getAllConversations()locally → if no matches, falls through to the agentSearchable Entities
LoopConversationEntity: wrapsSimpleConversation, exposesattributeSetwithdisplayName+contentDescriptionfor Spotlight indexing. Query returns the 20 most recent conversations.LoopNoteEntity: wraps Obsidian vault notes by path;suggestedEntities()lists today's folder via the relay.Plumbing
IntentNotifications.swift— declaresNotification.Name.loopIntentMessageReceivedMessagingVCsubscribes toloopIntentMessageReceivedand callsdidSendMessageText(text)after a short delay (same path as typed input)LoopAppShortcuts(inTriggerIntent.swift) registers all four intents with Siri phrases insideif #available(iOS 27.0, *)project.pbxproj— UIKit-dependent intent files excluded from LoopMac / LoopVision targetsHow to test
Quick Notes.md.Link to Devin session: https://app.devin.ai/sessions/fb8533889c014ec8a3728c52c20c3104