interface ParseResult { nodes: { context?: string | string[]; description?: string | string[]; external_references?: { description?: string | string[]; identifier: string; internalised?: string | string[]; node_id?: string; role: | "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art"; }[]; id: string; includes?: string[]; input?: string; lifecycle?: Record<string, string | boolean>; name: string; operations?: { description?: string | string[]; target?: string; type: "link" | "add" | "update" | "remove"; [key: string]: unknown; }[]; options?: { description: string | string[]; id: string; [key: string]: unknown; }[]; output?: string; plan?: { description: string | string[]; done?: boolean; [key: string]: unknown; }[]; propagation?: Record<string, boolean>; rationale?: string | string[]; scope?: string[]; selected?: string; status?: | "deprecated" | "proposed" | "accepted" | "active" | "implemented" | "adopted" | "defined" | "introduced" | "in_progress" | "complete" | "consolidated" | "experimental" | "retired" | "superseded" | "abandoned" | "deferred"; subsystem?: { $schema?: string; external_references?: { description?: string | string[]; identifier: string; internalised?: string | string[]; node_id?: string; role: | "output" | "input" | "context" | "evidence" | "source" | "standard" | "prior_art"; }[]; metadata?: { doc_type?: string; scope?: string; status?: string; title?: string; version?: string | number; [key: string]: unknown; }; nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | ... 6 more ... | "version"; ... 16 more ...; subsystem?: { ...; } | undefined; }[]
; relationships?: { description?: string | string[]; from: string; polarity?: "positive" | "negative" | "neutral" | "uncertain"; strength?: number; to: string; type: | "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "performs" | "part_of" | "precedes" | "must_follow" | "blocks" | "routes_to" | "governed_by" | "modifies" | "triggered_by" | "applies_to" | "produces" | "consumes" | "transforms_into" | "selects" | "requires" | "disables" | "influence"; [key: string]: unknown; }[]; }; type: | "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | "artefact" | "artefact_flow" | "decision" | "change" | "view" | "milestone" | "version"; [key: string]: unknown; }[]; relationships: { description?: string | string[]; from: string; polarity?: "positive" | "negative" | "neutral" | "uncertain"; strength?: number; to: string; type: | "refines" | "realises" | "implements" | "depends_on" | "constrained_by" | "affects" | "supersedes" | "must_preserve" | "performs" | "part_of" | "precedes" | "must_follow" | "blocks" | "routes_to" | "governed_by" | "modifies" | "triggered_by" | "applies_to" | "produces" | "consumes" | "transforms_into" | "selects" | "requires" | "disables" | "influence"; [key: string]: unknown; }[];} Properties
nodes
nodes: {
context?: string | string[];
description?: string | string[];
external_references?: {
description?: string | string[];
identifier: string;
internalised?: string | string[];
node_id?: string;
role:
| "output"
| "input"
| "context"
| "evidence"
| "source"
| "standard"
| "prior_art";
}[];
id: string;
includes?: string[];
input?: string;
lifecycle?: Record<string, string | boolean>;
name: string;
operations?: {
description?: string | string[];
target?: string;
type: "link" | "add" | "update" | "remove";
[key: string]: unknown;
}[];
options?: {
description: string
| string[];
id: string;
[key: string]: unknown;
}[];
output?: string;
plan?: {
description: string
| string[];
done?: boolean;
[key: string]: unknown;
}[];
propagation?: Record<string, boolean>;
rationale?: string | string[];
scope?: string[];
selected?: string;
status?:
| "deprecated"
| "proposed"
| "accepted"
| "active"
| "implemented"
| "adopted"
| "defined"
| "introduced"
| "in_progress"
| "complete"
| "consolidated"
| "experimental"
| "retired"
| "superseded"
| "abandoned"
| "deferred";
subsystem?: {
$schema?: string;
external_references?: {
description?: string
| string[];
identifier: string;
internalised?: string | string[];
node_id?: string;
role:
| "output"
| "input"
| "context"
| "evidence"
| "source"
| "standard"
| "prior_art";
}[];
metadata?: {
doc_type?: string;
scope?: string;
status?: string;
title?: string;
version?: string
| number;
[key: string]: unknown;
};
nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | "mode" | ... 6 more ... | "version"; ... 16 more ...; subsystem?: { ...; } | undefined; }[];
relationships?: {
description?: string
| string[];
from: string;
polarity?: "positive" | "negative" | "neutral" | "uncertain";
strength?: number;
to: string;
type:
| "refines"
| "realises"
| "implements"
| "depends_on"
| "constrained_by"
| "affects"
| "supersedes"
| "must_preserve"
| "performs"
| "part_of"
| "precedes"
| "must_follow"
| "blocks"
| "routes_to"
| "governed_by"
| "modifies"
| "triggered_by"
| "applies_to"
| "produces"
| "consumes"
| "transforms_into"
| "selects"
| "requires"
| "disables"
| "influence";
[key: string]: unknown;
}[];
};
type: | "intent"
| "concept"
| "capability"
| "element"
| "realisation"
| "invariant"
| "principle"
| "policy"
| "protocol"
| "stage"
| "role"
| "gate"
| "mode"
| "artefact"
| "artefact_flow"
| "decision"
| "change"
| "view"
| "milestone"
| "version";
[key: string]: unknown;
}[]
relationships
relationships: {
description?: string | string[];
from: string;
polarity?: "positive" | "negative" | "neutral" | "uncertain";
strength?: number;
to: string;
type:
| "refines"
| "realises"
| "implements"
| "depends_on"
| "constrained_by"
| "affects"
| "supersedes"
| "must_preserve"
| "performs"
| "part_of"
| "precedes"
| "must_follow"
| "blocks"
| "routes_to"
| "governed_by"
| "modifies"
| "triggered_by"
| "applies_to"
| "produces"
| "consumes"
| "transforms_into"
| "selects"
| "requires"
| "disables"
| "influence";
[key: string]: unknown;
}[]
Result of parsing a Spec-Kit file — extracted nodes and relationships.