Member Junction
    Preparing search index...

    A BaseDecision driver for Perplexity's Decisions API, POST https://api.perplexity.ai/v1/decisions, which serves pplx-decider-v1-27b, its only model. The API takes the key only as a bearer token (not x-api-key), and answers 404 to a path with a trailing slash. The endpoint, key and error handling come from BaseHostedSystemOneDecision.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    DEFAULT_ENDPOINT: "https://api.perplexity.ai/v1/decisions" = 'https://api.perplexity.ai/v1/decisions'

    The Perplexity Decisions API endpoint.

    DEFAULT_MODEL: "pplx-decider-v1-27b" = 'pplx-decider-v1-27b'

    The model used when DecisionParams.Model is empty.

    Accessors

    • get apiKey(): string

      Only sub-classes can access the API key

      Returns string

    • get EndpointURL(): string

      The Decisions API endpoint URL: the constructor's, else the credential's, else DefaultEndpoint, without trailing slashes.

      Returns string

    • get SecretsToRedact(): string[]

      The secrets an error message must never show, each removed with RedactSecret. Defaults to the credential's API key; a driver that sends only part of it (Cloudflare's token) adds that part.

      Returns string[]

    Methods

    • Executes a typed decision request across one or more questions about a given state. This method wraps driver execution with input validation, output verification, execution timing, and structured error handling. It never throws.

      Parameters

      • params: DecisionParams

        Decision request parameters including state, questions, and model.

      Returns Promise<DecisionResult>

      A Promise resolving to a DecisionResult.

    • The vendor's message when the body has one; otherwise the base default, the status and the start of the body.

      Parameters

      • status: number
      • bodyText: string

      Returns string

    • The one endpoint, whatever the model: the model travels in the body.

      Parameters

      • _model: string

      Returns string

    • The error type for a non-2xx status whose ErrorAnalyzer reading is wrong for this API, or undefined (the default) to leave it to ErrorAnalyzer, which reads the message and the status. A type returned here is attached to the thrown error as a Retriable error that allows failover: another candidate may answer what this API refused.

      Parameters

      • _status: number

        The HTTP status.

      Returns AIErrorType

    • The request headers. Defaults to the credential's API key as a bearer token and a JSON content type.

      Parameters

      • _model: string

        The model being asked.

      Returns Record<string, string>

    • The request body's model field. Defaults to the model unchanged.

      Parameters

      • model: string

        The model being asked.

      Returns string

    • Sends the request. This is the driver's only network call; a test double overrides it to stand in for the network.

      Parameters

      • url: string

        The endpoint from GetEndpointURL.

      • init: RequestInit

        The POST: method, headers, JSON body and the caller's cancellation signal.

      Returns Promise<Response>

    • Returns the System One response ({ model, answers, usage }) from a parsed 2xx body. Defaults to the body itself. A vendor that wraps the response in an envelope unwraps it here, and throws (with CreateSystemOneHTTPError) when the envelope reports a failure.

      Parameters

      • body: unknown

        The parsed JSON body.

      • _status: number

        The HTTP status, for an error thrown from here.

      Returns unknown