forked from Manuel/meeting-assistant
feat(macos): add native desktop controls and hotkey integration
- Introduced MacOsDesktopControlManifest to manage desktop control configurations. - Implemented MacOsDesktopControlService to handle the lifecycle of the macOS helper process. - Created MacOsWorkflowRulesEditorWindowService for managing workflow rules through a native window. - Developed a Swift helper for macOS that integrates with AppKit and Carbon for menu-bar controls and global hotkeys. - Added support for recording lifecycle actions via HTTP endpoints, maintaining consistency with existing Windows functionality. - Enhanced user experience by allowing macOS users to start/stop recordings and access settings through a menu-bar interface. - Documented design decisions, implementation evidence, and verification tasks for the new macOS features.
This commit is contained in:
@@ -375,3 +375,43 @@ After repairing a meeting or summary, the instructions SHALL direct the agent to
|
||||
- **WHEN** the user asks the interactive agent to fix that meeting or its summary
|
||||
- **THEN** the agent instructions direct it to inspect the matching assistant context for relevant meeting-specific memory
|
||||
- **AND** direct it to append its fixes and conclusions to that assistant context
|
||||
|
||||
### Requirement: Interactive agent uses detected host operating-system context
|
||||
Meeting Assistant SHALL detect the host operating system when the application starts and SHALL make that immutable runtime context available to the interactive settings/logs assistant.
|
||||
|
||||
When the detected host is Windows, the interactive assistant instructions SHALL identify Windows as the runtime platform and SHALL direct the assistant to use Windows-specific commands, paths, services, environment conventions, and desktop concepts instead of macOS concepts.
|
||||
|
||||
When the detected host is macOS, the interactive assistant instructions SHALL identify macOS as the runtime platform and SHALL direct the assistant to use macOS-specific commands, POSIX paths, launchd services, environment conventions, and desktop concepts instead of Windows concepts.
|
||||
|
||||
Platform-aware instructions SHALL remain present when the interactive assistant uses a configured custom initial prompt.
|
||||
|
||||
The instructions SHALL distinguish platform-aware operational guidance from feature availability and SHALL NOT imply that detecting macOS provides Windows-only or otherwise unavailable integrations.
|
||||
|
||||
For other detected hosts, Meeting Assistant SHALL identify the platform as unsupported for platform-specific guidance and SHALL direct the assistant to prefer portable tools and concepts rather than assuming Windows or macOS.
|
||||
|
||||
#### Scenario: Windows host receives Windows operational guidance
|
||||
- **GIVEN** Meeting Assistant detected Windows during startup
|
||||
- **WHEN** it builds the interactive settings/logs assistant instructions
|
||||
- **THEN** the instructions identify Windows as the runtime platform
|
||||
- **AND** direct the assistant to use Windows commands and concepts
|
||||
- **AND** direct the assistant not to substitute macOS commands or concepts
|
||||
|
||||
#### Scenario: macOS host receives macOS operational guidance
|
||||
- **GIVEN** Meeting Assistant detected macOS during startup
|
||||
- **WHEN** it builds the interactive settings/logs assistant instructions
|
||||
- **THEN** the instructions identify macOS as the runtime platform
|
||||
- **AND** direct the assistant to use macOS commands and concepts
|
||||
- **AND** direct the assistant not to substitute Windows commands or concepts
|
||||
|
||||
#### Scenario: Custom prompt retains detected platform context
|
||||
- **GIVEN** Meeting Assistant detected macOS during startup
|
||||
- **AND** a custom interactive-assistant initial prompt is configured
|
||||
- **WHEN** it builds the interactive assistant instructions
|
||||
- **THEN** the instructions contain both the custom prompt and macOS runtime guidance
|
||||
|
||||
#### Scenario: Unsupported host uses neutral guidance
|
||||
- **GIVEN** Meeting Assistant runs on a host other than Windows or macOS
|
||||
- **WHEN** it builds the interactive settings/logs assistant instructions
|
||||
- **THEN** the instructions do not label the host as Windows or macOS
|
||||
- **AND** direct the assistant to prefer portable tools and concepts
|
||||
|
||||
|
||||
Reference in New Issue
Block a user