Release 2.2.0: Add CSV export, fix reply_to_email and other bugs #267
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.
Summary
Add new
emails_as_csvaction and fix several bugs in the Microsoft Mail action package.New Feature
emails_as_csvaction: Export email search results as CSV files attached to chat, with configurable columns and folder filtering using Microsoft Graph API OData query syntax.Bug Fixes
reply_to_emailcrash ('list' object has no attribute 'attachments'): TheEmail.attachmentsfield useddefault_factory=listwhich created a plain[]instead of anEmailAttachmentListinstance. Changed todefault_factory=EmailAttachmentListand added a guard check (matchingcreate_draft/send_emailpatterns) before iterating attachments.reply_toname resolution in_set_message_data: Was referencingmessage.reply_to.name.address(nonexistent attribute chain) instead ofmessage.reply_to.address.forward_emailandmove_email: Now return descriptive success messages instead of raw API response objects.add_categoryandremove_category: Return descriptive success messages instead of raw API responses._get_inbox_folder_id: RaisesActionError(proper action error) instead ofValueError.Cleanup
print()statements fromadd_categoryand_base64_attachment._read_fileand_base64_attachment.Optional[Union[str, None]]→Optional[str],Optional[Union[Literal[...], None]]→Optional[Literal[...]]..keys()membership checks with directinoperator usage.subscribe_notifications,delete_all_subscriptions,delete_subscription, andflag_emailasis_consequential=True.Dependencies
python-dotenv1.1.1 → 1.2.1sema4ai-actions1.4.2 → 1.6.6pydantic2.11.7 → 2.12.5No new external dependencies were added.
🤖 Generated with Claude Code