{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "bodyKind": {
      "enum": [
        "substantive",
        "reference-pointer"
      ],
      "type": "string"
    },
    "definitionBodyText": {
      "type": "string"
    },
    "definitionHeadText": {
      "type": "string"
    },
    "definitionSpanText": {
      "type": "string"
    },
    "formulaClass": {
      "enum": [
        "means",
        "includes",
        "has-meaning-given",
        "has-same-meaning",
        "reference-to-means",
        "subject-copula",
        "operational-colon-gloss"
      ],
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "schemaVersion": {
      "type": "string"
    },
    "scopeDisclosureKind": {
      "enum": [
        "slug-global",
        "source",
        "chapter",
        "part",
        "division",
        "subdivision",
        "schedule",
        "section",
        "subsection",
        "paragraph",
        "subparagraph"
      ],
      "type": "string"
    },
    "scopeText": {
      "type": "string"
    },
    "slug": {
      "allOf": [
        {
          "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
        }
      ],
      "type": "string"
    },
    "sourceArtifactKind": {
      "enum": [
        "file",
        "directory-index",
        "document-frontmatter",
        "document-contents",
        "document-preamble"
      ],
      "type": "string"
    },
    "sourceArtifactRelativePath": {
      "allOf": [
        {
          "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))(?!.*\\/\\/)[^\\0\\r\\n]+\\.md$"
        }
      ],
      "type": "string"
    },
    "sourceCanonicalPath": {
      "allOf": [
        {
          "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))(?!.*\\/\\/)[^\\0\\r\\n]+$"
        }
      ],
      "type": "string"
    },
    "sourceContentBlockEndExclusive": {
      "type": "integer"
    },
    "sourceContentBlockStartIndex": {
      "type": "integer"
    },
    "sourceDocumentOrder": {
      "type": "integer"
    },
    "sourceHeadingBlockIndex": {
      "type": "integer"
    },
    "sourceHeadingText": {
      "type": "string"
    },
    "sourceHeadingTrail": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "sourceLineEnd": {
      "type": "integer"
    },
    "sourceLineStart": {
      "type": "integer"
    },
    "sourceStructuralPath": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "sourceTextUrl": {
      "allOf": [
        {
          "pattern": "^https:\\/\\/www\\.legislation\\.gov\\.au\\/.+$"
        }
      ],
      "type": "string"
    },
    "titleId": {
      "type": "string"
    },
    "versionDate": {
      "allOf": [
        {
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
        }
      ],
      "type": "string"
    }
  },
  "required": [
    "schemaVersion",
    "slug",
    "titleId",
    "name",
    "versionDate",
    "sourceTextUrl",
    "sourceCanonicalPath",
    "sourceArtifactRelativePath",
    "sourceArtifactKind",
    "sourceStructuralPath",
    "sourceHeadingTrail",
    "sourceHeadingText",
    "sourceDocumentOrder",
    "sourceLineStart",
    "sourceLineEnd",
    "sourceHeadingBlockIndex",
    "sourceContentBlockStartIndex",
    "sourceContentBlockEndExclusive",
    "definitionSpanText",
    "definitionHeadText",
    "definitionBodyText",
    "formulaClass",
    "scopeDisclosureKind",
    "bodyKind"
  ],
  "type": "object",
  "x-legislation": {
    "artifactFamilyKey": "definitions",
    "artifactPathPattern": ".tooling/definitions/<slug>.jsonl",
    "derivationMode": "effect-derived",
    "schemaPath": ".tooling/schemas/definitions.schema.json",
    "schemaVersion": "1.0.0",
    "shapeKind": "encoded-jsonl-record",
    "sourceEffectExport": "DefinitionRecordJson",
    "sourceEffectModule": "src/domain/definition.ts"
  }
}
