v2.37.0
What's new
ContractClient.upload_file()— upload a file via MCPupload-file, returns theuser_filesrecord (id/url)create()/comment()/propose()/progress()acceptfiles[]— int ids pass through, local paths are uploaded first- CLI: repeatable
--file PATHonceki contract create/comment/propose/edit/progress; newceki contract upload-filecommand
Tests
pytest tests/test_contract.py: 104 passed