Repository navigation
v0.3.1 — orders, webhooks, grants
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 HTTPorder.settledevent, withconstructEvent-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-productsoutput 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.