SysProM
    Preparing search index...

    Variable updatePlanTaskOpConst

    updatePlanTaskOp: DefinedOperation<
        ZodObject<
            {
                changeId: ZodString;
                doc: 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<
                                {
                                    context: ZodOptional<(...) & (...)>;
                                    description: ZodOptional<(...) & (...)>;
                                    external_references: ZodOptional<ZodArray<(...)>>;
                                    id: ZodString;
                                    includes: ZodOptional<ZodArray<(...)>>;
                                    input: ZodOptional<ZodString>;
                                    lifecycle: ZodOptional<ZodRecord<(...), (...)>>;
                                    name: ZodString;
                                    operations: ZodOptional<ZodArray<(...)>>;
                                    options: ZodOptional<ZodArray<(...)>>;
                                    output: ZodOptional<ZodString>;
                                    plan: ZodOptional<ZodArray<(...)>>;
                                    propagation: ZodOptional<ZodRecord<(...), (...)>>;
                                    rationale: ZodOptional<(...) & (...)>;
                                    scope: ZodOptional<ZodArray<(...)>>;
                                    selected: ZodOptional<ZodString>;
                                    status: ZodOptional<(...) & (...)>;
                                    type: ZodEnum<(...)> & { is(value: ...): value is (...) };
                                    get subsystem(): ZodOptional<
                                        (
                                            ZodObject<{ $schema: ZodOptional<ZodString>; metadata: ZodOptional<ZodObject<{ title: ZodOptional<ZodString>; doc_type: ZodOptional<ZodString>; scope: ZodOptional<...>; status: ZodOptional<...>; version: ZodOptional<...>; }, $loose> & { ...; }>; nodes: ZodArray<...>; relationships: ZodOptional<...>; external_referen...
                                        ),
                                    >;
                                },
                                $loose,
                            >,
                        >;
                        relationships: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    {
                                        description: ...;
                                        from: ...;
                                        polarity: ...;
                                        strength: ...;
                                        to: ...;
                                        type: ...;
                                    },
                                    $loose,
                                > & {
                                    is(
                                        value: unknown,
                                    ): value is {
                                        description?: ...;
                                        from: ...;
                                        polarity?: ...;
                                        strength?: ...;
                                        to: ...;
                                        type: ...;
                                        [key: ...]: ...;
                                    };
                                },
                            >,
                        >;
                    },
                    $strip,
                > & {
                    is(
                        value: unknown,
                    ): value is {
                        $schema?: string;
                        external_references?: {
                            description?: string | (...)[];
                            identifier: string;
                            internalised?: 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?: ...;
                                identifier: ...;
                                internalised?: ...;
                                node_id?: ...;
                                role: ...;
                            }[];
                            id: string;
                            includes?: string[];
                            input?: string;
                            lifecycle?: Record<string, (...) | (...) | (...)>;
                            name: string;
                            operations?: {
                                description?: ...;
                                target?: ...;
                                type: ...;
                                [key: ...]: ...;
                            }[];
                            options?: { description: ...; id: ...; [key: ...]: ... }[];
                            output?: string;
                            plan?: { description: ...; done?: ...; [key: ...]: ... }[];
                            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
                            | (...)[];
                            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;
                        }[];
                    };
                };
                done: ZodBoolean;
                taskIndex: ZodNumber;
            },
            $strip,
        >,
        ZodObject<
            {
                $schema: ZodOptional<ZodString>;
                external_references: ZodOptional<
                    ZodArray<
                        ZodObject<
                            {
                                description: ZodOptional<(...) & (...)>;
                                identifier: ZodString;
                                internalised: ZodOptional<(...) & (...)>;
                                node_id: ZodOptional<ZodString>;
                                role: ZodEnum<(...)> & { is(value: ...): value is (...) };
                            },
                            $strip,
                        > & {
                            is(
                                value: unknown,
                            ): value is {
                                description?: string | (...)[];
                                identifier: string;
                                internalised?: string | (...)[];
                                node_id?: string;
                                role:
                                    | "output"
                                    | "input"
                                    | "context"
                                    | "evidence"
                                    | "source"
                                    | "standard"
                                    | "prior_art";
                            };
                        },
                    >,
                >;
                metadata: ZodOptional<
                    ZodObject<
                        {
                            doc_type: ZodOptional<ZodString>;
                            scope: ZodOptional<ZodString>;
                            status: ZodOptional<ZodString>;
                            title: ZodOptional<ZodString>;
                            version: ZodOptional<ZodUnion<readonly [(...), (...)]>>;
                        },
                        $loose,
                    > & {
                        is(
                            value: unknown,
                        ): value is {
                            doc_type?: string;
                            scope?: string;
                            status?: string;
                            title?: string;
                            version?: string | number;
                            [key: string]: unknown;
                        };
                    },
                >;
                nodes: ZodArray<
                    ZodObject<
                        {
                            context: ZodOptional<
                                ZodUnion<readonly [(...), (...)]> & {
                                    is(value: unknown): value is (...) | (...);
                                },
                            >;
                            description: ZodOptional<
                                ZodUnion<readonly [(...), (...)]> & {
                                    is(value: unknown): value is (...) | (...);
                                },
                            >;
                            external_references: ZodOptional<
                                ZodArray<
                                    ZodObject<(...), (...)> & { is(value: ...): value is (...) },
                                >,
                            >;
                            id: ZodString;
                            includes: ZodOptional<ZodArray<ZodString>>;
                            input: ZodOptional<ZodString>;
                            lifecycle: ZodOptional<
                                ZodRecord<ZodString, ZodUnion<readonly [(...), (...)]>>,
                            >;
                            name: ZodString;
                            operations: ZodOptional<
                                ZodArray<
                                    ZodObject<(...), (...)> & { is(value: ...): value is (...) },
                                >,
                            >;
                            options: ZodOptional<
                                ZodArray<
                                    ZodObject<(...), (...)> & { is(value: ...): value is (...) },
                                >,
                            >;
                            output: ZodOptional<ZodString>;
                            plan: ZodOptional<
                                ZodArray<
                                    ZodObject<(...), (...)> & { is(value: ...): value is (...) },
                                >,
                            >;
                            propagation: ZodOptional<ZodRecord<ZodString, ZodBoolean>>;
                            rationale: ZodOptional<
                                ZodUnion<readonly [(...), (...)]> & {
                                    is(value: unknown): value is (...) | (...);
                                },
                            >;
                            scope: ZodOptional<ZodArray<ZodString>>;
                            selected: ZodOptional<ZodString>;
                            status: ZodOptional<
                                ZodEnum<
                                    {
                                        abandoned: ...;
                                        accepted: ...;
                                        active: ...;
                                        adopted: ...;
                                        complete: ...;
                                        consolidated: ...;
                                        deferred: ...;
                                        defined: ...;
                                        deprecated: ...;
                                        experimental: ...;
                                        implemented: ...;
                                        in_progress: ...;
                                        introduced: ...;
                                        proposed: ...;
                                        retired: ...;
                                        superseded: ...;
                                    },
                                > & {
                                    is(
                                        value: unknown,
                                    ): value is
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...)
                                        | (...);
                                },
                            >;
                            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>; metadata: ZodOptional<ZodObject<{ title: ZodOptional<ZodString>; doc_type: ZodOptional<ZodString>; scope: ZodOptional<...>; status: ZodOptional<...>; version: ZodOptional<...>; }, $loose> & { ...; }>; nodes: ZodArray<...>; relationships: ZodOptional<...>; external_referen...
                                ),
                            >;
                        },
                        $loose,
                    >,
                >;
                relationships: ZodOptional<
                    ZodArray<
                        ZodObject<
                            {
                                description: ZodOptional<(...) & (...)>;
                                from: ZodString;
                                polarity: ZodOptional<(...) & (...)>;
                                strength: ZodOptional<ZodNumber>;
                                to: ZodString;
                                type: ZodEnum<(...)> & { is(value: ...): value is (...) };
                            },
                            $loose,
                        > & {
                            is(
                                value: unknown,
                            ): value is {
                                description?: 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;
                            };
                        },
                    >,
                >;
            },
            $strip,
        > & {
            is(
                value: unknown,
            ): value is {
                $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 | (...)[];
                        identifier: string;
                        internalised?: 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 | (...)[];
                        target?: string;
                        type: "link" | "add" | "update" | "remove";
                        [key: string]: unknown;
                    }[];
                    options?: {
                        description: string
                        | (...)[];
                        id: string;
                        [key: string]: unknown;
                    }[];
                    output?: string;
                    plan?: {
                        description: 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;
                }[];
            };
        },
    > = ...

    Set the done status of a task in a change node's plan array. Returns a new document.

    If the change node is not found or the task index is out of range.