Repository navigation
refactor(sdk): move key terms and text shortcuts into the AssemblyAI SDK - #231
Merged
Merged
Conversation
he-james
requested review from
alexkroman and
hsingh-aai
and removed request for
alexkroman
October 2, 2026 22:46
he-james
marked this pull request as ready for review
October 2, 2026 22:46
3 tasks done
KeyTerms (parse a comma-separated list, fit it to keyterms_prompt's caps; was KeytermsBoost plus KeyTermsStore.parse) and TextShortcut with its on-device TextShortcutExpander now live in Sources/AssemblyAI, so any app on the SDK gets them. BlurtEngine keeps Blurt's storage: KeyTermsStore and TextShortcutStore, their UserDefaults keys and limits. The iPhone's duplicate KeyTermList is replaced by KeyTerms. The Mac app only gains an import; its behaviour and stored data are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
he-james
force-pushed
the
jhe/blurt-design
branch
from
October 2, 2026 23:11
fb7ca86 to
17b9c31
Compare
he-james
force-pushed
the
jhe/sdk-text-shortcuts
branch
from
October 2, 2026 23:11
8789b22 to
640ffd4
Compare
* feat(ios): add a Words tab for key terms and text shortcuts The app gets Dictate and Words tabs under a brand tab bar, as in the blurt-ios prototype. MainView owns what works on either tab: Settings from each tab's gear, the consent sheet and shared key-term lists. Words, on the AssemblyAI SDK's KeyTerms and TextShortcut: - Key terms as pills with an inline add field (commas add several, duplicates drop, capped at the request's 100), the contact-name count, and Share. They move here from Settings. - Text shortcuts with an inline "When I say / Type this" form; re-adding a phrase replaces it. Expanded on the phone, never sent. BlurtDesign gains BrandTabBar, FlowLayout, brandInput() and brandFootnote(), and brand buttons fade while disabled. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(ios): drop the Words tab pointer from Settings Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
claude Bot
pushed a commit
that referenced
this pull request
Oct 15, 2026
TextShortcut moved from BlurtEngine to the AssemblyAI module in #231; this test (added on main in #243) still only imported BlurtEngine. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RBXt5MoXHUDypywez9xZR3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Key terms and text shortcuts become features of the open-source AssemblyAI Swift SDK (
Sources/AssemblyAI), so any app built on it gets them, not just Blurt.KeyTerms:parse(comma list → clean, deduped terms),join, andfitted(thekeyterms_promptcaps: 100 terms, 2048 bytes). This wasKeytermsBoostplusKeyTermsStore.parse.TextShortcutandTextShortcutExpander: say a phrase and get saved text. It's expanded on the device, and the expansion is redacted from context sent back to AssemblyAI.matchKeymoves ontoTextShortcut.Stays in BlurtEngine: Blurt's storage, meaning
KeyTermsStoreandTextShortcutStore, theirUserDefaultskeys and limits.iPhone: the duplicate
KeyTermListis replaced byKeyTerms.Desktop is unchanged: the Mac app gains one
import AssemblyAIand thematchKeyrename. Behaviour, defaults keys and stored data are identical.Stacked on #230. The iPhone Words tab that uses this follows in the next PR.
How it was tested
swift test: 711/711. The parse tests moved into theKeyTermssuite, and ajoinround-trip was added.Mac Debug and Release builds,
swiftlint analyzeand periphery are clean.KeyTerms.joingets the repo's usual iOS-onlyperiphery:ignore.scripts/ios-check.sh: 133 tests (the duplicateKeyTermListsuite was removed) and BlurtiOSCore at 96.65%.Local
check.shpasses except the coverage gate, at 87.65%, which is this Mac's known gap: main measures 87.64% here. CI is the authority.scripts/check.shpasses (or CI will, if I'm not on a Mac)I read AGENTS.md and this doesn't reintroduce anything deliberately removed
Docs updated if behavior changed
🤖 Generated with Claude Code