feat(macos): enable meeting integrations

This commit is contained in:
dh
2026-08-06 08:19:26 +02:00
parent 9542c05ea4
commit 2af7933a1b
27 changed files with 1999 additions and 227 deletions
@@ -0,0 +1,41 @@
## MODIFIED Requirements
### Requirement: Meeting metadata is captured when available
Meeting Assistant SHALL enrich a meeting from a matching calendar appointment when platform calendar metadata is available.
On Windows, Meeting Assistant SHALL retain Outlook Classic COM metadata lookup.
On macOS, Meeting Assistant SHALL read calendars available through EventKit, including Outlook-synced calendars, and SHALL apply the existing Teams-marker and current-meeting selection rules.
#### Scenario: macOS meeting uses calendar metadata
- **GIVEN** an EventKit calendar contains a Teams appointment spanning the meeting start time
- **WHEN** Meeting Assistant enriches the meeting on macOS
- **THEN** it applies the appointment title, attendees, agenda, and scheduled end time
#### Scenario: Windows metadata provider remains unchanged
- **GIVEN** Meeting Assistant is compiled for the Windows target
- **WHEN** meeting metadata is registered
- **THEN** it uses the Outlook Classic COM provider
- **AND** does not invoke or require the macOS native helper
### Requirement: Meeting Assistant can prompt to record scheduled Teams meetings
Meeting Assistant SHALL optionally inspect the host calendar for scheduled Teams meetings and show a native record-or-skip prompt when a meeting enters the configured prompt window.
On Windows, Meeting Assistant SHALL retain Outlook Classic COM lookup and Windows app notifications.
On macOS, Meeting Assistant SHALL use EventKit calendar events and a native AppKit record-or-skip prompt.
#### Scenario: macOS calendar meeting becomes due
- **GIVEN** calendar recording prompts are enabled on macOS
- **AND** an EventKit Teams appointment enters the prompt window
- **WHEN** the scheduler checks due meetings
- **THEN** Meeting Assistant shows the native macOS prompt
- **AND** starts recording with the appointment metadata when the user chooses record
### Requirement: Platform capabilities are diagnosable
Meeting Assistant SHALL expose a read-only diagnostic response containing the detected host, effective integration provider names, and enabled state of calendar prompts, speaker identification, screenshot OCR, FunASR backend, FunASR diarization, Whisper-local diarization, and workflow editor availability.
#### Scenario: macOS reports real integration providers
- **WHEN** the capability diagnostic is requested on macOS
- **THEN** it reports real macOS calendar metadata, calendar prompt, screenshot, and workflow editor providers
- **AND** does not report the no-op or unavailable provider names