Repository navigation
Full coverage of the current /api/v1 (Agent platform epic, cognichem#458; covers the Python-client follow-up cognichem#269). Additive: existing 1.0 calls keep working.
Added
- Workflows (
client.workflows):validate,estimate, curatedtemplates/template, catalognode_ports.workflows.runs:create,list,get(include_spec=),artifacts,resume,cancel,delete,wait,run.waitstops oncompleted | failed | cancelled | paused.workflows.definitions: CRUD, JSONdownload, linkshare/unshare,get_shared/fork_shared,versions/get_version/restore_version.
- Artifacts (
client.artifacts):list(filters, paging),usage,upload(cognichem_ziporraw_filemultipart),get(manifest),download(whole zip or onerecord=),delete.artifact_ref(id, port)builds$artifactbindings. - Completion events (
client.events):listand a long-polling, de-duplicatinglistengenerator. - Wallet (
client.wallet.balance), science lookups (client.lookup: PubChem, ChEMBL, Open Targets, UniProt, RCSB PDB, PubChem properties), and the reference KG (client.reference:search,get,neighborhood). - CogniChem Assistant chat (
client.chat, JWT only): sessions, message history, turnestimate, SSEstream/ collectedsend,stop, threadspend_cap/continue_spend_cap, and runproposals(list,get,approve,reject). - Jobs:
estimate;listpagination and filters (limit,offset,status,job_type,q,sort) with fullitemsrows;status().result_artifact_id. - Inference / utils:
cancel. - API keys:
create(scopes=, expires_at=, spend_ceiling_usd=, allow_structure_search=),update(name=, allow_structure_search=); new key metadata fields. client.health()/client.ready().- Errors:
BadRequestError(400),PaymentRequiredError(402),GoneError(410),PayloadTooLargeError(413),ServerError(5xx);retryabilityattribute;codeis now the problem type slug (e.g.missing-idempotency-key,session-spend-cap). - Catalog constants: 45 submittable job types (was 23), utilities
molecule_standardize,druglikeness_filter,coolprop, workflow run statuses.
Fixed
- Mutating calls (
jobs.submit,submit_many,inference.submit*,utils.submit, run / definition / upload writes) now send an auto-generatedIdempotency-Keywhen none is given. The API rejects API-key mutations without one (400missing-idempotency-key), so 1.0 submits failed with API keys. api_keys.deletereturnsNone; it raised on the API's 204 response.
Changed
cognichem_client.typesis now a package (same import path; every model is still importable from it).scripts/sync_routes.pychecks keys and paths against backendROUTE_MAP(scripts/route_map.txt).