flake-explorer docs

@kriswill/flake-explorer


@kriswill/flake-explorer

Interfaces

ConfigData

Defined in: schema.ts:531

Properties

fileIndex

fileIndex: Record<string, FileOptionRefs>

Defined in: schema.ts:541

storePath (or "") -> indices into options, split by role. Precomputed so the SPA never scans thousands of options per click: defines = files that set a value, declares = files declaring the option.

id

id: string

Defined in: schema.ts:534

options

options: OptionEntry[]

Defined in: schema.ts:535

version

version: 1

Defined in: schema.ts:533

SCHEMA_VERSION at extraction time — the SPA rejects mismatched blobs.


ConfigRef

Defined in: schema.ts:239

Properties

dataFile

dataFile: string

Defined in: schema.ts:245

Data file relative to the data dir, e.g. "config/nixos.nebula.json".

durationMs?

optional durationMs?: number

Defined in: schema.ts:250

error?

optional error?: string

Defined in: schema.ts:247

extractedAt?

optional extractedAt?: string

Defined in: schema.ts:248

id

id: string

Defined in: schema.ts:241

"nixos/nebula", "darwin/k".

kind

kind: ConfigKind

Defined in: schema.ts:242

name

name: string

Defined in: schema.ts:243

optionCount?

optional optionCount?: number

Defined in: schema.ts:249

status

status: "error" | "pending" | "ok"

Defined in: schema.ts:246


DeclarationRef

Defined in: schema.ts:592

Properties

column?

optional column?: number

Defined in: schema.ts:596

file

file: string

Defined in: schema.ts:593

line?

optional line?: number

Defined in: schema.ts:595

1-based declaration site (option.declarationPositions); absent on older module systems.

via?

optional via?: string

Defined in: schema.ts:603

Module-system provenance: the file was imported "via option " (e.g. "flake.modules.nixos.desktop" for dendritic flake-parts modules). Lifted from the ", via option …" suffix the module system stamps onto file strings; file is always the clean store path.


DefinitionRef

Defined in: schema.ts:606

Properties

file

file: string

Defined in: schema.ts:607

prio?

optional prio?: number

Defined in: schema.ts:623

mkOverride priority lifted from a wrapper surviving in this definition's raw value. The real module system strips wrappers AND drops losing-prio definitions before exposing definitionsWithLocations (lib filterOverrides), so there absent means "merged at the option's highestPrio"; it is present only on module systems that expose raw definition values.

value?

optional value?: unknown

Defined in: schema.ts:608

valueError?

optional valueError?: true

Defined in: schema.ts:609

valueNames?

optional valueNames?: string[]

Defined in: schema.ts:613

Like OptionEntry.valueNames, for this definition's skipped package-typed value.

valueSkipped?

optional valueSkipped?: true

Defined in: schema.ts:611

True when the extractor skipped this definition's value.

via?

optional via?: string

Defined in: schema.ts:615

See DeclarationRef.via.


DrvInfo

Defined in: schema.ts:477

nix derivation show output (instantiation only — never builds). Absent when instantiation itself fails (recorded as a warning instead).

Properties

builderPath

builderPath: string

Defined in: schema.ts:480

doCheck?

optional doCheck?: boolean

Defined in: schema.ts:484

drvPath

drvPath: string

Defined in: schema.ts:478

inputDrvs

inputDrvs: DrvInputRef[]

Defined in: schema.ts:481

phases

phases: DrvPhase[]

Defined in: schema.ts:483

Scripts capped ~4000 chars each.

strictDeps?

optional strictDeps?: boolean

Defined in: schema.ts:485

structuredAttrs?

optional structuredAttrs?: boolean

Defined in: schema.ts:486

system

system: string

Defined in: schema.ts:479


DrvInputRef

Defined in: schema.ts:467

Properties

drvPath

drvPath: string

Defined in: schema.ts:468

name

name: string

Defined in: schema.ts:469

outputs

outputs: string[]

Defined in: schema.ts:470


DrvPhase

Defined in: schema.ts:460

One derivation phase script, e.g. {name: "buildPhase", script: "..."}.

Properties

name

name: string

Defined in: schema.ts:461

script

script: string

Defined in: schema.ts:462

