---
title: "JSON Schemas"
description: "Les schémas zod derrière chaque résultat de --json, et les fonctions qui en font les documents JSON Schema publiés."
type: "reference"
---
# JSON Schemas

Les schémas zod derrière chaque résultat de --json, et les fonctions qui en font les documents JSON Schema publiés.

<AvailableFrom version="0.12.0" />

Chaque `result` que la CLI affiche avec `--json` a un schéma zod 4 dans le SDK, lié à la compilation au type TypeScript qu'il décrit : les mêmes champs, les mêmes champs optionnels et les mêmes types de valeur, si bien que changer l'un sans l'autre fait échouer la compilation. Son `parse` accepte aussi une valeur venant d'un verbatra plus récent : il admet les champs qu'il ne liste pas et les retire du résultat. Les mêmes schémas sont publiés comme documents JSON Schema ; leurs URL et la règle de versions se trouvent sur [Codes de sortie et sortie JSON](https://verbatra.kreitz-webdev.de/fr/docs/cli/output.md#schémas).

## Schémas de résultat [#schémas-de-résultat]

### runSummarySchema [#runsummaryschema]

Décrit un [`RunSummary`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/run-summary.md), le `result` de `translate`, `watch` et `import`. Publié sous `run-summary.json`.

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

### checkSummarySchema [#checksummaryschema]

Décrit un `CheckSummary`, le `result` de [`check`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#check). Publié sous `check-summary.json`.

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

### checkFileSummarySchema [#checkfilesummaryschema]

Décrit un `CheckFileSummary`, le `result` de [`checkFile`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#checkfile). Publié sous `check-file-summary.json`.

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

### diffSummarySchema [#diffsummaryschema]

Décrit un `DiffSummary`, le `result` de [`diff`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#diff). Publié sous `diff-summary.json`.

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

### doctorResultSchema [#doctorresultschema]

Décrit un `DoctorResult`, le `result` de [`doctor`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#doctor). Son champ `dataFlow` est [`dataFlowManifestSchema`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#dataflowmanifestschema), donc `doctor-result.json` renvoie à `data-flow-manifest.json` au lieu de le répéter.

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

### provenanceReportResultSchema [#provenancereportresultschema]

Décrit un `ProvenanceReportResult`, le `result` de [`provenanceReport`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#provenancereport), y compris la variante `available: false`. Publié sous `provenance-report.json`.

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

### pseudolocalizeResultSchema [#pseudolocalizeresultschema]

Décrit un `PseudolocalizeResult`, le `result` de [`pseudolocalize`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/run.md#pseudolocalize). Publié sous `pseudolocalize-result.json`.

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

### generateTypesResultSchema [#generatetypesresultschema]

Décrit un `GenerateTypesResult`, le `result` de [`generateTypes`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/run.md#generatetypes). Publié sous `generate-types-result.json`.

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

### extractResultSchema [#extractresultschema]

Décrit un `ExtractResult`, le `result` de [`extract`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/inspect.md#extract). Publié sous `extract-result.json`.

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

### exportWorkbookResultSchema [#exportworkbookresultschema]

Décrit un `ExportWorkbookResult`, le `result` de [`exportWorkbook`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/exchange.md#exportworkbook). Publié sous `export-workbook-result.json`.

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

### importTmxResultSchema [#importtmxresultschema]

Décrit un `ImportTmxResult`, le `result` de [`importTmx`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/exchange.md#importtmx). Publié sous `import-tmx-result.json`.

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

### exportTmxResultSchema [#exporttmxresultschema]

Décrit un `ExportTmxResult`, le `result` de [`exportTmx`](https://verbatra.kreitz-webdev.de/fr/docs/sdk/exchange.md#exporttmx). Publié sous `export-tmx-result.json`.

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

## Schémas partagés [#schémas-partagés]

### localeSummarySchema [#localesummaryschema]

Décrit un `LocaleSummary`, une entrée de `locales` d'un résumé d'exécution.

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

### keyProvenanceSchema [#keyprovenanceschema]

Décrit un `KeyProvenance`, l'origine enregistrée et l'état de relecture d'une clé.

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

### provenanceSummarySchema [#provenancesummaryschema]

Décrit un `ProvenanceSummary`, les nombres de clés par origine et par état de relecture que porte une locale de `check`.

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

### keyOriginSchema [#keyoriginschema]

Décrit un `KeyOrigin` : qui ou quoi a écrit la valeur actuelle d'une clé.

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

## Enregistrements du flux [#enregistrements-du-flux]

### progressEventSchema [#progresseventschema]

Décrit un `ProgressEvent`, ce que reçoit `onProgress`. La CLI affiche certains de ces événements sur stderr avec `--json`. Publié sous `progress-event.json`.

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

### lockWaitEventSchema [#lockwaiteventschema]

Décrit un `LockWaitEvent`, ce que reçoit `onLockWait` pendant qu'une exécution attend le verrou d'écriture d'une locale. La CLI l'affiche sur stderr avec `type: "lock-wait"` en plus. Publié sous `lock-wait-event.json`.

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

## Publication [#publication]

`SDK_JSON_SCHEMAS` liste chaque document que le SDK publie sous `@verbatra/sdk/schemas/`, chacun avec son `name`, son `title`, son `io` et son `schema` zod. `JSON_SCHEMA_BASE_URL` vaut `https://verbatra.kreitz-webdev.de/schema/v1/`. `KNOWN_ERROR_CODES` liste chaque code d'erreur du SDK, des fournisseurs et des adaptateurs ; le schéma de l'enveloppe d'erreur les propose comme indication tout en acceptant n'importe quel code.

### renderJsonSchemas [#renderjsonschemas]

Génère les documents JSON Schema propres à verbatra (draft 2020-12) à partir d'une liste de `JsonSchemaDocument`, indexés par nom. Chacun reçoit le `$id` que `jsonSchemaUrl` donne à son nom, une URL de ce site : utilise-le donc seulement pour les documents de verbatra, et `renderOutputJsonSchema` pour un schéma à toi. Un document de sortie accepte toute propriété qu'il ne liste pas ; un document d'entrée, comme la configuration, garde ses objets fermés. Un schéma qui intègre un document de l'une des deux listes y renvoie par URL.

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

**Renvoie :** un document par entrée de `documents`, chacun avec `$schema`, `$id` et `title`.

### renderOutputJsonSchema [#renderoutputjsonschema]

Génère le JSON Schema d'un seul schéma zod comme sont générés les documents de sortie, sans `$id`, par exemple pour l'`outputSchema` d'un outil MCP.

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

**Renvoie :** `JsonSchemaObject`

### jsonSchemaUrl [#jsonschemaurl]

Renvoie l'URL publique d'un document publié, qui est aussi son `$id` : `jsonSchemaUrl("run-summary")` vaut `https://verbatra.kreitz-webdev.de/schema/v1/run-summary.json`.

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

**Renvoie :** `string`
