Skip to content

v0.3.1 — orders, webhooks, grants

Choose a tag to compare

@dzuluaga dzuluaga released this 26 Jul 18:06
· 123 commits to main since this release
d8c61c4

What this release is

The npm packages @openmobilehub/credentagent-gate@0.3.1 and @openmobilehub/credentagent-storefront@0.3.1, published 2026-07-26.

This release also backfills the GitHub record: 0.3.0 (published to npm 2026-07-25) and 0.3.1 both shipped without a tag or release. The tags v0.3.0 and v0.3.1 now mark the exact commits each was published from, and these notes cover everything since v0.2.0.

Highlights

  • credentagent.orders.serve(app) — the human-present checkout (order token, ceremony pages, completion) wired into an Express app in one call.
  • credentagent.webhooks — a real, signed HTTP order.settled event, with constructEvent-style signature verification on the receiving side.
  • Grants — approve a spending limit once, and the agent can buy against it later while you're away; grant tools are exposed on the MCP server so an agent can use them directly.
  • defineCredential — the generic credential rail: define a custom credential type and the proof completes on the phone wallet, same as the built-in age and membership gates.
  • Fixes: browse-products output is now legible to headless agents (the 0.3.1 patch); the age request accepts an mDL or an EU personal ID instead of demanding both; checkout stepper/ceremony sync; serverless deploy fixes.

Honesty note (read before relying on a gate)

trust_level remains presence-only-demo on the OpenID4VP rails. The wire cryptography is real — WebAuthn on the passkey rail, OpenID4VP response decryption with nonce binding, ISO-mdoc parsing — but there is no issuer or device-signature trust anchor yet, and the AP2 mandate is dev-signed. A presence-only gate enforces disclosure and binding, not trust: a self-crafted credential would pass. Do not present it as a real safety control. Issuer-verified trust is the next milestone.