/** * The `axm lint --json` document, as a schema. * * The shape used to exist only as a hand-written interface in `cli.ts` while * the CLI emitted it through `Schema.Any` — so nothing checked that what the * runner built and what the renderer promised were the same document, and * `--json` consumers had no schema to generate against. * * `LintJsonDocument` and `LintJsonFinding` are now derived from these schemas, * so the emitted document and its contract cannot drift. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import * as Schema from "effect/Schema"; /** * One finding as emitted under `--json`. * * @experimental This API is unstable and may change without notice. */ export declare const LintJsonFindingSchema: Schema.Struct<{ readonly group: Schema.Literals; readonly kind: Schema.Literal<"advisory">; readonly ruleId: Schema.String; readonly severity: Schema.Literals; readonly message: Schema.String; readonly displayRoot: Schema.String; readonly path: Schema.String; readonly subject: Schema.String; readonly authority: Schema.String; readonly observed: Schema.String; readonly expected: Schema.String; readonly location: Schema.optional; readonly column: Schema.optional; }>>; }>; export declare const LintInputSchema: Schema.Union; }>, Schema.Struct<{ readonly view: Schema.Literal<"git-index">; readonly fingerprint: Schema.String; }>]>; export type LintInput = typeof LintInputSchema.Type; /** * JSON envelope shape returned under `axm lint --json`. * * Matches the registry publish failure envelope structure (`findings[]`, * `displayRoot` per entry, per-finding `path` pre-composed). * * @experimental This API is unstable and may change without notice. */ export declare const LintJsonDocumentSchema: Schema.Struct<{ readonly input: Schema.Union; }>, Schema.Struct<{ readonly view: Schema.Literal<"git-index">; readonly fingerprint: Schema.String; }>]>; readonly axmSkillCompatibility: Schema.optionalKey; readonly cliVersion: Schema.NullOr; readonly skillVersion: Schema.NullOr; readonly source: Schema.NullOr; readonly declaredCliVersion: Schema.NullOr; readonly declaredCliVersionRange: Schema.NullOr; readonly reasonCode: Schema.NullOr>; readonly detail: Schema.NullOr; readonly recovery: Schema.Struct<{ readonly action: Schema.Literals; readonly targetCliVersion: Schema.NullOr; readonly targetSkillVersion: Schema.NullOr; readonly nextAction: Schema.NullOr; readonly steps: Schema.$Array; readonly command: Schema.String; readonly preview: Schema.Boolean; }>>; }>; }>>; readonly findings: Schema.$Array; readonly kind: Schema.Literal<"advisory">; readonly ruleId: Schema.String; readonly severity: Schema.Literals; readonly message: Schema.String; readonly displayRoot: Schema.String; readonly path: Schema.String; readonly subject: Schema.String; readonly authority: Schema.String; readonly observed: Schema.String; readonly expected: Schema.String; readonly location: Schema.optional; readonly column: Schema.optional; }>>; }>>; readonly summary: Schema.Struct<{ readonly total: Schema.Number; readonly errors: Schema.Number; readonly warnings: Schema.Number; readonly infos: Schema.Number; readonly exitCategory: Schema.Literals; }>; readonly driftBanner: Schema.$Array; }>; /** * One finding as emitted under `--json`. * * @experimental This API is unstable and may change without notice. */ export type LintJsonFinding = typeof LintJsonFindingSchema.Type; /** * The `--json` document. * * @experimental This API is unstable and may change without notice. */ export type LintJsonDocument = typeof LintJsonDocumentSchema.Type; //# sourceMappingURL=json-schema.d.ts.map