types/grammar.document.types.ts
types/grammar.document.types.ts is a file in GovLab Context. 165 lines of code and 28 definitions.
export interface PagPopulation {
set: string;
measured: string;
whole: string;
}
export interface PagCheck {
marker: string;
condition: string;
evidence: string | null;
population: PagPopulation | null;
line: number;
}
export interface PagFailureArm {
name: string;
owner: string;
}
export interface PagResult {
pass: string;
failures: PagFailureArm[];
unknown: string | null;
line: number;
}
export interface PagGate {
checks: PagCheck[];
refusal: string | null;
standing: string | null;
result: PagResult | null;
line: number;
}
export interface PagNodeTag {
layer: string;
axis: string;
mathType: string;
yields: string;
}
export interface PagNode {
header: string;
title: string;
number: string | null;
head: string;
tag: PagNodeTag | null;
genesis: string | null;
purpose: string | null;
cue: string | null;
input: string | null;
transform: string | null;
freshness: string | null;
directives: string[];
gate: PagGate | null;
line: number;
}
export type PagNodeField = "cue" | "freshness" | "genesis" | "input" | "purpose" | "transform";
export interface PagNodeFieldValue {
field: PagNodeField;
value: string;
}
export interface PagDeclaration {
type: string | null;
verb: string | null;
description: string;
line: number;
}
export interface PagInvariant {
name: string;
property: string;
set: string | null;
parties: string | null;
objector: string | null;
line: number;
}
export interface PagReport {
fields: Record<string, string>;
line: number;
}
export type PagRetiredKind = "check" | "gate" | "invariant" | "unit";
export interface PagRetired {
kind: PagRetiredKind;
token: string;
line: number;
}
export interface PagDocument {
frontmatter: string | null;
declaration: PagDeclaration | null;
meta: Record<string, string>;
nodes: PagNode[];
invariants: PagInvariant[];
retired: PagRetired[];
report: PagReport | null;
}
export type PagDefectCode =
| "artifact_without_freshness"
| "bare_invariant_block"
| "check_without_evidence"
| "empty_population"
| "for_without_each"
| "gate_too_few_conditions"
| "gate_too_many_conditions"
| "gate_without_population"
| "input_without_source"
| "invariant_without_objector"
| "invariant_without_parties"
| "invariant_without_set"
| "lowercase_keyword"
| "missing_colon"
| "no_declaration"
| "node_declared_twice"
| "node_tag_malformed"
| "node_without_gate"
| "result_missing"
| "retired_unit_head"
| "template_without_block"
| "unknown_unrouted"
| "vague_condition"
| "write_without_refusal";
export interface PagDefect {
code: PagDefectCode;
line: number;
token: string;
}
export interface ValidateResult {
wellFormed: boolean;
defects: PagDefect[];
}
export interface TemplateResolveResult {
text: string;
unresolved: string[];
violations: string[];
}
export interface MarkerHit {
marker: string;
retired: boolean;
}
export interface GateStep {
gate: PagGate;
consumed: boolean;
closes: boolean;
retired: PagRetired | null;
}
export interface FrontmatterRead {
end: number;
frontmatter: string | null;
}
export type HeaderKind = "comment" | "invariants" | "node" | "repair" | "retired-unit";
export interface ParsedHeader {
kind: HeaderKind;
head: string;
number: string | null;
title: string;
tag: PagNodeTag | null;
}
export type DocumentKind = "agent" | "template";
export interface DocumentSource {
readonly kind: DocumentKind;
readonly path: string;
readonly relative: string;
}
export interface PagText {
readonly text: string;
readonly firstLine: number;
}
export interface DocumentVerdict {
readonly source: DocumentSource;
readonly defects: readonly PagDefect[];
readonly extracted: boolean;
}