configuration/constants/grammar.constants.ts

configuration/constants/grammar.constants.ts is a file in GovLab Context. 85 lines of code and 75 definitions.

export const GATE_MIN_CONDITIONS = 3;

export const GATE_MAX_CONDITIONS = 5;

export const HEADER_PREFIX = "# ";

export const NODE_HEAD = "NODE";

export const RETIRED_UNIT_HEADS = new Set(["PHASE"]);

export const DECLARATION_PREFIX = "THIS ";

export const META_MARKER = "%% META %%";

export const FRONTMATTER_FENCE = "---";

export const GATE_MARKER = "handoff gate";

export const RETIRED_GATE_MARKERS = ["validation gate", "## validation gate", "**validation gate"];

export const CHECK_MARKERS = ["[check]", "ASSERT ", "REQUIRE "];

export const RETIRED_CHECK_MARKERS = ["✅", "ANALYZE ", "[high]", "[medium]", "[low]"];

export const EVIDENCE_OPEN = "(evidence:";

export const POPULATION_MARKER = "over:";

export const MEASURED_MARKER = "measured:";

export const REFUSAL_PREFIX = "refuse:";

export const STANDING_PREFIX = "standing:";

export const RESULT_PREFIX = "result:";

export const RESULT_ARROWS: readonly string[] = ["→", "->"];

export const RESULT_PASS = "pass";

export const RESULT_REPAIR = "REPAIR";

export const RESULT_OWNER_OPEN = "(owner:";

export const RESULT_UNKNOWN = "unknown";

export const RESULT_BLOCKED = "BLOCKED";

export const INVARIANT_BLOCK_HEAD = "CROSS-NODE INVARIANTS";

export const INVARIANT_PREFIX = "INVARIANT ";

export const INVARIANT_SET = "over:";

export const INVARIANT_PARTIES = "binds:";

export const INVARIANT_OBJECTOR = "objector:";

export const BARE_INVARIANT_HEADS = new Set(["ALWAYS:", "NEVER:"]);

export const REPORT_HEAD = "REPORT:";

export const CONTRACT_HEAD = "CONTRACT:";

export const CONTRACT_INPUT = "input:";

export const CONTRACT_TRANSFORM = "transform:";

export const CONTRACT_FRESHNESS = "freshness:";

export const TAG_PURPOSE = "@purpose:";

export const TAG_CUE = "@cue:";

export const TAG_GENESIS = "@genesis:";

export const TAG_OPEN = "[";

export const TAG_CLOSE = "]";

export const TAG_SEPARATOR = "·";

export const TAG_YIELDS = "yields:";

export const NODE_TAG_SLOTS = 4;

export const ARTIFACT_SHAPE = "artifact";

export const WRITING_TOKENS = ["PERSIST_ARTIFACT", "EXECUTE_TOOL", "WRITE ", "DELETE ", "MOVE "];

export const SOURCE_TOKENS = ["NODE ", "{", "<"];

export const EM_DASH = "—";

export const REPAIR_EDGE_HEAD = "REPAIR EDGE";

export const HEAD_TOKEN_MIN = 2;

export const DECL_META_TOKENS = 2;

export const ARM_SEPARATOR = "|";

export const POPULATION_SLASH = "/";

export const BULLET = "- ";

export const LOWERCASE_KEYWORDS = ["if ", "for ", "while ", "set ", "declare ", "when ", "try:", "catch:", "else:"];

export const NEEDS_COLON = ["IF ", "ELSE IF ", "FOR EACH ", "WHILE ", "WHEN "];

export const FOR_HEAD = "FOR ";

export const FOR_EACH_HEAD = "FOR EACH ";

export const VAGUE_TERMS = [
    "looks good",
    "looks valid",
    "looks fine",
    "looks correct",
    "seems ok",
    "is fine",
    "all good",
    "everything works",
    "works fine",
];

export const DECLARING_PREFIXES = ["DECLARE ", "SET "];

export const JURISDICTION_KEY = "jurisdiction";

export const NAME_TERMINATORS = new Set([":", "=", " "]);

export const ZERO = "0";

export const REQUIRED_SECTIONS = ["frontmatter", "declaration", "meta", "nodes", "gates", "invariants", "report"];

export const KEYWORDS_FILE = "keyword.data.json";

export const DOCUMENT_TYPES_FILE = "document.kind.data.json";

export const PRODUCTIONS_FILE = "bnf.data.json";

export const TEMPLATE_FILE_PREFIX = "template.";

export const TEMPLATES_SOURCE = "templates";

export const TERMINALS_KEY = "terminals";

export const DOCUMENT_TYPE_CATEGORY = "document_type";

export const DOCUMENT_VERB_CATEGORY = "document_verb";

export const KEYWORD_SEPARATOR = ":";

export const NONTERMINAL_CLOSE = ">";

export const DEFAULT_SLOT_KIND = "string";

export const PAG_SUBJECT = "pag";