Skip to content

feat: Add iOS 27 App Intents (AskLoop, CaptureToLoop, LoopRemember, SearchLoop)#81

Closed
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1781072115-ios27-app-intents
Closed

feat: Add iOS 27 App Intents (AskLoop, CaptureToLoop, LoopRemember, SearchLoop)#81
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1781072115-ios27-app-intents

Conversation

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Summary

Adds four new AppIntent types + two IndexedEntity types 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/)

Intent Opens app? What it does
AskLoopIntent Yes Accepts a String query → posts loopIntentMessageReceivedMessagingVC.didSendMessageText runs the agent
CaptureToLoopIntent Yes Siri passes on-screen content as a String → wraps it with [Captured from screen] prefix → same notification path
LoopRememberIntent No Takes a String → ObsidianClient.shared.today() → appends a timestamped bullet to Quick Notes.md in today's day folder (creates if missing)
SearchLoopIntent Yes Searches SimpleConversationManager.getAllConversations() locally → if no matches, falls through to the agent

Searchable Entities

  • LoopConversationEntity: wraps SimpleConversation, exposes attributeSet with displayName + contentDescription for 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 — declares Notification.Name.loopIntentMessageReceived
  • MessagingVC subscribes to loopIntentMessageReceived and calls didSendMessageText(text) after a short delay (same path as typed input)
  • LoopAppShortcuts (in TriggerIntent.swift) registers all four intents with Siri phrases inside if #available(iOS 27.0, *)
  • project.pbxproj — UIKit-dependent intent files excluded from LoopMac / LoopVision targets

How to test

  1. Build with Xcode 27 beta on iOS 27 simulator or device.
  2. Ask Loop: "Hey Siri, ask Loop what's on my calendar" → Loop opens, query appears in chat.
  3. Capture: View a webpage, "Hey Siri, send this to Loop" → content appears as a new chat message.
  4. Remember: "Hey Siri, remember to buy dog food for Leo" → check Obsidian today folder for Quick Notes.md.
  5. Search: "What did Loop say about …" → Siri returns matching conversations or opens Loop to search.
  6. Verify the four shortcuts appear in the Shortcuts app under Loop.

Link to Devin session: https://app.devin.ai/sessions/fb8533889c014ec8a3728c52c20c3104

…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>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author
Original prompt from API User

Implement iOS 27 App Intents in the Loop iOS app (repo: theashbhat/LoopHarness).

# Loop iOS 27 App Intents Spec

#``# Context
iOS 27 makes Siri AI a first-class natural-language interface. Loop currently requires users to open the app. App Intents will let users invoke Loop skills, capture onscreen content, and query memory from anywhere via Siri or Shortcuts.

#``# Guidance

  • Update Loop.xcodeproj to Xcode 27 / iOS 27 SDK
  • Add ``@available(iOS 27.0, *) to all new App Intents code so we don't drop older iOS users
  • Implement schema-conforming AppIntent types:
    • AskLoopIntent — accepts String query, opens Loop, passes to AgentHarness.chat()
    • CaptureToLoopIntent — reads appEntityIdentifier / onscreen content, sends to chat as a new user message
    • LoopRememberIntent — accepts String, appends to today's Obsidian note via the existing Obsidian skill
  • Create AppEntity / IndexedEntity representations for Loop conversations and notes so Siri can search across them
  • Register all intents in the app target and Shortcuts
  • Test via Siri voice and Shortcuts app

#``# Key Result
(A) User says "Hey Siri, ask Loop what's on my calendar" and Loop opens with the calendar response ready
(B) User views any webpage/photo and says "Send this to Loop" — content appears as a new chat message
(C) User says "Remember to buy dog food for Leo" — it appears in today's Obsidian daily note
(D) Loop content is searchable via Siri: "What did Loop say about my Scout meeting?"

#``# PR requirements

  • Open the PR against main in theashbhat/LoopHarness
  • Add ashbhat as a reviewer on the PR
  • Include a clear PR description summarizing the intents added, files changed, and how to test via Siri/Shortcuts

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
loop-harness Ready Ready Preview, Comment Jun 10, 2026 6:21am

@devin-ai-integration devin-ai-integration Bot requested a review from ashbhat June 10, 2026 06:21
@theashbhat theashbhat closed this Jun 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant