90c60f45e6
Adds the Python side of the SmartAssistant 2.9 release. Each tool maps to either a new EspoCRM action or a generic CRM endpoint. Document creation: - create_document: free-form RTL DOCX with markdown body; calls SmartAssistant/action/createDocument. Folder management (all sandboxed to the current case's root): - write_document_to_folder: raw upload to a path inside the case folder. - create_subfolder: mkdir with recursive parent creation. - rename_item / move_item: rename/move files and folders. - mark_document_for_deletion: soft-delete — moves the file to "מסמכים למחיקה/" with a "למחיקה - " prefix. Shira is explicitly told she has NO physical-delete permission. CRM gaps: - update_case_fields: allow-listed PUT on Case (judge, court, caseType, practiceArea, opposingParty, status, priority, etc.). - search_entities: generic GET with EspoCRM where[] params across Case/Contact/Account/Document/Task. Wildcard "*" maps to LIKE. - draft_email: POST Email with status="Draft", linked to the current case. prompt_builder additions: - FREE DOCUMENT CREATION: don't say "I can't" — call create_document. - FOLDER MANAGEMENT: full read/write inside the case folder only. - FILE DELETION: always mark_document_for_deletion; never claim a physical delete. Pairs with SmartAssistant extension release that adds FreeDocumentGenerator, CaseFolderManager, and 6 controller actions. Refs Task Master #4 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>