Automattic / Automattic/wp-codebox

Publish a surface-neutral client for Cloudflare WordPress provisioning

Aperta
#2,080 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.