// @generated by protoc-gen-es v2.2.0 // @generated from file proto/decide/v1alpha1/decide.proto (package proto.decide.v1alpha1, syntax proto3) /* eslint-disable */ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1"; import type { Message } from "@bufbuild/protobuf"; import type { Timestamp } from "@bufbuild/protobuf/wkt"; /** * Describes the file proto/decide/v1alpha1/decide.proto. */ export declare const file_proto_decide_v1alpha1_decide: GenFile; /** * Additional information from Arcjet about the IP address associated with a * request. * * @generated from message proto.decide.v1alpha1.IpDetails */ export declare type IpDetails = Message<"proto.decide.v1alpha1.IpDetails"> & { /** * The estimated latitude of the IP address - see accuracy_radius for the * margin of error. * * @generated from field: double latitude = 1; */ latitude: number; /** * The estimated longitude of the IP address - see accuracy_radius for the * margin of error. * * @generated from field: double longitude = 2; */ longitude: number; /** * The accuracy radius of the IP address location in kilometers. * * @generated from field: int32 accuracy_radius = 3; */ accuracyRadius: number; /** * The timezone of the IP address. * * @generated from field: string timezone = 4; */ timezone: string; /** * The postal code of the IP address. * * @generated from field: string postal_code = 5; */ postalCode: string; /** * The city the IP address is located in. * * @generated from field: string city = 6; */ city: string; /** * The region the IP address is located in. * * @generated from field: string region = 7; */ region: string; /** * The country code the IP address is located in. * * @generated from field: string country = 8; */ country: string; /** * The country name the IP address is located in. * * @generated from field: string country_name = 9; */ countryName: string; /** * The continent code the IP address is located in. * * @generated from field: string continent = 10; */ continent: string; /** * The continent name the IP address is located in. * * @generated from field: string continent_name = 11; */ continentName: string; /** * The AS number the IP address belongs to. * * @generated from field: string asn = 12; */ asn: string; /** * The AS name the IP address belongs to. * * @generated from field: string asn_name = 13; */ asnName: string; /** * The AS domain the IP address belongs to. * * @generated from field: string asn_domain = 14; */ asnDomain: string; /** * The ASN type: ISP, hosting, business, or education * * @generated from field: string asn_type = 15; */ asnType: string; /** * The ASN country code the IP address belongs to. * * @generated from field: string asn_country = 16; */ asnCountry: string; /** * The name of the service the IP address belongs to. * * @generated from field: string service = 17; */ service: string; /** * Whether the IP address belongs to a hosting provider. * * @generated from field: bool is_hosting = 18; */ isHosting: boolean; /** * Whether the IP address belongs to a VPN provider. * * @generated from field: bool is_vpn = 19; */ isVpn: boolean; /** * Whether the IP address belongs to a proxy provider. * * @generated from field: bool is_proxy = 20; */ isProxy: boolean; /** * Whether the IP address belongs to a Tor node. * * @generated from field: bool is_tor = 21; */ isTor: boolean; /** * Whether the IP address belongs to a relay service. * * @generated from field: bool is_relay = 22; */ isRelay: boolean; /** * Whether the IP address has been flagged as an abuser. * * @generated from field: bool is_abuser = 23; */ isAbuser: boolean; /** * Bots is the list of bots that the IP address belongs to. * * @generated from field: map bots = 24; */ bots: { [key: string]: string }; /** * Threat is the Arcjet threat intelligence assessment for the IP address, * derived from upstream reputation data. Only populated when threat * intelligence is available for the IP. * * @generated from field: proto.decide.v1alpha1.ThreatIntelligence threat = 25; */ threat?: ThreatIntelligence; }; /** * Describes the message proto.decide.v1alpha1.IpDetails. * Use `create(IpDetailsSchema)` to create a new message. */ export declare const IpDetailsSchema: GenMessage; /** * ThreatIntelligence is the Arcjet threat assessment for an IP address, * abstracted from the underlying data providers. Fields carry the raw * taxonomy keys (e.g. risk_level "high", activities "brute_force"). * * @generated from message proto.decide.v1alpha1.ThreatIntelligence */ export declare type ThreatIntelligence = Message<"proto.decide.v1alpha1.ThreatIntelligence"> & { /** * The overall risk assessment: none, low, medium, high, or critical. * * @generated from field: string risk_level = 1; */ riskLevel: string; /** * Confidence in the overall assessment: low, medium, or high. * * @generated from field: string confidence = 2; */ confidence: string; /** * The upstream reputation of the IP: malicious, suspicious, known, safe, * benign, or unknown. * * @generated from field: string reputation = 3; */ reputation: string; /** * Whether the IP is identified as trusted infrastructure and should not be * flagged as a threat. * * @generated from field: bool is_safe = 4; */ isSafe: boolean; /** * The kinds of network the IP belongs to, e.g. hosting, vpn, proxy, tor. * * @generated from field: repeated string network_types = 5; */ networkTypes: string[]; /** * Observed malicious behaviors, e.g. brute_force, scanning, botnet. * * @generated from field: repeated string activities = 6; */ activities: string[]; /** * The kinds of automated entity the IP represents, e.g. crawler, * ai_crawler, scanner. * * @generated from field: repeated string entities = 7; */ entities: string[]; /** * A specific entity name (e.g. crawler name), if identified. * * @generated from field: string entity_name = 8; */ entityName: string; /** * A known service name (e.g. cloud provider), if identified. * * @generated from field: string service = 9; */ service: string; /** * How much internet-wide noise originates from this IP (0 = none, higher = * more). * * @generated from field: int32 background_noise = 10; */ backgroundNoise: number; }; /** * Describes the message proto.decide.v1alpha1.ThreatIntelligence. * Use `create(ThreatIntelligenceSchema)` to create a new message. */ export declare const ThreatIntelligenceSchema: GenMessage; /** * The reason for the decision. This is populated based on the selected rules * for deny or challenge responses. Additional details can be found in the field * and by logging into the Arcjet Console and searching for the decision ID. * * @generated from message proto.decide.v1alpha1.Reason */ export declare type Reason = Message<"proto.decide.v1alpha1.Reason"> & { /** * @generated from oneof proto.decide.v1alpha1.Reason.reason */ reason: { /** * Contains details about the rate limit when the decision was made * based on a rate limit rule. * * @generated from field: proto.decide.v1alpha1.RateLimitReason rate_limit = 1; */ value: RateLimitReason; case: "rateLimit"; } | { /** * Contains details about the edge rules which were triggered when the * decision was made based on an edge rule. * * @generated from field: proto.decide.v1alpha1.EdgeRuleReason edge_rule = 2 [deprecated = true]; * @deprecated */ value: EdgeRuleReason; case: "edgeRule"; } | { /** * Contains details about why the request was considered a bot when the * decision was made based on a bot rule. * * @generated from field: proto.decide.v1alpha1.BotReason bot = 3; */ value: BotReason; case: "bot"; } | { /** * Contains details about why Arcjet Shield was triggered. * * @generated from field: proto.decide.v1alpha1.ShieldReason shield = 4; */ value: ShieldReason; case: "shield"; } | { /** * Contains details about the email when the decision was made based on * an email rule. * * @generated from field: proto.decide.v1alpha1.EmailReason email = 5; */ value: EmailReason; case: "email"; } | { /** * Contains details about the error decision when an error occurred. * * @generated from field: proto.decide.v1alpha1.ErrorReason error = 6; */ value: ErrorReason; case: "error"; } | { /** * Contains details about sensitive info identified in the body of the * request if the sensitive info rule is configured. * * @generated from field: proto.decide.v1alpha1.SensitiveInfoReason sensitive_info = 7; */ value: SensitiveInfoReason; case: "sensitiveInfo"; } | { /** * Contains details about why the request was considered a bot when the * decision was made based on a bot (v2) rule. * * @generated from field: proto.decide.v1alpha1.BotV2Reason bot_v2 = 8; */ value: BotV2Reason; case: "botV2"; } | { /** * Contains details about the filter rules which were triggered when the * decision was made based on a filter rule. * * @generated from field: proto.decide.v1alpha1.FilterReason filter = 9; */ value: FilterReason; case: "filter"; } | { /** * Contains details about the prompt injection analysis when * the decision was made based on a prompt injection detection rule. * * @generated from field: proto.decide.v1alpha1.PromptInjectionReason prompt_injection = 10; */ value: PromptInjectionReason; case: "promptInjection"; } | { case: undefined; value?: undefined }; }; /** * Describes the message proto.decide.v1alpha1.Reason. * Use `create(ReasonSchema)` to create a new message. */ export declare const ReasonSchema: GenMessage; /** * Details of a rate limit decision. * * @generated from message proto.decide.v1alpha1.RateLimitReason */ export declare type RateLimitReason = Message<"proto.decide.v1alpha1.RateLimitReason"> & { /** * The configured maximum number of requests allowed in the current window. * * @generated from field: uint32 max = 1; */ max: number; /** * Deprecated: Always empty. Previously, the number of requests which have * been made in the current window. * * @generated from field: int32 count = 2 [deprecated = true]; * @deprecated */ count: number; /** * The number of requests remaining in the current window. * * @generated from field: uint32 remaining = 3; */ remaining: number; /** * The time at which the rate limit window will reset. * * Deprecated: Use `reset_in_seconds` instead. * * @generated from field: google.protobuf.Timestamp reset_time = 4 [deprecated = true]; * @deprecated */ resetTime?: Timestamp; /** * The duration in seconds until this rate limit window will reset. * * @generated from field: uint32 reset_in_seconds = 5; */ resetInSeconds: number; /** * The time window in seconds of this rate limit. * * @generated from field: uint32 window_in_seconds = 6; */ windowInSeconds: number; }; /** * Describes the message proto.decide.v1alpha1.RateLimitReason. * Use `create(RateLimitReasonSchema)` to create a new message. */ export declare const RateLimitReasonSchema: GenMessage; /** * Details of an edge rule decision. Unimplemented. * * @generated from message proto.decide.v1alpha1.EdgeRuleReason * @deprecated */ export declare type EdgeRuleReason = Message<"proto.decide.v1alpha1.EdgeRuleReason"> & { }; /** * Describes the message proto.decide.v1alpha1.EdgeRuleReason. * Use `create(EdgeRuleReasonSchema)` to create a new message. * @deprecated */ export declare const EdgeRuleReasonSchema: GenMessage; /** * Details of a bot decision. * * @generated from message proto.decide.v1alpha1.BotReason */ export declare type BotReason = Message<"proto.decide.v1alpha1.BotReason"> & { /** * The bot type we detected. See `BotType` for more information. * * @generated from field: proto.decide.v1alpha1.BotType bot_type = 1; */ botType: BotType; /** * The bot score we calculated. Score ranges from 0 to 99 representing the * degree of certainty. The higher the number within the type category, the * greater the degree of certainty. See `BotType` for more information. * * @generated from field: int32 bot_score = 2; */ botScore: number; /** * Whether bot detection was triggered by our user agent matching. * * @generated from field: bool user_agent_match = 3; */ userAgentMatch: boolean; /** * Whether the IP address belongs to a hosting provider. * * @generated from field: bool ip_hosting = 5; */ ipHosting: boolean; /** * Whether the IP address belongs to a VPN provider. * * @generated from field: bool ip_vpn = 6; */ ipVpn: boolean; /** * Whether the IP address belongs to a proxy provider. * * @generated from field: bool ip_proxy = 7; */ ipProxy: boolean; /** * Whether the IP address belongs to a Tor node. * * @generated from field: bool ip_tor = 8; */ ipTor: boolean; /** * Whether the IP address belongs to a relay service. * * @generated from field: bool ip_relay = 9; */ ipRelay: boolean; }; /** * Describes the message proto.decide.v1alpha1.BotReason. * Use `create(BotReasonSchema)` to create a new message. */ export declare const BotReasonSchema: GenMessage; /** * Details of a bot (v2) decision. * * @generated from message proto.decide.v1alpha1.BotV2Reason */ export declare type BotV2Reason = Message<"proto.decide.v1alpha1.BotV2Reason"> & { /** * @generated from field: repeated string allowed = 1; */ allowed: string[]; /** * @generated from field: repeated string denied = 2; */ denied: string[]; /** * @generated from field: bool verified = 3; */ verified: boolean; /** * @generated from field: bool spoofed = 4; */ spoofed: boolean; }; /** * Describes the message proto.decide.v1alpha1.BotV2Reason. * Use `create(BotV2ReasonSchema)` to create a new message. */ export declare const BotV2ReasonSchema: GenMessage; /** * Details of an Arcjet Shield decision. * * @generated from message proto.decide.v1alpha1.ShieldReason */ export declare type ShieldReason = Message<"proto.decide.v1alpha1.ShieldReason"> & { /** * Whether Arcjet Shield was triggered. Log into the Arcjet Console and * search for the decision ID to find more details about which rules were * triggered. * * @generated from field: bool shield_triggered = 1; */ shieldTriggered: boolean; /** * Whether the request was considered suspicious based on background * analysis of the request * * @generated from field: bool suspicious = 2; */ suspicious: boolean; }; /** * Describes the message proto.decide.v1alpha1.ShieldReason. * Use `create(ShieldReasonSchema)` to create a new message. */ export declare const ShieldReasonSchema: GenMessage; /** * Details of an Arcjet Filter decision. * * @generated from message proto.decide.v1alpha1.FilterReason */ export declare type FilterReason = Message<"proto.decide.v1alpha1.FilterReason"> & { /** * Deprecated: Use the `matched_expressions` field instead. * * @generated from field: string matched_expression = 1 [deprecated = true]; * @deprecated */ matchedExpression: string; /** * List of all matched expressions. * * @generated from field: repeated string matched_expressions = 2; */ matchedExpressions: string[]; /** * List of all undetermined expressions. * * @generated from field: repeated string undetermined_expressions = 3; */ undeterminedExpressions: string[]; }; /** * Describes the message proto.decide.v1alpha1.FilterReason. * Use `create(FilterReasonSchema)` to create a new message. */ export declare const FilterReasonSchema: GenMessage; /** * Details of an email decision. * * @generated from message proto.decide.v1alpha1.EmailReason */ export declare type EmailReason = Message<"proto.decide.v1alpha1.EmailReason"> & { /** * The types of email address we detected. This may be one or more of the * `EmailType` values. * * @generated from field: repeated proto.decide.v1alpha1.EmailType email_types = 1; */ emailTypes: EmailType[]; }; /** * Describes the message proto.decide.v1alpha1.EmailReason. * Use `create(EmailReasonSchema)` to create a new message. */ export declare const EmailReasonSchema: GenMessage; /** * Details of an error decision. * * @generated from message proto.decide.v1alpha1.ErrorReason */ export declare type ErrorReason = Message<"proto.decide.v1alpha1.ErrorReason"> & { /** * The error message associated with the error decision. * * @generated from field: string message = 1; */ message: string; }; /** * Describes the message proto.decide.v1alpha1.ErrorReason. * Use `create(ErrorReasonSchema)` to create a new message. */ export declare const ErrorReasonSchema: GenMessage; /** * Details of an AI prompt injection decision. * * @generated from message proto.decide.v1alpha1.PromptInjectionReason */ export declare type PromptInjectionReason = Message<"proto.decide.v1alpha1.PromptInjectionReason"> & { /** * Whether a prompt injection attempt was detected in the input. * * @generated from field: bool injection_detected = 1; */ injectionDetected: boolean; /** * Deprecated: The underlying model produces a binary verdict; this field * now returns exclusively 0.005 (benign) or 0.995 (injection) to match * the model's hardcoded output values. Use injection_detected instead. * * @generated from field: double score = 2 [deprecated = true]; * @deprecated */ score: number; /** * The number of tokens processed in the input for the prompt injection * analysis. * * @generated from field: uint32 total_tokens = 3; */ totalTokens: number; }; /** * Describes the message proto.decide.v1alpha1.PromptInjectionReason. * Use `create(PromptInjectionReasonSchema)` to create a new message. */ export declare const PromptInjectionReasonSchema: GenMessage; /** * @generated from message proto.decide.v1alpha1.IdentifiedEntity */ export declare type IdentifiedEntity = Message<"proto.decide.v1alpha1.IdentifiedEntity"> & { /** * The type of entity that was identified * * @generated from field: string identified_type = 1; */ identifiedType: string; /** * The start index of the entity in the body. * * @generated from field: uint32 start = 2; */ start: number; /** * The end index of the entity in the body. * * @generated from field: uint32 end = 3; */ end: number; }; /** * Describes the message proto.decide.v1alpha1.IdentifiedEntity. * Use `create(IdentifiedEntitySchema)` to create a new message. */ export declare const IdentifiedEntitySchema: GenMessage; /** * Details of a sensitive info reason. * * @generated from message proto.decide.v1alpha1.SensitiveInfoReason */ export declare type SensitiveInfoReason = Message<"proto.decide.v1alpha1.SensitiveInfoReason"> & { /** * The allowed sensitive info types * * @generated from field: repeated proto.decide.v1alpha1.IdentifiedEntity allowed = 1; */ allowed: IdentifiedEntity[]; /** * The denied sensitive info types * * @generated from field: repeated proto.decide.v1alpha1.IdentifiedEntity denied = 2; */ denied: IdentifiedEntity[]; }; /** * Describes the message proto.decide.v1alpha1.SensitiveInfoReason. * Use `create(SensitiveInfoReasonSchema)` to create a new message. */ export declare const SensitiveInfoReasonSchema: GenMessage; /** * The configuration for a rate limit rule. * * @generated from message proto.decide.v1alpha1.RateLimitRule */ export declare type RateLimitRule = Message<"proto.decide.v1alpha1.RateLimitRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * The request path the rate limit applies to. If not specified and Arcjet * is running on a specific API route, it defaults to the path for that * route. If not specified and Arcjet is running from middleware, it applies * to all routes. * * @generated from field: string match = 2; */ match: string; /** * Defines how Arcjet will track rate limits. If none are specified, it will * default to using the client IP address. If more than one characteristic * is provided, they will be combined. For further details, see * https://docs.arcjet.com/architecture/#fingerprinting * * @generated from field: repeated string characteristics = 3; */ characteristics: string[]; /** * The time window the rate limit applies to. This is a string value with a * sequence of decimal numbers, each with an optional fraction and a unit * suffix e.g. 1s for 1 second, 1h45m for 1 hour and 45 minutes, 1d for 1 * day. Valid time units are ns, us (or µs), ms, s, m, h. * * Deprecated: Use the window_in_seconds field instead. * * @generated from field: string window = 4 [deprecated = true]; * @deprecated */ window: string; /** * The maximum number of requests allowed in the time period. This is a * positive integer value e.g. 100. * * Required by "fixed window", "sliding window", and unspecified algorithms. * * @generated from field: uint32 max = 5; */ max: number; /** * How long to apply the limit before it expires and the client is allowed * to make more requests. If not specified, this will default to the same * value as the Window e.g. if the window is 1 hour, the client will be rate * limited for 1 hour after they hit the limit. This is a string value with * a sequence of decimal numbers, each with an optional fraction and a unit * suffix e.g. 1s for 1 second, 1h45m for 1 hour and 45 minutes, 1d for 1 * day. Valid time units are ns, us (or µs), ms, s, m, h, d, w, y. * * @generated from field: string timeout = 6; */ timeout: string; /** * The algorithm to use for rate limiting a request. If unspecified, we will * fallback to the "fixed window" algorithm. The chosen algorithm will * affect which other fields must be specified to be a valid configuration. * * @generated from field: proto.decide.v1alpha1.RateLimitAlgorithm algorithm = 7; */ algorithm: RateLimitAlgorithm; /** * The amount of tokens that are refilled at the provided interval. * * Required by "token bucket" algorithm. * * @generated from field: uint32 refill_rate = 8; */ refillRate: number; /** * The interval in which a rate limit is applied or tokens refilled. * * Required by "token bucket" and "sliding window" algorithms. * * @generated from field: uint32 interval = 9; */ interval: number; /** * The maximum number of tokens that can exist in a token bucket. * * Required by "token bucket" algorithm. * * @generated from field: uint32 capacity = 10; */ capacity: number; /** * The time window the rate limit applies to. This is an unsigned 32-bit * integer value representing a number of seconds. * * Required by "fixed window" and unspecified algorithms. * * @generated from field: uint32 window_in_seconds = 12; */ windowInSeconds: number; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.RateLimitRuleVersion version = 13; */ version: RateLimitRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.RateLimitRule. * Use `create(RateLimitRuleSchema)` to create a new message. */ export declare const RateLimitRuleSchema: GenMessage; /** * The configuration for a bot rule. * * @generated from message proto.decide.v1alpha1.BotRule */ export declare type BotRule = Message<"proto.decide.v1alpha1.BotRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * The bot types to block. This may be one or more of the `BotType` values. * * @generated from field: repeated proto.decide.v1alpha1.BotType block = 2; */ block: BotType[]; /** * Additional bot detection rules to add or remove from the Arcjet standard * list. Each rule is a regular expression that matches the user agent of * the bot plus a label to indicate what type of bot it is from the above * `BotType`s. * * @generated from field: proto.decide.v1alpha1.BotRule.Patterns patterns = 3; */ patterns?: BotRule_Patterns; }; /** * Describes the message proto.decide.v1alpha1.BotRule. * Use `create(BotRuleSchema)` to create a new message. */ export declare const BotRuleSchema: GenMessage; /** * @generated from message proto.decide.v1alpha1.BotRule.Patterns */ export declare type BotRule_Patterns = Message<"proto.decide.v1alpha1.BotRule.Patterns"> & { /** * @generated from field: map add = 1; */ add: { [key: string]: BotType }; /** * @generated from field: repeated string remove = 2; */ remove: string[]; }; /** * Describes the message proto.decide.v1alpha1.BotRule.Patterns. * Use `create(BotRule_PatternsSchema)` to create a new message. */ export declare const BotRule_PatternsSchema: GenMessage; /** * The configuration for a bot (v2) rule. * * @generated from message proto.decide.v1alpha1.BotV2Rule */ export declare type BotV2Rule = Message<"proto.decide.v1alpha1.BotV2Rule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * @generated from field: repeated string allow = 2; */ allow: string[]; /** * @generated from field: repeated string deny = 3; */ deny: string[]; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.BotV2RuleVersion version = 4; */ version: BotV2RuleVersion; }; /** * Describes the message proto.decide.v1alpha1.BotV2Rule. * Use `create(BotV2RuleSchema)` to create a new message. */ export declare const BotV2RuleSchema: GenMessage; /** * The configuration for an email rule. * * @generated from message proto.decide.v1alpha1.EmailRule */ export declare type EmailRule = Message<"proto.decide.v1alpha1.EmailRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * The email types to block. This may be one or more of the `EmailType` * values. * * @generated from field: repeated proto.decide.v1alpha1.EmailType block = 2 [deprecated = true]; * @deprecated */ block: EmailType[]; /** * @generated from field: bool require_top_level_domain = 3; */ requireTopLevelDomain: boolean; /** * @generated from field: bool allow_domain_literal = 4; */ allowDomainLiteral: boolean; /** * @generated from field: repeated proto.decide.v1alpha1.EmailType allow = 5; */ allow: EmailType[]; /** * @generated from field: repeated proto.decide.v1alpha1.EmailType deny = 6; */ deny: EmailType[]; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.EmailRuleVersion version = 7; */ version: EmailRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.EmailRule. * Use `create(EmailRuleSchema)` to create a new message. */ export declare const EmailRuleSchema: GenMessage; /** * The configuration for a detect sensitive info rule. * * @generated from message proto.decide.v1alpha1.SensitiveInfoRule */ export declare type SensitiveInfoRule = Message<"proto.decide.v1alpha1.SensitiveInfoRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * The sensitive info types to allow and deny. * * @generated from field: repeated string allow = 2; */ allow: string[]; /** * @generated from field: repeated string deny = 3; */ deny: string[]; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.SensitiveInfoRuleVersion version = 4; */ version: SensitiveInfoRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.SensitiveInfoRule. * Use `create(SensitiveInfoRuleSchema)` to create a new message. */ export declare const SensitiveInfoRuleSchema: GenMessage; /** * The configuration for a shield rule. * * @generated from message proto.decide.v1alpha1.ShieldRule */ export declare type ShieldRule = Message<"proto.decide.v1alpha1.ShieldRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * @generated from field: bool auto_added = 2; */ autoAdded: boolean; /** * Defines how Arcjet will track suspicious requests. If none are specified, * it will default to using the client IP address. If more than one * characteristic is provided, they will be combined. For further details, * see https://docs.arcjet.com/architecture/#fingerprinting * * @generated from field: repeated string characteristics = 3; */ characteristics: string[]; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.ShieldRuleVersion version = 4; */ version: ShieldRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.ShieldRule. * Use `create(ShieldRuleSchema)` to create a new message. */ export declare const ShieldRuleSchema: GenMessage; /** * The configuration for a filter rule. * * @generated from message proto.decide.v1alpha1.FilterRule */ export declare type FilterRule = Message<"proto.decide.v1alpha1.FilterRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * @generated from field: repeated string allow = 2; */ allow: string[]; /** * @generated from field: repeated string deny = 3; */ deny: string[]; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.FilterRuleVersion version = 4; */ version: FilterRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.FilterRule. * Use `create(FilterRuleSchema)` to create a new message. */ export declare const FilterRuleSchema: GenMessage; /** * The configuration for a prompt injection detection rule. * * @generated from message proto.decide.v1alpha1.PromptInjectionDetectionRule */ export declare type PromptInjectionDetectionRule = Message<"proto.decide.v1alpha1.PromptInjectionDetectionRule"> & { /** * @generated from field: proto.decide.v1alpha1.Mode mode = 1; */ mode: Mode; /** * Deprecated: The underlying model produces a binary verdict so a * configurable threshold is not meaningful. This field is ignored; the * decision is determined solely by the model's binary classification. * * @generated from field: optional double threshold = 2 [deprecated = true]; * @deprecated */ threshold?: number; /** * The version of the rule being executed. This is incremented by SDKs when * a breaking change is made to the configuration or behavior of the rule. * * @generated from field: proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion version = 3; */ version: PromptInjectionDetectionRuleVersion; }; /** * Describes the message proto.decide.v1alpha1.PromptInjectionDetectionRule. * Use `create(PromptInjectionDetectionRuleSchema)` to create a new message. */ export declare const PromptInjectionDetectionRuleSchema: GenMessage; /** * The configuration for Arcjet. * * @generated from message proto.decide.v1alpha1.Rule */ export declare type Rule = Message<"proto.decide.v1alpha1.Rule"> & { /** * @generated from oneof proto.decide.v1alpha1.Rule.rule */ rule: { /** * @generated from field: proto.decide.v1alpha1.RateLimitRule rate_limit = 1; */ value: RateLimitRule; case: "rateLimit"; } | { /** * @generated from field: proto.decide.v1alpha1.BotRule bots = 2; */ value: BotRule; case: "bots"; } | { /** * @generated from field: proto.decide.v1alpha1.EmailRule email = 3; */ value: EmailRule; case: "email"; } | { /** * @generated from field: proto.decide.v1alpha1.ShieldRule shield = 4; */ value: ShieldRule; case: "shield"; } | { /** * @generated from field: proto.decide.v1alpha1.SensitiveInfoRule sensitive_info = 5; */ value: SensitiveInfoRule; case: "sensitiveInfo"; } | { /** * @generated from field: proto.decide.v1alpha1.BotV2Rule bot_v2 = 6; */ value: BotV2Rule; case: "botV2"; } | { /** * @generated from field: proto.decide.v1alpha1.FilterRule filter = 7; */ value: FilterRule; case: "filter"; } | { /** * @generated from field: proto.decide.v1alpha1.PromptInjectionDetectionRule prompt_injection_detection = 8; */ value: PromptInjectionDetectionRule; case: "promptInjectionDetection"; } | { case: undefined; value?: undefined }; }; /** * Describes the message proto.decide.v1alpha1.Rule. * Use `create(RuleSchema)` to create a new message. */ export declare const RuleSchema: GenMessage; /** * @generated from message proto.decide.v1alpha1.RuleResult */ export declare type RuleResult = Message<"proto.decide.v1alpha1.RuleResult"> & { /** * The stable, deterministic, and unique identifier of the rule that * generated this result. * * @generated from field: string rule_id = 1; */ ruleId: string; /** * The rule run state * * @generated from field: proto.decide.v1alpha1.RuleState state = 2; */ state: RuleState; /** * The conclusion determined by the rule. * * @generated from field: proto.decide.v1alpha1.Conclusion conclusion = 3; */ conclusion: Conclusion; /** * The reason for the conclusion. * * @generated from field: proto.decide.v1alpha1.Reason reason = 4; */ reason?: Reason; /** * The duration in seconds this result should be considered valid, also * known as time-to-live. * * @generated from field: uint32 ttl = 5; */ ttl: number; /** * The fingerprint calculated for this rule, which can be used to cache the * result for the amount of time specified by `ttl`. * * @generated from field: string fingerprint = 6; */ fingerprint: string; }; /** * Describes the message proto.decide.v1alpha1.RuleResult. * Use `create(RuleResultSchema)` to create a new message. */ export declare const RuleResultSchema: GenMessage; /** * Warning is a non-fatal validation warning ({code, message}). Used for * client-reported local_warnings (e.g. metadata keys the SDK dropped before * sending). * * @generated from message proto.decide.v1alpha1.Warning */ export declare type Warning = Message<"proto.decide.v1alpha1.Warning"> & { /** * Machine-readable code ("AJ" + 4 digits). * * @generated from field: string code = 1; */ code: string; /** * Human-readable message. * * @generated from field: string message = 2; */ message: string; }; /** * Describes the message proto.decide.v1alpha1.Warning. * Use `create(WarningSchema)` to create a new message. */ export declare const WarningSchema: GenMessage; /** * Details about a request under investigation. * * @generated from message proto.decide.v1alpha1.RequestDetails */ export declare type RequestDetails = Message<"proto.decide.v1alpha1.RequestDetails"> & { /** * @generated from field: string ip = 1; */ ip: string; /** * @generated from field: string method = 2; */ method: string; /** * @generated from field: string protocol = 3; */ protocol: string; /** * @generated from field: string host = 4; */ host: string; /** * @generated from field: string path = 5; */ path: string; /** * @generated from field: map headers = 6; */ headers: { [key: string]: string }; /** * @generated from field: bytes body = 7; */ body: Uint8Array; /** * @generated from field: map extra = 8; */ extra: { [key: string]: string }; /** * @generated from field: string email = 9; */ email: string; /** * The string representing semicolon-separated Cookies for a request. * * @generated from field: string cookies = 10; */ cookies: string; /** * The `?`-prefixed string representing the Query for a request. Commonly * referred to as a "querystring". * * @generated from field: string query = 11; */ query: string; /** * An optional, caller-supplied opaque identifier used to correlate this * request with other protect() and guard() calls that belong to the same * workflow, agent run, or multi-step task. It does not affect the decision * and is excluded from fingerprinting; it is stored alongside the recorded * decision so a chain of actions can be reconstructed. Carried on * RequestDetails so it applies to both the Decide and Report RPCs. * * @generated from field: string correlation_id = 12; */ correlationId: string; }; /** * Describes the message proto.decide.v1alpha1.RequestDetails. * Use `create(RequestDetailsSchema)` to create a new message. */ export declare const RequestDetailsSchema: GenMessage; /** * A decision made about the request under investigation. * * @generated from message proto.decide.v1alpha1.Decision */ export declare type Decision = Message<"proto.decide.v1alpha1.Decision"> & { /** * The decision ID. This is a unique identifier for the decision which can * be used to search for the request details in the Arcjet Console. * * @generated from field: string id = 1; */ id: string; /** * Arcjet's conclusion for the request based on our analysis. * * @generated from field: proto.decide.v1alpha1.Conclusion conclusion = 2; */ conclusion: Conclusion; /** * The reason for the decision. * * @generated from field: proto.decide.v1alpha1.Reason reason = 3; */ reason?: Reason; /** * The outcome of each rule taken into consideration for the decision. * * @generated from field: repeated proto.decide.v1alpha1.RuleResult rule_results = 4; */ ruleResults: RuleResult[]; /** * The duration in seconds this decision should be considered valid, also * known as time-to-live. * * @generated from field: uint32 ttl = 5; */ ttl: number; /** * Details about the IP address that informed our conclusion. * * @generated from field: proto.decide.v1alpha1.IpDetails ip_details = 6; */ ipDetails?: IpDetails; }; /** * Describes the message proto.decide.v1alpha1.Decision. * Use `create(DecisionSchema)` to create a new message. */ export declare const DecisionSchema: GenMessage; /** * A request to the decide API. * * @generated from message proto.decide.v1alpha1.DecideRequest */ export declare type DecideRequest = Message<"proto.decide.v1alpha1.DecideRequest"> & { /** * @generated from field: proto.decide.v1alpha1.SDKStack sdk_stack = 1; */ sdkStack: SDKStack; /** * @generated from field: string sdk_version = 2; */ sdkVersion: string; /** * The information provided via an SDK about a request under investigation. * * @generated from field: proto.decide.v1alpha1.RequestDetails details = 4; */ details?: RequestDetails; /** * The rules that are being considered for this request. * * @generated from field: repeated proto.decide.v1alpha1.Rule rules = 5; */ rules: Rule[]; /** * The characteristics that should be used for fingerprinting. * * @generated from field: repeated string characteristics = 6; */ characteristics: string[]; /** * Nested-JSON metadata for protect(): key -> JSON-encoded value. Carried on * the request so both Decide and Report receive it. protect had no metadata * field before. * * @generated from field: map metadata_json = 7; */ metadataJson: { [key: string]: string }; /** * Client-side validation warnings the SDK reports (e.g. metadata keys it * dropped before sending). Untrusted; the server bounds count/length and * persists them alongside its own warnings. * * @generated from field: repeated proto.decide.v1alpha1.Warning local_warnings = 8; */ localWarnings: Warning[]; }; /** * Describes the message proto.decide.v1alpha1.DecideRequest. * Use `create(DecideRequestSchema)` to create a new message. */ export declare const DecideRequestSchema: GenMessage; /** * A response from the decide API. * * @generated from message proto.decide.v1alpha1.DecideResponse */ export declare type DecideResponse = Message<"proto.decide.v1alpha1.DecideResponse"> & { /** * The decision made about the request under investigation. * * @generated from field: proto.decide.v1alpha1.Decision decision = 1; */ decision?: Decision; /** * Any extra information returned by the Arcjet analysis. * * @generated from field: map extra = 2; */ extra: { [key: string]: string }; }; /** * Describes the message proto.decide.v1alpha1.DecideResponse. * Use `create(DecideResponseSchema)` to create a new message. */ export declare const DecideResponseSchema: GenMessage; /** * A request to the Report RPC when SDK has already made a decision locally. * * @generated from message proto.decide.v1alpha1.ReportRequest */ export declare type ReportRequest = Message<"proto.decide.v1alpha1.ReportRequest"> & { /** * @generated from field: proto.decide.v1alpha1.SDKStack sdk_stack = 1; */ sdkStack: SDKStack; /** * @generated from field: string sdk_version = 2; */ sdkVersion: string; /** * The information provided via an SDK about a request under investigation. * * @generated from field: proto.decide.v1alpha1.RequestDetails details = 4; */ details?: RequestDetails; /** * The decision reported about the request under investigation. * * @generated from field: proto.decide.v1alpha1.Decision decision = 5; */ decision?: Decision; /** * The rules that are were considered for this request. * * @generated from field: repeated proto.decide.v1alpha1.Rule rules = 6; */ rules: Rule[]; /** * The characteristics that should be used for fingerprinting. * * @generated from field: repeated string characteristics = 8; */ characteristics: string[]; /** * Nested-JSON metadata for protect(): key -> JSON-encoded value. Carried on * the request so both Decide and Report receive it. * * @generated from field: map metadata_json = 9; */ metadataJson: { [key: string]: string }; /** * Client-side validation warnings the SDK reports. Untrusted; the server * bounds count/length and persists them alongside its own warnings. * * @generated from field: repeated proto.decide.v1alpha1.Warning local_warnings = 10; */ localWarnings: Warning[]; }; /** * Describes the message proto.decide.v1alpha1.ReportRequest. * Use `create(ReportRequestSchema)` to create a new message. */ export declare const ReportRequestSchema: GenMessage; /** * A response from the Report RPC. * * @generated from message proto.decide.v1alpha1.ReportResponse */ export declare type ReportResponse = Message<"proto.decide.v1alpha1.ReportResponse"> & { /** * Any extra information returned by the Arcjet analysis. * * @generated from field: map extra = 2; */ extra: { [key: string]: string }; }; /** * Describes the message proto.decide.v1alpha1.ReportResponse. * Use `create(ReportResponseSchema)` to create a new message. */ export declare const ReportResponseSchema: GenMessage; /** * Represents whether we think the client is a bot or not. This should be used * alongside the bot score which represents the level of certainty of our * detection. * * @generated from enum proto.decide.v1alpha1.BotType */ export enum BotType { /** * The bot type is unspecified. This should not be used, but is here to * conform to the gRPC best practices. * * @generated from enum value: BOT_TYPE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * We could not analyze the request, perhaps because of insufficient * information or because the bot analysis can't be executed in this * environment. We do not recommend blocking these requests. Represented by * a score of 0. * * @generated from enum value: BOT_TYPE_NOT_ANALYZED = 1; */ NOT_ANALYZED = 1, /** * We are sure the request was made by an automated bot. We recommend * blocking these requests for paths which are for humans only e.g. login or * signup pages, but not blocking for API paths. Represented by a score of * 1. * * @generated from enum value: BOT_TYPE_AUTOMATED = 2; */ AUTOMATED = 2, /** * We have some evidence that the request was made by an automated bot. The * degree of certainty is represented by a score range of 2-29. * * @generated from enum value: BOT_TYPE_LIKELY_AUTOMATED = 3; */ LIKELY_AUTOMATED = 3, /** * We don't think this request was made by an automated bot. The degree of * certainty is represented by a score range of 30-99. * * @generated from enum value: BOT_TYPE_LIKELY_NOT_A_BOT = 4; */ LIKELY_NOT_A_BOT = 4, /** * We are sure the request was made by an automated bot and it is on our * list of verified good bots. This is manually maintained by the Arcjet * team and includes bots such as monitoring agents and friendly search * engine crawlers. In most cases you can allow these requests on public * pages, but you may wish to block them for internal or private paths. * Represented by a score of 100. * * @generated from enum value: BOT_TYPE_VERIFIED_BOT = 5; */ VERIFIED_BOT = 5, } /** * Describes the enum proto.decide.v1alpha1.BotType. */ export declare const BotTypeSchema: GenEnum; /** * Represents the type of email address submitted. * * @generated from enum proto.decide.v1alpha1.EmailType */ export enum EmailType { /** * The email type is unspecified. This should not be used, but is here to * conform to the gRPC best practices. * * @generated from enum value: EMAIL_TYPE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * The email address is disposable, which means it's registered to a service * that allows throwaway email addresses. Although these are sometimes used * for privacy, they are also often used for spam signups or fraudulent * activity when combined with a transaction e.g. attempting to use a credit * card. We recommend blocking these in higher risk scenarios. * * @generated from enum value: EMAIL_TYPE_DISPOSABLE = 1; */ DISPOSABLE = 1, /** * The email address is registered to a free email service. These are very * common, such as GMail or Yahoo Mail, so we do not recommend blocking * these. However, you may wish to flag these for review the first time they * attempt a transaction. * * @generated from enum value: EMAIL_TYPE_FREE = 2; */ FREE = 2, /** * This email address is registered to a domain name which has no MX records * configured. This means it cannot receive email. We recommend blocking * these. * * @generated from enum value: EMAIL_TYPE_NO_MX_RECORDS = 3; */ NO_MX_RECORDS = 3, /** * This email has no Gravatar attached to the email from * https://gravatar.com which makes it slightly less likely to be a valid * signup. We recommend using this as part of your own risk scoring or * manually reviewing these signups. * * @generated from enum value: EMAIL_TYPE_NO_GRAVATAR = 4; */ NO_GRAVATAR = 4, /** * This email was specified in an invalid format. * * @generated from enum value: EMAIL_TYPE_INVALID = 5; */ INVALID = 5, } /** * Describes the enum proto.decide.v1alpha1.EmailType. */ export declare const EmailTypeSchema: GenEnum; /** * The mode to run in. This can be either `DRY_RUN` or `LIVE`. In `DRY_RUN` * mode, all requests will be allowed and you can review what the action would * have been from the Arcjet Console. In `LIVE` mode, requests will be allowed, * challenged or blocked based on the returned decision. * * @generated from enum proto.decide.v1alpha1.Mode */ export enum Mode { /** * The mode is unspecified. This should not be used, but is here to conform * to the gRPC best practices. * * @generated from enum value: MODE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * In `DRY_RUN` mode, all requests will be allowed and you can review what * the action would have been from the Arcjet Console. * * @generated from enum value: MODE_DRY_RUN = 1; */ DRY_RUN = 1, /** * In `LIVE` mode, requests will be allowed, challenged or blocked based on * the returned decision. * * @generated from enum value: MODE_LIVE = 2; */ LIVE = 2, } /** * Describes the enum proto.decide.v1alpha1.Mode. */ export declare const ModeSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.RuleState */ export enum RuleState { /** * The mode is unspecified. This should not be used, but is here to conform * to the gRPC best practices. * * @generated from enum value: RULE_STATE_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * The rule was run and the outcome was taken into consideration for the end * decision * * @generated from enum value: RULE_STATE_RUN = 1; */ RUN = 1, /** * The rule wasn't run * * @generated from enum value: RULE_STATE_NOT_RUN = 2; */ NOT_RUN = 2, /** * The rule was run but not actioned on, meaning the outcome didn't affect * the end decision * * @generated from enum value: RULE_STATE_DRY_RUN = 3; */ DRY_RUN = 3, /** * The rule was not run because the reason was cached * * @generated from enum value: RULE_STATE_CACHED = 4; */ CACHED = 4, } /** * Describes the enum proto.decide.v1alpha1.RuleState. */ export declare const RuleStateSchema: GenEnum; /** * The conclusion for the request based on the Arcjet analysis and any specific * configuration. * * @generated from enum proto.decide.v1alpha1.Conclusion */ export enum Conclusion { /** * The conclusion is unspecified. This should not be used, but is here to * conform to the gRPC best practices. * * @generated from enum value: CONCLUSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * The request should be allowed. * * @generated from enum value: CONCLUSION_ALLOW = 1; */ ALLOW = 1, /** * The request should be blocked. * * @generated from enum value: CONCLUSION_DENY = 2; */ DENY = 2, /** * The request should be challenged. * * @generated from enum value: CONCLUSION_CHALLENGE = 3; */ CHALLENGE = 3, /** * The request errored. * * @generated from enum value: CONCLUSION_ERROR = 4; */ ERROR = 4, } /** * Describes the enum proto.decide.v1alpha1.Conclusion. */ export declare const ConclusionSchema: GenEnum; /** * The SDK used to make the request. Used for analytics and to help us improve. * * @generated from enum proto.decide.v1alpha1.SDKStack */ export enum SDKStack { /** * @generated from enum value: SDK_STACK_UNSPECIFIED = 0; */ SDK_STACK_UNSPECIFIED = 0, /** * @generated from enum value: SDK_STACK_NODEJS = 1; */ SDK_STACK_NODEJS = 1, /** * @generated from enum value: SDK_STACK_NEXTJS = 2; */ SDK_STACK_NEXTJS = 2, /** * @generated from enum value: SDK_STACK_PYTHON = 3; */ SDK_STACK_PYTHON = 3, /** * @generated from enum value: SDK_STACK_DJANGO = 4; */ SDK_STACK_DJANGO = 4, /** * @generated from enum value: SDK_STACK_BUN = 5; */ SDK_STACK_BUN = 5, /** * @generated from enum value: SDK_STACK_DENO = 6; */ SDK_STACK_DENO = 6, /** * @generated from enum value: SDK_STACK_SVELTEKIT = 7; */ SDK_STACK_SVELTEKIT = 7, /** * @generated from enum value: SDK_STACK_HONO = 8; */ SDK_STACK_HONO = 8, /** * @generated from enum value: SDK_STACK_NUXT = 9; */ SDK_STACK_NUXT = 9, /** * @generated from enum value: SDK_STACK_NESTJS = 10; */ SDK_STACK_NESTJS = 10, /** * @generated from enum value: SDK_STACK_REMIX = 11; */ SDK_STACK_REMIX = 11, /** * @generated from enum value: SDK_STACK_ASTRO = 12; */ SDK_STACK_ASTRO = 12, /** * @generated from enum value: SDK_STACK_FASTIFY = 13; */ SDK_STACK_FASTIFY = 13, /** * @generated from enum value: SDK_STACK_REACT_ROUTER = 14; */ SDK_STACK_REACT_ROUTER = 14, /** * @generated from enum value: SDK_STACK_GO = 15; */ SDK_STACK_GO = 15, } /** * Describes the enum proto.decide.v1alpha1.SDKStack. */ export declare const SDKStackSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.RateLimitAlgorithm */ export enum RateLimitAlgorithm { /** * @generated from enum value: RATE_LIMIT_ALGORITHM_UNSPECIFIED = 0; */ UNSPECIFIED = 0, /** * @generated from enum value: RATE_LIMIT_ALGORITHM_TOKEN_BUCKET = 1; */ TOKEN_BUCKET = 1, /** * @generated from enum value: RATE_LIMIT_ALGORITHM_FIXED_WINDOW = 2; */ FIXED_WINDOW = 2, /** * @generated from enum value: RATE_LIMIT_ALGORITHM_SLIDING_WINDOW = 3; */ SLIDING_WINDOW = 3, } /** * Describes the enum proto.decide.v1alpha1.RateLimitAlgorithm. */ export declare const RateLimitAlgorithmSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.RateLimitRuleVersion */ export enum RateLimitRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: RATE_LIMIT_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.RateLimitRuleVersion. */ export declare const RateLimitRuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.BotV2RuleVersion */ export enum BotV2RuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: BOT_V2_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.BotV2RuleVersion. */ export declare const BotV2RuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.EmailRuleVersion */ export enum EmailRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: EMAIL_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.EmailRuleVersion. */ export declare const EmailRuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.SensitiveInfoRuleVersion */ export enum SensitiveInfoRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: SENSITIVE_INFO_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.SensitiveInfoRuleVersion. */ export declare const SensitiveInfoRuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.ShieldRuleVersion */ export enum ShieldRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: SHIELD_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.ShieldRuleVersion. */ export declare const ShieldRuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.FilterRuleVersion */ export enum FilterRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: FILTER_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.FilterRuleVersion. */ export declare const FilterRuleVersionSchema: GenEnum; /** * @generated from enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion */ export enum PromptInjectionDetectionRuleVersion { /** * This is equivalent to V0 since rules without a version specified will * default to this value. * * @generated from enum value: PROMPT_INJECTION_DETECTION_RULE_VERSION_UNSPECIFIED = 0; */ UNSPECIFIED = 0, } /** * Describes the enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion. */ export declare const PromptInjectionDetectionRuleVersionSchema: GenEnum; /** * @generated from service proto.decide.v1alpha1.DecideService */ export declare const DecideService: GenService<{ /** * @generated from rpc proto.decide.v1alpha1.DecideService.Decide */ decide: { methodKind: "unary"; input: typeof DecideRequestSchema; output: typeof DecideResponseSchema; }, /** * @generated from rpc proto.decide.v1alpha1.DecideService.Report */ report: { methodKind: "unary"; input: typeof ReportRequestSchema; output: typeof ReportResponseSchema; }, }>;