proposit-core
    Preparing search index...

    Class PropositCore<TArg, TPremise, TExpr, TVar, TClaim, TCitation, TAxiom, TArgFork, TPremiseFork, TExprFork, TVarFork, TClaimFork, TOriginDocument, TOriginLink, TOriginAnchor>

    Top-level orchestrator for the proposit-core system. Owns every library (claims, claim citations, axioms, forks, arguments, origins) and provides unified snapshot/restore and validation.

    Construction order follows dependency order: claims -> citations -> axioms -> origins -> forks -> arguments.

    As of v0.10.0 the legacy sources and claimSources libraries have been folded into claims and citations respectively — sources are now claims with type: "citation". As of v0.12.0 a parallel axioms library holds axiomatic-claim connections (a third claim type "axiomatic"). The origins library holds the source texts arguments were built from, their per-version links, and the spans individual parts derive from.

    Type Parameters

    Index

    Constructors

    • Type Parameters

      • TArg extends {
            checksum: string;
            combinedChecksum: string;
            descendantChecksum: string | null;
            id: string;
            version: number;
        } = {
            checksum: string;
            combinedChecksum: string;
            descendantChecksum: string | null;
            id: string;
            version: number;
        }
      • TPremise extends
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "freeform";
            }
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                derivedClaimId: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "derivation";
            } =
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "freeform";
            }
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                derivedClaimId: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "derivation";
            }
      • TExpr extends TCorePropositionalExpression = TCorePropositionalExpression
      • TVar extends
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                claimId: string;
                claimVersion: number;
                id: string;
                symbol: string;
            }
            | {
                argumentId: string;
                argumentVersion: number;
                boundArgumentId: string;
                boundArgumentVersion: number;
                boundPremiseId: string;
                checksum: string;
                id: string;
                symbol: string;
            } =
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                claimId: string;
                claimVersion: number;
                id: string;
                symbol: string;
            }
            | {
                argumentId: string;
                argumentVersion: number;
                boundArgumentId: string;
                boundArgumentVersion: number;
                boundPremiseId: string;
                checksum: string;
                id: string;
                symbol: string;
            }
      • TClaim extends {
            checksum: string;
            frozen: boolean;
            id: string;
            type: "normal" | "citation" | "axiomatic";
            version: number;
        } = {
            checksum: string;
            frozen: boolean;
            id: string;
            type: "normal" | "citation" | "axiomatic";
            version: number;
        }
      • TCitation extends {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        } = {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        }
      • TAxiom extends {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        } = {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        }
      • TArgFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TPremiseFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TExprFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromPremiseId: string } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromPremiseId: string }
      • TVarFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TClaimFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromEntityVersion: number } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromEntityVersion: number }
      • TOriginDocument extends {
            checksum: string;
            digest: string;
            id: string;
            segments?: {
                endCodePoint: number;
                segmentId: string;
                startCodePoint: number;
            }[];
            text: string;
        } = {
            checksum: string;
            digest: string;
            id: string;
            segments?: {
                endCodePoint: number;
                segmentId: string;
                startCodePoint: number;
            }[];
            text: string;
        }
      • TOriginLink extends {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            id: string;
            stance: "representation" | "seed";
        } = {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            id: string;
            stance: "representation" | "seed";
        }
      • TOriginAnchor extends {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            endCodePoint: number;
            exact: string;
            id: string;
            prefix?: string;
            startCodePoint: number;
            suffix?: string;
            targetId: string;
            targetType: "expression" | "premise" | "argument";
        } = {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            endCodePoint: number;
            exact: string;
            id: string;
            prefix?: string;
            startCodePoint: number;
            suffix?: string;
            targetId: string;
            targetType: "expression" | "premise" | "argument";
        }

      Parameters

      Returns PropositCore<
          TArg,
          TPremise,
          TExpr,
          TVar,
          TClaim,
          TCitation,
          TAxiom,
          TArgFork,
          TPremiseFork,
          TExprFork,
          TVarFork,
          TClaimFork,
          TOriginDocument,
          TOriginLink,
          TOriginAnchor,
      >

    Properties

    generateId: () => string

    Methods

    • Computes a structural diff between two arguments managed by this PropositCore instance. Automatically injects fork-aware entity matchers derived from the fork records stored in this.forks. Caller-provided matchers in options take precedence over the fork-aware defaults.

      Modified entities carry a state field: modified-own (own change) or modified-within (contained/referenced change only). See diffArguments for the id-stability contract governing state expressibility.

      Parameters

      • argumentIdA: string

        The ID of the "before" argument.

      • argumentIdB: string

        The ID of the "after" argument.

      • Optionaloptions: TCoreDiffOptions<TArg, TVar, TPremise, TExpr>

        Optional diff configuration and comparator overrides.

      Returns TCoreArgumentDiff<TArg, TVar, TPremise, TExpr>

      A structural diff between the two arguments.

    • Forks an argument, cloning its referenced claims (including any citation-typed claims reachable via citations) and the citation edges between them, then remaps variable claim references to point at the cloned claims. Creates fork records in all five namespaces.

      Parameters

      • argumentId: string

        The ID of the argument to fork.

      • OptionalnewArgumentId: string

        The ID for the forked argument. Defaults to this.generateId().

      • Optionaloptions: TForkArgumentOptions & {
            argumentForkExtras?: Partial<
                Omit<
                    TArgFork,
                    | "entityId"
                    | "forkedFromEntityId"
                    | "forkedFromArgumentId"
                    | "forkedFromArgumentVersion"
                    | "forkId",
                >,
            >;
            claimForkExtras?: Partial<
                Omit<
                    TClaimFork,
                    | "entityId"
                    | "forkedFromEntityId"
                    | "forkedFromArgumentId"
                    | "forkedFromArgumentVersion"
                    | "forkId"
                    | "forkedFromEntityVersion",
                >,
            >;
            expressionForkExtras?: Partial<
                Omit<
                    TExprFork,
                    | "entityId"
                    | "forkedFromEntityId"
                    | "forkedFromArgumentId"
                    | "forkedFromArgumentVersion"
                    | "forkId"
                    | "forkedFromPremiseId",
                >,
            >;
            forkId?: string;
            premiseForkExtras?: Partial<
                Omit<
                    TPremiseFork,
                    | "entityId"
                    | "forkedFromEntityId"
                    | "forkedFromArgumentId"
                    | "forkedFromArgumentVersion"
                    | "forkId",
                >,
            >;
            variableForkExtras?: Partial<
                Omit<
                    TVarFork,
                    | "entityId"
                    | "forkedFromEntityId"
                    | "forkedFromArgumentId"
                    | "forkedFromArgumentVersion"
                    | "forkId",
                >,
            >;
        }

        Optional fork configuration and extras for fork records.

      Returns {
          argumentFork: TArgFork;
          claimRemap: Map<string, string>;
          engine: ArgumentEngine<TArg, TPremise, TExpr, TVar, TClaim>;
          remapTable: TForkRemapTable;
      }

      The forked engine, remap tables, and the argument fork record.

    • Restores a PropositCore instance from a snapshot. Libraries are restored in dependency order: claims -> citations -> axioms -> forks -> arguments.

      Type Parameters

      • TArg extends {
            checksum: string;
            combinedChecksum: string;
            descendantChecksum: string | null;
            id: string;
            version: number;
        } = {
            checksum: string;
            combinedChecksum: string;
            descendantChecksum: string | null;
            id: string;
            version: number;
        }
      • TPremise extends
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "freeform";
            }
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                derivedClaimId: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "derivation";
            } =
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "freeform";
            }
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                combinedChecksum: string;
                derivedClaimId: string;
                descendantChecksum: string
                | null;
                enthymeme?: true;
                id: string;
                type: "derivation";
            }
      • TExpr extends TCorePropositionalExpression = TCorePropositionalExpression
      • TVar extends
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                claimId: string;
                claimVersion: number;
                id: string;
                symbol: string;
            }
            | {
                argumentId: string;
                argumentVersion: number;
                boundArgumentId: string;
                boundArgumentVersion: number;
                boundPremiseId: string;
                checksum: string;
                id: string;
                symbol: string;
            } =
            | {
                argumentId: string;
                argumentVersion: number;
                checksum: string;
                claimId: string;
                claimVersion: number;
                id: string;
                symbol: string;
            }
            | {
                argumentId: string;
                argumentVersion: number;
                boundArgumentId: string;
                boundArgumentVersion: number;
                boundPremiseId: string;
                checksum: string;
                id: string;
                symbol: string;
            }
      • TClaim extends {
            checksum: string;
            frozen: boolean;
            id: string;
            type: "normal" | "citation" | "axiomatic";
            version: number;
        } = {
            checksum: string;
            frozen: boolean;
            id: string;
            type: "normal" | "citation" | "axiomatic";
            version: number;
        }
      • TCitation extends {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        } = {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        }
      • TAxiom extends {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        } = {
            checksum: string;
            claimId: string;
            claimVersion: number;
            id: string;
            supportingClaimId: string;
            supportingClaimVersion: number;
        }
      • TArgFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TPremiseFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TExprFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromPremiseId: string } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromPremiseId: string }
      • TVarFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        }
      • TClaimFork extends {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromEntityVersion: number } = {
            entityId: string;
            forkedFromArgumentId: string;
            forkedFromArgumentVersion: number;
            forkedFromEntityId: string;
            forkId: string;
        } & { forkedFromEntityVersion: number }
      • TOriginDocument extends {
            checksum: string;
            digest: string;
            id: string;
            segments?: {
                endCodePoint: number;
                segmentId: string;
                startCodePoint: number;
            }[];
            text: string;
        } = {
            checksum: string;
            digest: string;
            id: string;
            segments?: {
                endCodePoint: number;
                segmentId: string;
                startCodePoint: number;
            }[];
            text: string;
        }
      • TOriginLink extends {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            id: string;
            stance: "representation" | "seed";
        } = {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            id: string;
            stance: "representation" | "seed";
        }
      • TOriginAnchor extends {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            endCodePoint: number;
            exact: string;
            id: string;
            prefix?: string;
            startCodePoint: number;
            suffix?: string;
            targetId: string;
            targetType: "expression" | "premise" | "argument";
        } = {
            argumentId: string;
            argumentVersion: number;
            checksum: string;
            documentId: string;
            endCodePoint: number;
            exact: string;
            id: string;
            prefix?: string;
            startCodePoint: number;
            suffix?: string;
            targetId: string;
            targetType: "expression" | "premise" | "argument";
        }

      Parameters

      Returns PropositCore<
          TArg,
          TPremise,
          TExpr,
          TVar,
          TClaim,
          TCitation,
          TAxiom,
          TArgFork,
          TPremiseFork,
          TExprFork,
          TVarFork,
          TClaimFork,
          TOriginDocument,
          TOriginLink,
          TOriginAnchor,
      >

      A fully restored PropositCore instance.