Automattic / Automattic/wp-codebox
Publish a surface-neutral client for Cloudflare WordPress provisioning
- Lingua principale
- TypeScript
- Stelle
- 16
- Fork
- 4
- Merge medio
- 59m
- PR unite (30g)
- 131
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia dal parent issue #1970 e dalla relativa dimostrazione di interoperabilità dei producer in #1974, quindi traccia il contratto HTTP raw descritto qui. Confronta il client TypeScript, la CLI, la proiezione Ability e gli entry point dei contract test una volta che esisteranno; il lavoro è completo quando una fixture produce receipts canonici corrispondenti su tutte le superfici supportate senza accesso diretto all’infrastruttura.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- typescript, wordpress
- Ambito
- api, backend, cli
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100