Automattic / Automattic/wp-codebox

Publish a surface-neutral client for Cloudflare WordPress provisioning

Offen
#2,080 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.