{
  "definitions": [
    {
      "callable": true,
      "callees": [
        {
          "file": "core/steps/search.step.ts",
          "name": "pingSearch",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-search-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/search.step.ts",
            "label": "core/steps/search.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/search.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-search-step-ts"
          }
        },
        {
          "file": "core/steps/site.step.ts",
          "name": "buildSite",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-site-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/site.step.ts",
            "label": "core/steps/site.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/site.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-site-step-ts"
          }
        },
        {
          "file": "core/steps/site.step.ts",
          "name": "validateSite",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-site-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/site.step.ts",
            "label": "core/steps/site.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/site.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-site-step-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "runtime/entrypoints/deployment.entrypoint.ts",
          "name": "run",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/deploy/runtime/entrypoints/deployment.entrypoint.ts",
            "label": "runtime/entrypoints/deployment.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/deploy/runtime/entrypoints/deployment.entrypoint.ts.md",
            "ref": "anatomy:file-deploy-runtime-entrypoints-deployment-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 86,
      "name": "ship",
      "signature": "const ship = async function ship("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/converters/text.converter.ts",
          "name": "formatBytes",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-text-converter-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/converters/text.converter.ts",
            "label": "core/converters/text.converter.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/converters/text.converter.ts.md",
            "ref": "anatomy:file-deploy-core-converters-text-converter-ts"
          }
        },
        {
          "file": "core/converters/text.converter.ts",
          "name": "formatDuration",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-text-converter-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/converters/text.converter.ts",
            "label": "core/converters/text.converter.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/converters/text.converter.ts.md",
            "ref": "anatomy:file-deploy-core-converters-text-converter-ts"
          }
        }
      ],
      "callers": [
        {
          "file": "runtime/entrypoints/deployment.entrypoint.ts",
          "name": "release",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/deploy/runtime/entrypoints/deployment.entrypoint.ts",
            "label": "runtime/entrypoints/deployment.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/deploy/runtime/entrypoints/deployment.entrypoint.ts.md",
            "ref": "anatomy:file-deploy-runtime-entrypoints-deployment-entrypoint-ts"
          }
        }
      ],
      "exported": false,
      "flow": "relay",
      "kind": "lexical_declaration",
      "line": 41,
      "name": "summarize",
      "signature": "const summarize = function summarize(journal: Journal, stats: UploadStats, outcome: Outcome): void {"
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/converters/failure.converter.ts",
          "name": "messageOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-failure-converter-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/converters/failure.converter.ts",
            "label": "core/converters/failure.converter.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/converters/failure.converter.ts.md",
            "ref": "anatomy:file-deploy-core-converters-failure-converter-ts"
          }
        },
        {
          "file": "core/converters/failure.converter.ts",
          "name": "messageOf",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-failure-converter-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/converters/failure.converter.ts",
            "label": "core/converters/failure.converter.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/converters/failure.converter.ts.md",
            "ref": "anatomy:file-deploy-core-converters-failure-converter-ts"
          }
        },
        {
          "file": "core/steps/backup.step.ts",
          "name": "pruneArchives",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-backup-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/backup.step.ts",
            "label": "core/steps/backup.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/backup.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-backup-step-ts"
          }
        },
        {
          "file": "core/steps/backup.step.ts",
          "name": "restoreSite",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-backup-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/backup.step.ts",
            "label": "core/steps/backup.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/backup.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-backup-step-ts"
          }
        },
        {
          "file": "core/steps/certificate.step.ts",
          "name": "probeCertificate",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-certificate-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/certificate.step.ts",
            "label": "core/steps/certificate.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/certificate.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-certificate-step-ts"
          }
        },
        {
          "file": "core/steps/nginx.step.ts",
          "name": "verifyNginx",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-nginx-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/nginx.step.ts",
            "label": "core/steps/nginx.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/nginx.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-nginx-step-ts"
          }
        },
        {
          "file": "core/steps/probe.step.ts",
          "name": "probeSite",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-probe-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/probe.step.ts",
            "label": "core/steps/probe.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/probe.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-probe-step-ts"
          }
        },
        {
          "file": "core/steps/recovery.step.ts",
          "name": "pullManaged",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-recovery-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/recovery.step.ts",
            "label": "core/steps/recovery.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/recovery.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-recovery-step-ts"
          }
        },
        {
          "file": "core/steps/recovery.step.ts",
          "name": "restoreManaged",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-recovery-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/recovery.step.ts",
            "label": "core/steps/recovery.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/recovery.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-recovery-step-ts"
          }
        },
        {
          "file": "core/steps/remote.step.ts",
          "name": "pruneRemoteRoot",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-remote-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/remote.step.ts",
            "label": "core/steps/remote.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/remote.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-remote-step-ts"
          }
        },
        {
          "file": "core/steps/setup.step.ts",
          "name": "prepareServer",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-setup-step-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/steps/setup.step.ts",
            "label": "core/steps/setup.step.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/steps/setup.step.ts.md",
            "ref": "anatomy:file-deploy-core-steps-setup-step-ts"
          }
        },
        {
          "file": "runtime/entrypoints/deployment.entrypoint.ts",
          "name": "summarize",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/deploy/runtime/entrypoints/deployment.entrypoint.ts",
            "label": "runtime/entrypoints/deployment.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/deploy/runtime/entrypoints/deployment.entrypoint.ts.md",
            "ref": "anatomy:file-deploy-runtime-entrypoints-deployment-entrypoint-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 51,
      "name": "release",
      "signature": "const release = async function release("
    },
    {
      "callable": true,
      "callees": [
        {
          "file": "core/reporters/deployment.reporter.ts",
          "name": "reportDeployment",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-reporters-deployment-reporter-ts",
            "json": "https://banes-lab.com/json/source/deploy/core/reporters/deployment.reporter.ts",
            "label": "core/reporters/deployment.reporter.ts",
            "markdown": "https://banes-lab.com/source/deploy/core/reporters/deployment.reporter.ts.md",
            "ref": "anatomy:file-deploy-core-reporters-deployment-reporter-ts"
          }
        },
        {
          "file": "runtime/entrypoints/deployment.entrypoint.ts",
          "name": "ship",
          "source": {
            "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
            "json": "https://banes-lab.com/json/source/deploy/runtime/entrypoints/deployment.entrypoint.ts",
            "label": "runtime/entrypoints/deployment.entrypoint.ts",
            "markdown": "https://banes-lab.com/source/deploy/runtime/entrypoints/deployment.entrypoint.ts.md",
            "ref": "anatomy:file-deploy-runtime-entrypoints-deployment-entrypoint-ts"
          }
        }
      ],
      "callers": [],
      "exported": false,
      "flow": "entry",
      "kind": "lexical_declaration",
      "line": 108,
      "name": "run",
      "signature": "const run = async function run(): Promise<number> {"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 57,
      "name": "backup",
      "signature": "const backup = await archiveSite(shell, journal);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 58,
      "name": "managed",
      "signature": "let managed: readonly ManagedBackup[] = [];"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 61,
      "name": "stats",
      "signature": "const stats = await uploadSite(shell, journal);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 68,
      "name": "outcome",
      "signature": "const outcome: Outcome = { backup, failure: \"\", span: { finishedAt: Date.now(), startedAt }, stats };"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 95,
      "name": "before",
      "signature": "const before = await readLive(SITE_URL + PAGE_SITEMAP_ROUTE);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 99,
      "name": "reported",
      "signature": "const reported = await release(shell, journal, secrets, startedAt);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 100,
      "name": "after",
      "signature": "const after = readOrNull(PAGE_SITEMAP_ROUTE.slice(1));"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 109,
      "name": "secrets",
      "signature": "const secrets = loadSecrets();"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 110,
      "name": "journal",
      "signature": "const journal = createJournal();"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 111,
      "name": "shell",
      "signature": "const shell = createShell(secrets);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 112,
      "name": "startedAt",
      "signature": "const startedAt = Date.now();"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 116,
      "name": "failure",
      "signature": "const failure = messageOf(error);"
    },
    {
      "callable": false,
      "callees": [],
      "callers": [],
      "exported": false,
      "flow": "isolated",
      "kind": "lexical_declaration",
      "line": 118,
      "name": "span",
      "signature": "const span = { finishedAt: Date.now(), startedAt };"
    }
  ],
  "document": null,
  "findings": [],
  "generated": false,
  "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
  "language": "typescript",
  "layer": "runtime",
  "name": "deployment.entrypoint.ts",
  "path": "runtime/entrypoints/deployment.entrypoint.ts",
  "ref": "anatomy:file-deploy-runtime-entrypoints-deployment-entrypoint-ts",
  "relations": [
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/deploy#folder-deploy-runtime-entrypoints",
          "json": "https://banes-lab.com/json/anatomy/deploy/folder-deploy-runtime-entrypoints",
          "label": "runtime/entrypoints",
          "markdown": "https://banes-lab.com/anatomy/deploy/folder-deploy-runtime-entrypoints.md",
          "ref": "chapter:/anatomy/deploy#folder-deploy-runtime-entrypoints"
        }
      ],
      "relation": "contained-in"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-failure-converter-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/converters/failure.converter.ts",
          "label": "core/converters/failure.converter.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/converters/failure.converter.ts.md",
          "ref": "anatomy:file-deploy-core-converters-failure-converter-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-converters-text-converter-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/converters/text.converter.ts",
          "label": "core/converters/text.converter.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/converters/text.converter.ts.md",
          "ref": "anatomy:file-deploy-core-converters-text-converter-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-reporters-deployment-reporter-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/reporters/deployment.reporter.ts",
          "label": "core/reporters/deployment.reporter.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/reporters/deployment.reporter.ts.md",
          "ref": "anatomy:file-deploy-core-reporters-deployment-reporter-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-backup-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/backup.step.ts",
          "label": "core/steps/backup.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/backup.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-backup-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-certificate-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/certificate.step.ts",
          "label": "core/steps/certificate.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/certificate.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-certificate-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-nginx-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/nginx.step.ts",
          "label": "core/steps/nginx.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/nginx.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-nginx-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-probe-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/probe.step.ts",
          "label": "core/steps/probe.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/probe.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-probe-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-recovery-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/recovery.step.ts",
          "label": "core/steps/recovery.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/recovery.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-recovery-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-remote-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/remote.step.ts",
          "label": "core/steps/remote.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/remote.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-remote-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-search-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/search.step.ts",
          "label": "core/steps/search.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/search.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-search-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-setup-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/setup.step.ts",
          "label": "core/steps/setup.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/setup.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-setup-step-ts"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#file-deploy-core-steps-site-step-ts",
          "json": "https://banes-lab.com/json/source/deploy/core/steps/site.step.ts",
          "label": "core/steps/site.step.ts",
          "markdown": "https://banes-lab.com/source/deploy/core/steps/site.step.ts.md",
          "ref": "anatomy:file-deploy-core-steps-site-step-ts"
        }
      ],
      "relation": "uses"
    },
    {
      "links": [
        {
          "href": "https://banes-lab.com/anatomy/deploy#folder-deploy-core-converters",
          "json": "https://banes-lab.com/json/anatomy/deploy/folder-deploy-core-converters",
          "label": "core/converters",
          "markdown": "https://banes-lab.com/anatomy/deploy/folder-deploy-core-converters.md",
          "ref": "chapter:/anatomy/deploy#folder-deploy-core-converters"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#folder-deploy-core-reporters",
          "json": "https://banes-lab.com/json/anatomy/deploy/folder-deploy-core-reporters",
          "label": "core/reporters",
          "markdown": "https://banes-lab.com/anatomy/deploy/folder-deploy-core-reporters.md",
          "ref": "chapter:/anatomy/deploy#folder-deploy-core-reporters"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#folder-deploy-core-steps",
          "json": "https://banes-lab.com/json/anatomy/deploy/folder-deploy-core-steps",
          "label": "core/steps",
          "markdown": "https://banes-lab.com/anatomy/deploy/folder-deploy-core-steps.md",
          "ref": "chapter:/anatomy/deploy#folder-deploy-core-steps"
        },
        {
          "href": "https://banes-lab.com/anatomy/deploy#folder-deploy-runtime-entrypoints",
          "json": "https://banes-lab.com/json/anatomy/deploy/folder-deploy-runtime-entrypoints",
          "label": "runtime/entrypoints",
          "markdown": "https://banes-lab.com/anatomy/deploy/folder-deploy-runtime-entrypoints.md",
          "ref": "chapter:/anatomy/deploy#folder-deploy-runtime-entrypoints"
        }
      ],
      "relation": "linked-from"
    }
  ],
  "slots": {
    "concern": "entrypoint",
    "subject": "deployment",
    "variant": null
  },
  "stats": {
    "bytes": 5264,
    "callable": 4,
    "definitions": 17,
    "edges": 19,
    "exported": 0,
    "files": 1,
    "findings": {},
    "flows": {
      "relay": 2,
      "entry": 2,
      "isolated": 13
    },
    "lines": {
      "blank": 5,
      "code": 128,
      "total": 133
    }
  },
  "summary": "128 lines of code and 17 definitions.",
  "text": "https://banes-lab.com/source/deploy/runtime/entrypoints/deployment.entrypoint.ts.txt",
  "tree": "deploy",
  "siblings": {
    "next": {
      "href": "https://banes-lab.com/anatomy/deploy#file-deploy-runtime-entrypoints-nginx-entrypoint-ts",
      "json": "https://banes-lab.com/json/source/deploy/runtime/entrypoints/nginx.entrypoint.ts",
      "label": "runtime/entrypoints/nginx.entrypoint.ts",
      "markdown": "https://banes-lab.com/source/deploy/runtime/entrypoints/nginx.entrypoint.ts.md",
      "ref": "anatomy:file-deploy-runtime-entrypoints-nginx-entrypoint-ts"
    },
    "previous": null
  },
  "up": {
    "href": null,
    "json": "https://banes-lab.com/json/api/source/deploy/runtime/entrypoints",
    "label": "runtime/entrypoints",
    "markdown": "https://banes-lab.com/api/source/deploy/runtime/entrypoints.md",
    "ref": "api:source/deploy/runtime/entrypoints"
  }
}
