🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@arcjet/protocol

Package Overview
Dependencies
Maintainers
3
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@arcjet/protocol - npm Package Compare versions

Comparing version
1.0.0
to
1.1.0-rc
+4
-5
client.d.ts

@@ -1,7 +0,6 @@

import type { Transport } from "@connectrpc/connect";
import type { ArcjetContext, ArcjetRequestDetails, ArcjetRule, ArcjetStack } from "./index.js";
import { ArcjetDecision } from "./index.js";
import { type Transport } from "@connectrpc/connect";
import { type ArcjetContext, type ArcjetRequestDetails, type ArcjetRule, type ArcjetStack, ArcjetDecision } from "./index.js";
export interface Client {
decide(context: ArcjetContext, details: Partial<ArcjetRequestDetails>, rules: ArcjetRule[]): Promise<ArcjetDecision>;
report(context: ArcjetContext, request: Partial<ArcjetRequestDetails>, decision: ArcjetDecision, rules: ArcjetRule[]): void;
decide(context: ArcjetContext, details: ArcjetRequestDetails, rules: ArcjetRule[]): Promise<ArcjetDecision>;
report(context: ArcjetContext, request: ArcjetRequestDetails, decision: ArcjetDecision, rules: ArcjetRule[]): void;
}

@@ -8,0 +7,0 @@ export type ClientOptions = {

@@ -0,6 +1,6 @@

import { create } from '@bufbuild/protobuf';
import { createClient as createClient$1 } from '@connectrpc/connect';
import { ArcjetStackToProtocol, ArcjetDecisionToProtocol, ArcjetRuleToProtocol, ArcjetDecisionFromProtocol } from './convert.js';
import { DecideService, ReportRequestSchema, DecideRequestSchema } from './proto/decide/v1alpha1/decide_pb.js';
import { ArcjetStackToProtocol, ArcjetRuleToProtocol, ArcjetDecisionToProtocol, ArcjetDecisionFromProtocol } from './convert.js';
import 'typeid-js';
import { ReportRequest, DecideRequest } from './proto/decide/v1alpha1/decide_pb.js';
import { DecideService } from './proto/decide/v1alpha1/decide_connect.js';

@@ -48,3 +48,3 @@ // TODO: Dedupe with `errorMessage` in core

// Build the request object from the Protobuf generated class.
const decideRequest = new DecideRequest({
const decideRequest = create(DecideRequestSchema, {
sdkStack,

@@ -93,3 +93,3 @@ sdkVersion,

// Build the request object from the Protobuf generated class.
const reportRequest = new ReportRequest({
const reportRequest = create(ReportRequestSchema, {
sdkStack,

@@ -96,0 +96,0 @@ sdkVersion,

@@ -1,5 +0,3 @@

import type { ArcjetRule, ArcjetConclusion, ArcjetEmailType, ArcjetMode, ArcjetRuleState, ArcjetStack } from "./index.js";
import { ArcjetRuleResult, ArcjetDecision, ArcjetReason, ArcjetIpDetails } from "./index.js";
import type { IpDetails } from "./proto/decide/v1alpha1/decide_pb.js";
import { Conclusion, Decision, EmailType, Mode, Reason, Rule, RuleResult, RuleState, SDKStack } from "./proto/decide/v1alpha1/decide_pb.js";
import { type Decision, type IpDetails, type Reason, type Rule, type RuleResult, Conclusion, EmailType, Mode, RuleState, SDKStack } from "./proto/decide/v1alpha1/decide_pb.js";
import { type ArcjetConclusion, type ArcjetEmailType, type ArcjetMode, type ArcjetRuleState, type ArcjetRule, type ArcjetStack, ArcjetDecision, ArcjetIpDetails, ArcjetReason, ArcjetRuleResult } from "./index.js";
export declare function ArcjetModeToProtocol(mode: ArcjetMode): Mode;

@@ -6,0 +4,0 @@ export declare function ArcjetEmailTypeToProtocol(emailType: ArcjetEmailType): EmailType;

@@ -1,4 +0,5 @@

import { Timestamp } from '@bufbuild/protobuf';
import { timestampFromDate, timestampDate } from '@bufbuild/protobuf/wkt';
import { create } from '@bufbuild/protobuf';
import { SDKStack, RuleSchema, RateLimitAlgorithm, DecisionSchema, Conclusion, Mode, EmailType, RuleResultSchema, ReasonSchema, RateLimitReasonSchema, BotV2ReasonSchema, EdgeRuleReasonSchema, ShieldReasonSchema, EmailReasonSchema, ErrorReasonSchema, SensitiveInfoReasonSchema, RuleState } from './proto/decide/v1alpha1/decide_pb.js';
import { ArcjetErrorDecision, ArcjetIpDetails, ArcjetErrorReason, ArcjetChallengeDecision, ArcjetDenyDecision, ArcjetAllowDecision, ArcjetRuleResult, ArcjetReason, ArcjetSensitiveInfoReason, ArcjetFilterReason, ArcjetEmailReason, ArcjetShieldReason, ArcjetEdgeRuleReason, ArcjetBotReason, ArcjetRateLimitReason } from './index.js';
import { SDKStack, Decision, Rule, RateLimitAlgorithm, Conclusion, Reason, RateLimitReason, BotV2Reason, EdgeRuleReason, ShieldReason, EmailReason, ErrorReason, SensitiveInfoReason, RuleResult, Mode, EmailType, RuleState } from './proto/decide/v1alpha1/decide_pb.js';

@@ -160,3 +161,5 @@ function ArcjetModeToProtocol(mode) {

window: reason.windowInSeconds,
resetTime: reason.resetTime?.toDate(),
resetTime: reason.resetTime
? timestampDate(reason.resetTime)
: undefined,
});

@@ -227,10 +230,10 @@ }

};
return new Reason({
return create(ReasonSchema, {
reason: {
case: "rateLimit",
// `resetTime` is an optional field but not allowed to be `undefined`.
value: new RateLimitReason(reason.resetTime
value: create(RateLimitReasonSchema, reason.resetTime
? {
...cleanOptions,
resetTime: Timestamp.fromDate(reason.resetTime),
resetTime: timestampFromDate(reason.resetTime),
}

@@ -242,6 +245,6 @@ : cleanOptions),

if (reason.isBot()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "botV2",
value: new BotV2Reason({
value: create(BotV2ReasonSchema, {
allowed: reason.allowed,

@@ -256,6 +259,6 @@ denied: reason.denied,

if (reason.isEdgeRule()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "edgeRule",
value: new EdgeRuleReason({}),
value: create(EdgeRuleReasonSchema),
},

@@ -265,6 +268,6 @@ });

if (reason.isShield()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "shield",
value: new ShieldReason({
value: create(ShieldReasonSchema, {
shieldTriggered: reason.shieldTriggered,

@@ -276,6 +279,6 @@ }),

if (reason.isEmail()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "email",
value: new EmailReason({
value: create(EmailReasonSchema, {
emailTypes: reason.emailTypes.map(ArcjetEmailTypeToProtocol),

@@ -287,6 +290,6 @@ }),

if (reason.isError()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "error",
value: new ErrorReason({
value: create(ErrorReasonSchema, {
message: reason.message,

@@ -298,3 +301,3 @@ }),

if (reason.isFilter()) {
return new Reason({
return create(ReasonSchema, {
reason: {

@@ -310,6 +313,6 @@ case: "filter",

if (reason.isSensitiveInfo()) {
return new Reason({
return create(ReasonSchema, {
reason: {
case: "sensitiveInfo",
value: new SensitiveInfoReason({
value: create(SensitiveInfoReasonSchema, {
allowed: reason.allowed,

@@ -321,6 +324,6 @@ denied: reason.denied,

}
return new Reason();
return create(ReasonSchema);
}
function ArcjetRuleResultToProtocol(ruleResult) {
return new RuleResult({
return create(RuleResultSchema, {
ruleId: ruleResult.ruleId,

@@ -345,3 +348,3 @@ fingerprint: ruleResult.fingerprint,

function ArcjetDecisionToProtocol(decision) {
return new Decision({
return create(DecisionSchema, {
id: decision.id,

@@ -499,3 +502,3 @@ ttl: decision.ttl,

if (isTokenBucketRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -516,3 +519,3 @@ case: "rateLimit",

if (isFixedWindowRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -532,3 +535,3 @@ case: "rateLimit",

if (isSlidingWindowRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -554,3 +557,3 @@ case: "rateLimit",

: [];
return new Rule({
return create(RuleSchema, {
rule: {

@@ -572,3 +575,3 @@ case: "email",

const deny = Array.isArray(rule.deny) ? rule.deny : [];
return new Rule({
return create(RuleSchema, {
rule: {

@@ -586,3 +589,3 @@ case: "botV2",

if (isShieldRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -599,3 +602,3 @@ case: "shield",

if (isFilterRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -613,3 +616,3 @@ case: "filter",

if (isSensitiveInfoRule(rule)) {
return new Rule({
return create(RuleSchema, {
rule: {

@@ -626,5 +629,5 @@ case: "sensitiveInfo",

}
return new Rule();
return create(RuleSchema);
}
export { ArcjetConclusionFromProtocol, ArcjetConclusionToProtocol, ArcjetDecisionFromProtocol, ArcjetDecisionToProtocol, ArcjetEmailTypeFromProtocol, ArcjetEmailTypeToProtocol, ArcjetIpDetailsFromProtocol, ArcjetModeToProtocol, ArcjetReasonFromProtocol, ArcjetReasonToProtocol, ArcjetRuleResultFromProtocol, ArcjetRuleResultToProtocol, ArcjetRuleStateFromProtocol, ArcjetRuleStateToProtocol, ArcjetRuleToProtocol, ArcjetStackToProtocol };

@@ -953,3 +953,3 @@ import type { Cache } from "@arcjet/cache";

/**
* Protocol (such as `"http"`).
* Protocol (such as `"http:"`).
*/

@@ -956,0 +956,0 @@ protocol: string;

@@ -0,3 +1,4 @@

import { isMessage } from '@bufbuild/protobuf';
import { typeid } from 'typeid-js';
import { Reason } from './proto/decide/v1alpha1/decide_pb.js';
import { ReasonSchema } from './proto/decide/v1alpha1/decide_pb.js';
export { categories as botCategories } from './well-known-bots.js';

@@ -333,11 +334,8 @@

super();
// TODO: Get rid of instanceof check
if (error instanceof Reason) {
if (error.reason.case === "error") {
this.message = error.reason.value.message;
return;
}
else {
this.message = "Missing error reason";
}
if (isMessage(error, ReasonSchema)) {
this.message =
error.reason.case === "error"
? error.reason.value.message
: "Missing error reason";
return;
}

@@ -344,0 +342,0 @@ // TODO: Get rid of instanceof check

{
"name": "@arcjet/protocol",
"version": "1.0.0",
"version": "1.1.0-rc",
"description": "The TypeScript & JavaScript interface into the Arcjet protocol",

@@ -47,3 +47,2 @@ "keywords": [

"lint": "eslint .",
"prepublishOnly": "npm run build",
"test-api": "node --test -- test/*.test.js",

@@ -54,12 +53,12 @@ "test-coverage": "node --experimental-test-coverage --test -- test/*.test.js",

"dependencies": {
"@arcjet/cache": "1.0.0",
"@bufbuild/protobuf": "1.10.1",
"@connectrpc/connect": "1.6.1",
"@arcjet/cache": "1.1.0-rc",
"@bufbuild/protobuf": "2.11.0",
"@connectrpc/connect": "2.1.1",
"typeid-js": "1.2.0"
},
"devDependencies": {
"@arcjet/eslint-config": "1.0.0",
"@arcjet/rollup-config": "1.0.0",
"@rollup/wasm-node": "4.55.1",
"@types/node": "25.0.8",
"@arcjet/eslint-config": "1.1.0-rc",
"@arcjet/rollup-config": "1.1.0-rc",
"@rollup/wasm-node": "4.57.0",
"@types/node": "25.0.10",
"eslint": "9.39.2",

@@ -66,0 +65,0 @@ "typescript": "5.9.3"

@@ -1,443 +0,15 @@

// @generated by protoc-gen-es v1.10.0
// @generated by protoc-gen-es v2.2.0
// @generated from file proto/decide/v1alpha1/decide.proto (package proto.decide.v1alpha1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage, Timestamp } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
import type { Message } from "@bufbuild/protobuf";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
/**
* 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
* Describes the file proto/decide/v1alpha1/decide.proto.
*/
export declare 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,
export declare const file_proto_decide_v1alpha1_decide: GenFile;
/**
* 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,
}
/**
* Represents the type of email address submitted.
*
* @generated from enum proto.decide.v1alpha1.EmailType
*/
export declare 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,
}
/**
* 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 your dashboard. In `LIVE` mode, requests will be allowed,
* challenged or blocked based on the returned decision.
*
* @generated from enum proto.decide.v1alpha1.Mode
*/
export declare 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 your dashboard.
*
* @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,
}
/**
* @generated from enum proto.decide.v1alpha1.RuleState
*/
export declare 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,
}
/**
* The conclusion for the request based on the Arcjet analysis and any specific
* configuration.
*
* @generated from enum proto.decide.v1alpha1.Conclusion
*/
export declare 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,
}
/**
* The SDK used to make the request. Used for analytics and to help us improve.
*
* @generated from enum proto.decide.v1alpha1.SDKStack
*/
export declare 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 proto.decide.v1alpha1.RateLimitAlgorithm
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.RateLimitRuleVersion
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.BotV2RuleVersion
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.EmailRuleVersion
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.SensitiveInfoRuleVersion
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.ShieldRuleVersion
*/
export declare 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,
}
/**
* @generated from enum proto.decide.v1alpha1.FilterRuleVersion
*/
export declare 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,
}
/**
* Additional information from Arcjet about the IP address associated with a

@@ -448,3 +20,3 @@ * request.

*/
export declare class IpDetails extends Message<IpDetails> {
export declare type IpDetails = Message<"proto.decide.v1alpha1.IpDetails"> & {
/**

@@ -605,18 +177,10 @@ * The estimated latitude of the IP address - see accuracy_radius for the

isRelay: boolean;
};
constructor(data?: PartialMessage<IpDetails>);
/**
* Describes the message proto.decide.v1alpha1.IpDetails.
* Use `create(IpDetailsSchema)` to create a new message.
*/
export declare const IpDetailsSchema: GenMessage<IpDetails>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.IpDetails";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): IpDetails;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): IpDetails;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): IpDetails;
static equals(a: IpDetails | PlainMessage<IpDetails> | undefined, b: IpDetails | PlainMessage<IpDetails> | undefined): boolean;
}
/**

@@ -629,3 +193,3 @@ * The reason for the decision. This is populated based on the selected rules

*/
export declare class Reason extends Message<Reason> {
export declare type Reason = Message<"proto.decide.v1alpha1.Reason"> & {
/**

@@ -714,18 +278,10 @@ * @generated from oneof proto.decide.v1alpha1.Reason.reason

} | { case: undefined; value?: undefined };
};
constructor(data?: PartialMessage<Reason>);
/**
* Describes the message proto.decide.v1alpha1.Reason.
* Use `create(ReasonSchema)` to create a new message.
*/
export declare const ReasonSchema: GenMessage<Reason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.Reason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Reason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Reason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Reason;
static equals(a: Reason | PlainMessage<Reason> | undefined, b: Reason | PlainMessage<Reason> | undefined): boolean;
}
/**

@@ -736,3 +292,3 @@ * Details of a rate limit decision.

*/
export declare class RateLimitReason extends Message<RateLimitReason> {
export declare type RateLimitReason = Message<"proto.decide.v1alpha1.RateLimitReason"> & {
/**

@@ -784,18 +340,10 @@ * The configured maximum number of requests allowed in the current window.

windowInSeconds: number;
};
constructor(data?: PartialMessage<RateLimitReason>);
/**
* Describes the message proto.decide.v1alpha1.RateLimitReason.
* Use `create(RateLimitReasonSchema)` to create a new message.
*/
export declare const RateLimitReasonSchema: GenMessage<RateLimitReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.RateLimitReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RateLimitReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RateLimitReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RateLimitReason;
static equals(a: RateLimitReason | PlainMessage<RateLimitReason> | undefined, b: RateLimitReason | PlainMessage<RateLimitReason> | undefined): boolean;
}
/**

@@ -806,18 +354,11 @@ * Details of an edge rule decision. Unimplemented.

*/
export declare class EdgeRuleReason extends Message<EdgeRuleReason> {
constructor(data?: PartialMessage<EdgeRuleReason>);
export declare type EdgeRuleReason = Message<"proto.decide.v1alpha1.EdgeRuleReason"> & {
};
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.EdgeRuleReason";
static readonly fields: FieldList;
/**
* Describes the message proto.decide.v1alpha1.EdgeRuleReason.
* Use `create(EdgeRuleReasonSchema)` to create a new message.
*/
export declare const EdgeRuleReasonSchema: GenMessage<EdgeRuleReason>;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EdgeRuleReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EdgeRuleReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EdgeRuleReason;
static equals(a: EdgeRuleReason | PlainMessage<EdgeRuleReason> | undefined, b: EdgeRuleReason | PlainMessage<EdgeRuleReason> | undefined): boolean;
}
/**

@@ -828,3 +369,3 @@ * Details of a bot decision.

*/
export declare class BotReason extends Message<BotReason> {
export declare type BotReason = Message<"proto.decide.v1alpha1.BotReason"> & {
/**

@@ -887,18 +428,10 @@ * The bot type we detected. See `BotType` for more information.

ipRelay: boolean;
};
constructor(data?: PartialMessage<BotReason>);
/**
* Describes the message proto.decide.v1alpha1.BotReason.
* Use `create(BotReasonSchema)` to create a new message.
*/
export declare const BotReasonSchema: GenMessage<BotReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.BotReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BotReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BotReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BotReason;
static equals(a: BotReason | PlainMessage<BotReason> | undefined, b: BotReason | PlainMessage<BotReason> | undefined): boolean;
}
/**

@@ -909,3 +442,3 @@ * Details of a bot (v2) decision.

*/
export declare class BotV2Reason extends Message<BotV2Reason> {
export declare type BotV2Reason = Message<"proto.decide.v1alpha1.BotV2Reason"> & {
/**

@@ -930,18 +463,10 @@ * @generated from field: repeated string allowed = 1;

spoofed: boolean;
};
constructor(data?: PartialMessage<BotV2Reason>);
/**
* Describes the message proto.decide.v1alpha1.BotV2Reason.
* Use `create(BotV2ReasonSchema)` to create a new message.
*/
export declare const BotV2ReasonSchema: GenMessage<BotV2Reason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.BotV2Reason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BotV2Reason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BotV2Reason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BotV2Reason;
static equals(a: BotV2Reason | PlainMessage<BotV2Reason> | undefined, b: BotV2Reason | PlainMessage<BotV2Reason> | undefined): boolean;
}
/**

@@ -952,3 +477,3 @@ * Details of an Arcjet Shield decision.

*/
export declare class ShieldReason extends Message<ShieldReason> {
export declare type ShieldReason = Message<"proto.decide.v1alpha1.ShieldReason"> & {
/**

@@ -970,18 +495,10 @@ * Whether Arcjet Shield was triggered. Log into the Arcjet dashboard and

suspicious: boolean;
};
constructor(data?: PartialMessage<ShieldReason>);
/**
* Describes the message proto.decide.v1alpha1.ShieldReason.
* Use `create(ShieldReasonSchema)` to create a new message.
*/
export declare const ShieldReasonSchema: GenMessage<ShieldReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.ShieldReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ShieldReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ShieldReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ShieldReason;
static equals(a: ShieldReason | PlainMessage<ShieldReason> | undefined, b: ShieldReason | PlainMessage<ShieldReason> | undefined): boolean;
}
/**

@@ -992,3 +509,3 @@ * Details of an Arcjet Filter decision.

*/
export declare class FilterReason extends Message<FilterReason> {
export declare type FilterReason = Message<"proto.decide.v1alpha1.FilterReason"> & {
/**

@@ -1015,18 +532,10 @@ * Deprecated: Use the `matched_expressions` field instead.

undeterminedExpressions: string[];
};
constructor(data?: PartialMessage<FilterReason>);
/**
* Describes the message proto.decide.v1alpha1.FilterReason.
* Use `create(FilterReasonSchema)` to create a new message.
*/
export declare const FilterReasonSchema: GenMessage<FilterReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.FilterReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FilterReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FilterReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FilterReason;
static equals(a: FilterReason | PlainMessage<FilterReason> | undefined, b: FilterReason | PlainMessage<FilterReason> | undefined): boolean;
}
/**

@@ -1037,3 +546,3 @@ * Details of an email decision.

*/
export declare class EmailReason extends Message<EmailReason> {
export declare type EmailReason = Message<"proto.decide.v1alpha1.EmailReason"> & {
/**

@@ -1046,18 +555,10 @@ * The types of email address we detected. This may be one or more of the

emailTypes: EmailType[];
};
constructor(data?: PartialMessage<EmailReason>);
/**
* Describes the message proto.decide.v1alpha1.EmailReason.
* Use `create(EmailReasonSchema)` to create a new message.
*/
export declare const EmailReasonSchema: GenMessage<EmailReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.EmailReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EmailReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EmailReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EmailReason;
static equals(a: EmailReason | PlainMessage<EmailReason> | undefined, b: EmailReason | PlainMessage<EmailReason> | undefined): boolean;
}
/**

@@ -1068,3 +569,3 @@ * Details of an error decision.

*/
export declare class ErrorReason extends Message<ErrorReason> {
export declare type ErrorReason = Message<"proto.decide.v1alpha1.ErrorReason"> & {
/**

@@ -1076,22 +577,14 @@ * The error message associated with the error decision.

message: string;
};
constructor(data?: PartialMessage<ErrorReason>);
/**
* Describes the message proto.decide.v1alpha1.ErrorReason.
* Use `create(ErrorReasonSchema)` to create a new message.
*/
export declare const ErrorReasonSchema: GenMessage<ErrorReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.ErrorReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ErrorReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ErrorReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ErrorReason;
static equals(a: ErrorReason | PlainMessage<ErrorReason> | undefined, b: ErrorReason | PlainMessage<ErrorReason> | undefined): boolean;
}
/**
* @generated from message proto.decide.v1alpha1.IdentifiedEntity
*/
export declare class IdentifiedEntity extends Message<IdentifiedEntity> {
export declare type IdentifiedEntity = Message<"proto.decide.v1alpha1.IdentifiedEntity"> & {
/**

@@ -1117,18 +610,10 @@ * The type of entity that was identified

end: number;
};
constructor(data?: PartialMessage<IdentifiedEntity>);
/**
* Describes the message proto.decide.v1alpha1.IdentifiedEntity.
* Use `create(IdentifiedEntitySchema)` to create a new message.
*/
export declare const IdentifiedEntitySchema: GenMessage<IdentifiedEntity>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.IdentifiedEntity";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): IdentifiedEntity;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): IdentifiedEntity;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): IdentifiedEntity;
static equals(a: IdentifiedEntity | PlainMessage<IdentifiedEntity> | undefined, b: IdentifiedEntity | PlainMessage<IdentifiedEntity> | undefined): boolean;
}
/**

@@ -1139,3 +624,3 @@ * Details of a sensitive info reason.

*/
export declare class SensitiveInfoReason extends Message<SensitiveInfoReason> {
export declare type SensitiveInfoReason = Message<"proto.decide.v1alpha1.SensitiveInfoReason"> & {
/**

@@ -1154,18 +639,10 @@ * The allowed sensitive info types

denied: IdentifiedEntity[];
};
constructor(data?: PartialMessage<SensitiveInfoReason>);
/**
* Describes the message proto.decide.v1alpha1.SensitiveInfoReason.
* Use `create(SensitiveInfoReasonSchema)` to create a new message.
*/
export declare const SensitiveInfoReasonSchema: GenMessage<SensitiveInfoReason>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.SensitiveInfoReason";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SensitiveInfoReason;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SensitiveInfoReason;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SensitiveInfoReason;
static equals(a: SensitiveInfoReason | PlainMessage<SensitiveInfoReason> | undefined, b: SensitiveInfoReason | PlainMessage<SensitiveInfoReason> | undefined): boolean;
}
/**

@@ -1176,3 +653,3 @@ * The configuration for a rate limit rule.

*/
export declare class RateLimitRule extends Message<RateLimitRule> {
export declare type RateLimitRule = Message<"proto.decide.v1alpha1.RateLimitRule"> & {
/**

@@ -1292,18 +769,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: RateLimitRuleVersion;
};
constructor(data?: PartialMessage<RateLimitRule>);
/**
* Describes the message proto.decide.v1alpha1.RateLimitRule.
* Use `create(RateLimitRuleSchema)` to create a new message.
*/
export declare const RateLimitRuleSchema: GenMessage<RateLimitRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.RateLimitRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RateLimitRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RateLimitRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RateLimitRule;
static equals(a: RateLimitRule | PlainMessage<RateLimitRule> | undefined, b: RateLimitRule | PlainMessage<RateLimitRule> | undefined): boolean;
}
/**

@@ -1314,3 +783,3 @@ * The configuration for a bot rule.

*/
export declare class BotRule extends Message<BotRule> {
export declare type BotRule = Message<"proto.decide.v1alpha1.BotRule"> & {
/**

@@ -1337,22 +806,14 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

patterns?: BotRule_Patterns;
};
constructor(data?: PartialMessage<BotRule>);
/**
* Describes the message proto.decide.v1alpha1.BotRule.
* Use `create(BotRuleSchema)` to create a new message.
*/
export declare const BotRuleSchema: GenMessage<BotRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.BotRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BotRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BotRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BotRule;
static equals(a: BotRule | PlainMessage<BotRule> | undefined, b: BotRule | PlainMessage<BotRule> | undefined): boolean;
}
/**
* @generated from message proto.decide.v1alpha1.BotRule.Patterns
*/
export declare class BotRule_Patterns extends Message<BotRule_Patterns> {
export declare type BotRule_Patterns = Message<"proto.decide.v1alpha1.BotRule.Patterns"> & {
/**

@@ -1367,18 +828,10 @@ * @generated from field: map<string, proto.decide.v1alpha1.BotType> add = 1;

remove: string[];
};
constructor(data?: PartialMessage<BotRule_Patterns>);
/**
* Describes the message proto.decide.v1alpha1.BotRule.Patterns.
* Use `create(BotRule_PatternsSchema)` to create a new message.
*/
export declare const BotRule_PatternsSchema: GenMessage<BotRule_Patterns>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.BotRule.Patterns";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BotRule_Patterns;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BotRule_Patterns;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BotRule_Patterns;
static equals(a: BotRule_Patterns | PlainMessage<BotRule_Patterns> | undefined, b: BotRule_Patterns | PlainMessage<BotRule_Patterns> | undefined): boolean;
}
/**

@@ -1389,3 +842,3 @@ * The configuration for a bot (v2) rule.

*/
export declare class BotV2Rule extends Message<BotV2Rule> {
export declare type BotV2Rule = Message<"proto.decide.v1alpha1.BotV2Rule"> & {
/**

@@ -1413,18 +866,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: BotV2RuleVersion;
};
constructor(data?: PartialMessage<BotV2Rule>);
/**
* Describes the message proto.decide.v1alpha1.BotV2Rule.
* Use `create(BotV2RuleSchema)` to create a new message.
*/
export declare const BotV2RuleSchema: GenMessage<BotV2Rule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.BotV2Rule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): BotV2Rule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): BotV2Rule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): BotV2Rule;
static equals(a: BotV2Rule | PlainMessage<BotV2Rule> | undefined, b: BotV2Rule | PlainMessage<BotV2Rule> | undefined): boolean;
}
/**

@@ -1435,3 +880,3 @@ * The configuration for an email rule.

*/
export declare class EmailRule extends Message<EmailRule> {
export declare type EmailRule = Message<"proto.decide.v1alpha1.EmailRule"> & {
/**

@@ -1478,18 +923,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: EmailRuleVersion;
};
constructor(data?: PartialMessage<EmailRule>);
/**
* Describes the message proto.decide.v1alpha1.EmailRule.
* Use `create(EmailRuleSchema)` to create a new message.
*/
export declare const EmailRuleSchema: GenMessage<EmailRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.EmailRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): EmailRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): EmailRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): EmailRule;
static equals(a: EmailRule | PlainMessage<EmailRule> | undefined, b: EmailRule | PlainMessage<EmailRule> | undefined): boolean;
}
/**

@@ -1500,3 +937,3 @@ * The configuration for a detect sensitive info rule.

*/
export declare class SensitiveInfoRule extends Message<SensitiveInfoRule> {
export declare type SensitiveInfoRule = Message<"proto.decide.v1alpha1.SensitiveInfoRule"> & {
/**

@@ -1526,18 +963,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: SensitiveInfoRuleVersion;
};
constructor(data?: PartialMessage<SensitiveInfoRule>);
/**
* Describes the message proto.decide.v1alpha1.SensitiveInfoRule.
* Use `create(SensitiveInfoRuleSchema)` to create a new message.
*/
export declare const SensitiveInfoRuleSchema: GenMessage<SensitiveInfoRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.SensitiveInfoRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SensitiveInfoRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SensitiveInfoRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SensitiveInfoRule;
static equals(a: SensitiveInfoRule | PlainMessage<SensitiveInfoRule> | undefined, b: SensitiveInfoRule | PlainMessage<SensitiveInfoRule> | undefined): boolean;
}
/**

@@ -1548,3 +977,3 @@ * The configuration for a shield rule.

*/
export declare class ShieldRule extends Message<ShieldRule> {
export declare type ShieldRule = Message<"proto.decide.v1alpha1.ShieldRule"> & {
/**

@@ -1577,18 +1006,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: ShieldRuleVersion;
};
constructor(data?: PartialMessage<ShieldRule>);
/**
* Describes the message proto.decide.v1alpha1.ShieldRule.
* Use `create(ShieldRuleSchema)` to create a new message.
*/
export declare const ShieldRuleSchema: GenMessage<ShieldRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.ShieldRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ShieldRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ShieldRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ShieldRule;
static equals(a: ShieldRule | PlainMessage<ShieldRule> | undefined, b: ShieldRule | PlainMessage<ShieldRule> | undefined): boolean;
}
/**

@@ -1599,3 +1020,3 @@ * The configuration for a filter rule.

*/
export declare class FilterRule extends Message<FilterRule> {
export declare type FilterRule = Message<"proto.decide.v1alpha1.FilterRule"> & {
/**

@@ -1623,18 +1044,10 @@ * @generated from field: proto.decide.v1alpha1.Mode mode = 1;

version: FilterRuleVersion;
};
constructor(data?: PartialMessage<FilterRule>);
/**
* Describes the message proto.decide.v1alpha1.FilterRule.
* Use `create(FilterRuleSchema)` to create a new message.
*/
export declare const FilterRuleSchema: GenMessage<FilterRule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.FilterRule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): FilterRule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): FilterRule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): FilterRule;
static equals(a: FilterRule | PlainMessage<FilterRule> | undefined, b: FilterRule | PlainMessage<FilterRule> | undefined): boolean;
}
/**

@@ -1645,3 +1058,3 @@ * The configuration for Arcjet.

*/
export declare class Rule extends Message<Rule> {
export declare type Rule = Message<"proto.decide.v1alpha1.Rule"> & {
/**

@@ -1693,22 +1106,14 @@ * @generated from oneof proto.decide.v1alpha1.Rule.rule

} | { case: undefined; value?: undefined };
};
constructor(data?: PartialMessage<Rule>);
/**
* Describes the message proto.decide.v1alpha1.Rule.
* Use `create(RuleSchema)` to create a new message.
*/
export declare const RuleSchema: GenMessage<Rule>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.Rule";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Rule;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Rule;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Rule;
static equals(a: Rule | PlainMessage<Rule> | undefined, b: Rule | PlainMessage<Rule> | undefined): boolean;
}
/**
* @generated from message proto.decide.v1alpha1.RuleResult
*/
export declare class RuleResult extends Message<RuleResult> {
export declare type RuleResult = Message<"proto.decide.v1alpha1.RuleResult"> & {
/**

@@ -1758,18 +1163,10 @@ * The stable, deterministic, and unique identifier of the rule that

fingerprint: string;
};
constructor(data?: PartialMessage<RuleResult>);
/**
* Describes the message proto.decide.v1alpha1.RuleResult.
* Use `create(RuleResultSchema)` to create a new message.
*/
export declare const RuleResultSchema: GenMessage<RuleResult>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.RuleResult";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RuleResult;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RuleResult;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RuleResult;
static equals(a: RuleResult | PlainMessage<RuleResult> | undefined, b: RuleResult | PlainMessage<RuleResult> | undefined): boolean;
}
/**

@@ -1780,3 +1177,3 @@ * Details about a request under investigation.

*/
export declare class RequestDetails extends Message<RequestDetails> {
export declare type RequestDetails = Message<"proto.decide.v1alpha1.RequestDetails"> & {
/**

@@ -1841,18 +1238,10 @@ * @generated from field: string ip = 1;

query: string;
};
constructor(data?: PartialMessage<RequestDetails>);
/**
* Describes the message proto.decide.v1alpha1.RequestDetails.
* Use `create(RequestDetailsSchema)` to create a new message.
*/
export declare const RequestDetailsSchema: GenMessage<RequestDetails>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.RequestDetails";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RequestDetails;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RequestDetails;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RequestDetails;
static equals(a: RequestDetails | PlainMessage<RequestDetails> | undefined, b: RequestDetails | PlainMessage<RequestDetails> | undefined): boolean;
}
/**

@@ -1863,3 +1252,3 @@ * A decision made about the request under investigation.

*/
export declare class Decision extends Message<Decision> {
export declare type Decision = Message<"proto.decide.v1alpha1.Decision"> & {
/**

@@ -1908,18 +1297,10 @@ * The decision ID. This is a unique identifier for the decision which can

ipDetails?: IpDetails;
};
constructor(data?: PartialMessage<Decision>);
/**
* Describes the message proto.decide.v1alpha1.Decision.
* Use `create(DecisionSchema)` to create a new message.
*/
export declare const DecisionSchema: GenMessage<Decision>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.Decision";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Decision;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Decision;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Decision;
static equals(a: Decision | PlainMessage<Decision> | undefined, b: Decision | PlainMessage<Decision> | undefined): boolean;
}
/**

@@ -1930,3 +1311,3 @@ * A request to the decide API.

*/
export declare class DecideRequest extends Message<DecideRequest> {
export declare type DecideRequest = Message<"proto.decide.v1alpha1.DecideRequest"> & {
/**

@@ -1962,18 +1343,10 @@ * @generated from field: proto.decide.v1alpha1.SDKStack sdk_stack = 1;

characteristics: string[];
};
constructor(data?: PartialMessage<DecideRequest>);
/**
* Describes the message proto.decide.v1alpha1.DecideRequest.
* Use `create(DecideRequestSchema)` to create a new message.
*/
export declare const DecideRequestSchema: GenMessage<DecideRequest>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.DecideRequest";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DecideRequest;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DecideRequest;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DecideRequest;
static equals(a: DecideRequest | PlainMessage<DecideRequest> | undefined, b: DecideRequest | PlainMessage<DecideRequest> | undefined): boolean;
}
/**

@@ -1984,3 +1357,3 @@ * A response from the decide API.

*/
export declare class DecideResponse extends Message<DecideResponse> {
export declare type DecideResponse = Message<"proto.decide.v1alpha1.DecideResponse"> & {
/**

@@ -1999,18 +1372,10 @@ * The decision made about the request under investigation.

extra: { [key: string]: string };
};
constructor(data?: PartialMessage<DecideResponse>);
/**
* Describes the message proto.decide.v1alpha1.DecideResponse.
* Use `create(DecideResponseSchema)` to create a new message.
*/
export declare const DecideResponseSchema: GenMessage<DecideResponse>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.DecideResponse";
static readonly fields: FieldList;
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): DecideResponse;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): DecideResponse;
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): DecideResponse;
static equals(a: DecideResponse | PlainMessage<DecideResponse> | undefined, b: DecideResponse | PlainMessage<DecideResponse> | undefined): boolean;
}
/**

@@ -2021,3 +1386,3 @@ * A request to the Report RPC when SDK has already made a decision locally.

*/
export declare class ReportRequest extends Message<ReportRequest> {
export declare type ReportRequest = Message<"proto.decide.v1alpha1.ReportRequest"> & {
/**

@@ -2060,45 +1425,549 @@ * @generated from field: proto.decide.v1alpha1.SDKStack sdk_stack = 1;

characteristics: string[];
};
constructor(data?: PartialMessage<ReportRequest>);
/**
* Describes the message proto.decide.v1alpha1.ReportRequest.
* Use `create(ReportRequestSchema)` to create a new message.
*/
export declare const ReportRequestSchema: GenMessage<ReportRequest>;
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.ReportRequest";
static readonly fields: FieldList;
/**
* 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<string, string> extra = 2;
*/
extra: { [key: string]: string };
};
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ReportRequest;
/**
* Describes the message proto.decide.v1alpha1.ReportResponse.
* Use `create(ReportResponseSchema)` to create a new message.
*/
export declare const ReportResponseSchema: GenMessage<ReportResponse>;
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ReportRequest;
/**
* 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,
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ReportRequest;
/**
* 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,
static equals(a: ReportRequest | PlainMessage<ReportRequest> | undefined, b: ReportRequest | PlainMessage<ReportRequest> | undefined): boolean;
/**
* 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,
}
/**
* A response from the Report RPC.
* Describes the enum proto.decide.v1alpha1.BotType.
*/
export declare const BotTypeSchema: GenEnum<BotType>;
/**
* Represents the type of email address submitted.
*
* @generated from message proto.decide.v1alpha1.ReportResponse
* @generated from enum proto.decide.v1alpha1.EmailType
*/
export declare class ReportResponse extends Message<ReportResponse> {
export enum EmailType {
/**
* Any extra information returned by the Arcjet analysis.
* The email type is unspecified. This should not be used, but is here to
* conform to the gRPC best practices.
*
* @generated from field: map<string, string> extra = 2;
* @generated from enum value: EMAIL_TYPE_UNSPECIFIED = 0;
*/
extra: { [key: string]: string };
UNSPECIFIED = 0,
constructor(data?: PartialMessage<ReportResponse>);
/**
* 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,
static readonly runtime: typeof proto3;
static readonly typeName = "proto.decide.v1alpha1.ReportResponse";
static readonly fields: FieldList;
/**
* 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,
static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): ReportResponse;
/**
* 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,
static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): ReportResponse;
/**
* 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,
static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): ReportResponse;
/**
* This email was specified in an invalid format.
*
* @generated from enum value: EMAIL_TYPE_INVALID = 5;
*/
INVALID = 5,
}
static equals(a: ReportResponse | PlainMessage<ReportResponse> | undefined, b: ReportResponse | PlainMessage<ReportResponse> | undefined): boolean;
/**
* Describes the enum proto.decide.v1alpha1.EmailType.
*/
export declare const EmailTypeSchema: GenEnum<EmailType>;
/**
* 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 your dashboard. 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 your dashboard.
*
* @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<Mode>;
/**
* @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<RuleState>;
/**
* 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<Conclusion>;
/**
* 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,
}
/**
* Describes the enum proto.decide.v1alpha1.SDKStack.
*/
export declare const SDKStackSchema: GenEnum<SDKStack>;
/**
* @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<RateLimitAlgorithm>;
/**
* @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<RateLimitRuleVersion>;
/**
* @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<BotV2RuleVersion>;
/**
* @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<EmailRuleVersion>;
/**
* @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<SensitiveInfoRuleVersion>;
/**
* @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<ShieldRuleVersion>;
/**
* @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<FilterRuleVersion>;
/**
* @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;
},
}>;

@@ -1,640 +0,387 @@

// @generated by protoc-gen-es v1.10.0
// @generated by protoc-gen-es v2.2.0
// @generated from file proto/decide/v1alpha1/decide.proto (package proto.decide.v1alpha1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import { proto3, Timestamp } from "@bufbuild/protobuf";
import { enumDesc, fileDesc, messageDesc, serviceDesc, tsEnum } from "@bufbuild/protobuf/codegenv1";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
/**
* 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
* Describes the file proto/decide/v1alpha1/decide.proto.
*/
export const BotType = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.BotType",
[
{no: 0, name: "BOT_TYPE_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "BOT_TYPE_NOT_ANALYZED", localName: "NOT_ANALYZED"},
{no: 2, name: "BOT_TYPE_AUTOMATED", localName: "AUTOMATED"},
{no: 3, name: "BOT_TYPE_LIKELY_AUTOMATED", localName: "LIKELY_AUTOMATED"},
{no: 4, name: "BOT_TYPE_LIKELY_NOT_A_BOT", localName: "LIKELY_NOT_A_BOT"},
{no: 5, name: "BOT_TYPE_VERIFIED_BOT", localName: "VERIFIED_BOT"},
],
);
export const file_proto_decide_v1alpha1_decide = /*@__PURE__*/
fileDesc("CiJwcm90by9kZWNpZGUvdjFhbHBoYTEvZGVjaWRlLnByb3RvEhVwcm90by5kZWNpZGUudjFhbHBoYTEiowMKCUlwRGV0YWlscxIQCghsYXRpdHVkZRgBIAEoARIRCglsb25naXR1ZGUYAiABKAESFwoPYWNjdXJhY3lfcmFkaXVzGAMgASgFEhAKCHRpbWV6b25lGAQgASgJEhMKC3Bvc3RhbF9jb2RlGAUgASgJEgwKBGNpdHkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2NvdW50cnkYCCABKAkSFAoMY291bnRyeV9uYW1lGAkgASgJEhEKCWNvbnRpbmVudBgKIAEoCRIWCg5jb250aW5lbnRfbmFtZRgLIAEoCRILCgNhc24YDCABKAkSEAoIYXNuX25hbWUYDSABKAkSEgoKYXNuX2RvbWFpbhgOIAEoCRIQCghhc25fdHlwZRgPIAEoCRITCgthc25fY291bnRyeRgQIAEoCRIPCgdzZXJ2aWNlGBEgASgJEhIKCmlzX2hvc3RpbmcYEiABKAgSDgoGaXNfdnBuGBMgASgIEhAKCGlzX3Byb3h5GBQgASgIEg4KBmlzX3RvchgVIAEoCBIQCghpc19yZWxheRgWIAEoCCKRBAoGUmVhc29uEjwKCnJhdGVfbGltaXQYASABKAsyJi5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0UmVhc29uSAASOgoJZWRnZV9ydWxlGAIgASgLMiUucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVkZ2VSdWxlUmVhc29uSAASLwoDYm90GAMgASgLMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFJlYXNvbkgAEjUKBnNoaWVsZBgEIAEoCzIjLnByb3RvLmRlY2lkZS52MWFscGhhMS5TaGllbGRSZWFzb25IABIzCgVlbWFpbBgFIAEoCzIiLnByb3RvLmRlY2lkZS52MWFscGhhMS5FbWFpbFJlYXNvbkgAEjMKBWVycm9yGAYgASgLMiIucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVycm9yUmVhc29uSAASRAoOc2Vuc2l0aXZlX2luZm8YByABKAsyKi5wcm90by5kZWNpZGUudjFhbHBoYTEuU2Vuc2l0aXZlSW5mb1JlYXNvbkgAEjQKBmJvdF92MhgIIAEoCzIiLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJlYXNvbkgAEjUKBmZpbHRlchgJIAEoCzIjLnByb3RvLmRlY2lkZS52MWFscGhhMS5GaWx0ZXJSZWFzb25IAEIICgZyZWFzb24irQEKD1JhdGVMaW1pdFJlYXNvbhILCgNtYXgYASABKA0SEQoFY291bnQYAiABKAVCAhgBEhEKCXJlbWFpbmluZxgDIAEoDRIyCgpyZXNldF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESGAoQcmVzZXRfaW5fc2Vjb25kcxgFIAEoDRIZChF3aW5kb3dfaW5fc2Vjb25kcxgGIAEoDSIQCg5FZGdlUnVsZVJlYXNvbiLCAQoJQm90UmVhc29uEjAKCGJvdF90eXBlGAEgASgOMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFR5cGUSEQoJYm90X3Njb3JlGAIgASgFEhgKEHVzZXJfYWdlbnRfbWF0Y2gYAyABKAgSEgoKaXBfaG9zdGluZxgFIAEoCBIOCgZpcF92cG4YBiABKAgSEAoIaXBfcHJveHkYByABKAgSDgoGaXBfdG9yGAggASgIEhAKCGlwX3JlbGF5GAkgASgIIlEKC0JvdFYyUmVhc29uEg8KB2FsbG93ZWQYASADKAkSDgoGZGVuaWVkGAIgAygJEhAKCHZlcmlmaWVkGAMgASgIEg8KB3Nwb29mZWQYBCABKAgiPAoMU2hpZWxkUmVhc29uEhgKEHNoaWVsZF90cmlnZ2VyZWQYASABKAgSEgoKc3VzcGljaW91cxgCIAEoCCJtCgxGaWx0ZXJSZWFzb24SHgoSbWF0Y2hlZF9leHByZXNzaW9uGAEgASgJQgIYARIbChNtYXRjaGVkX2V4cHJlc3Npb25zGAIgAygJEiAKGHVuZGV0ZXJtaW5lZF9leHByZXNzaW9ucxgDIAMoCSJECgtFbWFpbFJlYXNvbhI1CgtlbWFpbF90eXBlcxgBIAMoDjIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5FbWFpbFR5cGUiHgoLRXJyb3JSZWFzb24SDwoHbWVzc2FnZRgBIAEoCSJHChBJZGVudGlmaWVkRW50aXR5EhcKD2lkZW50aWZpZWRfdHlwZRgBIAEoCRINCgVzdGFydBgCIAEoDRILCgNlbmQYAyABKA0iiAEKE1NlbnNpdGl2ZUluZm9SZWFzb24SOAoHYWxsb3dlZBgBIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5EjcKBmRlbmllZBgCIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5IvUCCg1SYXRlTGltaXRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVtYXRjaBgCIAEoCRIXCg9jaGFyYWN0ZXJpc3RpY3MYAyADKAkSEgoGd2luZG93GAQgASgJQgIYARILCgNtYXgYBSABKA0SDwoHdGltZW91dBgGIAEoCRI8CglhbGdvcml0aG0YByABKA4yKS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0QWxnb3JpdGhtEhMKC3JlZmlsbF9yYXRlGAggASgNEhAKCGludGVydmFsGAkgASgNEhAKCGNhcGFjaXR5GAogASgNEhkKEXdpbmRvd19pbl9zZWNvbmRzGAwgASgNEjwKB3ZlcnNpb24YDSABKA4yKy5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0UnVsZVZlcnNpb25KBAgLEAxSCXJlcXVlc3RlZCLGAgoHQm90UnVsZRIpCgRtb2RlGAEgASgOMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLk1vZGUSLQoFYmxvY2sYAiADKA4yHi5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90VHlwZRI5CghwYXR0ZXJucxgDIAEoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RSdWxlLlBhdHRlcm5zGqUBCghQYXR0ZXJucxI9CgNhZGQYASADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90UnVsZS5QYXR0ZXJucy5BZGRFbnRyeRIOCgZyZW1vdmUYAiADKAkaSgoIQWRkRW50cnkSCwoDa2V5GAEgASgJEi0KBXZhbHVlGAIgASgOMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFR5cGU6AjgBIo0BCglCb3RWMlJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEg0KBWFsbG93GAIgAygJEgwKBGRlbnkYAyADKAkSOAoHdmVyc2lvbhgEIAEoDjInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJ1bGVWZXJzaW9uIsYCCglFbWFpbFJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEjMKBWJsb2NrGAIgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZUICGAESIAoYcmVxdWlyZV90b3BfbGV2ZWxfZG9tYWluGAMgASgIEhwKFGFsbG93X2RvbWFpbl9saXRlcmFsGAQgASgIEi8KBWFsbG93GAUgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRIuCgRkZW55GAYgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRI4Cgd2ZXJzaW9uGAcgASgOMicucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsUnVsZVZlcnNpb24inQEKEVNlbnNpdGl2ZUluZm9SdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEkAKB3ZlcnNpb24YBCABKA4yLy5wcm90by5kZWNpZGUudjFhbHBoYTEuU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uIp8BCgpTaGllbGRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRISCgphdXRvX2FkZGVkGAIgASgIEhcKD2NoYXJhY3RlcmlzdGljcxgDIAMoCRI5Cgd2ZXJzaW9uGAQgASgOMigucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJ1bGVWZXJzaW9uIo8BCgpGaWx0ZXJSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEjkKB3ZlcnNpb24YBCABKA4yKC5wcm90by5kZWNpZGUudjFhbHBoYTEuRmlsdGVyUnVsZVZlcnNpb24ijwMKBFJ1bGUSOgoKcmF0ZV9saW1pdBgBIAEoCzIkLnByb3RvLmRlY2lkZS52MWFscGhhMS5SYXRlTGltaXRSdWxlSAASLgoEYm90cxgCIAEoCzIeLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RSdWxlSAASMQoFZW1haWwYAyABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuRW1haWxSdWxlSAASMwoGc2hpZWxkGAQgASgLMiEucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJ1bGVIABJCCg5zZW5zaXRpdmVfaW5mbxgFIAEoCzIoLnByb3RvLmRlY2lkZS52MWFscGhhMS5TZW5zaXRpdmVJbmZvUnVsZUgAEjIKBmJvdF92MhgGIAEoCzIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJ1bGVIABIzCgZmaWx0ZXIYByABKAsyIS5wcm90by5kZWNpZGUudjFhbHBoYTEuRmlsdGVyUnVsZUgAQgYKBHJ1bGUi1gEKClJ1bGVSZXN1bHQSDwoHcnVsZV9pZBgBIAEoCRIvCgVzdGF0ZRgCIAEoDjIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5SdWxlU3RhdGUSNQoKY29uY2x1c2lvbhgDIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgEIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SCwoDdHRsGAUgASgNEhMKC2ZpbmdlcnByaW50GAYgASgJIvsCCg5SZXF1ZXN0RGV0YWlscxIKCgJpcBgBIAEoCRIOCgZtZXRob2QYAiABKAkSEAoIcHJvdG9jb2wYAyABKAkSDAoEaG9zdBgEIAEoCRIMCgRwYXRoGAUgASgJEkMKB2hlYWRlcnMYBiADKAsyMi5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuSGVhZGVyc0VudHJ5EgwKBGJvZHkYByABKAwSPwoFZXh0cmEYCCADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuRXh0cmFFbnRyeRINCgVlbWFpbBgJIAEoCRIPCgdjb29raWVzGAogASgJEg0KBXF1ZXJ5GAsgASgJGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL4AQoIRGVjaXNpb24SCgoCaWQYASABKAkSNQoKY29uY2x1c2lvbhgCIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgDIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SNwoMcnVsZV9yZXN1bHRzGAQgAygLMiEucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGVSZXN1bHQSCwoDdHRsGAUgASgNEjQKCmlwX2RldGFpbHMYBiABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuSXBEZXRhaWxzIugBCg1EZWNpZGVSZXF1ZXN0EjIKCXNka19zdGFjaxgBIAEoDjIfLnByb3RvLmRlY2lkZS52MWFscGhhMS5TREtTdGFjaxITCgtzZGtfdmVyc2lvbhgCIAEoCRI2CgdkZXRhaWxzGAQgASgLMiUucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcXVlc3REZXRhaWxzEioKBXJ1bGVzGAUgAygLMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGUSFwoPY2hhcmFjdGVyaXN0aWNzGAYgAygJSgQIAxAEUgtmaW5nZXJwcmludCKyAQoORGVjaWRlUmVzcG9uc2USMQoIZGVjaXNpb24YASABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirgIKDVJlcG9ydFJlcXVlc3QSMgoJc2RrX3N0YWNrGAEgASgOMh8ucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNES1N0YWNrEhMKC3Nka192ZXJzaW9uGAIgASgJEjYKB2RldGFpbHMYBCABKAsyJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMSMQoIZGVjaXNpb24YBSABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SKgoFcnVsZXMYBiADKAsyGy5wcm90by5kZWNpZGUudjFhbHBoYTEuUnVsZRIXCg9jaGFyYWN0ZXJpc3RpY3MYCCADKAlKBAgDEARKBAgHEAhSC2ZpbmdlcnByaW50UgtyZWNlaXZlZF9hdCKPAQoOUmVwb3J0UmVzcG9uc2USPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSCGRlY2lzaW9uKq8BCgdCb3RUeXBlEhgKFEJPVF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQk9UX1RZUEVfTk9UX0FOQUxZWkVEEAESFgoSQk9UX1RZUEVfQVVUT01BVEVEEAISHQoZQk9UX1RZUEVfTElLRUxZX0FVVE9NQVRFRBADEh0KGUJPVF9UWVBFX0xJS0VMWV9OT1RfQV9CT1QQBBIZChVCT1RfVFlQRV9WRVJJRklFRF9CT1QQBSqpAQoJRW1haWxUeXBlEhoKFkVNQUlMX1RZUEVfVU5TUEVDSUZJRUQQABIZChVFTUFJTF9UWVBFX0RJU1BPU0FCTEUQARITCg9FTUFJTF9UWVBFX0ZSRUUQAhIcChhFTUFJTF9UWVBFX05PX01YX1JFQ09SRFMQAxIaChZFTUFJTF9UWVBFX05PX0dSQVZBVEFSEAQSFgoSRU1BSUxfVFlQRV9JTlZBTElEEAUqPQoETW9kZRIUChBNT0RFX1VOU1BFQ0lGSUVEEAASEAoMTU9ERV9EUllfUlVOEAESDQoJTU9ERV9MSVZFEAIqggEKCVJ1bGVTdGF0ZRIaChZSVUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASEgoOUlVMRV9TVEFURV9SVU4QARIWChJSVUxFX1NUQVRFX05PVF9SVU4QAhIWChJSVUxFX1NUQVRFX0RSWV9SVU4QAxIVChFSVUxFX1NUQVRFX0NBQ0hFRBAEKoMBCgpDb25jbHVzaW9uEhoKFkNPTkNMVVNJT05fVU5TUEVDSUZJRUQQABIUChBDT05DTFVTSU9OX0FMTE9XEAESEwoPQ09OQ0xVU0lPTl9ERU5ZEAISGAoUQ09OQ0xVU0lPTl9DSEFMTEVOR0UQAxIUChBDT05DTFVTSU9OX0VSUk9SEAQq2AIKCFNES1N0YWNrEhkKFVNES19TVEFDS19VTlNQRUNJRklFRBAAEhQKEFNES19TVEFDS19OT0RFSlMQARIUChBTREtfU1RBQ0tfTkVYVEpTEAISFAoQU0RLX1NUQUNLX1BZVEhPThADEhQKEFNES19TVEFDS19ESkFOR08QBBIRCg1TREtfU1RBQ0tfQlVOEAUSEgoOU0RLX1NUQUNLX0RFTk8QBhIXChNTREtfU1RBQ0tfU1ZFTFRFS0lUEAcSEgoOU0RLX1NUQUNLX0hPTk8QCBISCg5TREtfU1RBQ0tfTlVYVBAJEhQKEFNES19TVEFDS19ORVNUSlMQChITCg9TREtfU1RBQ0tfUkVNSVgQCxITCg9TREtfU1RBQ0tfQVNUUk8QDBIVChFTREtfU1RBQ0tfRkFTVElGWRANEhoKFlNES19TVEFDS19SRUFDVF9ST1VURVIQDiqxAQoSUmF0ZUxpbWl0QWxnb3JpdGhtEiQKIFJBVEVfTElNSVRfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASJQohUkFURV9MSU1JVF9BTEdPUklUSE1fVE9LRU5fQlVDS0VUEAESJQohUkFURV9MSU1JVF9BTEdPUklUSE1fRklYRURfV0lORE9XEAISJwojUkFURV9MSU1JVF9BTEdPUklUSE1fU0xJRElOR19XSU5ET1cQAyo/ChRSYXRlTGltaXRSdWxlVmVyc2lvbhInCiNSQVRFX0xJTUlUX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjcKEEJvdFYyUnVsZVZlcnNpb24SIwofQk9UX1YyX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjYKEEVtYWlsUnVsZVZlcnNpb24SIgoeRU1BSUxfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAqRwoYU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uEisKJ1NFTlNJVElWRV9JTkZPX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjgKEVNoaWVsZFJ1bGVWZXJzaW9uEiMKH1NISUVMRF9SVUxFX1ZFUlNJT05fVU5TUEVDSUZJRUQQACo4ChFGaWx0ZXJSdWxlVmVyc2lvbhIjCh9GSUxURVJfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAyvQEKDURlY2lkZVNlcnZpY2USVQoGRGVjaWRlEiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLkRlY2lkZVJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2USVQoGUmVwb3J0EiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcG9ydFJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2VC4gEKGWNvbS5wcm90by5kZWNpZGUudjFhbHBoYTFCC0RlY2lkZVByb3RvUAFaQmFyY2pldC9hcmNqZXQtZGVjaWRlL2ludGVybmFsL3Byb3RvL2RlY2lkZS92MWFscGhhMTtkZWNpZGV2MWFscGhhMaICA1BEWKoCFVByb3RvLkRlY2lkZS5WMWFscGhhMcoCFVByb3RvXERlY2lkZVxWMWFscGhhMeICIVByb3RvXERlY2lkZVxWMWFscGhhMVxHUEJNZXRhZGF0YeoCF1Byb3RvOjpEZWNpZGU6OlYxYWxwaGExYgZwcm90bzM", [file_google_protobuf_timestamp]);
/**
* Represents the type of email address submitted.
*
* @generated from enum proto.decide.v1alpha1.EmailType
* Describes the message proto.decide.v1alpha1.IpDetails.
* Use `create(IpDetailsSchema)` to create a new message.
*/
export const EmailType = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.EmailType",
[
{no: 0, name: "EMAIL_TYPE_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "EMAIL_TYPE_DISPOSABLE", localName: "DISPOSABLE"},
{no: 2, name: "EMAIL_TYPE_FREE", localName: "FREE"},
{no: 3, name: "EMAIL_TYPE_NO_MX_RECORDS", localName: "NO_MX_RECORDS"},
{no: 4, name: "EMAIL_TYPE_NO_GRAVATAR", localName: "NO_GRAVATAR"},
{no: 5, name: "EMAIL_TYPE_INVALID", localName: "INVALID"},
],
);
export const IpDetailsSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 0);
/**
* 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 your dashboard. In `LIVE` mode, requests will be allowed,
* challenged or blocked based on the returned decision.
*
* @generated from enum proto.decide.v1alpha1.Mode
* Describes the message proto.decide.v1alpha1.Reason.
* Use `create(ReasonSchema)` to create a new message.
*/
export const Mode = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.Mode",
[
{no: 0, name: "MODE_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "MODE_DRY_RUN", localName: "DRY_RUN"},
{no: 2, name: "MODE_LIVE", localName: "LIVE"},
],
);
export const ReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 1);
/**
* @generated from enum proto.decide.v1alpha1.RuleState
* Describes the message proto.decide.v1alpha1.RateLimitReason.
* Use `create(RateLimitReasonSchema)` to create a new message.
*/
export const RuleState = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.RuleState",
[
{no: 0, name: "RULE_STATE_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "RULE_STATE_RUN", localName: "RUN"},
{no: 2, name: "RULE_STATE_NOT_RUN", localName: "NOT_RUN"},
{no: 3, name: "RULE_STATE_DRY_RUN", localName: "DRY_RUN"},
{no: 4, name: "RULE_STATE_CACHED", localName: "CACHED"},
],
);
export const RateLimitReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 2);
/**
* The conclusion for the request based on the Arcjet analysis and any specific
* configuration.
*
* @generated from enum proto.decide.v1alpha1.Conclusion
* Describes the message proto.decide.v1alpha1.EdgeRuleReason.
* Use `create(EdgeRuleReasonSchema)` to create a new message.
*/
export const Conclusion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.Conclusion",
[
{no: 0, name: "CONCLUSION_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "CONCLUSION_ALLOW", localName: "ALLOW"},
{no: 2, name: "CONCLUSION_DENY", localName: "DENY"},
{no: 3, name: "CONCLUSION_CHALLENGE", localName: "CHALLENGE"},
{no: 4, name: "CONCLUSION_ERROR", localName: "ERROR"},
],
);
export const EdgeRuleReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 3);
/**
* The SDK used to make the request. Used for analytics and to help us improve.
*
* @generated from enum proto.decide.v1alpha1.SDKStack
* Describes the message proto.decide.v1alpha1.BotReason.
* Use `create(BotReasonSchema)` to create a new message.
*/
export const SDKStack = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.SDKStack",
[
{no: 0, name: "SDK_STACK_UNSPECIFIED"},
{no: 1, name: "SDK_STACK_NODEJS"},
{no: 2, name: "SDK_STACK_NEXTJS"},
{no: 3, name: "SDK_STACK_PYTHON"},
{no: 4, name: "SDK_STACK_DJANGO"},
{no: 5, name: "SDK_STACK_BUN"},
{no: 6, name: "SDK_STACK_DENO"},
{no: 7, name: "SDK_STACK_SVELTEKIT"},
{no: 8, name: "SDK_STACK_HONO"},
{no: 9, name: "SDK_STACK_NUXT"},
{no: 10, name: "SDK_STACK_NESTJS"},
{no: 11, name: "SDK_STACK_REMIX"},
{no: 12, name: "SDK_STACK_ASTRO"},
{no: 13, name: "SDK_STACK_FASTIFY"},
{no: 14, name: "SDK_STACK_REACT_ROUTER"},
],
);
export const BotReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 4);
/**
* @generated from enum proto.decide.v1alpha1.RateLimitAlgorithm
* Describes the message proto.decide.v1alpha1.BotV2Reason.
* Use `create(BotV2ReasonSchema)` to create a new message.
*/
export const RateLimitAlgorithm = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.RateLimitAlgorithm",
[
{no: 0, name: "RATE_LIMIT_ALGORITHM_UNSPECIFIED", localName: "UNSPECIFIED"},
{no: 1, name: "RATE_LIMIT_ALGORITHM_TOKEN_BUCKET", localName: "TOKEN_BUCKET"},
{no: 2, name: "RATE_LIMIT_ALGORITHM_FIXED_WINDOW", localName: "FIXED_WINDOW"},
{no: 3, name: "RATE_LIMIT_ALGORITHM_SLIDING_WINDOW", localName: "SLIDING_WINDOW"},
],
);
export const BotV2ReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 5);
/**
* @generated from enum proto.decide.v1alpha1.RateLimitRuleVersion
* Describes the message proto.decide.v1alpha1.ShieldReason.
* Use `create(ShieldReasonSchema)` to create a new message.
*/
export const RateLimitRuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.RateLimitRuleVersion",
[
{no: 0, name: "RATE_LIMIT_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const ShieldReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 6);
/**
* @generated from enum proto.decide.v1alpha1.BotV2RuleVersion
* Describes the message proto.decide.v1alpha1.FilterReason.
* Use `create(FilterReasonSchema)` to create a new message.
*/
export const BotV2RuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.BotV2RuleVersion",
[
{no: 0, name: "BOT_V2_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const FilterReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 7);
/**
* @generated from enum proto.decide.v1alpha1.EmailRuleVersion
* Describes the message proto.decide.v1alpha1.EmailReason.
* Use `create(EmailReasonSchema)` to create a new message.
*/
export const EmailRuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.EmailRuleVersion",
[
{no: 0, name: "EMAIL_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const EmailReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 8);
/**
* @generated from enum proto.decide.v1alpha1.SensitiveInfoRuleVersion
* Describes the message proto.decide.v1alpha1.ErrorReason.
* Use `create(ErrorReasonSchema)` to create a new message.
*/
export const SensitiveInfoRuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.SensitiveInfoRuleVersion",
[
{no: 0, name: "SENSITIVE_INFO_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const ErrorReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 9);
/**
* @generated from enum proto.decide.v1alpha1.ShieldRuleVersion
* Describes the message proto.decide.v1alpha1.IdentifiedEntity.
* Use `create(IdentifiedEntitySchema)` to create a new message.
*/
export const ShieldRuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.ShieldRuleVersion",
[
{no: 0, name: "SHIELD_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const IdentifiedEntitySchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 10);
/**
* @generated from enum proto.decide.v1alpha1.FilterRuleVersion
* Describes the message proto.decide.v1alpha1.SensitiveInfoReason.
* Use `create(SensitiveInfoReasonSchema)` to create a new message.
*/
export const FilterRuleVersion = /*@__PURE__*/ proto3.makeEnum(
"proto.decide.v1alpha1.FilterRuleVersion",
[
{no: 0, name: "FILTER_RULE_VERSION_UNSPECIFIED", localName: "UNSPECIFIED"},
],
);
export const SensitiveInfoReasonSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 11);
/**
* Additional information from Arcjet about the IP address associated with a
* request.
*
* @generated from message proto.decide.v1alpha1.IpDetails
* Describes the message proto.decide.v1alpha1.RateLimitRule.
* Use `create(RateLimitRuleSchema)` to create a new message.
*/
export const IpDetails = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.IpDetails",
() => [
{ no: 1, name: "latitude", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
{ no: 2, name: "longitude", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
{ no: 3, name: "accuracy_radius", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
{ no: 4, name: "timezone", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 5, name: "postal_code", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 6, name: "city", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 7, name: "region", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 8, name: "country", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 9, name: "country_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 10, name: "continent", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 11, name: "continent_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 12, name: "asn", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 13, name: "asn_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 14, name: "asn_domain", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 15, name: "asn_type", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 16, name: "asn_country", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 17, name: "service", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 18, name: "is_hosting", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 19, name: "is_vpn", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 20, name: "is_proxy", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 21, name: "is_tor", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 22, name: "is_relay", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
],
);
export const RateLimitRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 12);
/**
* 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 dashboard and searching for the decision ID.
*
* @generated from message proto.decide.v1alpha1.Reason
* Describes the message proto.decide.v1alpha1.BotRule.
* Use `create(BotRuleSchema)` to create a new message.
*/
export const Reason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.Reason",
() => [
{ no: 1, name: "rate_limit", kind: "message", T: RateLimitReason, oneof: "reason" },
{ no: 2, name: "edge_rule", kind: "message", T: EdgeRuleReason, oneof: "reason" },
{ no: 3, name: "bot", kind: "message", T: BotReason, oneof: "reason" },
{ no: 4, name: "shield", kind: "message", T: ShieldReason, oneof: "reason" },
{ no: 5, name: "email", kind: "message", T: EmailReason, oneof: "reason" },
{ no: 6, name: "error", kind: "message", T: ErrorReason, oneof: "reason" },
{ no: 7, name: "sensitive_info", kind: "message", T: SensitiveInfoReason, oneof: "reason" },
{ no: 8, name: "bot_v2", kind: "message", T: BotV2Reason, oneof: "reason" },
{ no: 9, name: "filter", kind: "message", T: FilterReason, oneof: "reason" },
],
);
export const BotRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 13);
/**
* Details of a rate limit decision.
*
* @generated from message proto.decide.v1alpha1.RateLimitReason
* Describes the message proto.decide.v1alpha1.BotRule.Patterns.
* Use `create(BotRule_PatternsSchema)` to create a new message.
*/
export const RateLimitReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.RateLimitReason",
() => [
{ no: 1, name: "max", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 2, name: "count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
{ no: 3, name: "remaining", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 4, name: "reset_time", kind: "message", T: Timestamp },
{ no: 5, name: "reset_in_seconds", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 6, name: "window_in_seconds", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
],
);
export const BotRule_PatternsSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 13, 0);
/**
* Details of an edge rule decision. Unimplemented.
*
* @generated from message proto.decide.v1alpha1.EdgeRuleReason
* Describes the message proto.decide.v1alpha1.BotV2Rule.
* Use `create(BotV2RuleSchema)` to create a new message.
*/
export const EdgeRuleReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.EdgeRuleReason",
[],
);
export const BotV2RuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 14);
/**
* Details of a bot decision.
*
* @generated from message proto.decide.v1alpha1.BotReason
* Describes the message proto.decide.v1alpha1.EmailRule.
* Use `create(EmailRuleSchema)` to create a new message.
*/
export const BotReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.BotReason",
() => [
{ no: 1, name: "bot_type", kind: "enum", T: proto3.getEnumType(BotType) },
{ no: 2, name: "bot_score", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
{ no: 3, name: "user_agent_match", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 5, name: "ip_hosting", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 6, name: "ip_vpn", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 7, name: "ip_proxy", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 8, name: "ip_tor", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 9, name: "ip_relay", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
],
);
export const EmailRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 15);
/**
* Details of a bot (v2) decision.
*
* @generated from message proto.decide.v1alpha1.BotV2Reason
* Describes the message proto.decide.v1alpha1.SensitiveInfoRule.
* Use `create(SensitiveInfoRuleSchema)` to create a new message.
*/
export const BotV2Reason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.BotV2Reason",
() => [
{ no: 1, name: "allowed", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 2, name: "denied", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 3, name: "verified", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 4, name: "spoofed", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
],
);
export const SensitiveInfoRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 16);
/**
* Details of an Arcjet Shield decision.
*
* @generated from message proto.decide.v1alpha1.ShieldReason
* Describes the message proto.decide.v1alpha1.ShieldRule.
* Use `create(ShieldRuleSchema)` to create a new message.
*/
export const ShieldReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.ShieldReason",
() => [
{ no: 1, name: "shield_triggered", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 2, name: "suspicious", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
],
);
export const ShieldRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 17);
/**
* Details of an Arcjet Filter decision.
*
* @generated from message proto.decide.v1alpha1.FilterReason
* Describes the message proto.decide.v1alpha1.FilterRule.
* Use `create(FilterRuleSchema)` to create a new message.
*/
export const FilterReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.FilterReason",
() => [
{ no: 1, name: "matched_expression", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "matched_expressions", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 3, name: "undetermined_expressions", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
],
);
export const FilterRuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 18);
/**
* Details of an email decision.
*
* @generated from message proto.decide.v1alpha1.EmailReason
* Describes the message proto.decide.v1alpha1.Rule.
* Use `create(RuleSchema)` to create a new message.
*/
export const EmailReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.EmailReason",
() => [
{ no: 1, name: "email_types", kind: "enum", T: proto3.getEnumType(EmailType), repeated: true },
],
);
export const RuleSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 19);
/**
* Details of an error decision.
*
* @generated from message proto.decide.v1alpha1.ErrorReason
* Describes the message proto.decide.v1alpha1.RuleResult.
* Use `create(RuleResultSchema)` to create a new message.
*/
export const ErrorReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.ErrorReason",
() => [
{ no: 1, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */ },
],
);
export const RuleResultSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 20);
/**
* @generated from message proto.decide.v1alpha1.IdentifiedEntity
* Describes the message proto.decide.v1alpha1.RequestDetails.
* Use `create(RequestDetailsSchema)` to create a new message.
*/
export const IdentifiedEntity = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.IdentifiedEntity",
() => [
{ no: 1, name: "identified_type", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "start", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 3, name: "end", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
],
);
export const RequestDetailsSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 21);
/**
* Details of a sensitive info reason.
*
* @generated from message proto.decide.v1alpha1.SensitiveInfoReason
* Describes the message proto.decide.v1alpha1.Decision.
* Use `create(DecisionSchema)` to create a new message.
*/
export const SensitiveInfoReason = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.SensitiveInfoReason",
() => [
{ no: 1, name: "allowed", kind: "message", T: IdentifiedEntity, repeated: true },
{ no: 2, name: "denied", kind: "message", T: IdentifiedEntity, repeated: true },
],
);
export const DecisionSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 22);
/**
* The configuration for a rate limit rule.
*
* @generated from message proto.decide.v1alpha1.RateLimitRule
* Describes the message proto.decide.v1alpha1.DecideRequest.
* Use `create(DecideRequestSchema)` to create a new message.
*/
export const RateLimitRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.RateLimitRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "match", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 3, name: "characteristics", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 4, name: "window", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 5, name: "max", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 6, name: "timeout", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 7, name: "algorithm", kind: "enum", T: proto3.getEnumType(RateLimitAlgorithm) },
{ no: 8, name: "refill_rate", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 9, name: "interval", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 10, name: "capacity", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 12, name: "window_in_seconds", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 13, name: "version", kind: "enum", T: proto3.getEnumType(RateLimitRuleVersion) },
],
);
export const DecideRequestSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 23);
/**
* The configuration for a bot rule.
*
* @generated from message proto.decide.v1alpha1.BotRule
* Describes the message proto.decide.v1alpha1.DecideResponse.
* Use `create(DecideResponseSchema)` to create a new message.
*/
export const BotRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.BotRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "block", kind: "enum", T: proto3.getEnumType(BotType), repeated: true },
{ no: 3, name: "patterns", kind: "message", T: BotRule_Patterns },
],
);
export const DecideResponseSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 24);
/**
* @generated from message proto.decide.v1alpha1.BotRule.Patterns
* Describes the message proto.decide.v1alpha1.ReportRequest.
* Use `create(ReportRequestSchema)` to create a new message.
*/
export const BotRule_Patterns = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.BotRule.Patterns",
() => [
{ no: 1, name: "add", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "enum", T: proto3.getEnumType(BotType)} },
{ no: 2, name: "remove", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
],
{localName: "BotRule_Patterns"},
);
export const ReportRequestSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 25);
/**
* The configuration for a bot (v2) rule.
*
* @generated from message proto.decide.v1alpha1.BotV2Rule
* Describes the message proto.decide.v1alpha1.ReportResponse.
* Use `create(ReportResponseSchema)` to create a new message.
*/
export const BotV2Rule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.BotV2Rule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "allow", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 3, name: "deny", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 4, name: "version", kind: "enum", T: proto3.getEnumType(BotV2RuleVersion) },
],
);
export const ReportResponseSchema = /*@__PURE__*/
messageDesc(file_proto_decide_v1alpha1_decide, 26);
/**
* The configuration for an email rule.
*
* @generated from message proto.decide.v1alpha1.EmailRule
* Describes the enum proto.decide.v1alpha1.BotType.
*/
export const EmailRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.EmailRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "block", kind: "enum", T: proto3.getEnumType(EmailType), repeated: true },
{ no: 3, name: "require_top_level_domain", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 4, name: "allow_domain_literal", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 5, name: "allow", kind: "enum", T: proto3.getEnumType(EmailType), repeated: true },
{ no: 6, name: "deny", kind: "enum", T: proto3.getEnumType(EmailType), repeated: true },
{ no: 7, name: "version", kind: "enum", T: proto3.getEnumType(EmailRuleVersion) },
],
);
export const BotTypeSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 0);
/**
* The configuration for a detect sensitive info rule.
* 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 message proto.decide.v1alpha1.SensitiveInfoRule
* @generated from enum proto.decide.v1alpha1.BotType
*/
export const SensitiveInfoRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.SensitiveInfoRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "allow", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 3, name: "deny", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 4, name: "version", kind: "enum", T: proto3.getEnumType(SensitiveInfoRuleVersion) },
],
);
export const BotType = /*@__PURE__*/
tsEnum(BotTypeSchema);
/**
* The configuration for a shield rule.
*
* @generated from message proto.decide.v1alpha1.ShieldRule
* Describes the enum proto.decide.v1alpha1.EmailType.
*/
export const ShieldRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.ShieldRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "auto_added", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
{ no: 3, name: "characteristics", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 4, name: "version", kind: "enum", T: proto3.getEnumType(ShieldRuleVersion) },
],
);
export const EmailTypeSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 1);
/**
* The configuration for a filter rule.
* Represents the type of email address submitted.
*
* @generated from message proto.decide.v1alpha1.FilterRule
* @generated from enum proto.decide.v1alpha1.EmailType
*/
export const FilterRule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.FilterRule",
() => [
{ no: 1, name: "mode", kind: "enum", T: proto3.getEnumType(Mode) },
{ no: 2, name: "allow", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 3, name: "deny", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
{ no: 4, name: "version", kind: "enum", T: proto3.getEnumType(FilterRuleVersion) },
],
);
export const EmailType = /*@__PURE__*/
tsEnum(EmailTypeSchema);
/**
* The configuration for Arcjet.
* Describes the enum proto.decide.v1alpha1.Mode.
*/
export const ModeSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 2);
/**
* 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 your dashboard. In `LIVE` mode, requests will be allowed,
* challenged or blocked based on the returned decision.
*
* @generated from message proto.decide.v1alpha1.Rule
* @generated from enum proto.decide.v1alpha1.Mode
*/
export const Rule = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.Rule",
() => [
{ no: 1, name: "rate_limit", kind: "message", T: RateLimitRule, oneof: "rule" },
{ no: 2, name: "bots", kind: "message", T: BotRule, oneof: "rule" },
{ no: 3, name: "email", kind: "message", T: EmailRule, oneof: "rule" },
{ no: 4, name: "shield", kind: "message", T: ShieldRule, oneof: "rule" },
{ no: 5, name: "sensitive_info", kind: "message", T: SensitiveInfoRule, oneof: "rule" },
{ no: 6, name: "bot_v2", kind: "message", T: BotV2Rule, oneof: "rule" },
{ no: 7, name: "filter", kind: "message", T: FilterRule, oneof: "rule" },
],
);
export const Mode = /*@__PURE__*/
tsEnum(ModeSchema);
/**
* @generated from message proto.decide.v1alpha1.RuleResult
* Describes the enum proto.decide.v1alpha1.RuleState.
*/
export const RuleResult = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.RuleResult",
() => [
{ no: 1, name: "rule_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "state", kind: "enum", T: proto3.getEnumType(RuleState) },
{ no: 3, name: "conclusion", kind: "enum", T: proto3.getEnumType(Conclusion) },
{ no: 4, name: "reason", kind: "message", T: Reason },
{ no: 5, name: "ttl", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 6, name: "fingerprint", kind: "scalar", T: 9 /* ScalarType.STRING */ },
],
);
export const RuleStateSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 3);
/**
* Details about a request under investigation.
*
* @generated from message proto.decide.v1alpha1.RequestDetails
* @generated from enum proto.decide.v1alpha1.RuleState
*/
export const RequestDetails = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.RequestDetails",
() => [
{ no: 1, name: "ip", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "method", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 3, name: "protocol", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 4, name: "host", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 5, name: "path", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 6, name: "headers", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
{ no: 7, name: "body", kind: "scalar", T: 12 /* ScalarType.BYTES */ },
{ no: 8, name: "extra", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
{ no: 9, name: "email", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 10, name: "cookies", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 11, name: "query", kind: "scalar", T: 9 /* ScalarType.STRING */ },
],
);
export const RuleState = /*@__PURE__*/
tsEnum(RuleStateSchema);
/**
* A decision made about the request under investigation.
*
* @generated from message proto.decide.v1alpha1.Decision
* Describes the enum proto.decide.v1alpha1.Conclusion.
*/
export const Decision = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.Decision",
() => [
{ no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 2, name: "conclusion", kind: "enum", T: proto3.getEnumType(Conclusion) },
{ no: 3, name: "reason", kind: "message", T: Reason },
{ no: 4, name: "rule_results", kind: "message", T: RuleResult, repeated: true },
{ no: 5, name: "ttl", kind: "scalar", T: 13 /* ScalarType.UINT32 */ },
{ no: 6, name: "ip_details", kind: "message", T: IpDetails },
],
);
export const ConclusionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 4);
/**
* A request to the decide API.
* The conclusion for the request based on the Arcjet analysis and any specific
* configuration.
*
* @generated from message proto.decide.v1alpha1.DecideRequest
* @generated from enum proto.decide.v1alpha1.Conclusion
*/
export const DecideRequest = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.DecideRequest",
() => [
{ no: 1, name: "sdk_stack", kind: "enum", T: proto3.getEnumType(SDKStack) },
{ no: 2, name: "sdk_version", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 4, name: "details", kind: "message", T: RequestDetails },
{ no: 5, name: "rules", kind: "message", T: Rule, repeated: true },
{ no: 6, name: "characteristics", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
],
);
export const Conclusion = /*@__PURE__*/
tsEnum(ConclusionSchema);
/**
* A response from the decide API.
*
* @generated from message proto.decide.v1alpha1.DecideResponse
* Describes the enum proto.decide.v1alpha1.SDKStack.
*/
export const DecideResponse = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.DecideResponse",
() => [
{ no: 1, name: "decision", kind: "message", T: Decision },
{ no: 2, name: "extra", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
],
);
export const SDKStackSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 5);
/**
* A request to the Report RPC when SDK has already made a decision locally.
* The SDK used to make the request. Used for analytics and to help us improve.
*
* @generated from message proto.decide.v1alpha1.ReportRequest
* @generated from enum proto.decide.v1alpha1.SDKStack
*/
export const ReportRequest = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.ReportRequest",
() => [
{ no: 1, name: "sdk_stack", kind: "enum", T: proto3.getEnumType(SDKStack) },
{ no: 2, name: "sdk_version", kind: "scalar", T: 9 /* ScalarType.STRING */ },
{ no: 4, name: "details", kind: "message", T: RequestDetails },
{ no: 5, name: "decision", kind: "message", T: Decision },
{ no: 6, name: "rules", kind: "message", T: Rule, repeated: true },
{ no: 8, name: "characteristics", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
],
);
export const SDKStack = /*@__PURE__*/
tsEnum(SDKStackSchema);
/**
* A response from the Report RPC.
*
* @generated from message proto.decide.v1alpha1.ReportResponse
* Describes the enum proto.decide.v1alpha1.RateLimitAlgorithm.
*/
export const ReportResponse = /*@__PURE__*/ proto3.makeMessageType(
"proto.decide.v1alpha1.ReportResponse",
() => [
{ no: 2, name: "extra", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
],
);
export const RateLimitAlgorithmSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 6);
/**
* @generated from enum proto.decide.v1alpha1.RateLimitAlgorithm
*/
export const RateLimitAlgorithm = /*@__PURE__*/
tsEnum(RateLimitAlgorithmSchema);
/**
* Describes the enum proto.decide.v1alpha1.RateLimitRuleVersion.
*/
export const RateLimitRuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 7);
/**
* @generated from enum proto.decide.v1alpha1.RateLimitRuleVersion
*/
export const RateLimitRuleVersion = /*@__PURE__*/
tsEnum(RateLimitRuleVersionSchema);
/**
* Describes the enum proto.decide.v1alpha1.BotV2RuleVersion.
*/
export const BotV2RuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 8);
/**
* @generated from enum proto.decide.v1alpha1.BotV2RuleVersion
*/
export const BotV2RuleVersion = /*@__PURE__*/
tsEnum(BotV2RuleVersionSchema);
/**
* Describes the enum proto.decide.v1alpha1.EmailRuleVersion.
*/
export const EmailRuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 9);
/**
* @generated from enum proto.decide.v1alpha1.EmailRuleVersion
*/
export const EmailRuleVersion = /*@__PURE__*/
tsEnum(EmailRuleVersionSchema);
/**
* Describes the enum proto.decide.v1alpha1.SensitiveInfoRuleVersion.
*/
export const SensitiveInfoRuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 10);
/**
* @generated from enum proto.decide.v1alpha1.SensitiveInfoRuleVersion
*/
export const SensitiveInfoRuleVersion = /*@__PURE__*/
tsEnum(SensitiveInfoRuleVersionSchema);
/**
* Describes the enum proto.decide.v1alpha1.ShieldRuleVersion.
*/
export const ShieldRuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 11);
/**
* @generated from enum proto.decide.v1alpha1.ShieldRuleVersion
*/
export const ShieldRuleVersion = /*@__PURE__*/
tsEnum(ShieldRuleVersionSchema);
/**
* Describes the enum proto.decide.v1alpha1.FilterRuleVersion.
*/
export const FilterRuleVersionSchema = /*@__PURE__*/
enumDesc(file_proto_decide_v1alpha1_decide, 12);
/**
* @generated from enum proto.decide.v1alpha1.FilterRuleVersion
*/
export const FilterRuleVersion = /*@__PURE__*/
tsEnum(FilterRuleVersionSchema);
/**
* @generated from service proto.decide.v1alpha1.DecideService
*/
export const DecideService = /*@__PURE__*/
serviceDesc(file_proto_decide_v1alpha1_decide, 0);
// @generated by protoc-gen-connect-es v1.6.1
// @generated from file proto/decide/v1alpha1/decide.proto (package proto.decide.v1alpha1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import { DecideRequest, DecideResponse, ReportRequest, ReportResponse } from "./decide_pb.js";
import { MethodKind } from "@bufbuild/protobuf";
/**
* @generated from service proto.decide.v1alpha1.DecideService
*/
export declare const DecideService: {
readonly typeName: "proto.decide.v1alpha1.DecideService",
readonly methods: {
/**
* @generated from rpc proto.decide.v1alpha1.DecideService.Decide
*/
readonly decide: {
readonly name: "Decide",
readonly I: typeof DecideRequest,
readonly O: typeof DecideResponse,
readonly kind: MethodKind.Unary,
},
/**
* @generated from rpc proto.decide.v1alpha1.DecideService.Report
*/
readonly report: {
readonly name: "Report",
readonly I: typeof ReportRequest,
readonly O: typeof ReportResponse,
readonly kind: MethodKind.Unary,
},
}
};
// @generated by protoc-gen-connect-es v1.6.1
// @generated from file proto/decide/v1alpha1/decide.proto (package proto.decide.v1alpha1, syntax proto3)
/* eslint-disable */
// @ts-nocheck
import { DecideRequest, DecideResponse, ReportRequest, ReportResponse } from "./decide_pb.js";
import { MethodKind } from "@bufbuild/protobuf";
/**
* @generated from service proto.decide.v1alpha1.DecideService
*/
export const DecideService = {
typeName: "proto.decide.v1alpha1.DecideService",
methods: {
/**
* @generated from rpc proto.decide.v1alpha1.DecideService.Decide
*/
decide: {
name: "Decide",
I: DecideRequest,
O: DecideResponse,
kind: MethodKind.Unary,
},
/**
* @generated from rpc proto.decide.v1alpha1.DecideService.Report
*/
report: {
name: "Report",
I: ReportRequest,
O: ReportResponse,
kind: MethodKind.Unary,
},
}
};