Skip to content

Add bounded opt-in API clearance recovery and prepare SDK 0.19.0 - #64

Merged
cport1 merged 1 commit into
mainfrom
rea/api-challenge-recovery
Oct 13, 2026
Merged

cport1 merged 1 commit into
mainfrom
rea/api-challenge-recovery

Conversation

@cport1

@cport1 cport1 commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Add createClearanceFetch() and readClearanceChallenge() for the version-1 edge API challenge contract. A recognized missing/invalid/insufficient-grade challenge can run an application-provided clearance flow and retry GET/HEAD once. Concurrent reads share recovery; the deadline and AbortSignal stop work cleanly, including response-body cancellation after retry headers return. Mutations, ordinary 403s, revoked/policy-refused sessions, redirects and credential boundaries never start automatic recovery. No global patch or XHR interception.

Prepare SDK 0.19.0 across all six packages, workspace lock and release notes. Export the helper in ESM/CJS and the standalone window.WebDecoyClearance surface. Document callback ownership, accessible UI obligations, CORS/cookies, cancellation and local observation semantics.

Validation: 55 client tests passed, client build/lint passed (25 existing lint warnings). The actual generated IIFE and actual generated Worker passed local Chrome integration using ephemeral signed tokens: concurrent reads share one mint, expired and insufficient-grade reads recover, signed revoked tokens and POST mutations stay refused without minting/replay. App evidence and matching edge contract are coordinated through https://github.com/WebDecoy/app/issues/1572. This is local fixture evidence, not deployed/published-package/live issuer or interactive accessibility acceptance; that issue stays open.

@cport1
cport1 merged commit 8f498e4 into main Oct 13, 2026
2 checks passed
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