@arcjet/protocol
Advanced tools
+35
-2
| 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, RuleSchema, RateLimitAlgorithm, DecisionSchema, Conclusion, Mode, EmailType, RuleResultSchema, ReasonSchema, RateLimitReasonSchema, BotV2ReasonSchema, EdgeRuleReasonSchema, ShieldReasonSchema, EmailReasonSchema, ErrorReasonSchema, SensitiveInfoReasonSchema, PromptInjectionReasonSchema, RuleState } from './proto/decide/v1alpha1/decide_pb.js'; | ||
| import { ArcjetErrorDecision, ArcjetIpDetails, ArcjetErrorReason, ArcjetChallengeDecision, ArcjetDenyDecision, ArcjetAllowDecision, ArcjetRuleResult, ArcjetReason, ArcjetPromptInjectionReason, ArcjetSensitiveInfoReason, ArcjetFilterReason, ArcjetEmailReason, ArcjetShieldReason, ArcjetEdgeRuleReason, ArcjetBotReason, ArcjetRateLimitReason } from './index.js'; | ||
@@ -205,2 +205,9 @@ function ArcjetModeToProtocol(mode) { | ||
| } | ||
| case "promptInjection": { | ||
| const reason = proto.reason.value; | ||
| return new ArcjetPromptInjectionReason({ | ||
| injectionDetected: reason.injectionDetected, | ||
| score: reason.score, | ||
| }); | ||
| } | ||
| case "bot": { | ||
@@ -316,2 +323,13 @@ return new ArcjetErrorReason("bot detection v1 is deprecated"); | ||
| } | ||
| if (reason.isPromptInjection()) { | ||
| return create(ReasonSchema, { | ||
| reason: { | ||
| case: "promptInjection", | ||
| value: create(PromptInjectionReasonSchema, { | ||
| injectionDetected: reason.injectionDetected, | ||
| score: reason.score, | ||
| }), | ||
| }, | ||
| }); | ||
| } | ||
| return create(ReasonSchema); | ||
@@ -491,2 +509,5 @@ } | ||
| } | ||
| function isPromptInjectionRule(rule) { | ||
| return rule.type === "PROMPT_INJECTION_DETECTION"; | ||
| } | ||
| function ArcjetRuleToProtocol(rule) { | ||
@@ -613,2 +634,14 @@ if (isTokenBucketRule(rule)) { | ||
| } | ||
| if (isPromptInjectionRule(rule)) { | ||
| return create(RuleSchema, { | ||
| rule: { | ||
| case: "promptInjectionDetection", | ||
| value: { | ||
| mode: ArcjetModeToProtocol(rule.mode), | ||
| threshold: rule.threshold, | ||
| version: rule.version, | ||
| }, | ||
| }, | ||
| }); | ||
| } | ||
| return create(RuleSchema); | ||
@@ -615,0 +648,0 @@ } |
+66
-2
@@ -59,3 +59,3 @@ import type { Cache } from "@arcjet/cache"; | ||
| */ | ||
| type?: "RATE_LIMIT" | "BOT" | "EDGE_RULE" | "SHIELD" | "EMAIL" | "ERROR" | "FILTER" | "SENSITIVE_INFO" | undefined; | ||
| type?: "RATE_LIMIT" | "BOT" | "EDGE_RULE" | "SHIELD" | "EMAIL" | "ERROR" | "FILTER" | "SENSITIVE_INFO" | "PROMPT_INJECTION_DETECTION" | undefined; | ||
| /** | ||
@@ -117,2 +117,9 @@ * Check if this reason is a sensitive info reason. | ||
| isFilter(): this is ArcjetFilterReason; | ||
| /** | ||
| * Check if this is a prompt injection reason. | ||
| * | ||
| * @returns | ||
| * Whether this is a prompt injection reason. | ||
| */ | ||
| isPromptInjection(): this is ArcjetPromptInjectionReason; | ||
| } | ||
@@ -159,2 +166,41 @@ /** | ||
| /** | ||
| * Configuration for `ArcjetPromptInjectionReason`. | ||
| */ | ||
| interface ArcjetPromptInjectionReasonInit { | ||
| /** | ||
| * Whether a prompt injection attempt was detected in the input. | ||
| */ | ||
| injectionDetected?: boolean | undefined; | ||
| /** | ||
| * The prompt injection confidence score, scaled to [0, 1]. | ||
| */ | ||
| score?: number | undefined; | ||
| } | ||
| /** | ||
| * Prompt injection reason. | ||
| */ | ||
| export declare class ArcjetPromptInjectionReason extends ArcjetReason { | ||
| /** | ||
| * Kind. | ||
| */ | ||
| type: "PROMPT_INJECTION_DETECTION"; | ||
| /** | ||
| * Whether a prompt injection attempt was detected. | ||
| */ | ||
| injectionDetected: boolean; | ||
| /** | ||
| * The prompt injection confidence score. | ||
| */ | ||
| score: number; | ||
| /** | ||
| * Create a prompt injection reason. | ||
| * | ||
| * @param init | ||
| * Configuration. | ||
| * @returns | ||
| * Prompt injection reason. | ||
| */ | ||
| constructor(init: ArcjetPromptInjectionReasonInit); | ||
| } | ||
| /** | ||
| * Configuration for `ArcjetSensitiveInfoReason`. | ||
@@ -1153,3 +1199,5 @@ */ | ||
| */ | ||
| export interface ArcjetFilterRule extends ArcjetRule<{}> { | ||
| export interface ArcjetFilterRule extends ArcjetRule<{ | ||
| filterLocal?: Record<string, string> | null | undefined; | ||
| }> { | ||
| /** | ||
@@ -1212,2 +1260,18 @@ * List of expressions that allow a request when one matches and deny otherwise. | ||
| /** | ||
| * Prompt injection detection rule. | ||
| */ | ||
| export interface ArcjetPromptInjectionDetectionRule extends ArcjetRule<{ | ||
| detectPromptInjectionMessage: string; | ||
| }> { | ||
| /** | ||
| * Kind. | ||
| */ | ||
| type: "PROMPT_INJECTION_DETECTION"; | ||
| /** | ||
| * The score threshold above which a request is considered a prompt | ||
| * injection attempt. | ||
| */ | ||
| threshold: number; | ||
| } | ||
| /** | ||
| * Arcjet logger interface. | ||
@@ -1214,0 +1278,0 @@ * |
+40
-1
@@ -86,2 +86,11 @@ import { isMessage } from '@bufbuild/protobuf'; | ||
| } | ||
| /** | ||
| * Check if this is a prompt injection reason. | ||
| * | ||
| * @returns | ||
| * Whether this is a prompt injection reason. | ||
| */ | ||
| isPromptInjection() { | ||
| return this.type === "PROMPT_INJECTION_DETECTION"; | ||
| } | ||
| } | ||
@@ -119,2 +128,32 @@ /** | ||
| /** | ||
| * Prompt injection reason. | ||
| */ | ||
| class ArcjetPromptInjectionReason extends ArcjetReason { | ||
| /** | ||
| * Kind. | ||
| */ | ||
| type = "PROMPT_INJECTION_DETECTION"; | ||
| /** | ||
| * Whether a prompt injection attempt was detected. | ||
| */ | ||
| injectionDetected; | ||
| /** | ||
| * The prompt injection confidence score. | ||
| */ | ||
| score; | ||
| /** | ||
| * Create a prompt injection reason. | ||
| * | ||
| * @param init | ||
| * Configuration. | ||
| * @returns | ||
| * Prompt injection reason. | ||
| */ | ||
| constructor(init) { | ||
| super(); | ||
| this.injectionDetected = init.injectionDetected ?? false; | ||
| this.score = init.score ?? 0.0; | ||
| } | ||
| } | ||
| /** | ||
| * Sensitive info reason. | ||
@@ -904,2 +943,2 @@ */ | ||
| export { ArcjetAllowDecision, ArcjetBotReason, ArcjetChallengeDecision, ArcjetDecision, ArcjetDenyDecision, ArcjetEdgeRuleReason, ArcjetEmailReason, ArcjetErrorDecision, ArcjetErrorReason, ArcjetFilterReason, ArcjetIpDetails, ArcjetRateLimitReason, ArcjetReason, ArcjetRuleResult, ArcjetSensitiveInfoReason, ArcjetShieldReason }; | ||
| export { ArcjetAllowDecision, ArcjetBotReason, ArcjetChallengeDecision, ArcjetDecision, ArcjetDenyDecision, ArcjetEdgeRuleReason, ArcjetEmailReason, ArcjetErrorDecision, ArcjetErrorReason, ArcjetFilterReason, ArcjetIpDetails, ArcjetPromptInjectionReason, ArcjetRateLimitReason, ArcjetReason, ArcjetRuleResult, ArcjetSensitiveInfoReason, ArcjetShieldReason }; |
+6
-6
| { | ||
| "name": "@arcjet/protocol", | ||
| "version": "1.1.0", | ||
| "version": "1.2.0", | ||
| "description": "The TypeScript & JavaScript interface into the Arcjet protocol", | ||
@@ -52,3 +52,3 @@ "keywords": [ | ||
| "dependencies": { | ||
| "@arcjet/cache": "1.1.0", | ||
| "@arcjet/cache": "1.2.0", | ||
| "@bufbuild/protobuf": "2.11.0", | ||
@@ -59,6 +59,6 @@ "@connectrpc/connect": "2.1.1", | ||
| "devDependencies": { | ||
| "@arcjet/eslint-config": "1.1.0", | ||
| "@arcjet/rollup-config": "1.1.0", | ||
| "@rollup/wasm-node": "4.57.0", | ||
| "@types/node": "25.1.0", | ||
| "@arcjet/eslint-config": "1.2.0", | ||
| "@arcjet/rollup-config": "1.2.0", | ||
| "@rollup/wasm-node": "4.57.1", | ||
| "@types/node": "24.11.0", | ||
| "eslint": "9.39.2", | ||
@@ -65,0 +65,0 @@ "typescript": "5.9.3" |
@@ -176,2 +176,16 @@ // @generated by protoc-gen-es v2.2.0 | ||
| isRelay: boolean; | ||
| /** | ||
| * Whether the IP address has been flagged as an abuser. | ||
| * | ||
| * @generated from field: bool is_abuser = 23; | ||
| */ | ||
| isAbuser: boolean; | ||
| /** | ||
| * Bots is the list of bots that the IP address belongs to. | ||
| * | ||
| * @generated from field: map<string, string> bots = 24; | ||
| */ | ||
| bots: { [key: string]: string }; | ||
| }; | ||
@@ -275,2 +289,11 @@ | ||
| case: "filter"; | ||
| } | { | ||
| /** | ||
| * Contains details about the prompt injection analysis when | ||
| * the decision was made based on a prompt injection detection rule. | ||
| * | ||
| * @generated from field: proto.decide.v1alpha1.PromptInjectionReason prompt_injection = 10; | ||
| */ | ||
| value: PromptInjectionReason; | ||
| case: "promptInjection"; | ||
| } | { case: undefined; value?: undefined }; | ||
@@ -570,2 +593,32 @@ }; | ||
| /** | ||
| * Details of an AI prompt injection decision. | ||
| * | ||
| * @generated from message proto.decide.v1alpha1.PromptInjectionReason | ||
| */ | ||
| export declare type PromptInjectionReason = Message<"proto.decide.v1alpha1.PromptInjectionReason"> & { | ||
| /** | ||
| * Whether a prompt injection attempt was detected in the input. | ||
| * | ||
| * @generated from field: bool injection_detected = 1; | ||
| */ | ||
| injectionDetected: boolean; | ||
| /** | ||
| * The prompt injection confidence score, scaled to [0, 1]. Values near 0 | ||
| * indicate benign input, values near 1 indicate a prompt injection attempt. | ||
| * This is compared against the configured threshold to determine the | ||
| * conclusion. | ||
| * | ||
| * @generated from field: double score = 2; | ||
| */ | ||
| score: number; | ||
| }; | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.PromptInjectionReason. | ||
| * Use `create(PromptInjectionReasonSchema)` to create a new message. | ||
| */ | ||
| export declare const PromptInjectionReasonSchema: GenMessage<PromptInjectionReason>; | ||
| /** | ||
| * @generated from message proto.decide.v1alpha1.IdentifiedEntity | ||
@@ -1020,2 +1073,38 @@ */ | ||
| /** | ||
| * The configuration for a prompt injection detection rule. | ||
| * | ||
| * @generated from message proto.decide.v1alpha1.PromptInjectionDetectionRule | ||
| */ | ||
| export declare type PromptInjectionDetectionRule = Message<"proto.decide.v1alpha1.PromptInjectionDetectionRule"> & { | ||
| /** | ||
| * @generated from field: proto.decide.v1alpha1.Mode mode = 1; | ||
| */ | ||
| mode: Mode; | ||
| /** | ||
| * The score threshold above which a request is considered a prompt | ||
| * injection attempt. Defaults to 0.5 if not specified. Must be in the | ||
| * range (0.0, 1.0) exclusive when specified - values of exactly 0.0 or | ||
| * 1.0 are not valid. | ||
| * | ||
| * @generated from field: optional double threshold = 2; | ||
| */ | ||
| threshold?: number; | ||
| /** | ||
| * The version of the rule being executed. This is incremented by SDKs when | ||
| * a breaking change is made to the configuration or behavior of the rule. | ||
| * | ||
| * @generated from field: proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion version = 3; | ||
| */ | ||
| version: PromptInjectionDetectionRuleVersion; | ||
| }; | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.PromptInjectionDetectionRule. | ||
| * Use `create(PromptInjectionDetectionRuleSchema)` to create a new message. | ||
| */ | ||
| export declare const PromptInjectionDetectionRuleSchema: GenMessage<PromptInjectionDetectionRule>; | ||
| /** | ||
| * The configuration for Arcjet. | ||
@@ -1071,2 +1160,8 @@ * | ||
| case: "filter"; | ||
| } | { | ||
| /** | ||
| * @generated from field: proto.decide.v1alpha1.PromptInjectionDetectionRule prompt_injection_detection = 8; | ||
| */ | ||
| value: PromptInjectionDetectionRule; | ||
| case: "promptInjectionDetection"; | ||
| } | { case: undefined; value?: undefined }; | ||
@@ -1908,2 +2003,20 @@ }; | ||
| /** | ||
| * @generated from enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion | ||
| */ | ||
| export enum PromptInjectionDetectionRuleVersion { | ||
| /** | ||
| * This is equivalent to V0 since rules without a version specified will | ||
| * default to this value. | ||
| * | ||
| * @generated from enum value: PROMPT_INJECTION_DETECTION_RULE_VERSION_UNSPECIFIED = 0; | ||
| */ | ||
| UNSPECIFIED = 0, | ||
| } | ||
| /** | ||
| * Describes the enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion. | ||
| */ | ||
| export declare const PromptInjectionDetectionRuleVersionSchema: GenEnum<PromptInjectionDetectionRuleVersion>; | ||
| /** | ||
| * @generated from service proto.decide.v1alpha1.DecideService | ||
@@ -1910,0 +2023,0 @@ */ |
@@ -12,3 +12,3 @@ // @generated by protoc-gen-es v2.2.0 | ||
| export const file_proto_decide_v1alpha1_decide = /*@__PURE__*/ | ||
| fileDesc("CiJwcm90by9kZWNpZGUvdjFhbHBoYTEvZGVjaWRlLnByb3RvEhVwcm90by5kZWNpZGUudjFhbHBoYTEiowMKCUlwRGV0YWlscxIQCghsYXRpdHVkZRgBIAEoARIRCglsb25naXR1ZGUYAiABKAESFwoPYWNjdXJhY3lfcmFkaXVzGAMgASgFEhAKCHRpbWV6b25lGAQgASgJEhMKC3Bvc3RhbF9jb2RlGAUgASgJEgwKBGNpdHkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2NvdW50cnkYCCABKAkSFAoMY291bnRyeV9uYW1lGAkgASgJEhEKCWNvbnRpbmVudBgKIAEoCRIWCg5jb250aW5lbnRfbmFtZRgLIAEoCRILCgNhc24YDCABKAkSEAoIYXNuX25hbWUYDSABKAkSEgoKYXNuX2RvbWFpbhgOIAEoCRIQCghhc25fdHlwZRgPIAEoCRITCgthc25fY291bnRyeRgQIAEoCRIPCgdzZXJ2aWNlGBEgASgJEhIKCmlzX2hvc3RpbmcYEiABKAgSDgoGaXNfdnBuGBMgASgIEhAKCGlzX3Byb3h5GBQgASgIEg4KBmlzX3RvchgVIAEoCBIQCghpc19yZWxheRgWIAEoCCKRBAoGUmVhc29uEjwKCnJhdGVfbGltaXQYASABKAsyJi5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0UmVhc29uSAASOgoJZWRnZV9ydWxlGAIgASgLMiUucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVkZ2VSdWxlUmVhc29uSAASLwoDYm90GAMgASgLMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFJlYXNvbkgAEjUKBnNoaWVsZBgEIAEoCzIjLnByb3RvLmRlY2lkZS52MWFscGhhMS5TaGllbGRSZWFzb25IABIzCgVlbWFpbBgFIAEoCzIiLnByb3RvLmRlY2lkZS52MWFscGhhMS5FbWFpbFJlYXNvbkgAEjMKBWVycm9yGAYgASgLMiIucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVycm9yUmVhc29uSAASRAoOc2Vuc2l0aXZlX2luZm8YByABKAsyKi5wcm90by5kZWNpZGUudjFhbHBoYTEuU2Vuc2l0aXZlSW5mb1JlYXNvbkgAEjQKBmJvdF92MhgIIAEoCzIiLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJlYXNvbkgAEjUKBmZpbHRlchgJIAEoCzIjLnByb3RvLmRlY2lkZS52MWFscGhhMS5GaWx0ZXJSZWFzb25IAEIICgZyZWFzb24irQEKD1JhdGVMaW1pdFJlYXNvbhILCgNtYXgYASABKA0SEQoFY291bnQYAiABKAVCAhgBEhEKCXJlbWFpbmluZxgDIAEoDRIyCgpyZXNldF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEICGAESGAoQcmVzZXRfaW5fc2Vjb25kcxgFIAEoDRIZChF3aW5kb3dfaW5fc2Vjb25kcxgGIAEoDSIQCg5FZGdlUnVsZVJlYXNvbiLCAQoJQm90UmVhc29uEjAKCGJvdF90eXBlGAEgASgOMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFR5cGUSEQoJYm90X3Njb3JlGAIgASgFEhgKEHVzZXJfYWdlbnRfbWF0Y2gYAyABKAgSEgoKaXBfaG9zdGluZxgFIAEoCBIOCgZpcF92cG4YBiABKAgSEAoIaXBfcHJveHkYByABKAgSDgoGaXBfdG9yGAggASgIEhAKCGlwX3JlbGF5GAkgASgIIlEKC0JvdFYyUmVhc29uEg8KB2FsbG93ZWQYASADKAkSDgoGZGVuaWVkGAIgAygJEhAKCHZlcmlmaWVkGAMgASgIEg8KB3Nwb29mZWQYBCABKAgiPAoMU2hpZWxkUmVhc29uEhgKEHNoaWVsZF90cmlnZ2VyZWQYASABKAgSEgoKc3VzcGljaW91cxgCIAEoCCJtCgxGaWx0ZXJSZWFzb24SHgoSbWF0Y2hlZF9leHByZXNzaW9uGAEgASgJQgIYARIbChNtYXRjaGVkX2V4cHJlc3Npb25zGAIgAygJEiAKGHVuZGV0ZXJtaW5lZF9leHByZXNzaW9ucxgDIAMoCSJECgtFbWFpbFJlYXNvbhI1CgtlbWFpbF90eXBlcxgBIAMoDjIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5FbWFpbFR5cGUiHgoLRXJyb3JSZWFzb24SDwoHbWVzc2FnZRgBIAEoCSJHChBJZGVudGlmaWVkRW50aXR5EhcKD2lkZW50aWZpZWRfdHlwZRgBIAEoCRINCgVzdGFydBgCIAEoDRILCgNlbmQYAyABKA0iiAEKE1NlbnNpdGl2ZUluZm9SZWFzb24SOAoHYWxsb3dlZBgBIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5EjcKBmRlbmllZBgCIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5IvUCCg1SYXRlTGltaXRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVtYXRjaBgCIAEoCRIXCg9jaGFyYWN0ZXJpc3RpY3MYAyADKAkSEgoGd2luZG93GAQgASgJQgIYARILCgNtYXgYBSABKA0SDwoHdGltZW91dBgGIAEoCRI8CglhbGdvcml0aG0YByABKA4yKS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0QWxnb3JpdGhtEhMKC3JlZmlsbF9yYXRlGAggASgNEhAKCGludGVydmFsGAkgASgNEhAKCGNhcGFjaXR5GAogASgNEhkKEXdpbmRvd19pbl9zZWNvbmRzGAwgASgNEjwKB3ZlcnNpb24YDSABKA4yKy5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0UnVsZVZlcnNpb25KBAgLEAxSCXJlcXVlc3RlZCLGAgoHQm90UnVsZRIpCgRtb2RlGAEgASgOMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLk1vZGUSLQoFYmxvY2sYAiADKA4yHi5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90VHlwZRI5CghwYXR0ZXJucxgDIAEoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RSdWxlLlBhdHRlcm5zGqUBCghQYXR0ZXJucxI9CgNhZGQYASADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90UnVsZS5QYXR0ZXJucy5BZGRFbnRyeRIOCgZyZW1vdmUYAiADKAkaSgoIQWRkRW50cnkSCwoDa2V5GAEgASgJEi0KBXZhbHVlGAIgASgOMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFR5cGU6AjgBIo0BCglCb3RWMlJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEg0KBWFsbG93GAIgAygJEgwKBGRlbnkYAyADKAkSOAoHdmVyc2lvbhgEIAEoDjInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJ1bGVWZXJzaW9uIsYCCglFbWFpbFJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEjMKBWJsb2NrGAIgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZUICGAESIAoYcmVxdWlyZV90b3BfbGV2ZWxfZG9tYWluGAMgASgIEhwKFGFsbG93X2RvbWFpbl9saXRlcmFsGAQgASgIEi8KBWFsbG93GAUgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRIuCgRkZW55GAYgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRI4Cgd2ZXJzaW9uGAcgASgOMicucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsUnVsZVZlcnNpb24inQEKEVNlbnNpdGl2ZUluZm9SdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEkAKB3ZlcnNpb24YBCABKA4yLy5wcm90by5kZWNpZGUudjFhbHBoYTEuU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uIp8BCgpTaGllbGRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRISCgphdXRvX2FkZGVkGAIgASgIEhcKD2NoYXJhY3RlcmlzdGljcxgDIAMoCRI5Cgd2ZXJzaW9uGAQgASgOMigucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJ1bGVWZXJzaW9uIo8BCgpGaWx0ZXJSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEjkKB3ZlcnNpb24YBCABKA4yKC5wcm90by5kZWNpZGUudjFhbHBoYTEuRmlsdGVyUnVsZVZlcnNpb24ijwMKBFJ1bGUSOgoKcmF0ZV9saW1pdBgBIAEoCzIkLnByb3RvLmRlY2lkZS52MWFscGhhMS5SYXRlTGltaXRSdWxlSAASLgoEYm90cxgCIAEoCzIeLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RSdWxlSAASMQoFZW1haWwYAyABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuRW1haWxSdWxlSAASMwoGc2hpZWxkGAQgASgLMiEucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJ1bGVIABJCCg5zZW5zaXRpdmVfaW5mbxgFIAEoCzIoLnByb3RvLmRlY2lkZS52MWFscGhhMS5TZW5zaXRpdmVJbmZvUnVsZUgAEjIKBmJvdF92MhgGIAEoCzIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJ1bGVIABIzCgZmaWx0ZXIYByABKAsyIS5wcm90by5kZWNpZGUudjFhbHBoYTEuRmlsdGVyUnVsZUgAQgYKBHJ1bGUi1gEKClJ1bGVSZXN1bHQSDwoHcnVsZV9pZBgBIAEoCRIvCgVzdGF0ZRgCIAEoDjIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5SdWxlU3RhdGUSNQoKY29uY2x1c2lvbhgDIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgEIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SCwoDdHRsGAUgASgNEhMKC2ZpbmdlcnByaW50GAYgASgJIvsCCg5SZXF1ZXN0RGV0YWlscxIKCgJpcBgBIAEoCRIOCgZtZXRob2QYAiABKAkSEAoIcHJvdG9jb2wYAyABKAkSDAoEaG9zdBgEIAEoCRIMCgRwYXRoGAUgASgJEkMKB2hlYWRlcnMYBiADKAsyMi5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuSGVhZGVyc0VudHJ5EgwKBGJvZHkYByABKAwSPwoFZXh0cmEYCCADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuRXh0cmFFbnRyeRINCgVlbWFpbBgJIAEoCRIPCgdjb29raWVzGAogASgJEg0KBXF1ZXJ5GAsgASgJGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL4AQoIRGVjaXNpb24SCgoCaWQYASABKAkSNQoKY29uY2x1c2lvbhgCIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgDIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SNwoMcnVsZV9yZXN1bHRzGAQgAygLMiEucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGVSZXN1bHQSCwoDdHRsGAUgASgNEjQKCmlwX2RldGFpbHMYBiABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuSXBEZXRhaWxzIugBCg1EZWNpZGVSZXF1ZXN0EjIKCXNka19zdGFjaxgBIAEoDjIfLnByb3RvLmRlY2lkZS52MWFscGhhMS5TREtTdGFjaxITCgtzZGtfdmVyc2lvbhgCIAEoCRI2CgdkZXRhaWxzGAQgASgLMiUucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcXVlc3REZXRhaWxzEioKBXJ1bGVzGAUgAygLMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGUSFwoPY2hhcmFjdGVyaXN0aWNzGAYgAygJSgQIAxAEUgtmaW5nZXJwcmludCKyAQoORGVjaWRlUmVzcG9uc2USMQoIZGVjaXNpb24YASABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirgIKDVJlcG9ydFJlcXVlc3QSMgoJc2RrX3N0YWNrGAEgASgOMh8ucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNES1N0YWNrEhMKC3Nka192ZXJzaW9uGAIgASgJEjYKB2RldGFpbHMYBCABKAsyJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMSMQoIZGVjaXNpb24YBSABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SKgoFcnVsZXMYBiADKAsyGy5wcm90by5kZWNpZGUudjFhbHBoYTEuUnVsZRIXCg9jaGFyYWN0ZXJpc3RpY3MYCCADKAlKBAgDEARKBAgHEAhSC2ZpbmdlcnByaW50UgtyZWNlaXZlZF9hdCKPAQoOUmVwb3J0UmVzcG9uc2USPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSCGRlY2lzaW9uKq8BCgdCb3RUeXBlEhgKFEJPVF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQk9UX1RZUEVfTk9UX0FOQUxZWkVEEAESFgoSQk9UX1RZUEVfQVVUT01BVEVEEAISHQoZQk9UX1RZUEVfTElLRUxZX0FVVE9NQVRFRBADEh0KGUJPVF9UWVBFX0xJS0VMWV9OT1RfQV9CT1QQBBIZChVCT1RfVFlQRV9WRVJJRklFRF9CT1QQBSqpAQoJRW1haWxUeXBlEhoKFkVNQUlMX1RZUEVfVU5TUEVDSUZJRUQQABIZChVFTUFJTF9UWVBFX0RJU1BPU0FCTEUQARITCg9FTUFJTF9UWVBFX0ZSRUUQAhIcChhFTUFJTF9UWVBFX05PX01YX1JFQ09SRFMQAxIaChZFTUFJTF9UWVBFX05PX0dSQVZBVEFSEAQSFgoSRU1BSUxfVFlQRV9JTlZBTElEEAUqPQoETW9kZRIUChBNT0RFX1VOU1BFQ0lGSUVEEAASEAoMTU9ERV9EUllfUlVOEAESDQoJTU9ERV9MSVZFEAIqggEKCVJ1bGVTdGF0ZRIaChZSVUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASEgoOUlVMRV9TVEFURV9SVU4QARIWChJSVUxFX1NUQVRFX05PVF9SVU4QAhIWChJSVUxFX1NUQVRFX0RSWV9SVU4QAxIVChFSVUxFX1NUQVRFX0NBQ0hFRBAEKoMBCgpDb25jbHVzaW9uEhoKFkNPTkNMVVNJT05fVU5TUEVDSUZJRUQQABIUChBDT05DTFVTSU9OX0FMTE9XEAESEwoPQ09OQ0xVU0lPTl9ERU5ZEAISGAoUQ09OQ0xVU0lPTl9DSEFMTEVOR0UQAxIUChBDT05DTFVTSU9OX0VSUk9SEAQq2AIKCFNES1N0YWNrEhkKFVNES19TVEFDS19VTlNQRUNJRklFRBAAEhQKEFNES19TVEFDS19OT0RFSlMQARIUChBTREtfU1RBQ0tfTkVYVEpTEAISFAoQU0RLX1NUQUNLX1BZVEhPThADEhQKEFNES19TVEFDS19ESkFOR08QBBIRCg1TREtfU1RBQ0tfQlVOEAUSEgoOU0RLX1NUQUNLX0RFTk8QBhIXChNTREtfU1RBQ0tfU1ZFTFRFS0lUEAcSEgoOU0RLX1NUQUNLX0hPTk8QCBISCg5TREtfU1RBQ0tfTlVYVBAJEhQKEFNES19TVEFDS19ORVNUSlMQChITCg9TREtfU1RBQ0tfUkVNSVgQCxITCg9TREtfU1RBQ0tfQVNUUk8QDBIVChFTREtfU1RBQ0tfRkFTVElGWRANEhoKFlNES19TVEFDS19SRUFDVF9ST1VURVIQDiqxAQoSUmF0ZUxpbWl0QWxnb3JpdGhtEiQKIFJBVEVfTElNSVRfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASJQohUkFURV9MSU1JVF9BTEdPUklUSE1fVE9LRU5fQlVDS0VUEAESJQohUkFURV9MSU1JVF9BTEdPUklUSE1fRklYRURfV0lORE9XEAISJwojUkFURV9MSU1JVF9BTEdPUklUSE1fU0xJRElOR19XSU5ET1cQAyo/ChRSYXRlTGltaXRSdWxlVmVyc2lvbhInCiNSQVRFX0xJTUlUX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjcKEEJvdFYyUnVsZVZlcnNpb24SIwofQk9UX1YyX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjYKEEVtYWlsUnVsZVZlcnNpb24SIgoeRU1BSUxfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAqRwoYU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uEisKJ1NFTlNJVElWRV9JTkZPX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjgKEVNoaWVsZFJ1bGVWZXJzaW9uEiMKH1NISUVMRF9SVUxFX1ZFUlNJT05fVU5TUEVDSUZJRUQQACo4ChFGaWx0ZXJSdWxlVmVyc2lvbhIjCh9GSUxURVJfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAyvQEKDURlY2lkZVNlcnZpY2USVQoGRGVjaWRlEiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLkRlY2lkZVJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2USVQoGUmVwb3J0EiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcG9ydFJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2VC4gEKGWNvbS5wcm90by5kZWNpZGUudjFhbHBoYTFCC0RlY2lkZVByb3RvUAFaQmFyY2pldC9hcmNqZXQtZGVjaWRlL2ludGVybmFsL3Byb3RvL2RlY2lkZS92MWFscGhhMTtkZWNpZGV2MWFscGhhMaICA1BEWKoCFVByb3RvLkRlY2lkZS5WMWFscGhhMcoCFVByb3RvXERlY2lkZVxWMWFscGhhMeICIVByb3RvXERlY2lkZVxWMWFscGhhMVxHUEJNZXRhZGF0YeoCF1Byb3RvOjpEZWNpZGU6OlYxYWxwaGExYgZwcm90bzM", [file_google_protobuf_timestamp]); | ||
| fileDesc("CiJwcm90by9kZWNpZGUvdjFhbHBoYTEvZGVjaWRlLnByb3RvEhVwcm90by5kZWNpZGUudjFhbHBoYTEinQQKCUlwRGV0YWlscxIQCghsYXRpdHVkZRgBIAEoARIRCglsb25naXR1ZGUYAiABKAESFwoPYWNjdXJhY3lfcmFkaXVzGAMgASgFEhAKCHRpbWV6b25lGAQgASgJEhMKC3Bvc3RhbF9jb2RlGAUgASgJEgwKBGNpdHkYBiABKAkSDgoGcmVnaW9uGAcgASgJEg8KB2NvdW50cnkYCCABKAkSFAoMY291bnRyeV9uYW1lGAkgASgJEhEKCWNvbnRpbmVudBgKIAEoCRIWCg5jb250aW5lbnRfbmFtZRgLIAEoCRILCgNhc24YDCABKAkSEAoIYXNuX25hbWUYDSABKAkSEgoKYXNuX2RvbWFpbhgOIAEoCRIQCghhc25fdHlwZRgPIAEoCRITCgthc25fY291bnRyeRgQIAEoCRIPCgdzZXJ2aWNlGBEgASgJEhIKCmlzX2hvc3RpbmcYEiABKAgSDgoGaXNfdnBuGBMgASgIEhAKCGlzX3Byb3h5GBQgASgIEg4KBmlzX3RvchgVIAEoCBIQCghpc19yZWxheRgWIAEoCBIRCglpc19hYnVzZXIYFyABKAgSOAoEYm90cxgYIAMoCzIqLnByb3RvLmRlY2lkZS52MWFscGhhMS5JcERldGFpbHMuQm90c0VudHJ5GisKCUJvdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBItsECgZSZWFzb24SPAoKcmF0ZV9saW1pdBgBIAEoCzImLnByb3RvLmRlY2lkZS52MWFscGhhMS5SYXRlTGltaXRSZWFzb25IABI6CgllZGdlX3J1bGUYAiABKAsyJS5wcm90by5kZWNpZGUudjFhbHBoYTEuRWRnZVJ1bGVSZWFzb25IABIvCgNib3QYAyABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90UmVhc29uSAASNQoGc2hpZWxkGAQgASgLMiMucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJlYXNvbkgAEjMKBWVtYWlsGAUgASgLMiIucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsUmVhc29uSAASMwoFZXJyb3IYBiABKAsyIi5wcm90by5kZWNpZGUudjFhbHBoYTEuRXJyb3JSZWFzb25IABJECg5zZW5zaXRpdmVfaW5mbxgHIAEoCzIqLnByb3RvLmRlY2lkZS52MWFscGhhMS5TZW5zaXRpdmVJbmZvUmVhc29uSAASNAoGYm90X3YyGAggASgLMiIucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFYyUmVhc29uSAASNQoGZmlsdGVyGAkgASgLMiMucHJvdG8uZGVjaWRlLnYxYWxwaGExLkZpbHRlclJlYXNvbkgAEkgKEHByb21wdF9pbmplY3Rpb24YCiABKAsyLC5wcm90by5kZWNpZGUudjFhbHBoYTEuUHJvbXB0SW5qZWN0aW9uUmVhc29uSABCCAoGcmVhc29uIq0BCg9SYXRlTGltaXRSZWFzb24SCwoDbWF4GAEgASgNEhEKBWNvdW50GAIgASgFQgIYARIRCglyZW1haW5pbmcYAyABKA0SMgoKcmVzZXRfdGltZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCAhgBEhgKEHJlc2V0X2luX3NlY29uZHMYBSABKA0SGQoRd2luZG93X2luX3NlY29uZHMYBiABKA0iEAoORWRnZVJ1bGVSZWFzb24iwgEKCUJvdFJlYXNvbhIwCghib3RfdHlwZRgBIAEoDjIeLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RUeXBlEhEKCWJvdF9zY29yZRgCIAEoBRIYChB1c2VyX2FnZW50X21hdGNoGAMgASgIEhIKCmlwX2hvc3RpbmcYBSABKAgSDgoGaXBfdnBuGAYgASgIEhAKCGlwX3Byb3h5GAcgASgIEg4KBmlwX3RvchgIIAEoCBIQCghpcF9yZWxheRgJIAEoCCJRCgtCb3RWMlJlYXNvbhIPCgdhbGxvd2VkGAEgAygJEg4KBmRlbmllZBgCIAMoCRIQCgh2ZXJpZmllZBgDIAEoCBIPCgdzcG9vZmVkGAQgASgIIjwKDFNoaWVsZFJlYXNvbhIYChBzaGllbGRfdHJpZ2dlcmVkGAEgASgIEhIKCnN1c3BpY2lvdXMYAiABKAgibQoMRmlsdGVyUmVhc29uEh4KEm1hdGNoZWRfZXhwcmVzc2lvbhgBIAEoCUICGAESGwoTbWF0Y2hlZF9leHByZXNzaW9ucxgCIAMoCRIgChh1bmRldGVybWluZWRfZXhwcmVzc2lvbnMYAyADKAkiRAoLRW1haWxSZWFzb24SNQoLZW1haWxfdHlwZXMYASADKA4yIC5wcm90by5kZWNpZGUudjFhbHBoYTEuRW1haWxUeXBlIh4KC0Vycm9yUmVhc29uEg8KB21lc3NhZ2UYASABKAkiQgoVUHJvbXB0SW5qZWN0aW9uUmVhc29uEhoKEmluamVjdGlvbl9kZXRlY3RlZBgBIAEoCBINCgVzY29yZRgCIAEoASJHChBJZGVudGlmaWVkRW50aXR5EhcKD2lkZW50aWZpZWRfdHlwZRgBIAEoCRINCgVzdGFydBgCIAEoDRILCgNlbmQYAyABKA0iiAEKE1NlbnNpdGl2ZUluZm9SZWFzb24SOAoHYWxsb3dlZBgBIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5EjcKBmRlbmllZBgCIAMoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5JZGVudGlmaWVkRW50aXR5IvUCCg1SYXRlTGltaXRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVtYXRjaBgCIAEoCRIXCg9jaGFyYWN0ZXJpc3RpY3MYAyADKAkSEgoGd2luZG93GAQgASgJQgIYARILCgNtYXgYBSABKA0SDwoHdGltZW91dBgGIAEoCRI8CglhbGdvcml0aG0YByABKA4yKS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0QWxnb3JpdGhtEhMKC3JlZmlsbF9yYXRlGAggASgNEhAKCGludGVydmFsGAkgASgNEhAKCGNhcGFjaXR5GAogASgNEhkKEXdpbmRvd19pbl9zZWNvbmRzGAwgASgNEjwKB3ZlcnNpb24YDSABKA4yKy5wcm90by5kZWNpZGUudjFhbHBoYTEuUmF0ZUxpbWl0UnVsZVZlcnNpb25KBAgLEAxSCXJlcXVlc3RlZCLGAgoHQm90UnVsZRIpCgRtb2RlGAEgASgOMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLk1vZGUSLQoFYmxvY2sYAiADKA4yHi5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90VHlwZRI5CghwYXR0ZXJucxgDIAEoCzInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RSdWxlLlBhdHRlcm5zGqUBCghQYXR0ZXJucxI9CgNhZGQYASADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuQm90UnVsZS5QYXR0ZXJucy5BZGRFbnRyeRIOCgZyZW1vdmUYAiADKAkaSgoIQWRkRW50cnkSCwoDa2V5GAEgASgJEi0KBXZhbHVlGAIgASgOMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFR5cGU6AjgBIo0BCglCb3RWMlJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEg0KBWFsbG93GAIgAygJEgwKBGRlbnkYAyADKAkSOAoHdmVyc2lvbhgEIAEoDjInLnByb3RvLmRlY2lkZS52MWFscGhhMS5Cb3RWMlJ1bGVWZXJzaW9uIsYCCglFbWFpbFJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEjMKBWJsb2NrGAIgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZUICGAESIAoYcmVxdWlyZV90b3BfbGV2ZWxfZG9tYWluGAMgASgIEhwKFGFsbG93X2RvbWFpbl9saXRlcmFsGAQgASgIEi8KBWFsbG93GAUgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRIuCgRkZW55GAYgAygOMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsVHlwZRI4Cgd2ZXJzaW9uGAcgASgOMicucHJvdG8uZGVjaWRlLnYxYWxwaGExLkVtYWlsUnVsZVZlcnNpb24inQEKEVNlbnNpdGl2ZUluZm9SdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEkAKB3ZlcnNpb24YBCABKA4yLy5wcm90by5kZWNpZGUudjFhbHBoYTEuU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uIp8BCgpTaGllbGRSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRISCgphdXRvX2FkZGVkGAIgASgIEhcKD2NoYXJhY3RlcmlzdGljcxgDIAMoCRI5Cgd2ZXJzaW9uGAQgASgOMigucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNoaWVsZFJ1bGVWZXJzaW9uIo8BCgpGaWx0ZXJSdWxlEikKBG1vZGUYASABKA4yGy5wcm90by5kZWNpZGUudjFhbHBoYTEuTW9kZRINCgVhbGxvdxgCIAMoCRIMCgRkZW55GAMgAygJEjkKB3ZlcnNpb24YBCABKA4yKC5wcm90by5kZWNpZGUudjFhbHBoYTEuRmlsdGVyUnVsZVZlcnNpb24ivAEKHFByb21wdEluamVjdGlvbkRldGVjdGlvblJ1bGUSKQoEbW9kZRgBIAEoDjIbLnByb3RvLmRlY2lkZS52MWFscGhhMS5Nb2RlEhYKCXRocmVzaG9sZBgCIAEoAUgAiAEBEksKB3ZlcnNpb24YAyABKA4yOi5wcm90by5kZWNpZGUudjFhbHBoYTEuUHJvbXB0SW5qZWN0aW9uRGV0ZWN0aW9uUnVsZVZlcnNpb25CDAoKX3RocmVzaG9sZCLqAwoEUnVsZRI6CgpyYXRlX2xpbWl0GAEgASgLMiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJhdGVMaW1pdFJ1bGVIABIuCgRib3RzGAIgASgLMh4ucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFJ1bGVIABIxCgVlbWFpbBgDIAEoCzIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5FbWFpbFJ1bGVIABIzCgZzaGllbGQYBCABKAsyIS5wcm90by5kZWNpZGUudjFhbHBoYTEuU2hpZWxkUnVsZUgAEkIKDnNlbnNpdGl2ZV9pbmZvGAUgASgLMigucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNlbnNpdGl2ZUluZm9SdWxlSAASMgoGYm90X3YyGAYgASgLMiAucHJvdG8uZGVjaWRlLnYxYWxwaGExLkJvdFYyUnVsZUgAEjMKBmZpbHRlchgHIAEoCzIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5GaWx0ZXJSdWxlSAASWQoacHJvbXB0X2luamVjdGlvbl9kZXRlY3Rpb24YCCABKAsyMy5wcm90by5kZWNpZGUudjFhbHBoYTEuUHJvbXB0SW5qZWN0aW9uRGV0ZWN0aW9uUnVsZUgAQgYKBHJ1bGUi1gEKClJ1bGVSZXN1bHQSDwoHcnVsZV9pZBgBIAEoCRIvCgVzdGF0ZRgCIAEoDjIgLnByb3RvLmRlY2lkZS52MWFscGhhMS5SdWxlU3RhdGUSNQoKY29uY2x1c2lvbhgDIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgEIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SCwoDdHRsGAUgASgNEhMKC2ZpbmdlcnByaW50GAYgASgJIvsCCg5SZXF1ZXN0RGV0YWlscxIKCgJpcBgBIAEoCRIOCgZtZXRob2QYAiABKAkSEAoIcHJvdG9jb2wYAyABKAkSDAoEaG9zdBgEIAEoCRIMCgRwYXRoGAUgASgJEkMKB2hlYWRlcnMYBiADKAsyMi5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuSGVhZGVyc0VudHJ5EgwKBGJvZHkYByABKAwSPwoFZXh0cmEYCCADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMuRXh0cmFFbnRyeRINCgVlbWFpbBgJIAEoCRIPCgdjb29raWVzGAogASgJEg0KBXF1ZXJ5GAsgASgJGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGiwKCkV4dHJhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL4AQoIRGVjaXNpb24SCgoCaWQYASABKAkSNQoKY29uY2x1c2lvbhgCIAEoDjIhLnByb3RvLmRlY2lkZS52MWFscGhhMS5Db25jbHVzaW9uEi0KBnJlYXNvbhgDIAEoCzIdLnByb3RvLmRlY2lkZS52MWFscGhhMS5SZWFzb24SNwoMcnVsZV9yZXN1bHRzGAQgAygLMiEucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGVSZXN1bHQSCwoDdHRsGAUgASgNEjQKCmlwX2RldGFpbHMYBiABKAsyIC5wcm90by5kZWNpZGUudjFhbHBoYTEuSXBEZXRhaWxzIugBCg1EZWNpZGVSZXF1ZXN0EjIKCXNka19zdGFjaxgBIAEoDjIfLnByb3RvLmRlY2lkZS52MWFscGhhMS5TREtTdGFjaxITCgtzZGtfdmVyc2lvbhgCIAEoCRI2CgdkZXRhaWxzGAQgASgLMiUucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcXVlc3REZXRhaWxzEioKBXJ1bGVzGAUgAygLMhsucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJ1bGUSFwoPY2hhcmFjdGVyaXN0aWNzGAYgAygJSgQIAxAEUgtmaW5nZXJwcmludCKyAQoORGVjaWRlUmVzcG9uc2USMQoIZGVjaXNpb24YASABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEirgIKDVJlcG9ydFJlcXVlc3QSMgoJc2RrX3N0YWNrGAEgASgOMh8ucHJvdG8uZGVjaWRlLnYxYWxwaGExLlNES1N0YWNrEhMKC3Nka192ZXJzaW9uGAIgASgJEjYKB2RldGFpbHMYBCABKAsyJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVxdWVzdERldGFpbHMSMQoIZGVjaXNpb24YBSABKAsyHy5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaXNpb24SKgoFcnVsZXMYBiADKAsyGy5wcm90by5kZWNpZGUudjFhbHBoYTEuUnVsZRIXCg9jaGFyYWN0ZXJpc3RpY3MYCCADKAlKBAgDEARKBAgHEAhSC2ZpbmdlcnByaW50UgtyZWNlaXZlZF9hdCKPAQoOUmVwb3J0UmVzcG9uc2USPwoFZXh0cmEYAiADKAsyMC5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2UuRXh0cmFFbnRyeRosCgpFeHRyYUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFKBAgBEAJSCGRlY2lzaW9uKq8BCgdCb3RUeXBlEhgKFEJPVF9UWVBFX1VOU1BFQ0lGSUVEEAASGQoVQk9UX1RZUEVfTk9UX0FOQUxZWkVEEAESFgoSQk9UX1RZUEVfQVVUT01BVEVEEAISHQoZQk9UX1RZUEVfTElLRUxZX0FVVE9NQVRFRBADEh0KGUJPVF9UWVBFX0xJS0VMWV9OT1RfQV9CT1QQBBIZChVCT1RfVFlQRV9WRVJJRklFRF9CT1QQBSqpAQoJRW1haWxUeXBlEhoKFkVNQUlMX1RZUEVfVU5TUEVDSUZJRUQQABIZChVFTUFJTF9UWVBFX0RJU1BPU0FCTEUQARITCg9FTUFJTF9UWVBFX0ZSRUUQAhIcChhFTUFJTF9UWVBFX05PX01YX1JFQ09SRFMQAxIaChZFTUFJTF9UWVBFX05PX0dSQVZBVEFSEAQSFgoSRU1BSUxfVFlQRV9JTlZBTElEEAUqPQoETW9kZRIUChBNT0RFX1VOU1BFQ0lGSUVEEAASEAoMTU9ERV9EUllfUlVOEAESDQoJTU9ERV9MSVZFEAIqggEKCVJ1bGVTdGF0ZRIaChZSVUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASEgoOUlVMRV9TVEFURV9SVU4QARIWChJSVUxFX1NUQVRFX05PVF9SVU4QAhIWChJSVUxFX1NUQVRFX0RSWV9SVU4QAxIVChFSVUxFX1NUQVRFX0NBQ0hFRBAEKoMBCgpDb25jbHVzaW9uEhoKFkNPTkNMVVNJT05fVU5TUEVDSUZJRUQQABIUChBDT05DTFVTSU9OX0FMTE9XEAESEwoPQ09OQ0xVU0lPTl9ERU5ZEAISGAoUQ09OQ0xVU0lPTl9DSEFMTEVOR0UQAxIUChBDT05DTFVTSU9OX0VSUk9SEAQq2AIKCFNES1N0YWNrEhkKFVNES19TVEFDS19VTlNQRUNJRklFRBAAEhQKEFNES19TVEFDS19OT0RFSlMQARIUChBTREtfU1RBQ0tfTkVYVEpTEAISFAoQU0RLX1NUQUNLX1BZVEhPThADEhQKEFNES19TVEFDS19ESkFOR08QBBIRCg1TREtfU1RBQ0tfQlVOEAUSEgoOU0RLX1NUQUNLX0RFTk8QBhIXChNTREtfU1RBQ0tfU1ZFTFRFS0lUEAcSEgoOU0RLX1NUQUNLX0hPTk8QCBISCg5TREtfU1RBQ0tfTlVYVBAJEhQKEFNES19TVEFDS19ORVNUSlMQChITCg9TREtfU1RBQ0tfUkVNSVgQCxITCg9TREtfU1RBQ0tfQVNUUk8QDBIVChFTREtfU1RBQ0tfRkFTVElGWRANEhoKFlNES19TVEFDS19SRUFDVF9ST1VURVIQDiqxAQoSUmF0ZUxpbWl0QWxnb3JpdGhtEiQKIFJBVEVfTElNSVRfQUxHT1JJVEhNX1VOU1BFQ0lGSUVEEAASJQohUkFURV9MSU1JVF9BTEdPUklUSE1fVE9LRU5fQlVDS0VUEAESJQohUkFURV9MSU1JVF9BTEdPUklUSE1fRklYRURfV0lORE9XEAISJwojUkFURV9MSU1JVF9BTEdPUklUSE1fU0xJRElOR19XSU5ET1cQAyo/ChRSYXRlTGltaXRSdWxlVmVyc2lvbhInCiNSQVRFX0xJTUlUX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjcKEEJvdFYyUnVsZVZlcnNpb24SIwofQk9UX1YyX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjYKEEVtYWlsUnVsZVZlcnNpb24SIgoeRU1BSUxfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAqRwoYU2Vuc2l0aXZlSW5mb1J1bGVWZXJzaW9uEisKJ1NFTlNJVElWRV9JTkZPX1JVTEVfVkVSU0lPTl9VTlNQRUNJRklFRBAAKjgKEVNoaWVsZFJ1bGVWZXJzaW9uEiMKH1NISUVMRF9SVUxFX1ZFUlNJT05fVU5TUEVDSUZJRUQQACo4ChFGaWx0ZXJSdWxlVmVyc2lvbhIjCh9GSUxURVJfUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAqXgojUHJvbXB0SW5qZWN0aW9uRGV0ZWN0aW9uUnVsZVZlcnNpb24SNwozUFJPTVBUX0lOSkVDVElPTl9ERVRFQ1RJT05fUlVMRV9WRVJTSU9OX1VOU1BFQ0lGSUVEEAAyvQEKDURlY2lkZVNlcnZpY2USVQoGRGVjaWRlEiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLkRlY2lkZVJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuRGVjaWRlUmVzcG9uc2USVQoGUmVwb3J0EiQucHJvdG8uZGVjaWRlLnYxYWxwaGExLlJlcG9ydFJlcXVlc3QaJS5wcm90by5kZWNpZGUudjFhbHBoYTEuUmVwb3J0UmVzcG9uc2VCygEKGWNvbS5wcm90by5kZWNpZGUudjFhbHBoYTFCC0RlY2lkZVByb3RvUAFaKmFyY2pldC9nZW4vZ28vZGVjaWRlL2FscGhhMTtkZWNpZGV2MWFscGhhMaICA1BEWKoCFVByb3RvLkRlY2lkZS5WMWFscGhhMcoCFVByb3RvXERlY2lkZVxWMWFscGhhMeICIVByb3RvXERlY2lkZVxWMWFscGhhMVxHUEJNZXRhZGF0YeoCF1Byb3RvOjpEZWNpZGU6OlYxYWxwaGExYgZwcm90bzM", [file_google_protobuf_timestamp]); | ||
@@ -86,2 +86,9 @@ /** | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.PromptInjectionReason. | ||
| * Use `create(PromptInjectionReasonSchema)` to create a new message. | ||
| */ | ||
| export const PromptInjectionReasonSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 10); | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.IdentifiedEntity. | ||
@@ -91,3 +98,3 @@ * Use `create(IdentifiedEntitySchema)` to create a new message. | ||
| export const IdentifiedEntitySchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 10); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 11); | ||
@@ -99,3 +106,3 @@ /** | ||
| export const SensitiveInfoReasonSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 11); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 12); | ||
@@ -107,3 +114,3 @@ /** | ||
| export const RateLimitRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 12); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 13); | ||
@@ -115,3 +122,3 @@ /** | ||
| export const BotRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 13); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 14); | ||
@@ -123,3 +130,3 @@ /** | ||
| export const BotRule_PatternsSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 13, 0); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 14, 0); | ||
@@ -131,3 +138,3 @@ /** | ||
| export const BotV2RuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 14); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 15); | ||
@@ -139,3 +146,3 @@ /** | ||
| export const EmailRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 15); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 16); | ||
@@ -147,3 +154,3 @@ /** | ||
| export const SensitiveInfoRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 16); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 17); | ||
@@ -155,3 +162,3 @@ /** | ||
| export const ShieldRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 17); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 18); | ||
@@ -163,5 +170,12 @@ /** | ||
| export const FilterRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 18); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 19); | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.PromptInjectionDetectionRule. | ||
| * Use `create(PromptInjectionDetectionRuleSchema)` to create a new message. | ||
| */ | ||
| export const PromptInjectionDetectionRuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 20); | ||
| /** | ||
| * Describes the message proto.decide.v1alpha1.Rule. | ||
@@ -171,3 +185,3 @@ * Use `create(RuleSchema)` to create a new message. | ||
| export const RuleSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 19); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 21); | ||
@@ -179,3 +193,3 @@ /** | ||
| export const RuleResultSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 20); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 22); | ||
@@ -187,3 +201,3 @@ /** | ||
| export const RequestDetailsSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 21); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 23); | ||
@@ -195,3 +209,3 @@ /** | ||
| export const DecisionSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 22); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 24); | ||
@@ -203,3 +217,3 @@ /** | ||
| export const DecideRequestSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 23); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 25); | ||
@@ -211,3 +225,3 @@ /** | ||
| export const DecideResponseSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 24); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 26); | ||
@@ -219,3 +233,3 @@ /** | ||
| export const ReportRequestSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 25); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 27); | ||
@@ -227,3 +241,3 @@ /** | ||
| export const ReportResponseSchema = /*@__PURE__*/ | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 26); | ||
| messageDesc(file_proto_decide_v1alpha1_decide, 28); | ||
@@ -403,2 +417,14 @@ /** | ||
| /** | ||
| * Describes the enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion. | ||
| */ | ||
| export const PromptInjectionDetectionRuleVersionSchema = /*@__PURE__*/ | ||
| enumDesc(file_proto_decide_v1alpha1_decide, 13); | ||
| /** | ||
| * @generated from enum proto.decide.v1alpha1.PromptInjectionDetectionRuleVersion | ||
| */ | ||
| export const PromptInjectionDetectionRuleVersion = /*@__PURE__*/ | ||
| tsEnum(PromptInjectionDetectionRuleVersionSchema); | ||
| /** | ||
| * @generated from service proto.decide.v1alpha1.DecideService | ||
@@ -405,0 +431,0 @@ */ |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
212400
4.48%6165
4.46%1
Infinity%+ Added
- Removed
Updated