Skip to content

Releases: moibrahim-applied/opus-aaico-python

v0.5.0 — OPUS v2 API migration

Choose a tag to compare

@moibrahim-applied moibrahim-applied released this 04 May 13:15

Production-blocking fixes

If your code was hitting <exception str() failed> errors, or workflows.get() / workflows.run() / jobs.initiate() returning HTTP 500/400, this release fixes them.

  • OpusError.__str__ no longer crashes on list-shaped error bodies (NestJS validator shape). You'll now see the real message.
  • workflows.get(uuid) works again — calls v2 endpoint, returns full WorkflowObject (nodes, edges, schemas, version).
  • workflows.run() / jobs.initiate() work again with v2 workflow UUIDs.
  • Credits endpoints rewritten: credits.history() / credits.current_balance() replace the dead get_balance / get_usage. Removed methods raise NotSupportedError with a migration hint.
  • Cookie-only endpoints (users.list, policies.list, files.search) raise NotSupportedError instead of a misleading 401.

New

  • WorkflowObject, WorkflowNode, WorkflowEdge types modelling the v2 graph.
  • WorkflowObject.find_sub_workflows() for tracing master → sub workflow edges.
  • workflows.list_versions(uuid) lists every version of a v2 workflow.
  • api_keys.scopes() / users.projects() aliases.
  • NotSupportedError exception type.

Migration

Read MIGRATION_v0.5.md. TL;DR: pass UUIDs (not 16-char short IDs), and your existing code will keep working — most of what looks like "breaking changes" are fixes to calls that were already failing on the platform side.

Install

```
pip install --upgrade opus-aaico
```

114 tests passing. Live-tested end-to-end against a real v2 workflow.