Automattic / Automattic/wp-codebox
Publish a surface-neutral client for Cloudflare WordPress provisioning
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 17
- Forks
- 4
- Ø Merge
- 59 Min.
- Gemergte PRs (30 T.)
- 131
Beschreibung
Parent: #1970
Goal
Make the same provisioning contract easy to call from WP Build, Studio, CLI, Agents API, ChatGPT, CI, and plain HTTP without embedding product behavior in the Cloudflare runtime.
Scope
- versioned TypeScript client over artifact staging, create, polling, imports, claims, renewal, and deletion
- streaming digest computation and bounded artifact upload
- idempotency-key generation/persistence supplied explicitly by the caller boundary
- typed operation progress, retry, terminal receipt, and error schemas
- CLI commands and a generic WordPress Ability/Agents API projection using the same client contract
- portable examples for service accounts and interactive callers
- webhook/event adapter contract only after durable queue identities exist
Acceptance criteria
- Every supported surface uses the same public HTTP schemas and immutable artifact bytes.
- Clients never require direct R2, D1, Cloudflare account, or Worker deployment access.
- Retry after timeout converges through the original idempotency key.
- A caller can resume polling from persisted site/operation URLs after process restart.
- Secrets are injected by the surrounding surface and never written to artifacts, logs, or receipts.
- Contract tests run one fixture through raw HTTP, TypeScript client, CLI, and Ability projection and compare receipts byte-for-byte where ordering is canonical.
- WP Build and Studio producer outputs remain adapter-neutral.
Related
- #1974 producer interoperability proof
AI assistance
OpenAI GPT-5.6 Sol via OpenCode separated the universal HTTP contract from surface adapters and drafted this client slice with Chris Huber.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem übergeordneten Issue #1970 und dem zugehörigen Nachweis der Producer-Interoperabilität in #1974, und verfolge anschließend den hier beschriebenen Raw-HTTP-Vertrag. Vergleiche den TypeScript-Client, die CLI, die Ability-Projektion und die Einstiegspunkte der Vertragstests, sobald sie existieren; abgeschlossen bedeutet, dass eine Fixture über alle unterstützten Oberflächen hinweg übereinstimmende kanonische Receipts erzeugt, ohne direkten Zugriff auf die Infrastruktur.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript, wordpress
- Bereich
- api, backend, cli
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100