Node: ZodObject<
{
context: ZodOptional<
ZodUnion<readonly [ZodString, ZodArray<ZodString>]> & {
is(value: unknown): value is string | string[];
},
>;
description: ZodOptional<
ZodUnion<readonly [ZodString, ZodArray<ZodString>]> & {
is(value: unknown): value is string | string[];
},
>;
external_references: ZodOptional<
ZodArray<
ZodObject<
{
description: ZodOptional<
ZodUnion<(...)> & { is(value: ...): value is (...) },
>;
identifier: ZodString;
internalised: ZodOptional<
ZodUnion<(...)> & { is(value: ...): value is (...) },
>;
node_id: ZodOptional<ZodString>;
role: ZodEnum<
{
context: ...;
evidence: ...;
input: ...;
output: ...;
prior_art: ...;
source: ...;
standard: ...;
},
> & {
is(
value: unknown,
): value is (...) | (...) | (...) | (...) | (...) | (...) | (...);
};
},
$strip,
> & {
is(
value: unknown,
): value is {
description?: string | string[];
identifier: string;
internalised?: string | string[];
node_id?: string;
role:
| "output"
| "input"
| "context"
| "evidence"
| "source"
| "standard"
| "prior_art";
};
},
>,
>;
id: ZodString;
includes: ZodOptional<ZodArray<ZodString>>;
input: ZodOptional<ZodString>;
lifecycle: ZodOptional<
ZodRecord<ZodString, ZodUnion<readonly [ZodBoolean, ZodString]>>,
>;
name: ZodString;
operations: ZodOptional<
ZodArray<
ZodObject<
{
description: ZodOptional<
ZodUnion<(...)> & { is(value: ...): value is (...) },
>;
target: ZodOptional<ZodString>;
type: ZodEnum<
{ add: "add"; link: "link"; remove: "remove"; update: "update" },
>;
},
$loose,
> & {
is(
value: unknown,
): value is {
description?: string | string[];
target?: string;
type: "link" | "add" | "update" | "remove";
[key: string]: unknown;
};
},
>,
>;
options: ZodOptional<
ZodArray<
ZodObject<
{
description: ZodUnion<readonly [(...), (...)]> & {
is(value: unknown): value is (...) | (...);
};
id: ZodString;
},
$loose,
> & {
is(
value: unknown,
): value is {
description: string | string[];
id: string;
[key: string]: unknown;
};
},
>,
>;
output: ZodOptional<ZodString>;
plan: ZodOptional<
ZodArray<
ZodObject<
{
description: ZodUnion<readonly [(...), (...)]> & {
is(value: unknown): value is (...) | (...);
};
done: ZodOptional<ZodDefault<ZodBoolean>>;
},
$loose,
> & {
is(
value: unknown,
): value is {
description: string | string[];
done?: boolean;
[key: string]: unknown;
};
},
>,
>;
propagation: ZodOptional<ZodRecord<ZodString, ZodBoolean>>;
rationale: ZodOptional<
ZodUnion<readonly [ZodString, ZodArray<ZodString>]> & {
is(value: unknown): value is string | string[];
},
>;
scope: ZodOptional<ZodArray<ZodString>>;
selected: ZodOptional<ZodString>;
status: ZodOptional<
ZodEnum<
{
abandoned: "abandoned";
accepted: "accepted";
active: "active";
adopted: "adopted";
complete: "complete";
consolidated: "consolidated";
deferred: "deferred";
defined: "defined";
deprecated: "deprecated";
experimental: "experimental";
implemented: "implemented";
in_progress: "in_progress";
introduced: "introduced";
proposed: "proposed";
retired: "retired";
superseded: "superseded";
},
> & {
is(
value: unknown,
): value is
| "deprecated"
| "proposed"
| "accepted"
| "active"
| "implemented"
| "adopted"
| "defined"
| "introduced"
| "in_progress"
| "complete"
| "consolidated"
| "experimental"
| "retired"
| "superseded"
| "abandoned"
| "deferred";
},
>;
type: ZodEnum<
{
artefact: "artefact";
artefact_flow: "artefact_flow";
capability: "capability";
change: "change";
concept: "concept";
decision: "decision";
element: "element";
gate: "gate";
intent: "intent";
invariant: "invariant";
milestone: "milestone";
mode: "mode";
policy: "policy";
principle: "principle";
protocol: "protocol";
realisation: "realisation";
role: "role";
stage: "stage";
version: "version";
view: "view";
},
> & {
is(
value: unknown,
): value is
| "intent"
| "concept"
| "capability"
| "element"
| "realisation"
| "invariant"
| "principle"
| "policy"
| "protocol"
| "stage"
| "role"
| "gate"
| "mode"
| "artefact"
| "artefact_flow"
| "decision"
| "change"
| "view"
| "milestone"
| "version";
};
get subsystem(): ZodOptional<
ZodObject<
{
$schema: ZodOptional<ZodString>;
external_references: ZodOptional<
ZodArray<
ZodObject<
{
description: ...;
identifier: ...;
internalised: ...;
node_id: ...;
role: ...;
},
$strip,
> & {
is(
value: unknown,
): value is {
description?: ...;
identifier: ...;
internalised?: ...;
node_id?: ...;
role: ...;
};
},
>,
>;
metadata: ZodOptional<
ZodObject<
{
doc_type: ZodOptional<(...)>;
scope: ZodOptional<(...)>;
status: ZodOptional<(...)>;
title: ZodOptional<(...)>;
version: ZodOptional<(...)>;
},
$loose,
> & {
is(
value: unknown,
): value is {
doc_type?: (...) | (...);
scope?: (...) | (...);
status?: (...) | (...);
title?: (...) | (...);
version?: (...) | (...) | (...);
[key: string]: unknown;
};
},
>;
nodes: ZodArray<
(
ZodObject<{ id: ZodString; type: ZodEnum<{ intent: "intent"; concept: "concept"; capability: "capability"; element: "element"; realisation: "realisation"; invariant: "invariant"; principle: "principle"; ... 12 more ...; version: "version"; }> & { ...; }; ... 16 more ...; readonly subsystem: ZodOptional<...>; }, $loo...
),
>;
relationships: ZodOptional<
ZodArray<
ZodObject<
{
description: ...;
from: ...;
polarity: ...;
strength: ...;
to: ...;
type: ...;
},
$loose,
> & {
is(
value: unknown,
): value is {
description?: ...;
from: ...;
polarity?: ...;
strength?: ...;
to: ...;
type: ...;
[key: ...]: ...;
};
},
>,
>;
},
$strip,
>,
>;
},
$loose,
> & {
is(
value: unknown,
): value is {
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;
};
} = ...
Zod schema for a single node in the SysProM graph. Nodes are typed entities with optional lifecycle, decisions, operations, and recursive subsystems. Includes a
.is()type guard for runtime validation.