Skip to content

Releases: Ceki-me/python-sdk

v2.37.1

Choose a tag to compare

@iWedmak iWedmak released this 04 Sep 16:56

ceki-sdk 2.37.1

  • prompts/list and prompts/get via contract raw (ev 3854): raw() routes prompts/* to _rpc() directly
  • includes master changes: provider mode as docker-browser wrapper (#22), attach files to contract events (#20), capture-chunk reassembly (#19), version bump

v2.37.0

Choose a tag to compare

@iWedmak iWedmak released this 26 Aug 18:15

What's new

  • ContractClient.upload_file() — upload a file via MCP upload-file, returns the user_files record (id/url)
  • create() / comment() / propose() / progress() accept files[] — int ids pass through, local paths are uploaded first
  • CLI: repeatable --file PATH on ceki contract create/comment/propose/edit/progress; new ceki contract upload-file command

Tests

pytest tests/test_contract.py: 104 passed

v2.36.2

Choose a tag to compare

@iWedmak iWedmak released this 15 Aug 17:30

feat: capture-chunk reassembly over P2P capture DC + public screencast API (on_capture_frame/start_screencast/stop_screencast)

v2.36.1

Choose a tag to compare

@iWedmak iWedmak released this 12 Aug 09:57
6b00197

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-chunk fragments (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_profile option on rent() (#13)
  • ceki contract create --reviewer/--qa (#7)
  • comment()/propose() label/desc split, my-jobshire group, type() anti-detect
  • docs: Playwright/Selenium/Pyppeteer compatibility

CI publishes to PyPI (trusted publisher) on this release.

v2.35.6

Choose a tag to compare

@iWedmak iWedmak released this 18 Jul 13:29

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

Choose a tag to compare

@iWedmak iWedmak released this 17 Jul 12:57

fix(propose): --desc sets description, not label

v2.35.4

Choose a tag to compare

@iWedmak iWedmak released this 16 Jul 11:05

Fixes

  • contract comment --desc now correctly maps to the description field when --label is also provided
  • progress() no longer loses --desc when propose() fails

v2.35.3

Choose a tag to compare

@iWedmak iWedmak released this 14 Jul 14:05

Changes

  • feat(cli): extract my-jobs into top-level hire group (#11)

v2.35.2

Choose a tag to compare

@iWedmak iWedmak released this 14 Jul 13:27
b348b51

Changes

  • Add description param to comment()/propose() with label/desc split by 1024 char boundary (#10)

v2.35.0

Choose a tag to compare

@iWedmak iWedmak released this 06 Jul 11:55
a3c729e

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-human CLI + SDK wrapper — task 4019.
  • Contract MCP tools: my_jobsmy_events, call-human, progress command (status correction + comment, description untouched) — tasks 3001, 4019, 2527.
  • ceki contract create --reviewer/--qa/--participantusers[] (type short, role_id) — tasks 2465, 2494.

Full diff: v2.26.0...v2.35.0