tokens

tokens: TokenRun[]

Defined in: schema.ts:464

Flat, non-overlapping tree-sitter (bash) highlight spans over script; [] if tokenizing failed.


FileEntry

Defined in: schema.ts:155

Properties

git?

optional git?: object

Defined in: schema.ts:164

Last commit touching this file; self files with a local checkout only.

commit

commit: string

date

date: string

subject

subject: string

id

id: string

Defined in: schema.ts:157

Stable id — see makeFileId/parseFileId above.

origin

origin: FileOrigin

Defined in: schema.ts:160

relPath

relPath: string

Defined in: schema.ts:159

Path relative to its origin root.

storePath

storePath: string

Defined in: schema.ts:162

Absolute /nix/store/... path — JOIN KEY to option file references.


FileOptionRefs

Defined in: schema.ts:544

Properties

declares

declares: number[]

Defined in: schema.ts:546

defines

defines: number[]

Defined in: schema.ts:545


FileSource

Defined in: schema.ts:170

Properties

text

text: string

Defined in: schema.ts:171

tokens

tokens: TokenRun[]

Defined in: schema.ts:173

Flat, non-overlapping tree-sitter highlight spans over text; [] if tokenizing failed.


FlakeInfo

Defined in: schema.ts:70

Properties

description?

optional description?: string

Defined in: schema.ts:75

narHash?

optional narHash?: string

Defined in: schema.ts:77

path

path: string

Defined in: schema.ts:74

self.outPath — the flake's own store path.

ref

ref: string

Defined in: schema.ts:72

Flake reference as given on the CLI.

rev?

optional rev?: string

Defined in: schema.ts:76


GraftInfo

Defined in: schema.ts:59

A top-level output detected as a graft onto an input's same-named namespace: ≥90% of the input's attr names reappear in the output. The UI shows only added and hides the inherited bulk.

Properties

added

added: string[]

Defined in: schema.ts:65

Keys the flake adds on top of the input's namespace.

inherited

inherited: number

Defined in: schema.ts:67

Count of keys inherited (by name) from the input.

input

input: string

Defined in: schema.ts:63

Direct input whose namespace it extends, e.g. "nixpkgs".

output

output: string

Defined in: schema.ts:61

Top-level output name, e.g. "lib".


GraphData

Defined in: schema.ts:306

One projected graph/<id>.json. Sizes are real: 5.5 MB / 18,765 nodes / 133,288 edges for a NixOS system closure, so this document is held in $state.raw and indexed exactly once (see GraphIndexes in indexes.ts).

Properties

dryRun?

optional dryRun?: GraphDryRun

Defined in: schema.ts:332

T3 only — absent means the tier was off or its parse failed.

edges

edges: number[][]

Defined in: schema.ts:328

Adjacency aligned with nodes: edges[i] holds the ascending, unique node indices that node i depends on (its inputDrvs). Same length as nodes; buildGraphIndexes rejects a document where that does not hold.

extractedAt

extractedAt: string

Defined in: schema.ts:320

When the snapshot was taken. Every present flag below is relative to this instant — a GC since then invalidates them, which is why the UI shows this alongside the status legend rather than hiding it.

id

id: string

Defined in: schema.ts:309

nodes

nodes: GraphNode[]

Defined in: schema.ts:322

Sorted by drvPath, so indices are deterministic for a given dump.

root

root: number

Defined in: schema.ts:314

Index into nodes. NEVER assume 0: nodes are sorted by drvPath, so the root lands wherever its hash puts it (909 / 845 / 10887 on real graphs).

stats

stats: GraphStats

Defined in: schema.ts:330

tiers

tiers: GraphTiers

Defined in: schema.ts:329

version

version: 1

Defined in: schema.ts:308

SCHEMA_VERSION at extraction time — the SPA rejects mismatched blobs.

warnings

warnings: string[]

Defined in: schema.ts:333


GraphDryRun

Defined in: schema.ts:402

T3 detail: the exact partition nix build --dry-run reported. Either list may be empty.

Properties

toBuildNodes

toBuildNodes: number[]

Defined in: schema.ts:404

Indices into GraphData.nodes.

toFetchPaths

toFetchPaths: string[]

Defined in: schema.ts:406

