Skip to content

v0.17.0 — Sandbox UI (G19e): the integration sandbox is complete

Choose a tag to compare

@omercelikdev omercelikdev released this 27 Jul 21:54

Sandbox UI (G19e, ADR 0011)

The final vertical of the integration sandbox — G19 is complete. The dashboard gains a Sandbox sidebar group with two screens:

Resources (/resources)

  • Collections rail with live counts; paged document table (50/page).
  • JSON document editor — create/replace, versions advance on save; client-side validation mirrors the server's guards.
  • Seed a collection from a pasted JSON array (transactional), reset one collection or everything, all behind confirmations.
  • New collections are created by writing their first document.

Access (/access)

  • Issue and revoke sandbox API keys with an optional hourly quota.
  • The token appears exactly once in a reveal dialog with a copy button and an explicit warning — afterwards only the display prefix is listed, alongside a live used / quota bar (warns at 80%, danger at 100%).
  • The host-side contract is spelled out in place: --sandbox-auth, X-Api-Key / Bearer, 429 + rate headers, never valid on the admin API.

Dashboard

  • A "Spin up a sandbox" quick-start: import spec → seed data → issue key → copy base URL.

All six locales (en/tr/fr/ar/zh/ja), RTL-safe, command-palette entries, tables scroll inside their cards.

Verification

Verified in-browser against a live --sandbox-auth host: a key issued through the dialog authenticated real requests with X-RateLimit-Remaining counting down and the usage bar showing 3/50; a document edit saved through the dialog advanced the server-side version. tsc/lint/build clean.

The G19 series in this train: v0.13.0 resources · v0.14.0 state directive · v0.15.0 OpenAPI import · v0.16.0 API keys + quotas · v0.17.0 Sandbox UI.

Docs: The dashboard · Admin API

Full change: #214

🤖 Generated with Claude Code