Add PodSips API key + podcast search skill#106
Add PodSips API key + podcast search skill#106devin-ai-integration[bot] wants to merge 1 commit into
Conversation
- Add PODSIPS_API_KEY to KeyStore (Key enum, Service enum, display name, subtitle) so it appears in Settings → Keys - Add host.getApiKey(alias) bridge to JSRuntime so dynamic JS skills can read API keys from the Keychain by friendly alias - Add podsips_search as a bundled skill seed (Workspace/Skills/ podsips_search/) that calls the PodSips /search endpoint with Bearer auth and returns structured clip results 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 a new
PODSIPS_API_KEYintegration and a dynamicpodsips_searchskill for searching podcast transcripts via the PodSips API.Part 1 — KeyStore (
KeyStore.swift)New
Key.podsips+Service.podsipsentry:Part 2 —
host.getApiKey(alias)bridge (JSRuntime.swift)Exposes a new synchronous bridge function so dynamic JS skills can read API keys from the Keychain:
// host.getApiKey("podsips") → reads KeyStore.shared.value(for: .podsips) let getApiKey: @convention(block) (String) -> String? = { alias in return JSRuntime.resolveApiKey(alias: alias) }A static
aliasToKeymap resolves friendly names (lowercase) →KeyStore.Key. Also mapsexa,openai,deepgram, etc. so any future dynamic skill can reuse it.Part 3 —
podsips_searchskill (BundledSkillSeeds.swift)Bundled seed → auto-written to
Workspace/Skills/podsips_search/on first launch. Behavior:host.getApiKey("podsips")— early-return with helpful error if missingGET https://api.podsips.com/api/v1/search?q={query}with Bearer auth{ summary, clips: [{ podcast, episode, speaker, timestamp, text, context }] }How to test: Settings → Keys → PodSips → paste your key → ask Loop to search podcasts (e.g. "search podcasts about AI safety").
Link to Devin session: https://app.devin.ai/sessions/e0d9473e431540b5aa1ca2b90969afd6