|
| 1 | +# CHANGELOG |
| 2 | + |
| 3 | + |
| 4 | +## v0.2.0 (2026-03-29) |
| 5 | + |
| 6 | +### Continuous Integration |
| 7 | + |
| 8 | +- Switch to python-semantic-release for automated versioning |
| 9 | + ([#3](https://github.com/OpenAdaptAI/openadapt-types/pull/3), |
| 10 | + [`d5b3f3f`](https://github.com/OpenAdaptAI/openadapt-types/commit/d5b3f3f7a4d0b6cec42f78523d7bdc046b873478)) |
| 11 | + |
| 12 | +Conventional commit PR titles (feat:, fix:, etc.) auto-bump version, tag, publish to PyPI, and |
| 13 | + create GitHub Releases on merge to main. |
| 14 | + |
| 15 | +Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
| 16 | + |
| 17 | +### Features |
| 18 | + |
| 19 | +- Add universal action parser for DSL, JSON, and BenchmarkAction formats |
| 20 | + ([#4](https://github.com/OpenAdaptAI/openadapt-types/pull/4), |
| 21 | + [`0c2ac58`](https://github.com/OpenAdaptAI/openadapt-types/commit/0c2ac58d2bf2f9395be27c0c67b4cb844d1db52f)) |
| 22 | + |
| 23 | +Adds openadapt_types.parsing module with five public functions: - parse_action(): auto-detect format |
| 24 | + (DSL or JSON) and parse - parse_action_dsl(): parse DSL strings like CLICK(x=0.5, y=0.3) - |
| 25 | + parse_action_json(): parse JSON with canonical, flat, and coordinate formats - |
| 26 | + from_benchmark_action(): convert BenchmarkAction-style dicts to Action - |
| 27 | + to_benchmark_action_dict(): convert Action back to BenchmarkAction dict |
| 28 | + |
| 29 | +Handles Thought:/Action: prefixes, markdown fences, coordinate normalization detection, clamping, |
| 30 | + and legacy field mapping. All edge cases return Action(type=DONE) with a logged warning instead of |
| 31 | + raising. |
| 32 | + |
| 33 | +Includes 66 tests covering DSL, JSON, auto-detect, and BenchmarkAction round-trip conversion. |
| 34 | + |
| 35 | +Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
| 36 | + |
| 37 | + |
| 38 | +## v0.1.0 (2026-03-03) |
| 39 | + |
| 40 | +### Continuous Integration |
| 41 | + |
| 42 | +- Add PyPI publish and test workflows ([#2](https://github.com/OpenAdaptAI/openadapt-types/pull/2), |
| 43 | + [`41afded`](https://github.com/OpenAdaptAI/openadapt-types/commit/41afdedbe7d7e04c00a5b9aa61aa5bddc315c155)) |
| 44 | + |
| 45 | +Trusted publisher (OIDC) — no tokens needed. Tag with vX.Y.Z to publish. |
| 46 | + |
| 47 | +Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
| 48 | + |
| 49 | +### Features |
| 50 | + |
| 51 | +- Initial schemas — ComputerState, Action, UINode, Episode |
| 52 | + ([#1](https://github.com/OpenAdaptAI/openadapt-types/pull/1), |
| 53 | + [`f9d06a2`](https://github.com/OpenAdaptAI/openadapt-types/commit/f9d06a21480d1db66c4cece6afa6c3049cd1f366)) |
| 54 | + |
| 55 | +Canonical Pydantic v2 schemas for computer-use agents, converging three existing schema formats |
| 56 | + (openadapt-ml, openadapt-evals, omnimcp) into one shared package with zero ML dependencies. |
| 57 | + |
| 58 | +Includes: - ComputerState: screen state with UI element graph - UINode: element with role, bbox, |
| 59 | + hierarchy, platform anchors - Action + ActionTarget: typed actions with node_id > description > |
| 60 | + coords - ActionResult: explicit execution outcomes with error taxonomy - Episode + Step: complete |
| 61 | + task trajectories - FailureRecord: classified failures for dataset pipelines - _compat: converters |
| 62 | + from all 3 existing formats - 43 tests passing |
| 63 | + |
| 64 | +Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
0 commit comments