Skip to content

Feat/fetch migration spec coverage#1

Merged
julianrichie merged 3 commits into
mainfrom
feat/fetch-migration-spec-coverage
May 24, 2026
Merged

Feat/fetch migration spec coverage#1
julianrichie merged 3 commits into
mainfrom
feat/fetch-migration-spec-coverage

Conversation

@julianrichie

Copy link
Copy Markdown
Contributor

No description provided.

julianrichie and others added 3 commits May 24, 2026 17:46
Replace axios with the platform fetch (zero runtime deps; drops axios + ulid)
so the client runs unchanged in Node 18+ and the browser, and tree-shakes/
bundles smaller. Request ids now use crypto.randomUUID with fallbacks.

Implement the SYSTEM_ARCHITECTURE error model: every failure throws a typed
OdxError subclass carrying the JSON-RPC code/message/data, including Odoo
logic errors returned on a 200 (two-step rule). This changes error behavior
from value-style to thrown — breaking, but acceptable pre-1.0.

Add the remaining gateway endpoints (version, about, license, metrics),
per-call options (x-request-timeout + AbortSignal), and Accept-Encoding.
Fix the sort->order keyword strip bug and guard call_method's fn_name.

Tests: add hermetic fetch-mocked unit suite; rewrite the live integration
suite as a full res.partner lifecycle, guarded to skip without creds and
tolerant of user_id/gateway_url in .env. Add .env.example. Bump to 0.1.7.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Correct the search_read keyword (sort -> order), document read's
positional field list, and fix fields_get's return type (object keyed
by field name, not an array).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@julianrichie julianrichie merged commit 77f02e3 into main May 24, 2026
0 of 2 checks passed
@julianrichie julianrichie deleted the feat/fetch-migration-spec-coverage branch May 24, 2026 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant