mirror of
https://github.com/purrgrammer/grimoire.git
synced 2026-04-09 15:07:10 +02:00
784add4f52d812afb807e7bbad052b94491126c0
Refactor PublishSpellbookAction from class-based to async generator pattern following official applesauce-actions patterns. This provides better integration with ActionHub and enables proper reactive event publishing. Changes: - Add publishEvent function to ActionHub with relay selection fallback strategy (outbox relays → seen relays → error) - Convert PublishSpellbookAction to PublishSpellbook async generator - Update SaveSpellbookDialog and SpellbooksViewer to use hub.run() - Add comprehensive test suite (14 tests covering validation, event creation, slug generation, factory integration, and workspace selection) - Improve error handling with specific error messages - Add JSDoc documentation with usage examples All tests passing ✅ (14/14) TypeScript compilation successful ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Languages
TypeScript
98.9%
CSS
0.8%
JavaScript
0.3%