---
title: "JSON Schemas"
description: "Die zod-Schemas hinter jedem --json-Ergebnis und die Funktionen, die daraus die veröffentlichten JSON-Schema-Dokumente machen."
type: "reference"
---
# JSON Schemas

Die zod-Schemas hinter jedem --json-Ergebnis und die Funktionen, die daraus die veröffentlichten JSON-Schema-Dokumente machen.

<AvailableFrom version="0.12.0" />

Jedes `result`, das die CLI unter `--json` ausgibt, hat ein zod-4-Schema im SDK, das zur Compile-Zeit an den TypeScript-Typ gebunden ist, den es beschreibt: dieselben Felder, dieselben optionalen Felder und dieselben Werttypen. Eine Änderung an einem ohne das andere lässt den Build scheitern. Sein `parse` akzeptiert auch einen Wert aus einem neueren verbatra: Es erlaubt Felder, die es nicht aufführt, und entfernt sie aus dem Ergebnis. Dieselben Schemas werden als JSON-Schema-Dokumente veröffentlicht; ihre URLs und die Versionsregel stehen unter [Exit-Codes und JSON-Ausgabe](https://verbatra.kreitz-webdev.de/de/docs/cli/output.md#schemas).

## Ergebnis-Schemas [#ergebnis-schemas]

### runSummarySchema [#runsummaryschema]

Beschreibt eine [`RunSummary`](https://verbatra.kreitz-webdev.de/de/docs/sdk/run-summary.md), das `result` von `translate`, `watch` und `import`. Veröffentlicht als `run-summary.json`.

```ts title="Signatur"
const runSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### checkSummarySchema [#checksummaryschema]

Beschreibt eine `CheckSummary`, das `result` von [`check`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#check). Veröffentlicht als `check-summary.json`.

```ts title="Signatur"
const checkSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### checkFileSummarySchema [#checkfilesummaryschema]

Beschreibt eine `CheckFileSummary`, das `result` von [`checkFile`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#checkfile). Veröffentlicht als `check-file-summary.json`.

```ts title="Signatur"
const checkFileSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### diffSummarySchema [#diffsummaryschema]

Beschreibt eine `DiffSummary`, das `result` von [`diff`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#diff). Veröffentlicht als `diff-summary.json`.

```ts title="Signatur"
const diffSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### doctorResultSchema [#doctorresultschema]

Beschreibt ein `DoctorResult`, das `result` von [`doctor`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#doctor). Sein Feld `dataFlow` ist [`dataFlowManifestSchema`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#dataflowmanifestschema), deshalb verweist `doctor-result.json` auf `data-flow-manifest.json`, statt es zu wiederholen.

```ts title="Signatur"
const doctorResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### provenanceReportResultSchema [#provenancereportresultschema]

Beschreibt ein `ProvenanceReportResult`, das `result` von [`provenanceReport`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#provenancereport), einschließlich der Variante `available: false`. Veröffentlicht als `provenance-report.json`.

```ts title="Signatur"
const provenanceReportResultSchema: z.ZodUnion<readonly [...]>;
```

### pseudolocalizeResultSchema [#pseudolocalizeresultschema]

Beschreibt ein `PseudolocalizeResult`, das `result` von [`pseudolocalize`](https://verbatra.kreitz-webdev.de/de/docs/sdk/run.md#pseudolocalize). Veröffentlicht als `pseudolocalize-result.json`.

```ts title="Signatur"
const pseudolocalizeResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### generateTypesResultSchema [#generatetypesresultschema]

Beschreibt ein `GenerateTypesResult`, das `result` von [`generateTypes`](https://verbatra.kreitz-webdev.de/de/docs/sdk/run.md#generatetypes). Veröffentlicht als `generate-types-result.json`.

```ts title="Signatur"
const generateTypesResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### extractResultSchema [#extractresultschema]

Beschreibt ein `ExtractResult`, das `result` von [`extract`](https://verbatra.kreitz-webdev.de/de/docs/sdk/inspect.md#extract). Veröffentlicht als `extract-result.json`.

```ts title="Signatur"
const extractResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### exportWorkbookResultSchema [#exportworkbookresultschema]

Beschreibt ein `ExportWorkbookResult`, das `result` von [`exportWorkbook`](https://verbatra.kreitz-webdev.de/de/docs/sdk/exchange.md#exportworkbook). Veröffentlicht als `export-workbook-result.json`.

```ts title="Signatur"
const exportWorkbookResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### importTmxResultSchema [#importtmxresultschema]

Beschreibt ein `ImportTmxResult`, das `result` von [`importTmx`](https://verbatra.kreitz-webdev.de/de/docs/sdk/exchange.md#importtmx). Veröffentlicht als `import-tmx-result.json`.

```ts title="Signatur"
const importTmxResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### exportTmxResultSchema [#exporttmxresultschema]

Beschreibt ein `ExportTmxResult`, das `result` von [`exportTmx`](https://verbatra.kreitz-webdev.de/de/docs/sdk/exchange.md#exporttmx). Veröffentlicht als `export-tmx-result.json`.

```ts title="Signatur"
const exportTmxResultSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

## Gemeinsame Schemas [#gemeinsame-schemas]

### localeSummarySchema [#localesummaryschema]

Beschreibt eine `LocaleSummary`, einen Eintrag in `locales` einer Run-Summary.

```ts title="Signatur"
const localeSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### keyProvenanceSchema [#keyprovenanceschema]

Beschreibt eine `KeyProvenance`, die aufgezeichnete Herkunft und den Review-Status eines Keys.

```ts title="Signatur"
const keyProvenanceSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### provenanceSummarySchema [#provenancesummaryschema]

Beschreibt eine `ProvenanceSummary`, die Key-Zahlen pro Herkunft und pro Review-Status, die eine Locale von `check` trägt.

```ts title="Signatur"
const provenanceSummarySchema: z.ZodObject<{ ... }, z.core.$strip>;
```

### keyOriginSchema [#keyoriginschema]

Beschreibt einen `KeyOrigin`: wer oder was den aktuellen Wert eines Keys geschrieben hat.

```ts title="Signatur"
const keyOriginSchema: z.ZodEnum<{ ... }>;
```

## Datensätze im Stream [#datensätze-im-stream]

### progressEventSchema [#progresseventschema]

Beschreibt ein `ProgressEvent`, das, was `onProgress` erhält. Die CLI gibt einige dieser Ereignisse unter `--json` auf stderr aus. Veröffentlicht als `progress-event.json`.

```ts title="Signatur"
const progressEventSchema: z.ZodUnion<readonly [...]>;
```

### lockWaitEventSchema [#lockwaiteventschema]

Beschreibt ein `LockWaitEvent`, das, was `onLockWait` erhält, während ein Lauf auf die Schreibsperre einer Locale wartet. Die CLI gibt es mit zusätzlichem `type: "lock-wait"` auf stderr aus. Veröffentlicht als `lock-wait-event.json`.

```ts title="Signatur"
const lockWaitEventSchema: z.ZodObject<{ ... }, z.core.$strip>;
```

## Veröffentlichen [#veröffentlichen]

`SDK_JSON_SCHEMAS` listet jedes Dokument auf, das das SDK unter `@verbatra/sdk/schemas/` veröffentlicht, jeweils mit `name`, `title`, `io` und dem zod-`schema`. `JSON_SCHEMA_BASE_URL` ist `https://verbatra.kreitz-webdev.de/schema/v1/`. `KNOWN_ERROR_CODES` listet jeden Fehlercode des SDK, der Provider und der Adapter; das Schema des Fehler-Envelopes bietet sie als Hinweis an und akzeptiert trotzdem jeden Code.

### renderJsonSchemas [#renderjsonschemas]

Erzeugt verbatras eigene JSON-Schema-Dokumente (Draft 2020-12) aus einer Liste von `JsonSchemaDocument`s, nach Namen geordnet. Jedes erhält die `$id`, die `jsonSchemaUrl` für seinen Namen liefert, eine URL dieser Seite. Nutze es also nur für verbatras Dokumente und `renderOutputJsonSchema` für ein eigenes Schema. Ein Ausgabedokument erlaubt jede Eigenschaft, die es nicht aufführt; ein Eingabedokument wie die Konfiguration behält seine geschlossenen Objekte. Ein Schema, das ein Dokument aus einer der beiden Listen einbettet, verweist per URL darauf.

```ts title="Signatur"
function renderJsonSchemas(
  documents: readonly JsonSchemaDocument[],
  references?: readonly JsonSchemaDocument[],
): Readonly<Record<string, JsonSchemaObject>>;
```

**Rückgabe:** ein Dokument pro Eintrag in `documents`, jeweils mit `$schema`, `$id` und `title`.

### renderOutputJsonSchema [#renderoutputjsonschema]

Erzeugt das JSON Schema eines einzelnen zod-Schemas so, wie die Ausgabedokumente erzeugt werden, ohne `$id`, etwa für das `outputSchema` eines MCP-Tools.

```ts title="Signatur"
function renderOutputJsonSchema(schema: z.ZodType): JsonSchemaObject;
```

**Rückgabe:** `JsonSchemaObject`

### jsonSchemaUrl [#jsonschemaurl]

Gibt die öffentliche URL eines veröffentlichten Dokuments zurück, die zugleich seine `$id` ist: `jsonSchemaUrl("run-summary")` ergibt `https://verbatra.kreitz-webdev.de/schema/v1/run-summary.json`.

```ts title="Signatur"
function jsonSchemaUrl(name: string): string;
```

**Rückgabe:** `string`
