{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/pattern.strings.ts",
          "name": "analyzeRefusal",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-configuration-strings-pattern-strings-ts",
            "json": "https://banes-lab.com/json/source/patterns/configuration/strings/pattern.strings.ts",
            "label": "configuration/strings/pattern.strings.ts",
            "markdown": "https://banes-lab.com/source/patterns/configuration/strings/pattern.strings.ts.md",
            "ref": "anatomy:file-patterns-configuration-strings-pattern-strings-ts"
          }
        },
        {
          "file": "core/resolvers/representation.resolver.ts",
          "name": "inferMapping",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-core-resolvers-representation-resolver-ts",
            "json": "https://banes-lab.com/json/source/patterns/core/resolvers/representation.resolver.ts",
            "label": "core/resolvers/representation.resolver.ts",
            "markdown": "https://banes-lab.com/source/patterns/core/resolvers/representation.resolver.ts.md",
            "ref": "anatomy:file-patterns-core-resolvers-representation-resolver-ts"
          }
        },
        {
          "file": "core/resolvers/representation.resolver.ts",
          "name": "unrepresentable",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-core-resolvers-representation-resolver-ts",
            "json": "https://banes-lab.com/json/source/patterns/core/resolvers/representation.resolver.ts",
            "label": "core/resolvers/representation.resolver.ts",
            "markdown": "https://banes-lab.com/source/patterns/core/resolvers/representation.resolver.ts.md",
            "ref": "anatomy:file-patterns-core-resolvers-representation-resolver-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "analyzeCommand",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 64,
      "name": "assertRepresentable",
      "signature": "const assertRepresentable = function assertRepresentable(records: readonly unknown[], options: AnalyzeOptions): void {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/pattern.strings.ts",
          "name": "windowWrote",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-configuration-strings-pattern-strings-ts",
            "json": "https://banes-lab.com/json/source/patterns/configuration/strings/pattern.strings.ts",
            "label": "configuration/strings/pattern.strings.ts",
            "markdown": "https://banes-lab.com/source/patterns/configuration/strings/pattern.strings.ts.md",
            "ref": "anatomy:file-patterns-configuration-strings-pattern-strings-ts"
          }
        },
        {
          "file": "core/pipelines/snapshot.pipeline.ts",
          "name": "windowedReports",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-core-pipelines-snapshot-pipeline-ts",
            "json": "https://banes-lab.com/json/source/patterns/core/pipelines/snapshot.pipeline.ts",
            "label": "core/pipelines/snapshot.pipeline.ts",
            "markdown": "https://banes-lab.com/source/patterns/core/pipelines/snapshot.pipeline.ts.md",
            "ref": "anatomy:file-patterns-core-pipelines-snapshot-pipeline-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "analyzeCommand",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 80,
      "name": "streamWindows",
      "signature": "const streamWindows = async function streamWindows("
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "writeOrEmit",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 36,
      "name": "jsonText",
      "signature": "const jsonText = function jsonText(value: unknown): string {"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "analyzeOptions",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "leaf",
      "kind": "lexical_declaration",
      "line": 48,
      "name": "loadMapping",
      "signature": "const loadMapping = function loadMapping(path: string): Map<string, readonly string[]> {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "configuration/strings/pattern.strings.ts",
          "name": "analyzeWrote",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-configuration-strings-pattern-strings-ts",
            "json": "https://banes-lab.com/json/source/patterns/configuration/strings/pattern.strings.ts",
            "label": "configuration/strings/pattern.strings.ts",
            "markdown": "https://banes-lab.com/source/patterns/configuration/strings/pattern.strings.ts.md",
            "ref": "anatomy:file-patterns-configuration-strings-pattern-strings-ts"
          }
        },
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "assertRepresentable",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        },
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "streamWindows",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 95,
      "name": "analyzeCommand",
      "signature": "const analyzeCommand: Command = async function analyzeCommand(path, argv) {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "jsonText",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 40,
      "name": "writeOrEmit",
      "signature": "const writeOrEmit = async function writeOrEmit(value: unknown, output: string | undefined): Promise<void> {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "runtime/entrypoints/pattern.entrypoint.ts",
          "name": "loadMapping",
          "source": {
            "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/pattern.entrypoint.ts",
            "label": "runtime/entrypoints/pattern.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.md",
            "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 59,
      "name": "analyzeOptions",
      "signature": "const analyzeOptions = function analyzeOptions(argv: ParsedArgv, floatFields: ReadonlySet<string>): AnalyzeOptions {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "type_alias_declaration",
      "line": 30,
      "name": "Command",
      "signature": "type Command = (path: string, argv: ParsedArgv) => Promise<void>;"
    },
    {
      "callable": true,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 32,
      "name": "readJson",
      "signature": "const readJson = function readJson(path: string): unknown {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 49,
      "name": "parsed",
      "signature": "const parsed = readJson(path);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 50,
      "name": "entries",
      "signature": "const entries = isRecord(parsed) ? Object.entries(parsed) : [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 60,
      "name": "mappingPath",
      "signature": "const mappingPath = flagValue(argv, PATTERN_FLAG_NAMES.mapping);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 88,
      "name": "file",
      "signature": "const file = join(SNAPSHOT_DIR, `${snapshot.count}.generated.json`);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 97,
      "name": "options",
      "signature": "const options = analyzeOptions(argv, floatFields);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 99,
      "name": "window",
      "signature": "const window = flagValue(argv, PATTERN_FLAG_NAMES.window);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 103,
      "name": "output",
      "signature": "const output = flagValue(argv, PATTERN_FLAG_NAMES.output) ?? DEFAULT_RESULTS;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 104,
      "name": "result",
      "signature": "const result = report(records, options);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 109,
      "name": "COMMAND_TABLE",
      "signature": "const COMMAND_TABLE: ReadonlyMap<string, Command> = new Map<string, Command>(["
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 121,
      "name": "mapping",
      "signature": "const mapping ="
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 134,
      "name": "count",
      "signature": "const count = numberFlag(argv, PATTERN_FLAG_NAMES.count, DEFAULT_SYNTH_COUNT);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 135,
      "name": "seed",
      "signature": "const seed = numberFlag(argv, PATTERN_FLAG_NAMES.seed, 0);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 136,
      "name": "synthesized",
      "signature": "const synthesized = synthesize(records, { ...analyzeOptions(argv, floatFields), count, seed });"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 143,
      "name": "{ records, floatFields }",
      "signature": "const { records, floatFields } = loadRecords(path);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 144,
      "name": "schemaPath",
      "signature": "const schemaPath = flagValue(argv, PATTERN_FLAG_NAMES.schema);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 145,
      "name": "schema",
      "signature": "const schema ="
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 150,
      "name": "verdict",
      "signature": "const verdict = { fields: schema.length, records: records.length, valid: true };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 156,
      "name": "argv",
      "signature": "const argv = resolveArgv(PATTERN_ARGV);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 157,
      "name": "[operation = \"\", source = \"\"]",
      "signature": "const [operation = \"\", source = \"\"] = argv.positionals;"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 158,
      "name": "command",
      "signature": "const command = COMMAND_TABLE.get(operation);"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
  "language": "typescript",
  "layer": "runtime",
  "name": "pattern.entrypoint.ts",
  "path": "runtime/entrypoints/pattern.entrypoint.ts",
  "ref": "anatomy:file-patterns-runtime-entrypoints-pattern-entrypoint-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/patterns#folder-patterns-runtime-entrypoints",
          "json": "https://banes-lab.com/json/anatomy/patterns/folder-patterns-runtime-entrypoints",
          "label": "runtime/entrypoints",
          "markdown": "https://banes-lab.com/anatomy/patterns/folder-patterns-runtime-entrypoints.md",
          "ref": "chapter:/anatomy/patterns#folder-patterns-runtime-entrypoints"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/patterns#file-patterns-configuration-strings-pattern-strings-ts",
          "json": "https://banes-lab.com/json/source/patterns/configuration/strings/pattern.strings.ts",
          "label": "configuration/strings/pattern.strings.ts",
          "markdown": "https://banes-lab.com/source/patterns/configuration/strings/pattern.strings.ts.md",
          "ref": "anatomy:file-patterns-configuration-strings-pattern-strings-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/patterns#file-patterns-core-pipelines-snapshot-pipeline-ts",
          "json": "https://banes-lab.com/json/source/patterns/core/pipelines/snapshot.pipeline.ts",
          "label": "core/pipelines/snapshot.pipeline.ts",
          "markdown": "https://banes-lab.com/source/patterns/core/pipelines/snapshot.pipeline.ts.md",
          "ref": "anatomy:file-patterns-core-pipelines-snapshot-pipeline-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/patterns#file-patterns-core-resolvers-representation-resolver-ts",
          "json": "https://banes-lab.com/json/source/patterns/core/resolvers/representation.resolver.ts",
          "label": "core/resolvers/representation.resolver.ts",
          "markdown": "https://banes-lab.com/source/patterns/core/resolvers/representation.resolver.ts.md",
          "ref": "anatomy:file-patterns-core-resolvers-representation-resolver-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/patterns#folder-patterns-configuration-strings",
          "json": "https://banes-lab.com/json/anatomy/patterns/folder-patterns-configuration-strings",
          "label": "configuration/strings",
          "markdown": "https://banes-lab.com/anatomy/patterns/folder-patterns-configuration-strings.md",
          "ref": "chapter:/anatomy/patterns#folder-patterns-configuration-strings"
        },
        {
          "href": "https://banes-lab.com/anatomy/patterns#folder-patterns-core-pipelines",
          "json": "https://banes-lab.com/json/anatomy/patterns/folder-patterns-core-pipelines",
          "label": "core/pipelines",
          "markdown": "https://banes-lab.com/anatomy/patterns/folder-patterns-core-pipelines.md",
          "ref": "chapter:/anatomy/patterns#folder-patterns-core-pipelines"
        },
        {
          "href": "https://banes-lab.com/anatomy/patterns#folder-patterns-core-resolvers",
          "json": "https://banes-lab.com/json/anatomy/patterns/folder-patterns-core-resolvers",
          "label": "core/resolvers",
          "markdown": "https://banes-lab.com/anatomy/patterns/folder-patterns-core-resolvers.md",
          "ref": "chapter:/anatomy/patterns#folder-patterns-core-resolvers"
        },
        {
          "href": "https://banes-lab.com/anatomy/patterns#folder-patterns-runtime-entrypoints",
          "json": "https://banes-lab.com/json/anatomy/patterns/folder-patterns-runtime-entrypoints",
          "label": "runtime/entrypoints",
          "markdown": "https://banes-lab.com/anatomy/patterns/folder-patterns-runtime-entrypoints.md",
          "ref": "chapter:/anatomy/patterns#folder-patterns-runtime-entrypoints"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "entrypoint",
    "subject": "pattern",
    "variant": null
  },
  "stats": {
    "bytes": 7080,
    "callable": 8,
    "definitions": 29,
    "edges": 10,
    "exported": 0,
    "files": 1,
    "findings": {},
    "flows": {
      "relay": 2,
      "leaf": 2,
      "entry": 3,
      "isolated": 22
    },
    "lines": {
      "blank": 12,
      "code": 161,
      "total": 173
    }
  },
  "summary": "161 lines of code and 29 definitions.",
  "text": "https://banes-lab.com/source/patterns/runtime/entrypoints/pattern.entrypoint.ts.txt",
  "tree": "patterns",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-report-entrypoint-ts",
      "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/report.entrypoint.ts",
      "label": "runtime/entrypoints/report.entrypoint.ts",
      "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/report.entrypoint.ts.md",
      "ref": "anatomy:file-patterns-runtime-entrypoints-report-entrypoint-ts"
    },
    "previous": {
      "href": "https://banes-lab.com/anatomy/patterns#file-patterns-runtime-entrypoints-axis-entrypoint-ts",
      "json": "https://banes-lab.com/json/source/patterns/runtime/entrypoints/axis.entrypoint.ts",
      "label": "runtime/entrypoints/axis.entrypoint.ts",
      "markdown": "https://banes-lab.com/source/patterns/runtime/entrypoints/axis.entrypoint.ts.md",
      "ref": "anatomy:file-patterns-runtime-entrypoints-axis-entrypoint-ts"
    }
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/patterns/runtime/entrypoints",
    "label": "runtime/entrypoints",
    "markdown": "https://banes-lab.com/api/source/patterns/runtime/entrypoints.md",
    "ref": "api:source/patterns/runtime/entrypoints"
  }
}