Full store paths — MAY name paths outside every node's outputs.


GraphNode

Defined in: schema.ts:336

Properties

drvPath

drvPath: string

Defined in: schema.ts:338

Full "/nix/store/-.drv" — never a bare basename.

name

name: string

Defined in: schema.ts:340

NOT unique: only 10,165 of 18,765 names are distinct on a system graph.

outputs

outputs: GraphNodeOutput[]

Defined in: schema.ts:343

system?

optional system?: string

Defined in: schema.ts:342

Note: "builtin" occurs, for fixed-output fetchers.


GraphNodeOutput

Defined in: schema.ts:346

Properties

closureSize?

optional closureSize?: number

Defined in: schema.ts:364

name

name: string

Defined in: schema.ts:347

narSize?

optional narSize?: number

Defined in: schema.ts:363

T2, present paths only — absent is "not collected", never zero.

path?

optional path?: string

Defined in: schema.ts:354

Full store path. ABSENT for outputs with no static path: derivation show emits fixed-output fetcher outputs as {hash, method} with no path at all — about a third of all output entries on a system graph. Those outputs are structurally outside the presence and size tiers below.

present?

optional present?: boolean

Defined in: schema.ts:361

T1: valid in the local store at extractedAt. A snapshot of the store, NOT a claim about what a build would do — an absent output path is not the same as a path a build actually wants. Absent when the tier is off or the output has no path.


GraphRef

Defined in: schema.ts:284

Properties

dataFile

dataFile: string

Defined in: schema.ts:294

Data file relative to the data dir, e.g. "graph/packages.x86_64-linux.rtk.json". Dot-separated where id is slash-separated — not a transform to re-derive, always use this field.

durationMs?

optional durationMs?: number

Defined in: schema.ts:298

error?

optional error?: string

Defined in: schema.ts:296

extractedAt?

optional extractedAt?: string

Defined in: schema.ts:297

id

id: string

Defined in: schema.ts:286

Same id as the PackageRef (or ConfigRef) this graph is rooted at.

path

path: string[]

Defined in: schema.ts:288

Output-tree path segments, e.g. ["packages", "x86_64-linux", "rtk"].

status

status: "error" | "pending" | "ok"

Defined in: schema.ts:295


GraphStats

Defined in: schema.ts:380

Properties

absentCount?

optional absentCount?: number

Defined in: schema.ts:393

T1: UNIQUE output paths not valid locally at extractedAt — counted over uniqueOutputPathCount, so it does not equal the number of output entries with present === false (1096 vs 1103 on a real packages graph). The two are both legitimate and must never be labelled as the same quantity.

downloadBytes?

optional downloadBytes?: number

Defined in: schema.ts:397

edgeCount

edgeCount: number

Defined in: schema.ts:382

nodeCount

nodeCount: number

Defined in: schema.ts:381

outputPathCount

outputPathCount: number

Defined in: schema.ts:384

Output entries that CARRY a path — not all do (see GraphNodeOutput.path).

toBuildCount?

optional toBuildCount?: number

Defined in: schema.ts:395

T3 aggregates. Present-with-zero means a satisfied closure; absent means not collected.

toFetchCount?

optional toFetchCount?: number

Defined in: schema.ts:396

uniqueOutputPathCount

uniqueOutputPathCount: number

Defined in: schema.ts:386

Distinct paths among the path-bearing entries; duplicates exist but are rare.

unpackedBytes?

optional unpackedBytes?: number

Defined in: schema.ts:398


GraphTiers

Defined in: schema.ts:373

Which enrichment tiers this document actually carries. All four are required booleans: a tier that was not collected is false, never undefined, and the UI must render it as "not collected" rather than as a zero that reads like a measurement. substituters (T4) is always false.

Properties

dryRun

dryRun: boolean

Defined in: schema.ts:376

presence

presence: boolean

Defined in: schema.ts:374

sizes

sizes: boolean

Defined in: schema.ts:375

substituters

substituters: boolean

Defined in: schema.ts:377


ImportEdge

Defined in: schema.ts:184

Directed edge: from imports to (both FileEntry.id).

Properties

from

from: string

Defined in: schema.ts:185

to

to: string

Defined in: schema.ts:186


