---
title: "JSON Schemas"
description: "Los esquemas zod detrás de cada resultado de --json y las funciones que los convierten en los documentos JSON Schema publicados."
type: "reference"
---
# JSON Schemas

Los esquemas zod detrás de cada resultado de --json y las funciones que los convierten en los documentos JSON Schema publicados.

<AvailableFrom version="0.12.0" />

Cada `result` que la CLI imprime con `--json` tiene un esquema de zod 4 en el SDK, fijado en tiempo de compilación al tipo de TypeScript que describe: los mismos campos, los mismos campos opcionales y los mismos tipos de valor, así que cambiar uno sin el otro hace fallar la compilación. Su `parse` también acepta un valor de un verbatra más nuevo: admite campos que no enumera y los elimina del resultado. Los mismos esquemas se publican como documentos JSON Schema; sus URL y la regla de versiones están en [Códigos de salida y salida JSON](https://verbatra.kreitz-webdev.de/es/docs/cli/output.md#esquemas).

## Esquemas de resultado [#esquemas-de-resultado]

### runSummarySchema [#runsummaryschema]

Describe un [`RunSummary`](https://verbatra.kreitz-webdev.de/es/docs/sdk/run-summary.md), el `result` de `translate`, `watch` e `import`. Se publica como `run-summary.json`.

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

### checkSummarySchema [#checksummaryschema]

Describe un `CheckSummary`, el `result` de [`check`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#check). Se publica como `check-summary.json`.

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

### checkFileSummarySchema [#checkfilesummaryschema]

Describe un `CheckFileSummary`, el `result` de [`checkFile`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#checkfile). Se publica como `check-file-summary.json`.

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

### diffSummarySchema [#diffsummaryschema]

Describe un `DiffSummary`, el `result` de [`diff`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#diff). Se publica como `diff-summary.json`.

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

### doctorResultSchema [#doctorresultschema]

Describe un `DoctorResult`, el `result` de [`doctor`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#doctor). Su campo `dataFlow` es [`dataFlowManifestSchema`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#dataflowmanifestschema), por eso `doctor-result.json` remite a `data-flow-manifest.json` en lugar de repetirlo.

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

### provenanceReportResultSchema [#provenancereportresultschema]

Describe un `ProvenanceReportResult`, el `result` de [`provenanceReport`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#provenancereport), incluida la variante `available: false`. Se publica como `provenance-report.json`.

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

### pseudolocalizeResultSchema [#pseudolocalizeresultschema]

Describe un `PseudolocalizeResult`, el `result` de [`pseudolocalize`](https://verbatra.kreitz-webdev.de/es/docs/sdk/run.md#pseudolocalize). Se publica como `pseudolocalize-result.json`.

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

### generateTypesResultSchema [#generatetypesresultschema]

Describe un `GenerateTypesResult`, el `result` de [`generateTypes`](https://verbatra.kreitz-webdev.de/es/docs/sdk/run.md#generatetypes). Se publica como `generate-types-result.json`.

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

### extractResultSchema [#extractresultschema]

Describe un `ExtractResult`, el `result` de [`extract`](https://verbatra.kreitz-webdev.de/es/docs/sdk/inspect.md#extract). Se publica como `extract-result.json`.

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

### exportWorkbookResultSchema [#exportworkbookresultschema]

Describe un `ExportWorkbookResult`, el `result` de [`exportWorkbook`](https://verbatra.kreitz-webdev.de/es/docs/sdk/exchange.md#exportworkbook). Se publica como `export-workbook-result.json`.

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

### importTmxResultSchema [#importtmxresultschema]

Describe un `ImportTmxResult`, el `result` de [`importTmx`](https://verbatra.kreitz-webdev.de/es/docs/sdk/exchange.md#importtmx). Se publica como `import-tmx-result.json`.

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

### exportTmxResultSchema [#exporttmxresultschema]

Describe un `ExportTmxResult`, el `result` de [`exportTmx`](https://verbatra.kreitz-webdev.de/es/docs/sdk/exchange.md#exporttmx). Se publica como `export-tmx-result.json`.

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

## Esquemas compartidos [#esquemas-compartidos]

### localeSummarySchema [#localesummaryschema]

Describe un `LocaleSummary`, una entrada de `locales` de un resumen de ejecución.

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

### keyProvenanceSchema [#keyprovenanceschema]

Describe un `KeyProvenance`, el origen registrado y el estado de revisión de una clave.

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

### provenanceSummarySchema [#provenancesummaryschema]

Describe un `ProvenanceSummary`, los recuentos de claves por origen y por estado de revisión que lleva un locale de `check`.

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

### keyOriginSchema [#keyoriginschema]

Describe un `KeyOrigin`: quién o qué escribió el valor actual de una clave.

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

## Registros del flujo [#registros-del-flujo]

### progressEventSchema [#progresseventschema]

Describe un `ProgressEvent`, lo que recibe `onProgress`. La CLI imprime algunos de estos eventos en stderr con `--json`. Se publica como `progress-event.json`.

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

### lockWaitEventSchema [#lockwaiteventschema]

Describe un `LockWaitEvent`, lo que recibe `onLockWait` mientras una ejecución espera el bloqueo de escritura de un locale. La CLI lo imprime en stderr con `type: "lock-wait"` añadido. Se publica como `lock-wait-event.json`.

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

## Publicación [#publicación]

`SDK_JSON_SCHEMAS` enumera cada documento que el SDK publica en `@verbatra/sdk/schemas/`, cada uno con su `name`, `title`, `io` y su `schema` de zod. `JSON_SCHEMA_BASE_URL` es `https://verbatra.kreitz-webdev.de/schema/v1/`. `KNOWN_ERROR_CODES` enumera cada código de error del SDK, de los proveedores y de los adaptadores; el esquema del envoltorio de error los ofrece como sugerencia y acepta cualquier código.

### renderJsonSchemas [#renderjsonschemas]

Genera los documentos JSON Schema propios de verbatra (draft 2020-12) a partir de una lista de `JsonSchemaDocument`, indexados por nombre. Cada uno recibe el `$id` que `jsonSchemaUrl` da a su nombre, una URL de este sitio, así que úsalo solo para los documentos de verbatra y `renderOutputJsonSchema` para un esquema propio. Un documento de salida admite cualquier propiedad que no enumera; un documento de entrada, como la configuración, conserva sus objetos cerrados. Un esquema que incluye un documento de cualquiera de las dos listas lo referencia por URL.

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

**Devuelve:** un documento por cada entrada de `documents`, cada uno con `$schema`, `$id` y `title`.

### renderOutputJsonSchema [#renderoutputjsonschema]

Genera el JSON Schema de un solo esquema zod tal como se generan los documentos de salida, sin `$id`, por ejemplo para el `outputSchema` de una herramienta MCP.

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

**Devuelve:** `JsonSchemaObject`

### jsonSchemaUrl [#jsonschemaurl]

Devuelve la URL pública de un documento publicado, que también es su `$id`: `jsonSchemaUrl("run-summary")` es `https://verbatra.kreitz-webdev.de/schema/v1/run-summary.json`.

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

**Devuelve:** `string`
