proposit-core
    Preparing search index...

    Class BasicsArgumentParser

    Validates and builds an ArgumentEngine from a parsed LLM response.

    Override the protected map* hooks to inject custom fields into the entities created during the build phase.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    responseSchema: TSchema

    Methods

    • Build an ArgumentEngine from a validated response.

      Parameters

      • response: {
            argument:
                | {
                    claims: {
                        miniId: string;
                        role: "conclusion"
                        | "premise"
                        | "intermediate";
                        type: "normal" | "citation" | "axiomatic";
                    }[];
                    conclusionPremiseMiniId: string;
                    premises: { formula: string; miniId: string }[];
                    variables: { claimMiniId: string; miniId: string; symbol: string }[];
                }
                | null;
            failureText: string
            | null;
            selectionRationale: string | null;
            uncategorizedText: string | null;
        }
      • Optionaloptions: TParserBuildOptions

      Returns TArgumentParserResult<
          {
              checksum: string;
              combinedChecksum: string;
              descendantChecksum: string
              | null;
              id: string;
              version: number;
          } & { title: string },
          (
              | {
                  argumentId: string;
                  argumentVersion: number;
                  checksum: string;
                  combinedChecksum: string;
                  descendantChecksum: string
                  | null;
                  id: string;
                  type: "freeform";
              }
              | {
                  argumentId: string;
                  argumentVersion: number;
                  checksum: string;
                  combinedChecksum: string;
                  derivedClaimId: string;
                  descendantChecksum: string
                  | null;
                  id: string;
                  type: "derivation";
              }
          ) & { title: string },
          TCorePropositionalExpression,

              | {
                  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;
              },
          | {
              checksum: string;
              frozen: boolean;
              id: string;
              type: "normal"
              | "citation"
              | "axiomatic";
              version: number;
          } & { body: string; title: string; type: "normal" }
          | {
              checksum: string;
              frozen: boolean;
              id: string;
              type: "normal" | "citation" | "axiomatic";
              version: number;
          } & { title: string; type: "citation"; url: string }
          | {
              checksum: string;
              frozen: boolean;
              id: string;
              type: "normal" | "citation" | "axiomatic";
              version: number;
          } & { axiom: string; type: "axiomatic" },
          {
              checksum: string;
              claimId: string;
              claimVersion: number;
              id: string;
              supportingClaimId: string;
              supportingClaimVersion: number;
          },
          {
              checksum: string;
              claimId: string;
              claimVersion: number;
              id: string;
              supportingClaimId: string;
              supportingClaimVersion: number;
          },
      >

      If response.argument is null

      If any formula references an undeclared variable

      If any formula contains nested implies/iff

      If a variable references an undeclared claim miniId

      If the conclusion premise miniId is unresolvable

    • Parameters

      • parsed: {
            claims: {
                miniId: string;
                role: "conclusion" | "premise" | "intermediate";
                type: "normal" | "citation" | "axiomatic";
            }[];
            conclusionPremiseMiniId: string;
            premises: { formula: string; miniId: string }[];
            variables: { claimMiniId: string; miniId: string; symbol: string }[];
        }

      Returns Record<string, unknown>

    • Parameters

      • parsed: {
            miniId: string;
            role: "conclusion" | "premise" | "intermediate";
            type: "normal" | "citation" | "axiomatic";
        }

      Returns Record<string, unknown>

    • Parameters

      • _dependentParsed: {
            miniId: string;
            role: "conclusion" | "premise" | "intermediate";
            type: "normal" | "citation" | "axiomatic";
        }
      • _supportingParsed: {
            miniId: string;
            role: "conclusion" | "premise" | "intermediate";
            type: "normal" | "citation" | "axiomatic";
        }
      • _dependentClaimId: string
      • _supportingClaimId: string

      Returns Record<string, unknown>

    • Parameters

      • _dependentParsed: {
            miniId: string;
            role: "conclusion" | "premise" | "intermediate";
            type: "normal" | "citation" | "axiomatic";
        }
      • _supportingParsed: {
            miniId: string;
            role: "conclusion" | "premise" | "intermediate";
            type: "normal" | "citation" | "axiomatic";
        }
      • _dependentClaimId: string
      • _supportingClaimId: string

      Returns Record<string, unknown>

    • Validate raw LLM output against the response schema.

      Parameters

      • raw: unknown

      Returns {
          argument:
              | {
                  claims: {
                      miniId: string;
                      role: "conclusion"
                      | "premise"
                      | "intermediate";
                      type: "normal" | "citation" | "axiomatic";
                  }[];
                  conclusionPremiseMiniId: string;
                  premises: { formula: string; miniId: string }[];
                  variables: { claimMiniId: string; miniId: string; symbol: string }[];
              }
              | null;
          failureText: string
          | null;
          selectionRationale: string | null;
          uncategorizedText: string | null;
      }