InputFollow

Defined in: schema.ts:230

A transitive lock-graph edge whose target node is already claimed by another inputs entry (follows dedup): the "sops-nix/nixpkgs → nixpkgs" arrows. Without these the deduped inputs record silently drops exactly the follows relationships people get lost in.

Properties

name

name: string

Defined in: schema.ts:232

"parent/child" name the edge would have had as its own entry.

target

target: string

Defined in: schema.ts:234

Name of the InputInfo entry that owns the shared lock node.


InputInfo

Defined in: schema.ts:88

Properties

aliases?

optional aliases?: string[]

Defined in: schema.ts:106

Other ROOT-level input names that follow this same lock node (e.g. "stable" for inputs.stable.follows = "nixpkgs"). The entry keeps the real (non-follows) input's name; aliases are sorted for determinism.

follows?

optional follows?: string

Defined in: schema.ts:116

Present when this input follows another (value = followed node key).

lastModified?

optional lastModified?: number

Defined in: schema.ts:112

name

name: string

Defined in: schema.ts:93

Display name: the input attr for direct inputs, "parent/child" for transitive ones (deduped — a followed input appears once).

narHash?

optional narHash?: string

Defined in: schema.ts:111

nodeKey

nodeKey: string

Defined in: schema.ts:98

flake.lock node key (differs from name for deduped/followed nodes). Not rendered directly, but it is the join target follows points at.

ref?

optional ref?: string

Defined in: schema.ts:109

rev?

optional rev?: string

Defined in: schema.ts:110

storePath?

optional storePath?: string

Defined in: schema.ts:114

toString inputs..outPath — prefix-match key for file attribution.

transitive?

optional transitive?: true

Defined in: schema.ts:100

Present on inputs-of-inputs; the UI legend shows direct inputs only.

type

type: string

Defined in: schema.ts:107

url?

optional url?: string

Defined in: schema.ts:108


InputRef

Defined in: schema.ts:190

