Commit 4113b22
committed
feat(actions): introduce templated actions and generation mode
This commit introduces a major evolution of Actions, enabling dynamic, multi-step workflows and content generation from scratch. The Actions UI is overhauled with bulk-management capabilities, and the application's startup logic is refactored for improved robustness and maintainability.
### Templated Actions with Placeholders
Actions can now include placeholders (e.g., `[language]`) in their instructions, which are filled out via a new step-by-step UI in the floating menu at runtime. This transforms simple prompts into powerful, reusable tools.
- Multiple Input Types: Supports Text, Multiline Text, Choice, Boolean, Number, Date, and File Picker.
- Validation Rules: Enforce requirements like required fields, character limits, or numeric ranges.
- Conditional Logic: Show or hide subsequent steps based on user input in previous steps.
- Smart Defaults: Pre-fill values using dynamic tokens like `{clipboard}`, `{date:yyyy-MM-dd}`, and `{appContext}`.
- New Presets: Adds several new templated actions, including Summarize, Translate, Rephrase, Write an Email, and Create Social Media Post.
- Redesigned Action Editor: The Action Editor UI has been completely redesigned with an intuitive interface for creating and managing placeholders and their advanced properties.
### Generation Mode & Custom Instructions
Actions can now be designated as not requiring selected text (`requiresSelection: false`). This enables a new "Generation Mode" for creating content from scratch.
- When no text is selected, the floating menu filters for generation-capable actions, and the search bar becomes a prompt input field.
- The "Custom Instruction" feature now logs the full instruction to the history and allows these ad-hoc prompts to be saved as new, reusable actions directly from the history view.
### UI and UX Enhancements
- Bulk Action Management: The Actions screen now supports multi-selection with checkboxes. A contextual toolbar appears for bulk operations like Delete, Move to Group, and Export.
- Action Management: Actions can now be easily duplicated or moved up/down within their group from a new context menu.
- Onboarding: A new tutorial step introduces users to the power of templated actions, and the hotkey tutorial is updated to better reflect the Diff View output mode.
### Core Refinements
- Startup Refactoring: The application's main startup logic in `App.axaml.cs` has been decomposed into modular, single-responsibility services (`DatabaseInitializer`, `BackgroundServiceInitializer`, `UiInitializer`, `DependencyInjectionSetup`, etc.) for improved maintainability and more resilient handling of database corruption.
- Document Reader Service: A new `IDocumentReaderService` is introduced that can extract text from various file types (.pdf, .docx, .epub, .xlsx, etc.), enabling the new "File Picker" placeholder type.1 parent 37e8fd2 commit 4113b22
78 files changed
Lines changed: 6183 additions & 1458 deletions
File tree
- Changelogs
- ProseFlow.Application
- DTOs
- Events
- Interfaces
- Services
- ProseFlow.Core
- Enums
- Interfaces
- Os
- Repositories
- Models
- ProseFlow.Infrastructure
- Data
- Migrations
- Repositories
- Services
- Documents
- Os/Clipboard
- ProseFlow.UI
- Assets/Presets
- Behaviors
- Controls/Icons
- Converters
- Services
- Startup
- Styles
- ViewModels
- Actions
- Dialogs
- History
- Onboarding
- Windows
- Views
- Actions
- Dialogs
- History
- Onboarding
- Providers
- Windows
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
27 | 30 | | |
28 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
29 | 35 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
76 | | - | |
| 79 | + | |
77 | 80 | | |
78 | 81 | | |
79 | | - | |
| 82 | + | |
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
| |||
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments