Releases: Ceki-me/python-sdk
Releases · Ceki-me/python-sdk
Release list
v2.37.1
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
v2.36.2
v2.36.1
What
P2P WebRTC transport + chunked CDP responses over the DataChannel, plus CLI/contract fixes.
Changes
- chunked CDP over P2P DC (#17): extension splits CDP responses >48KB into
cdp-response-chunkfragments (WebRTC SCTP ~64KB ceiling); SDK buffers and reassembles them transparently. Small messages keep existing wire format. - P2P WebRTC transport + daemon mode (#15)
- defensive unwrap of double-nested screenshot response (#16)
pacing_profileoption on rent() (#13)ceki contract create--reviewer/--qa(#7)comment()/propose() label/desc split,my-jobs→hiregroup,type()anti-detect- docs: Playwright/Selenium/Pyppeteer compatibility
CI publishes to PyPI (trusted publisher) on this release.
v2.35.6
config-loader + propose-participant + creator/owner markers
- _load_config() reading ~/.ceki/config (KEY=VALUE, env wins)
- propose() now accepts reviewer/qa/participants params
- Creator marker resolves via current agent, owner marker via contract data.users[role_id=1]
- _resolve_users(), _resolve_owner(), _resolve_owner_contract_id() internal helpers
- CLI: --reviewer, --qa, --participant flags for propose
v2.35.5
v2.35.4
v2.35.3
v2.35.2
v2.35.0
What's new
type() anti-detect (task 4109)
Browser.type(text, selector=...) probabilistically routes long text through the real system-clipboard paste path when BOTH gates pass:
len(text) > TYPE_PASTE_MIN_CHARS(500)random() < TYPE_PASTE_PROBABILITY(0.625)
Otherwise falls through to per-char Ceki.typeText. A paste event with inputType=insertFromPaste looks like a human pasting — not a perfect per-key bot rhythm. Constants at module scope; paste() and the branch share a private _hotkey_paste_into() helper.
Also since v2.26.0
copy()/paste(selector, text)via real OS clipboard (synthetic Ctrl+C/Ctrl+V) — tasks 4091, 4098.call-humanCLI + SDK wrapper — task 4019.- Contract MCP tools:
my_jobs→my_events,call-human,progresscommand (status correction + comment, description untouched) — tasks 3001, 4019, 2527. ceki contract create --reviewer/--qa/--participant→users[](typeshort, role_id) — tasks 2465, 2494.
Full diff: v2.26.0...v2.35.0