A self file whose source text references inputs.<input> (or inputs'.<input>).

Properties

file

file: string

Defined in: schema.ts:192

FileEntry.id of the referencing file.

input

input: string

Defined in: schema.ts:194

Canonical root input name (follows aliases resolved to the real input).


Manifest

Defined in: schema.ts:9

Properties

configurations

configurations: ConfigRef[]

Defined in: schema.ts:27

extractor

extractor: string

Defined in: schema.ts:12

files

files: FileEntry[]

Defined in: schema.ts:18

flake

flake: FlakeInfo

Defined in: schema.ts:13

generatedAt

generatedAt: string

Defined in: schema.ts:11

grafts

grafts: GraftInfo[]

Defined in: schema.ts:47

Outputs that extend an input's same-named namespace (lib = nixpkgs.lib.extend …).

graphs?

optional graphs?: GraphRef[]

Defined in: schema.ts:36

Dependency-graph documents, one per derivation-typed output (see GraphRef). ADDITIVE and therefore optional: the extractor's field is #[serde(default)], so a manifest written before dependency graphs existed carries the same SCHEMA_VERSION with no graphs key at all. Always read it as ?? [].

importEdges

importEdges: ImportEdge[]

Defined in: schema.ts:20

file→file static import graph (self files only).

inputFollows

inputFollows: InputFollow[]

Defined in: schema.ts:26

Follows/shared-node edges dropped from inputs by dedup (see InputFollow).

inputRefs

inputRefs: InputRef[]

Defined in: schema.ts:22

Self files whose source references inputs.<name> (regex scan, like importEdges).

inputs

inputs: Record<string, InputInfo>

Defined in: schema.ts:17

Root-level inputs, keyed by input name.

outputNames

outputNames: Record<string, string[]>

Defined in: schema.ts:49

Top-level attr names per output — fills in where nix flake show says "unknown".

outputs

outputs: OutputNode

Defined in: schema.ts:15

Output tree from nix flake show --json, normalized.

overlayDefs?

optional overlayDefs?: OverlayDef[]

Defined in: schema.ts:24

Self files whose source defines overlays.<name> (regex scan, like inputRefs).

packageReverseDeps?

optional packageReverseDeps?: Record<string, string[]>

Defined in: schema.ts:45

"What in this flake depends on X": depended-on package refId -> dependent refIds. Present only in a static export (built from the embedded package blobs — see extract/reverse-deps.ts); authoritative over the EXPORTED set, which a partial --packages export makes partial. Absent in serve mode, where the manifest carries no package data — the SPA then derives a client-side index over loaded packages, labeled honestly.

packages

packages: PackageRef[]

Defined in: schema.ts:29

Derivation-typed outputs: packages, devShells, checks, formatter (see PackageRef).

version

version: 1

Defined in: schema.ts:10

warnings

warnings: string[]

Defined in: schema.ts:51

Non-fatal extraction problems, surfaced in the UI.


OptionEntry

Defined in: schema.ts:558

Properties

customized

customized: boolean

Defined in: schema.ts:569

isDefined && highestPrio < 1500 — a real definition beat the default.

declarations

declarations: DeclarationRef[]

Defined in: schema.ts:587

Declaring files.

default?

optional default?: unknown

Defined in: schema.ts:582

defaultNames?

optional defaultNames?: string[]

Defined in: schema.ts:584

Like valueNames, for a skipped package-typed default.

defaultText?

optional defaultText?: string

Defined in: schema.ts:585

definitions

definitions: DefinitionRef[]

Defined in: schema.ts:589

One entry per definition (options..definitionsWithLocations).

description?

optional description?: string

Defined in: schema.ts:563

highestPrio?

optional highestPrio?: number

Defined in: schema.ts:567

Winning definition priority; absent when !isDefined.

isDefined

isDefined: boolean

Defined in: schema.ts:565

loc

loc: string[]

Defined in: schema.ts:560

Option path, e.g. ["services", "nginx", "enable"].

readOnly

readOnly: boolean

Defined in: schema.ts:564

type?

optional type?: string

Defined in: schema.ts:562

type.description, e.g. "boolean" or "string matching ...".

value?

optional value?: unknown

Defined in: schema.ts:571

Merged value (scrubbed); absent for package-typed or throwing values.

valueError?

optional valueError?: true

Defined in: schema.ts:573

True when evaluating/serializing the value threw.

valueNames?

optional valueNames?: string[]

Defined in: schema.ts:581

Derivation names found in a package-typed value whose full value was skipped (valueSkipped stays true so older UIs degrade honestly). Only .name/.pname are forced per element — never the closure.

valueSkipped?

optional valueSkipped?: true

Defined in: schema.ts:575

True when the extractor skipped the value (package-typed, or a degraded chunk).


OverlayAttr

Defined in: schema.ts:219

One top-level attr an overlay body defines. override = its rhs patches the prior package (references prev./super. or uses .override/.overrideAttrs).

Properties

kind

kind: "add" | "override"

Defined in: schema.ts:221

name

name: string

Defined in: schema.ts:220


OverlayDef

Defined in: schema.ts:203

A self file whose source text defines overlays.<name> (or flake-parts' flake.overlays.<name>). The only defining-file signal available for overlays: nix flake show reports no position and the extractor never evaluates overlay bodies.

Properties

attrs?

optional attrs?: OverlayAttr[]

Defined in: schema.ts:214

Top-level attrs the overlay body adds/overrides, when the body could be located and its final: prev: { … } form scanned. Absent for overlays whose body can't be scanned syntactically (anonymous list overlays, computed attr names) — a documented limit, not an empty overlay.

file

file: string

Defined in: schema.ts:207

FileEntry.id of the defining file.

name

name: string

Defined in: schema.ts:205

Overlay attr name, e.g. "default".


PackageData

Defined in: schema.ts:503

Properties

builder

builder: BuilderKind

Defined in: schema.ts:515

deps

deps: PackageDeps

Defined in: schema.ts:521

drv?

optional drv?: DrvInfo

Defined in: schema.ts:522

id

id: string

Defined in: schema.ts:506

meta?

optional meta?: PackageMeta

Defined in: schema.ts:518

name?

optional name?: string

Defined in: schema.ts:508

outputs

outputs: object[]

Defined in: schema.ts:520

name

name: string

outPath?

optional outPath?: string

path

path: string[]

Defined in: schema.ts:507

pkgVersion?

optional pkgVersion?: string

Defined in: schema.ts:514

The derivation's own version attr — named pkgVersion (not version) to avoid colliding with the schema-version discriminant above.

pname?

optional pname?: string

Defined in: schema.ts:509

runtime?

optional runtime?: Record<string, RuntimeInfo>

Defined in: schema.ts:524

Keyed by output name, e.g. runtime.out.

src?

optional src?: PackageSrc

Defined in: schema.ts:519

stdenv?

optional stdenv?: string

Defined in: schema.ts:516

system?

optional system?: string

Defined in: schema.ts:517

version

version: 1

Defined in: schema.ts:505

SCHEMA_VERSION at extraction time — the SPA rejects mismatched blobs.

warnings

warnings: string[]

Defined in: schema.ts:525


PackageDeps

Defined in: schema.ts:453

Properties

buildInputs

buildInputs: string[]

Defined in: schema.ts:455

nativeBuildInputs

nativeBuildInputs: string[]

Defined in: schema.ts:454

propagatedBuildInputs

propagatedBuildInputs: string[]

Defined in: schema.ts:456


PackageLicense

Defined in: schema.ts:417

Properties

free?

optional free?: boolean

Defined in: schema.ts:422

fullName?

optional fullName?: string

Defined in: schema.ts:419

shortName?

optional shortName?: string

Defined in: schema.ts:418

spdxId?

optional spdxId?: string

Defined in: schema.ts:420

url?

optional url?: string

Defined in: schema.ts:421


PackageMaintainer

Defined in: schema.ts:425

Properties

email?

optional email?: string

Defined in: schema.ts:428

github?

optional github?: string

Defined in: schema.ts:427

name?

optional name?: string

Defined in: schema.ts:426


PackageMeta

Defined in: schema.ts:431

Properties

broken?

optional broken?: boolean

Defined in: schema.ts:442

description?

optional description?: string

Defined in: schema.ts:432

homepage?

optional homepage?: string

Defined in: schema.ts:433

license?

optional license?: PackageLicense[]

Defined in: schema.ts:435

Always normalized to a list, whatever shape meta.license took (attr/list/string).

mainProgram?

optional mainProgram?: string

Defined in: schema.ts:437

maintainers?

optional maintainers?: PackageMaintainer[]

Defined in: schema.ts:439

Capped — some nixpkgs packages list dozens.

platforms?

optional platforms?: string[]

Defined in: schema.ts:436

position?

optional position?: string

Defined in: schema.ts:441

meta.position, "file:line" — resolvable to a file chip when under the flake's own path.

unfree?

optional unfree?: boolean

Defined in: schema.ts:443


PackageRef

Defined in: schema.ts:259

Properties

dataFile

dataFile: string

Defined in: schema.ts:265

Data file relative to the data dir, e.g. "package/packages.x86_64-linux.rtk.json".

durationMs?

optional durationMs?: number

Defined in: schema.ts:269

error?

optional error?: string

Defined in: schema.ts:267

extractedAt?

optional extractedAt?: string

Defined in: schema.ts:268

id

id: string

Defined in: schema.ts:261

path.join("/"), e.g. "packages/x86_64-linux/rtk".

path

path: string[]

Defined in: schema.ts:263

Output-tree path segments, e.g. ["packages", "x86_64-linux", "rtk"].

status

status: "error" | "pending" | "ok"

Defined in: schema.ts:266


PackageSrc

Defined in: schema.ts:446

Properties

outputHash?

optional outputHash?: string

Defined in: schema.ts:450

rev?

optional rev?: string

Defined in: schema.ts:449

storePath?

optional storePath?: string

Defined in: schema.ts:447

url?

optional url?: string

Defined in: schema.ts:448


RuntimeInfo

Defined in: schema.ts:493

nix path-info for one output — present only when that output's path is already valid in the local store (query-only; this tool never builds).

Properties

closureSize?

optional closureSize?: number

Defined in: schema.ts:497

narSize?

optional narSize?: number

Defined in: schema.ts:496

outPath

outPath: string

Defined in: schema.ts:494

references

references: string[]

Defined in: schema.ts:495


TokenRun

Defined in: schema.ts:176

Properties

end

end: number

Defined in: schema.ts:178

name

name: string

Defined in: schema.ts:180

Highlight-query capture name, e.g. "keyword", "string", "string.special.path".

start

start: number

Defined in: schema.ts:177

Type Aliases

BuilderKind

BuilderKind = "rustPlatform" | "buildGoModule" | "node" | "trivial" | "stdenv" | "unknown"

Defined in: schema.ts:409


ConfigKind

ConfigKind = "nixos" | "darwin"

Defined in: schema.ts:237


FileOrigin

FileOrigin = { kind: "self"; } | { input: string; kind: "input"; patched?: true; } | { group?: string; kind: "unknown"; }

Defined in: schema.ts:119

Union Members

Type Literal

{ kind: "self"; }


Type Literal

{ input: string; kind: "input"; patched?: true; }

patched: the file lives in a patched COPY of the input's source tree.


Type Literal

{ group?: string; kind: "unknown"; }

group: display bucket for unattributed store roots ("source@abc1234").


OutputNode

OutputNode = { children: Record<string, OutputNode>; kind: "attrset"; } | { description?: string; kind: "leaf"; name?: string; type: string; } | { kind: "omitted"; } | { kind: "unknown"; }

Defined in: schema.ts:80

Union Members

Type Literal

{ children: Record<string, OutputNode>; kind: "attrset"; }


Type Literal

{ description?: string; kind: "leaf"; name?: string; type: string; }


Type Literal

{ kind: "omitted"; }

nix flake show omitted this (other-system or eval failure).


Type Literal

{ kind: "unknown"; }

nix flake show could not classify it ({"unknown": true}).


ParsedFileId

ParsedFileId = { kind: "self"; relPath: string; } | { input: string; kind: "input"; relPath: string; }

Defined in: schema.ts:140

Variables

PRIO

const PRIO: object

Defined in: schema.ts:550

Well-known mk-priority values (lib.mkOverride n).

Type Declaration

mkDefault

readonly mkDefault: 1000 = 1000

mkForce

readonly mkForce: 50 = 50

optionDefault

readonly optionDefault: 1500 = 1500

The option's own declared default (lib.mkOptionDefault).

plain

readonly plain: 100 = 100


SCHEMA_VERSION

const SCHEMA_VERSION: 1 = 1

Defined in: schema.ts:7


UNKNOWN_FILE

const UNKNOWN_FILE: "<unknown-file>" = "<unknown-file>"

Defined in: schema.ts:627

Sentinel file string the module system uses for inline/anonymous modules.

Functions

displayLabel()

displayLabel(id): string

Defined in: schema.ts:151

Display label for a file id: its relPath; opaque (unknown-bucket) ids as-is.

Parameters

id

string

Returns

string


isConfigData()

isConfigData(v): v is ConfigData

Defined in: schema.ts:657

Parameters

v

unknown

Returns

v is ConfigData


isGraphData()

isGraphData(v): v is GraphData

Defined in: schema.ts:672

O(1) checks only — the structural invariants of a graph (edges aligned with nodes, every index in range) cost O(nodes + edges) and are enforced by buildGraphIndexes, which is already paying that pass. tiers and stats are required on the extractor side and dereferenced unconditionally by the annotation UI, so their absence is rejected here rather than later.

Parameters

v

unknown

Returns

v is GraphData


isManifest()

isManifest(v): v is Manifest

Defined in: schema.ts:643

Parameters

v

unknown

Returns

v is Manifest


isPackageData()

isPackageData(v): v is PackageData

Defined in: schema.ts:661

Parameters

v

unknown

Returns

v is PackageData


makeFileId()

makeFileId(origin, relPath): string

Defined in: schema.ts:133

FileEntry.id codec. The format ("self:" | "input::") is a client-server protocol — serve's /data/file/ route re-derives input files from the id — so every construction and parse site goes through these helpers. (resolveFile's "unknown:…"/"inline" buckets are app-internal and opaque: parseFileId returns null for them.)

Parameters

origin

{ kind: "self"; } | { input: string; kind: "input"; }

relPath

string

Returns

string


parseFileId()

parseFileId(id): ParsedFileId | null

Defined in: schema.ts:144

Parameters

id

string

Returns

ParsedFileId | null