{
  "file": "/app/src/cli/route.ts",
  "language": "typescript",
  "entities": [
    {
      "id": "cli/route.ts",
      "type": "Module",
      "name": "cli/route.ts",
      "kind": "module",
      "visibility": "public",
      "line_range": [
        1,
        48
      ]
    },
    {
      "id": "dep:infra/env.js",
      "type": "Dependency",
      "name": "infra/env.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        1,
        1
      ]
    },
    {
      "id": "dep:runtime.js",
      "type": "Dependency",
      "name": "runtime.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        2,
        2
      ]
    },
    {
      "id": "dep:version.js",
      "type": "Dependency",
      "name": "version.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        3,
        3
      ]
    },
    {
      "id": "dep:cli/argv.js",
      "type": "Dependency",
      "name": "cli/argv.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        4,
        4
      ]
    },
    {
      "id": "dep:cli/banner.js",
      "type": "Dependency",
      "name": "cli/banner.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        5,
        5
      ]
    },
    {
      "id": "dep:cli/plugin-registry.js",
      "type": "Dependency",
      "name": "cli/plugin-registry.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        6,
        6
      ]
    },
    {
      "id": "dep:cli/program/config-guard.js",
      "type": "Dependency",
      "name": "cli/program/config-guard.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        7,
        7
      ]
    },
    {
      "id": "dep:cli/program/routes.js",
      "type": "Dependency",
      "name": "cli/program/routes.js",
      "kind": "import",
      "visibility": "internal",
      "line_range": [
        8,
        8
      ]
    },
    {
      "id": "cli/route.ts:prepareRoutedCommand",
      "type": "Function",
      "name": "prepareRoutedCommand",
      "kind": "function",
      "visibility": "internal",
      "line_range": [
        10,
        27
      ]
    },
    {
      "id": "cli/route.ts:tryRouteCli",
      "type": "Function",
      "name": "tryRouteCli",
      "kind": "function",
      "visibility": "public",
      "line_range": [
        29,
        47
      ]
    }
  ],
  "relationships": [
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:infra/env.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:runtime.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:version.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:cli/argv.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:cli/banner.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:cli/plugin-registry.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:cli/program/config-guard.js"
    },
    {
      "type": "IMPORTS",
      "source": "cli/route.ts",
      "target": "dep:cli/program/routes.js"
    },
    {
      "type": "CONTAINS",
      "source": "cli/route.ts",
      "target": "cli/route.ts:prepareRoutedCommand"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:prepareRoutedCommand",
      "target": "hasFlag"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:prepareRoutedCommand",
      "target": "emitCliBanner"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:prepareRoutedCommand",
      "target": "ensureConfigReady"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:prepareRoutedCommand",
      "target": "params.loadPlugins"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:prepareRoutedCommand",
      "target": "ensurePluginRegistryLoaded"
    },
    {
      "type": "CONTAINS",
      "source": "cli/route.ts",
      "target": "cli/route.ts:tryRouteCli"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "isTruthyEnvValue"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "hasHelpOrVersion"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "getCommandPathWithRootOptions"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "findRoutedCommand"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "prepareRoutedCommand"
    },
    {
      "type": "CALLS",
      "source": "cli/route.ts:tryRouteCli",
      "target": "route.run"
    }
  ]
}
