Agent Client Protocol - v1.8.0
    Preparing search index...

    Variable IdleStateUpdate

    IdleStateUpdate: {
        isEndTurn(
            value: IdleStateUpdate,
        ): value is { stopReason: "end_turn" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isMaxTokens(
            value: IdleStateUpdate,
        ): value is { stopReason: "max_tokens" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isMaxTurnRequests(
            value: IdleStateUpdate,
        ): value is { stopReason: "max_turn_requests" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isRefusal(
            value: IdleStateUpdate,
        ): value is { stopReason: "refusal" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isCancelled(
            value: IdleStateUpdate,
        ): value is { stopReason: "cancelled" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isError(
            value: IdleStateUpdate,
        ): value is ErrorStopReason & { stopReason: "error" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isNone(
            value: IdleStateUpdate,
        ): value is { stopReason?: null } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
        isCustom(
            value: IdleStateUpdate,
        ): value is { stopReason: string; [key: string]: unknown } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >;
    }

    Validated type guards for IdleStateUpdate's known variants.

    Each guard validates the variant's payload, not just its discriminant tag: a malformed known variant (right tag, wrong payload) matches no guard — mirroring wire validation, which rejects such values instead of classifying them as custom.

    Guards check the value as given: fields that wire deserialization salvages to a default (e.g. a malformed _meta) are only normalized by parsing, and for ambiguous raw shapes (a known tag combined with another variant's payload) guards are conservative where wire parsing may still accept the value — narrow wire-parsed values when exact parity matters.

    Type Declaration

    • isEndTurn: function
      • Narrow to the end_turn variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: "end_turn" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isMaxTokens: function
      • Narrow to the max_tokens variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: "max_tokens" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isMaxTurnRequests: function
      • Narrow to the max_turn_requests variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: "max_turn_requests" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isRefusal: function
      • Narrow to the refusal variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: "refusal" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isCancelled: function
      • Narrow to the cancelled variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: "cancelled" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isError: function
      • Narrow to the error variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is ErrorStopReason & { stopReason: "error" } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isNone: function
      • Narrow to the none variant, validating its payload.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason?: null } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >

    • isCustom: function
      • Narrow to a custom or future variant: the stopReason tag matches no known variant.

        TypeScript keeps the known variants in the narrowed union (they are structural subtypes of the catch-all), so read vendor payload keys via a widening cast: (value as Record<string, unknown>).someKey.

        Parameters

        • value: IdleStateUpdate

        Returns value is { stopReason: string; [key: string]: unknown } & Pick<
            IdleStateUpdate,
            "_meta"
            | "stopReason"
            | "usage",
        >