SysProM
    Preparing search index...

    Function markdownToJson

    • Parse Markdown into a SysProM document, auto-detecting single-file or multi-doc format.

      Parameters

      • input: string

        File path or directory path to parse.

      Returns {
          $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: {
              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?: { nodes: { [x: string]: unknown; id: string; type: "intent" | "concept" | "capability" | "element" | "realisation" | "invariant" | "principle" | "policy" | "protocol" | "stage" | "role" | "gate" | ... 7 more ... | "version"; ... 16 more ...; subsystem?: ... | undefined; }[]; $schema?: string | undefined; metadata?: ...;
              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;
          }[];
      }

      The parsed SysProM document.

      const doc = markdownToJson("./SysProM");