@tailor-platform/sdk 1.15.2 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
52
52
  "=": "=";
53
53
  "!=": "!=";
54
54
  "not in": "not in";
55
+ hasAny: "hasAny";
56
+ "not hasAny": "not hasAny";
55
57
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
56
58
  user: z.ZodString;
57
59
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -73,6 +75,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
73
75
  "=": "=";
74
76
  "!=": "!=";
75
77
  "not in": "not in";
78
+ hasAny: "hasAny";
79
+ "not hasAny": "not hasAny";
76
80
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
77
81
  user: z.ZodString;
78
82
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -97,6 +101,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
97
101
  "=": "=";
98
102
  "!=": "!=";
99
103
  "not in": "not in";
104
+ hasAny: "hasAny";
105
+ "not hasAny": "not hasAny";
100
106
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
101
107
  user: z.ZodString;
102
108
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -118,6 +124,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
118
124
  "=": "=";
119
125
  "!=": "!=";
120
126
  "not in": "not in";
127
+ hasAny: "hasAny";
128
+ "not hasAny": "not hasAny";
121
129
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
122
130
  user: z.ZodString;
123
131
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -139,6 +147,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
139
147
  "=": "=";
140
148
  "!=": "!=";
141
149
  "not in": "not in";
150
+ hasAny: "hasAny";
151
+ "not hasAny": "not hasAny";
142
152
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
143
153
  user: z.ZodString;
144
154
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -162,6 +172,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
162
172
  "=": "=";
163
173
  "!=": "!=";
164
174
  "not in": "not in";
175
+ hasAny: "hasAny";
176
+ "not hasAny": "not hasAny";
165
177
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
166
178
  user: z.ZodString;
167
179
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -183,6 +195,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
183
195
  "=": "=";
184
196
  "!=": "!=";
185
197
  "not in": "not in";
198
+ hasAny: "hasAny";
199
+ "not hasAny": "not hasAny";
186
200
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
187
201
  user: z.ZodString;
188
202
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -207,6 +221,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
207
221
  "=": "=";
208
222
  "!=": "!=";
209
223
  "not in": "not in";
224
+ hasAny: "hasAny";
225
+ "not hasAny": "not hasAny";
210
226
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
211
227
  user: z.ZodString;
212
228
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -228,6 +244,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
228
244
  "=": "=";
229
245
  "!=": "!=";
230
246
  "not in": "not in";
247
+ hasAny: "hasAny";
248
+ "not hasAny": "not hasAny";
231
249
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
232
250
  user: z.ZodString;
233
251
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -249,6 +267,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
249
267
  "=": "=";
250
268
  "!=": "!=";
251
269
  "not in": "not in";
270
+ hasAny: "hasAny";
271
+ "not hasAny": "not hasAny";
252
272
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
253
273
  user: z.ZodString;
254
274
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -272,6 +292,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
272
292
  "=": "=";
273
293
  "!=": "!=";
274
294
  "not in": "not in";
295
+ hasAny: "hasAny";
296
+ "not hasAny": "not hasAny";
275
297
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
276
298
  user: z.ZodString;
277
299
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -293,6 +315,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
293
315
  "=": "=";
294
316
  "!=": "!=";
295
317
  "not in": "not in";
318
+ hasAny: "hasAny";
319
+ "not hasAny": "not hasAny";
296
320
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
297
321
  user: z.ZodString;
298
322
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -317,6 +341,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
317
341
  "=": "=";
318
342
  "!=": "!=";
319
343
  "not in": "not in";
344
+ hasAny: "hasAny";
345
+ "not hasAny": "not hasAny";
320
346
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
321
347
  user: z.ZodString;
322
348
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -338,6 +364,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
338
364
  "=": "=";
339
365
  "!=": "!=";
340
366
  "not in": "not in";
367
+ hasAny: "hasAny";
368
+ "not hasAny": "not hasAny";
341
369
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
342
370
  user: z.ZodString;
343
371
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -359,6 +387,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
359
387
  "=": "=";
360
388
  "!=": "!=";
361
389
  "not in": "not in";
390
+ hasAny: "hasAny";
391
+ "not hasAny": "not hasAny";
362
392
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
363
393
  user: z.ZodString;
364
394
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -382,6 +412,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
382
412
  "=": "=";
383
413
  "!=": "!=";
384
414
  "not in": "not in";
415
+ hasAny: "hasAny";
416
+ "not hasAny": "not hasAny";
385
417
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
386
418
  user: z.ZodString;
387
419
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -403,6 +435,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
403
435
  "=": "=";
404
436
  "!=": "!=";
405
437
  "not in": "not in";
438
+ hasAny: "hasAny";
439
+ "not hasAny": "not hasAny";
406
440
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
407
441
  user: z.ZodString;
408
442
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -427,6 +461,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
427
461
  "=": "=";
428
462
  "!=": "!=";
429
463
  "not in": "not in";
464
+ hasAny: "hasAny";
465
+ "not hasAny": "not hasAny";
430
466
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
431
467
  user: z.ZodString;
432
468
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -448,6 +484,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
448
484
  "=": "=";
449
485
  "!=": "!=";
450
486
  "not in": "not in";
487
+ hasAny: "hasAny";
488
+ "not hasAny": "not hasAny";
451
489
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
452
490
  user: z.ZodString;
453
491
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -469,6 +507,8 @@ declare const RawPermissionsSchema: z.ZodObject<{
469
507
  "=": "=";
470
508
  "!=": "!=";
471
509
  "not in": "not in";
510
+ hasAny: "hasAny";
511
+ "not hasAny": "not hasAny";
472
512
  }>, z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
473
513
  user: z.ZodString;
474
514
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>, z.ZodObject<{
@@ -487,13 +527,15 @@ declare const RawPermissionsSchema: z.ZodObject<{
487
527
  "=": "=";
488
528
  "!=": "!=";
489
529
  "not in": "not in";
530
+ hasAny: "hasAny";
531
+ "not hasAny": "not hasAny";
490
532
  }>, z.ZodUnion<readonly [z.ZodObject<{
491
533
  user: z.ZodString;
492
534
  }, z.core.$strict>, z.ZodString, z.ZodBoolean, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodBoolean>]>], null>>>>;
493
535
  actions: z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodReadonly<z.ZodArray<z.ZodEnum<{
494
536
  create: "create";
495
- delete: "delete";
496
537
  update: "update";
538
+ delete: "delete";
497
539
  aggregate: "aggregate";
498
540
  bulkUpsert: "bulkUpsert";
499
541
  read: "read";
@@ -635,11 +677,11 @@ declare const TailorFieldSchema: z.ZodObject<{
635
677
  type: z.ZodEnum<{
636
678
  string: "string";
637
679
  boolean: "boolean";
638
- date: "date";
639
- enum: "enum";
640
680
  uuid: "uuid";
641
681
  integer: "integer";
642
682
  float: "float";
683
+ enum: "enum";
684
+ date: "date";
643
685
  datetime: "datetime";
644
686
  time: "time";
645
687
  nested: "nested";
@@ -668,11 +710,11 @@ declare const ResolverSchema: z.ZodObject<{
668
710
  type: z.ZodEnum<{
669
711
  string: "string";
670
712
  boolean: "boolean";
671
- date: "date";
672
- enum: "enum";
673
713
  uuid: "uuid";
674
714
  integer: "integer";
675
715
  float: "float";
716
+ enum: "enum";
717
+ date: "date";
676
718
  datetime: "datetime";
677
719
  time: "time";
678
720
  nested: "nested";
@@ -698,11 +740,11 @@ declare const ResolverSchema: z.ZodObject<{
698
740
  type: z.ZodEnum<{
699
741
  string: "string";
700
742
  boolean: "boolean";
701
- date: "date";
702
- enum: "enum";
703
743
  uuid: "uuid";
704
744
  integer: "integer";
705
745
  float: "float";
746
+ enum: "enum";
747
+ date: "date";
706
748
  datetime: "datetime";
707
749
  time: "time";
708
750
  nested: "nested";
@@ -930,6 +972,7 @@ type GqlPermissionPolicy<User extends object = InferredAttributeMap, Type extend
930
972
  type GqlPermissionAction$1 = "read" | "create" | "update" | "delete" | "aggregate" | "bulkUpsert";
931
973
  type EqualityOperator = "=" | "!=";
932
974
  type ContainsOperator = "in" | "not in";
975
+ type HasAnyOperator = "hasAny" | "not hasAny";
933
976
  type StringFieldKeys<User extends object> = { [K in keyof User]: User[K] extends string ? K : never }[keyof User];
934
977
  type StringArrayFieldKeys<User extends object> = { [K in keyof User]: User[K] extends string[] ? K : never }[keyof User];
935
978
  type BooleanFieldKeys<User extends object> = { [K in keyof User]: User[K] extends boolean ? K : never }[keyof User];
@@ -959,6 +1002,7 @@ type EqualityCondition<Level extends "record" | "gql" = "record", User extends o
959
1002
  type StringContainsCondition<Level extends "record" | "gql", User extends object, Update extends boolean, Type extends object> = readonly [string, ContainsOperator, string[]] | readonly [UserStringOperand<User>, ContainsOperator, string[]] | readonly [string, ContainsOperator, UserStringArrayOperand<User>] | (Level extends "record" ? readonly [RecordOperand$1<Type, Update>, ContainsOperator, string[] | UserStringArrayOperand<User>] | readonly [string | UserStringOperand<User>, ContainsOperator, RecordOperand$1<Type, Update>] : never);
960
1003
  type BooleanContainsCondition<Level extends "record" | "gql", User extends object, Update extends boolean, Type extends object> = (Level extends "gql" ? readonly [string, ContainsOperator, boolean[]] : never) | readonly [boolean, ContainsOperator, boolean[]] | readonly [UserBooleanOperand<User>, ContainsOperator, boolean[]] | readonly [boolean, ContainsOperator, UserBooleanArrayOperand<User>] | (Level extends "record" ? readonly [RecordOperand$1<Type, Update>, ContainsOperator, boolean[] | UserBooleanArrayOperand<User>] | readonly [boolean | UserBooleanOperand<User>, ContainsOperator, RecordOperand$1<Type, Update>] : never);
961
1004
  type ContainsCondition<Level extends "record" | "gql" = "record", User extends object = InferredAttributeMap, Update extends boolean = boolean, Type extends object = object> = StringContainsCondition<Level, User, Update, Type> | BooleanContainsCondition<Level, User, Update, Type>;
1005
+ type HasAnyCondition<Level extends "record" | "gql", User extends object, Update extends boolean, Type extends object> = readonly [string[] | UserStringArrayOperand<User>, HasAnyOperator, string[] | UserStringArrayOperand<User>] | (Level extends "record" ? readonly [RecordOperand$1<Type, Update>, HasAnyOperator, string[] | UserStringArrayOperand<User>] | readonly [string[] | UserStringArrayOperand<User>, HasAnyOperator, RecordOperand$1<Type, Update>] : never);
962
1006
  /**
963
1007
  * Type representing a permission condition that combines user attributes, record fields, and literal values using comparison operators.
964
1008
  *
@@ -979,7 +1023,7 @@ type ContainsCondition<Level extends "record" | "gql" = "record", User extends o
979
1023
  * });
980
1024
  * ```
981
1025
  */
982
- type PermissionCondition<Level extends "record" | "gql" = "record", User extends object = InferredAttributeMap, Update extends boolean = boolean, Type extends object = object> = EqualityCondition<Level, User, Update, Type> | ContainsCondition<Level, User, Update, Type>;
1026
+ type PermissionCondition<Level extends "record" | "gql" = "record", User extends object = InferredAttributeMap, Update extends boolean = boolean, Type extends object = object> = EqualityCondition<Level, User, Update, Type> | ContainsCondition<Level, User, Update, Type> | HasAnyCondition<Level, User, Update, Type>;
983
1027
  /**
984
1028
  * Grants full record-level access without any conditions.
985
1029
  *
@@ -2144,7 +2188,7 @@ interface OperatorFieldConfig {
2144
2188
  fields?: Record<string, OperatorFieldConfig>;
2145
2189
  }
2146
2190
  type GqlPermissionAction = "read" | "create" | "update" | "delete" | "aggregate" | "bulkUpsert";
2147
- type StandardPermissionOperator = "eq" | "ne" | "in" | "nin";
2191
+ type StandardPermissionOperator = "eq" | "ne" | "in" | "nin" | "hasAny" | "nhasAny";
2148
2192
  type UserOperand = {
2149
2193
  user: string;
2150
2194
  };
@@ -2237,4 +2281,4 @@ interface TailorDBType {
2237
2281
  }
2238
2282
  //#endregion
2239
2283
  export { unsafeAllowAllTypePermission as $, TailorDBField as A, PluginGeneratedExecutor as B, UserAttributeKey as C, unauthenticatedTailorUser as Ct, ValueOperand as D, UsernameFieldKey as E, TailorDBServiceInput as Et, Plugin as F, PluginOutput as G, PluginGeneratedResolver as H, PluginAttachment as I, TypePluginOutput as J, PluginProcessContext as K, PluginConfigs as L, TailorDBType$1 as M, db as N, TailorAnyDBField as O, NamespacePluginOutput as P, unsafeAllowAllGqlPermission as Q, PluginExecutorContext as R, TenantProviderConfig as S, TailorUser as St, UserAttributeMap as T, AllowedValuesOutput as Tt, PluginGeneratedType as U, PluginGeneratedExecutorWithFile as V, PluginNamespaceProcessContext as W, TailorTypeGqlPermission as X, PermissionCondition as Y, TailorTypePermission as Z, SCIMAttributeMapping as _, Env as _t, AuthInvoker as a, TailorFieldType as at, SCIMConfig as b, AttributeList as bt, BuiltinIdP as c, QueryType as ct, IdProviderConfig as d, ResolverInput as dt, ArrayFieldOutput as et, OAuth2ClientGrantType as f, ResolverServiceConfig as ft, SCIMAttribute as g, output as gt, SAML as h, JsonCompatible as ht, AuthExternalConfig as i, FieldOutput$1 as it, TailorDBInstance as j, TailorAnyDBType as k, DefinedAuth as l, Resolver as lt, OIDC as m, InferFieldsOutput as mt, TypeSourceInfoEntry as n, FieldMetadata as nt, AuthOwnConfig as o, TailorAnyField as ot, OAuth2ClientInput as p, ResolverServiceInput as pt, TailorDBTypeForPlugin as q, AuthConfig as r, FieldOptions as rt, AuthServiceInput as s, TailorField as st, TailorDBType as t, DefinedFieldMetadata as tt, IDToken as u, ResolverExternalConfig as ut, SCIMAttributeType as v, TailorEnv as vt, UserAttributeListKey as w, AllowedValues as wt, SCIMResource as x, AttributeMap as xt, SCIMAuthorization as y, TailorActor as yt, PluginExecutorContextBase as z };
2240
- //# sourceMappingURL=types-BZRw-Iys.d.mts.map
2284
+ //# sourceMappingURL=types-_sYDzqHG.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-b-ig8nW_.mjs","names":[],"sources":["../src/parser/service/tailordb/types.ts"],"sourcesContent":["import type { RelationType } from \"./relation\";\nimport type {\n DBFieldMetadataSchema,\n RawRelationConfigSchema,\n RawPermissionsSchema,\n TailorDBTypeSchema,\n TailorDBServiceConfig as TailorDBServiceConfigType,\n TailorDBTypeSettingsSchema,\n} from \"./schema\";\nimport type { GqlOperationsConfig } from \"@/configure/services/tailordb\";\nimport type { ValueOperand } from \"@/parser/service/auth/types\";\nimport type { z } from \"zod\";\n\nexport type { RelationType } from \"./relation\";\nexport type { TypeSourceInfo } from \"./type-parser\";\n\n// ========================================\n// Source info type for TailorDB types\n// ========================================\n\n/**\n * Source information for a user-defined TailorDB type.\n */\nexport interface UserDefinedTypeSource {\n /** File path to import from */\n filePath: string;\n /** Export name in the source file */\n exportName: string;\n /** Not present for user-defined types */\n pluginId?: never;\n}\n\n/**\n * Source information for a plugin-generated TailorDB type.\n */\nexport interface PluginGeneratedTypeSource {\n /** Not present for plugin-generated types */\n filePath?: never;\n /** Export name of the generated type */\n exportName: string;\n /** Plugin ID that generated this type */\n pluginId: string;\n /** Plugin import path for code generators */\n pluginImportPath: string;\n /** Original type's file path */\n originalFilePath: string;\n /** Original type's export name */\n originalExportName: string;\n /** Generated type kind for getGeneratedType() API (e.g., \"request\", \"step\") */\n generatedTypeKind?: string;\n /** Plugin config used to generate this type */\n pluginConfig?: unknown;\n /** Namespace where this type was generated */\n namespace?: string;\n}\n\n/**\n * Source information for a TailorDB type.\n * Discriminated union: use `pluginId` to distinguish between user-defined and plugin-generated types.\n */\nexport type TypeSourceInfoEntry = UserDefinedTypeSource | PluginGeneratedTypeSource;\n\n/**\n * Type guard to check if source is plugin-generated\n * @param source - Type source info to check\n * @returns True if source is plugin-generated\n */\nexport function isPluginGeneratedType(\n source: TypeSourceInfoEntry,\n): source is PluginGeneratedTypeSource {\n return source.pluginId !== undefined;\n}\n\nexport type {\n TailorAnyDBField,\n TailorAnyDBType,\n TailorDBField,\n DBFieldMetadata,\n Hook,\n TailorTypePermission,\n TailorTypeGqlPermission,\n GqlOperationsConfig,\n GqlOperations,\n} from \"@/configure/services/tailordb\";\nexport type {\n TailorDBServiceConfigInput,\n TailorDBServiceConfig,\n TailorDBExternalConfig,\n TailorDBServiceInput,\n} from \"./schema\";\n\n/**\n * Parsed and normalized settings for TailorDB type.\n * gqlOperations is normalized from alias to object format.\n * @public\n */\nexport type TailorDBTypeParsedSettings = z.output<typeof TailorDBTypeSettingsSchema>;\n\n/**\n * Migration configuration for TailorDB\n * @public\n */\nexport type TailorDBMigrationConfig = NonNullable<TailorDBServiceConfigType[\"migration\"]>;\n\nexport type TailorDBTypeSchemaOutput = z.output<typeof TailorDBTypeSchema>;\n\nexport type DBFieldMetadataOutput = z.output<typeof DBFieldMetadataSchema>;\nexport type RawRelationConfigOutput = z.output<typeof RawRelationConfigSchema>;\n\nexport type RawPermissions = z.output<typeof RawPermissionsSchema>;\n\nexport type TailorDBFieldOutput = {\n type: string;\n fields?: Record<string, TailorDBFieldOutput>;\n metadata: DBFieldMetadataOutput;\n rawRelation?: RawRelationConfigOutput;\n};\n\nexport interface Script {\n expr: string;\n}\n\nexport interface EnumValue {\n value: string;\n description?: string;\n}\n\ninterface OperatorValidateConfig {\n script: Script;\n errorMessage: string;\n}\n\ninterface OperatorFieldHook {\n create?: Script;\n update?: Script;\n}\n\n/**\n * Raw relation config stored in configure layer, processed in parser layer.\n * This is the serialized form of RelationConfig from schema.ts where\n * the TailorDBType reference is replaced with the type name string.\n */\nexport interface RawRelationConfig {\n type: RelationType;\n toward: {\n type: string;\n as?: string;\n key?: string;\n };\n backward?: string;\n}\n\nexport interface OperatorFieldConfig {\n type: string;\n required?: boolean;\n description?: string;\n allowedValues?: EnumValue[];\n array?: boolean;\n index?: boolean;\n unique?: boolean;\n vector?: boolean;\n foreignKey?: boolean;\n foreignKeyType?: string;\n foreignKeyField?: string;\n rawRelation?: RawRelationConfig;\n validate?: OperatorValidateConfig[];\n hooks?: OperatorFieldHook;\n serial?: {\n start: number;\n maxValue?: number;\n format?: string;\n };\n fields?: Record<string, OperatorFieldConfig>;\n}\n\ntype GqlPermissionAction = \"read\" | \"create\" | \"update\" | \"delete\" | \"aggregate\" | \"bulkUpsert\";\n\ntype StandardPermissionOperator = \"eq\" | \"ne\" | \"in\" | \"nin\";\n\ntype UserOperand = {\n user: string;\n};\n\ntype RecordOperand<Update extends boolean = false> = Update extends true\n ? { oldRecord: string } | { newRecord: string }\n : { record: string };\n\nexport type PermissionOperand<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = UserOperand | ValueOperand | (Level extends \"record\" ? RecordOperand<Update> : never);\n\nexport type StandardPermissionCondition<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = readonly [\n PermissionOperand<Level, Update>,\n StandardPermissionOperator,\n PermissionOperand<Level, Update>,\n];\n\nexport type StandardActionPermission<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = {\n conditions: readonly StandardPermissionCondition<Level, Update>[];\n description?: string;\n permit: \"allow\" | \"deny\";\n};\n\nexport type StandardTailorTypePermission = {\n create: readonly StandardActionPermission<\"record\", false>[];\n read: readonly StandardActionPermission<\"record\", false>[];\n update: readonly StandardActionPermission<\"record\", true>[];\n delete: readonly StandardActionPermission<\"record\", false>[];\n};\n\nexport type StandardGqlPermissionPolicy = {\n conditions: readonly StandardPermissionCondition<\"gql\">[];\n actions: readonly [\"all\"] | readonly GqlPermissionAction[];\n permit: \"allow\" | \"deny\";\n description?: string;\n};\n\nexport type StandardTailorTypeGqlPermission = readonly StandardGqlPermissionPolicy[];\n\nexport interface Permissions {\n record?: StandardTailorTypePermission;\n gql?: StandardTailorTypeGqlPermission;\n}\n\nexport interface TailorDBTypeMetadata {\n name: string;\n description?: string;\n settings?: {\n pluralForm?: string;\n aggregation?: boolean;\n bulkUpsert?: boolean;\n gqlOperations?: GqlOperationsConfig;\n };\n permissions: RawPermissions;\n files: Record<string, string>;\n indexes?: Record<\n string,\n {\n fields: string[];\n unique?: boolean;\n }\n >;\n}\n\n/**\n * Parsed and normalized TailorDB field information\n */\nexport interface ParsedField {\n name: string;\n config: OperatorFieldConfig;\n relation?: {\n targetType: string;\n forwardName: string;\n backwardName: string;\n key: string;\n unique: boolean;\n };\n}\n\n/**\n * Parsed and normalized TailorDB relationship information\n */\nexport interface ParsedRelationship {\n name: string;\n targetType: string;\n targetField: string;\n sourceField: string;\n isArray: boolean;\n description: string;\n}\n\n/**\n * Parsed and normalized TailorDB type information\n */\nexport interface TailorDBType {\n name: string;\n pluralForm: string;\n description?: string;\n fields: Record<string, ParsedField>;\n forwardRelationships: Record<string, ParsedRelationship>;\n backwardRelationships: Record<string, ParsedRelationship>;\n settings: TailorDBTypeParsedSettings;\n permissions: Permissions;\n indexes?: TailorDBTypeMetadata[\"indexes\"];\n files?: TailorDBTypeMetadata[\"files\"];\n}\n"],"mappings":";;;;;;AAmEA,SAAgB,sBACd,QACqC;AACrC,QAAO,OAAO,aAAa"}
1
+ {"version":3,"file":"types-b-ig8nW_.mjs","names":[],"sources":["../src/parser/service/tailordb/types.ts"],"sourcesContent":["import type { RelationType } from \"./relation\";\nimport type {\n DBFieldMetadataSchema,\n RawRelationConfigSchema,\n RawPermissionsSchema,\n TailorDBTypeSchema,\n TailorDBServiceConfig as TailorDBServiceConfigType,\n TailorDBTypeSettingsSchema,\n} from \"./schema\";\nimport type { GqlOperationsConfig } from \"@/configure/services/tailordb\";\nimport type { ValueOperand } from \"@/parser/service/auth/types\";\nimport type { z } from \"zod\";\n\nexport type { RelationType } from \"./relation\";\nexport type { TypeSourceInfo } from \"./type-parser\";\n\n// ========================================\n// Source info type for TailorDB types\n// ========================================\n\n/**\n * Source information for a user-defined TailorDB type.\n */\nexport interface UserDefinedTypeSource {\n /** File path to import from */\n filePath: string;\n /** Export name in the source file */\n exportName: string;\n /** Not present for user-defined types */\n pluginId?: never;\n}\n\n/**\n * Source information for a plugin-generated TailorDB type.\n */\nexport interface PluginGeneratedTypeSource {\n /** Not present for plugin-generated types */\n filePath?: never;\n /** Export name of the generated type */\n exportName: string;\n /** Plugin ID that generated this type */\n pluginId: string;\n /** Plugin import path for code generators */\n pluginImportPath: string;\n /** Original type's file path */\n originalFilePath: string;\n /** Original type's export name */\n originalExportName: string;\n /** Generated type kind for getGeneratedType() API (e.g., \"request\", \"step\") */\n generatedTypeKind?: string;\n /** Plugin config used to generate this type */\n pluginConfig?: unknown;\n /** Namespace where this type was generated */\n namespace?: string;\n}\n\n/**\n * Source information for a TailorDB type.\n * Discriminated union: use `pluginId` to distinguish between user-defined and plugin-generated types.\n */\nexport type TypeSourceInfoEntry = UserDefinedTypeSource | PluginGeneratedTypeSource;\n\n/**\n * Type guard to check if source is plugin-generated\n * @param source - Type source info to check\n * @returns True if source is plugin-generated\n */\nexport function isPluginGeneratedType(\n source: TypeSourceInfoEntry,\n): source is PluginGeneratedTypeSource {\n return source.pluginId !== undefined;\n}\n\nexport type {\n TailorAnyDBField,\n TailorAnyDBType,\n TailorDBField,\n DBFieldMetadata,\n Hook,\n TailorTypePermission,\n TailorTypeGqlPermission,\n GqlOperationsConfig,\n GqlOperations,\n} from \"@/configure/services/tailordb\";\nexport type {\n TailorDBServiceConfigInput,\n TailorDBServiceConfig,\n TailorDBExternalConfig,\n TailorDBServiceInput,\n} from \"./schema\";\n\n/**\n * Parsed and normalized settings for TailorDB type.\n * gqlOperations is normalized from alias to object format.\n * @public\n */\nexport type TailorDBTypeParsedSettings = z.output<typeof TailorDBTypeSettingsSchema>;\n\n/**\n * Migration configuration for TailorDB\n * @public\n */\nexport type TailorDBMigrationConfig = NonNullable<TailorDBServiceConfigType[\"migration\"]>;\n\nexport type TailorDBTypeSchemaOutput = z.output<typeof TailorDBTypeSchema>;\n\nexport type DBFieldMetadataOutput = z.output<typeof DBFieldMetadataSchema>;\nexport type RawRelationConfigOutput = z.output<typeof RawRelationConfigSchema>;\n\nexport type RawPermissions = z.output<typeof RawPermissionsSchema>;\n\nexport type TailorDBFieldOutput = {\n type: string;\n fields?: Record<string, TailorDBFieldOutput>;\n metadata: DBFieldMetadataOutput;\n rawRelation?: RawRelationConfigOutput;\n};\n\nexport interface Script {\n expr: string;\n}\n\nexport interface EnumValue {\n value: string;\n description?: string;\n}\n\ninterface OperatorValidateConfig {\n script: Script;\n errorMessage: string;\n}\n\ninterface OperatorFieldHook {\n create?: Script;\n update?: Script;\n}\n\n/**\n * Raw relation config stored in configure layer, processed in parser layer.\n * This is the serialized form of RelationConfig from schema.ts where\n * the TailorDBType reference is replaced with the type name string.\n */\nexport interface RawRelationConfig {\n type: RelationType;\n toward: {\n type: string;\n as?: string;\n key?: string;\n };\n backward?: string;\n}\n\nexport interface OperatorFieldConfig {\n type: string;\n required?: boolean;\n description?: string;\n allowedValues?: EnumValue[];\n array?: boolean;\n index?: boolean;\n unique?: boolean;\n vector?: boolean;\n foreignKey?: boolean;\n foreignKeyType?: string;\n foreignKeyField?: string;\n rawRelation?: RawRelationConfig;\n validate?: OperatorValidateConfig[];\n hooks?: OperatorFieldHook;\n serial?: {\n start: number;\n maxValue?: number;\n format?: string;\n };\n fields?: Record<string, OperatorFieldConfig>;\n}\n\ntype GqlPermissionAction = \"read\" | \"create\" | \"update\" | \"delete\" | \"aggregate\" | \"bulkUpsert\";\n\ntype StandardPermissionOperator = \"eq\" | \"ne\" | \"in\" | \"nin\" | \"hasAny\" | \"nhasAny\";\n\ntype UserOperand = {\n user: string;\n};\n\ntype RecordOperand<Update extends boolean = false> = Update extends true\n ? { oldRecord: string } | { newRecord: string }\n : { record: string };\n\nexport type PermissionOperand<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = UserOperand | ValueOperand | (Level extends \"record\" ? RecordOperand<Update> : never);\n\nexport type StandardPermissionCondition<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = readonly [\n PermissionOperand<Level, Update>,\n StandardPermissionOperator,\n PermissionOperand<Level, Update>,\n];\n\nexport type StandardActionPermission<\n Level extends \"record\" | \"gql\" = \"record\" | \"gql\",\n Update extends boolean = boolean,\n> = {\n conditions: readonly StandardPermissionCondition<Level, Update>[];\n description?: string;\n permit: \"allow\" | \"deny\";\n};\n\nexport type StandardTailorTypePermission = {\n create: readonly StandardActionPermission<\"record\", false>[];\n read: readonly StandardActionPermission<\"record\", false>[];\n update: readonly StandardActionPermission<\"record\", true>[];\n delete: readonly StandardActionPermission<\"record\", false>[];\n};\n\nexport type StandardGqlPermissionPolicy = {\n conditions: readonly StandardPermissionCondition<\"gql\">[];\n actions: readonly [\"all\"] | readonly GqlPermissionAction[];\n permit: \"allow\" | \"deny\";\n description?: string;\n};\n\nexport type StandardTailorTypeGqlPermission = readonly StandardGqlPermissionPolicy[];\n\nexport interface Permissions {\n record?: StandardTailorTypePermission;\n gql?: StandardTailorTypeGqlPermission;\n}\n\nexport interface TailorDBTypeMetadata {\n name: string;\n description?: string;\n settings?: {\n pluralForm?: string;\n aggregation?: boolean;\n bulkUpsert?: boolean;\n gqlOperations?: GqlOperationsConfig;\n };\n permissions: RawPermissions;\n files: Record<string, string>;\n indexes?: Record<\n string,\n {\n fields: string[];\n unique?: boolean;\n }\n >;\n}\n\n/**\n * Parsed and normalized TailorDB field information\n */\nexport interface ParsedField {\n name: string;\n config: OperatorFieldConfig;\n relation?: {\n targetType: string;\n forwardName: string;\n backwardName: string;\n key: string;\n unique: boolean;\n };\n}\n\n/**\n * Parsed and normalized TailorDB relationship information\n */\nexport interface ParsedRelationship {\n name: string;\n targetType: string;\n targetField: string;\n sourceField: string;\n isArray: boolean;\n description: string;\n}\n\n/**\n * Parsed and normalized TailorDB type information\n */\nexport interface TailorDBType {\n name: string;\n pluralForm: string;\n description?: string;\n fields: Record<string, ParsedField>;\n forwardRelationships: Record<string, ParsedRelationship>;\n backwardRelationships: Record<string, ParsedRelationship>;\n settings: TailorDBTypeParsedSettings;\n permissions: Permissions;\n indexes?: TailorDBTypeMetadata[\"indexes\"];\n files?: TailorDBTypeMetadata[\"files\"];\n}\n"],"mappings":";;;;;;AAmEA,SAAgB,sBACd,QACqC;AACrC,QAAO,OAAO,aAAa"}
@@ -1,6 +1,6 @@
1
1
  import { t as isPluginGeneratedType } from "./types-b-ig8nW_.mjs";
2
2
  import { t as db } from "./schema-DRYB-nzA.mjs";
3
- import { a as ExecutorSchema, c as functionSchema, d as loadFilesWithIgnores, f as logger, i as createExecutorService, l as stringifyFunction, m as symbols, n as WorkflowJobSchema, o as OAuth2ClientSchema, p as styles, r as WorkflowSchema, s as ResolverSchema, t as defineApplication, u as tailorUserMap } from "./application-DLUgR1gv.mjs";
3
+ import { a as ExecutorSchema, c as functionSchema, d as loadFilesWithIgnores, f as logger, i as createExecutorService, l as stringifyFunction, m as symbols, n as WorkflowJobSchema, o as OAuth2ClientSchema, p as styles, r as WorkflowSchema, s as ResolverSchema, t as defineApplication, u as tailorUserMap } from "./application-DQ2F9UmJ.mjs";
4
4
  import { createRequire } from "node:module";
5
5
  import { arg, defineCommand, runCommand } from "politty";
6
6
  import { z } from "zod";
@@ -302,7 +302,7 @@ const file_tailor_v1_secret_manager_resource = /* @__PURE__ */ fileDesc("Cid0YWl
302
302
  /**
303
303
  * Describes the file tailor/v1/auth_resource.proto.
304
304
  */
305
- const file_tailor_v1_auth_resource = /* @__PURE__ */ fileDesc("Ch10YWlsb3IvdjEvYXV0aF9yZXNvdXJjZS5wcm90bxIJdGFpbG9yLnYxIlYKC0F1dGhTZXJ2aWNlEicKCW5hbWVzcGFjZRgBIAEoCzIULnRhaWxvci52MS5OYW1lc3BhY2USHgoWcHVibGlzaF9zZXNzaW9uX2V2ZW50cxgCIAEoCCK0BgoNQXV0aElEUENvbmZpZxI2CgRuYW1lGAEgASgJQii6SCVyIzIhXlthLXowLTldW2EtejAtOS1dezEsNjF9W2EtejAtOV0kEjQKCWF1dGhfdHlwZRgCIAEoDjIhLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLkF1dGhUeXBlEi8KBmNvbmZpZxgDIAEoCzIfLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLkNvbmZpZxq4AQoGQ29uZmlnEjMKBG9pZGMYASABKAsyIy50YWlsb3IudjEuQXV0aElEUENvbmZpZy5PSURDQ29uZmlnSAASMwoEc2FtbBgCIAEoCzIjLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLlNBTUxDb25maWdIABI6CghpZF90b2tlbhgDIAEoCzImLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLklEVG9rZW5Db25maWdIAEIICgZjb25maWcamAEKCk9JRENDb25maWcSFQoNY2xpZW50X2lkX2tleRgBIAEoCRIxChFjbGllbnRfc2VjcmV0X2tleRgCIAEoCzIWLnRhaWxvci52MS5TZWNyZXRWYWx1ZRIUCgxwcm92aWRlcl91cmwYAyABKAkSEgoKaXNzdWVyX3VybBgEIAEoCRIWCg51c2VybmFtZV9jbGFpbRgFIAEoCRphCgpTQU1MQ29uZmlnEhQKDG1ldGFkYXRhX3VybBgBIAEoCRIUCgxyYXdfbWV0YWRhdGEYBCABKAkSGwoTZW5hYmxlX3NpZ25fcmVxdWVzdBgFIAEoCEoECAIQA0oECAMQBBpkCg1JRFRva2VuQ29uZmlnEhQKDHByb3ZpZGVyX3VybBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSEgoKaXNzdWVyX3VybBgDIAEoCRIWCg51c2VybmFtZV9jbGFpbRgEIAEoCSJlCghBdXRoVHlwZRIZChVBVVRIX1RZUEVfVU5TUEVDSUZJRUQQABISCg5BVVRIX1RZUEVfT0lEQxABEhIKDkFVVEhfVFlQRV9TQU1MEAISFgoSQVVUSF9UWVBFX0lEX1RPS0VOEAMirQYKGVVzZXJQcm9maWxlUHJvdmlkZXJDb25maWcSFAoIcHJvdmlkZXIYASABKAlCAhgBElMKDXByb3ZpZGVyX3R5cGUYAiABKA4yPC50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5Vc2VyUHJvZmlsZVByb3ZpZGVyVHlwZRI7CgZjb25maWcYAyABKAsyKy50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5Db25maWcaYwoGQ29uZmlnEk8KCHRhaWxvcmRiGAEgASgLMjsudGFpbG9yLnYxLlVzZXJQcm9maWxlUHJvdmlkZXJDb25maWcuVGFpbG9yREJQcm92aWRlckNvbmZpZ0gAQggKBmNvbmZpZxqSAwoWVGFpbG9yREJQcm92aWRlckNvbmZpZxI7CgluYW1lc3BhY2UYASABKAlCKLpIJXIjMiFeW2EtejAtOV1bYS16MC05LV17MSw2MX1bYS16MC05XSQSLQoEdHlwZRgCIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIWCg51c2VybmFtZV9maWVsZBgDIAEoCRIZChFhdHRyaWJ1dGVzX2ZpZWxkcxgEIAMoCRIXCg90ZW5hbnRfaWRfZmllbGQYBSABKAkSigEKDWF0dHJpYnV0ZV9tYXAYBiADKAsyTS50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5UYWlsb3JEQlByb3ZpZGVyQ29uZmlnLkF0dHJpYnV0ZU1hcEVudHJ5QiS6SCGaAR4iHHIaMhheW2Etel1bMC05YS16QS1aXXswLDYyfSQaMwoRQXR0cmlidXRlTWFwRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJuChdVc2VyUHJvZmlsZVByb3ZpZGVyVHlwZRIqCiZVU0VSX1BST0ZJTEVfUFJPVklERVJfVFlQRV9VTlNQRUNJRklFRBAAEicKI1VTRVJfUFJPRklMRV9QUk9WSURFUl9UWVBFX1RBSUxPUkRCEAEivgMKFFRlbmFudFByb3ZpZGVyQ29uZmlnEhAKCHByb3ZpZGVyGAEgASgJEkkKDXByb3ZpZGVyX3R5cGUYAiABKA4yMi50YWlsb3IudjEuVGVuYW50UHJvdmlkZXJDb25maWcuVGVuYW50UHJvdmlkZXJUeXBlEjYKBmNvbmZpZxgDIAEoCzImLnRhaWxvci52MS5UZW5hbnRQcm92aWRlckNvbmZpZy5Db25maWcaXgoGQ29uZmlnEkoKCHRhaWxvcmRiGAEgASgLMjYudGFpbG9yLnYxLlRlbmFudFByb3ZpZGVyQ29uZmlnLlRhaWxvckRCUHJvdmlkZXJDb25maWdIAEIICgZjb25maWcaUgoWVGFpbG9yREJQcm92aWRlckNvbmZpZxIRCgluYW1lc3BhY2UYASABKAkSDAoEdHlwZRgCIAEoCRIXCg9zaWduYXR1cmVfZmllbGQYAyABKAkiXQoSVGVuYW50UHJvdmlkZXJUeXBlEiQKIFRFTkFOVF9QUk9WSURFUl9UWVBFX1VOU1BFQ0lGSUVEEAASIQodVEVOQU5UX1BST1ZJREVSX1RZUEVfVEFJTE9SREIQASI7CgtBdXRoSW52b2tlchIRCgluYW1lc3BhY2UYASABKAkSGQoRbWFjaGluZV91c2VyX25hbWUYAiABKAkiSAoTUGVyc29uYWxBY2Nlc3NUb2tlbhIMCgRuYW1lGAEgASgJEiMKBnNjb3BlcxgCIAMoDjITLnRhaWxvci52MS5QQVRTY29wZSLGAwoLTWFjaGluZVVzZXISCgoCaWQYASABKAkSNgoEbmFtZRgCIAEoCUIoukglciMyIV5bYS16MC05XVthLXowLTktXXsxLDYxfVthLXowLTldJBIWCgljbGllbnRfaWQYAyABKAlCA+BBAxIaCg1jbGllbnRfc2VjcmV0GAQgASgJQgPgQQMSIQoKYXR0cmlidXRlcxgFIAMoCUINukgKkgEHIgVyA7ABARIzCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDEjMKCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQMSZQoNYXR0cmlidXRlX21hcBgIIAMoCzIoLnRhaWxvci52MS5NYWNoaW5lVXNlci5BdHRyaWJ1dGVNYXBFbnRyeUIkukghmgEeIhxyGjIYXlthLXpdWzAtOWEtekEtWl17MCw2Mn0kGksKEUF0dHJpYnV0ZU1hcEVudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi3gIKDkF1dGhTQ0lNQ29uZmlnEkMKEW1hY2hpbmVfdXNlcl9uYW1lGAEgASgJQii6SCVyIzIhXlthLXowLTldW2EtejAtOS1dezEsNjF9W2EtejAtOV0kEkcKEmF1dGhvcml6YXRpb25fdHlwZRgCIAEoDjIrLnRhaWxvci52MS5BdXRoU0NJTUNvbmZpZy5BdXRob3JpemF0aW9uVHlwZRIvCg1iZWFyZXJfc2VjcmV0GAogASgLMhYudGFpbG9yLnYxLlNlY3JldFZhbHVlSAAidQoRQXV0aG9yaXphdGlvblR5cGUSIgoeQVVUSE9SSVpBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHQoZQVVUSE9SSVpBVElPTl9UWVBFX0JFQVJFUhABEh0KGUFVVEhPUklaQVRJT05fVFlQRV9PQVVUSDIQAkIWChRhdXRob3JpemF0aW9uX2NvbmZpZyLDAgoQQXV0aFNDSU1SZXNvdXJjZRI/CgRuYW1lGAEgASgJQjG6SC5yLDIqXltBLVphLXowLTldW0EtWmEtejAtOS1dezEsNjF9W0EtWmEtejAtOV0kEkUKE3RhaWxvcl9kYl9uYW1lc3BhY2UYAiABKAlCKLpIJXIjMiFeW2EtejAtOV1bYS16MC05LV17MSw2MX1bYS16MC05XSQSNwoOdGFpbG9yX2RiX3R5cGUYAyABKAlCH7pIHHIaMhheW0EtWl1bYS16QS1aMC05XXswLDYyfSQSPgoRYXR0cmlidXRlX21hcHBpbmcYBCADKAsyIy50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGVNYXBwaW5nEi4KC2NvcmVfc2NoZW1hGAUgASgLMhkudGFpbG9yLnYxLkF1dGhTQ0lNU2NoZW1hIkYKGEF1dGhTQ0lNQXR0cmlidXRlTWFwcGluZxIXCg90YWlsb3JfZGJfZmllbGQYASABKAkSEQoJc2NpbV9wYXRoGAIgASgJIlAKDkF1dGhTQ0lNU2NoZW1hEgwKBG5hbWUYASABKAkSMAoKYXR0cmlidXRlcxgCIAMoCzIcLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZSLZBQoRQXV0aFNDSU1BdHRyaWJ1dGUSLwoEdHlwZRgBIAEoDjIhLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZS5UeXBlEi4KBG5hbWUYAiABKAlCILpIHXIbMhleW0EtWmEtel1bYS16QS1aMC05XyQtXSokEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjsKCm11dGFiaWxpdHkYBCABKA4yJy50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGUuTXV0YWJpbGl0eRIQCghyZXF1aXJlZBgFIAEoCBIUCgxtdWx0aV92YWx1ZWQYBiABKAgSOwoKdW5pcXVlbmVzcxgHIAEoDjInLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZS5VbmlxdWVuZXNzEhgKEGNhbm9uaWNhbF92YWx1ZXMYCCADKAkSNAoOc3ViX2F0dHJpYnV0ZXMYCSADKAsyHC50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGUidQoEVHlwZRIUChBUWVBFX1VOU1BFQ0lGSUVEEAASEAoMVFlQRV9DT01QTEVYEAESDwoLVFlQRV9TVFJJTkcQAhIPCgtUWVBFX05VTUJFUhADEhAKDFRZUEVfQk9PTEVBThAEEhEKDVRZUEVfREFURVRJTUUQBSJ4CgpNdXRhYmlsaXR5EhoKFk1VVEFCSUxJVFlfVU5TUEVDSUZJRUQQABIYChRNVVRBQklMSVRZX1JFQURfT05MWRABEhkKFU1VVEFCSUxJVFlfUkVBRF9XUklURRACEhkKFU1VVEFCSUxJVFlfV1JJVEVfT05MWRADImsKClVuaXF1ZW5lc3MSGgoWVU5JUVVFTkVTU19VTlNQRUNJRklFRBAAEhMKD1VOSVFVRU5FU1NfTk9ORRABEhUKEVVOSVFVRU5FU1NfU0VSVkVSEAISFQoRVU5JUVVFTkVTU19HTE9CQUwQAyK+BAoOQXV0aENvbm5lY3Rpb24SNgoEbmFtZRgBIAEoCUIoukglciMyIV5bYS16MC05XVthLXowLTktXXsxLDYxfVthLXowLTldJBIsCgR0eXBlGAIgASgOMh4udGFpbG9yLnYxLkF1dGhDb25uZWN0aW9uLlR5cGUSRgoGb2F1dGgyGAMgASgLMjQudGFpbG9yLnYxLkF1dGhDb25uZWN0aW9uLkF1dGhDb25uZWN0aW9uT0F1dGgyQ29uZmlnSAASMwoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBAxqIAgoaQXV0aENvbm5lY3Rpb25PQXV0aDJDb25maWcSFAoMcHJvdmlkZXJfdXJsGAEgASgJEhIKCmlzc3Vlcl91cmwYAiABKAkSEQoJY2xpZW50X2lkGAMgASgJEhoKDWNsaWVudF9zZWNyZXQYBCABKAlCA+BBBBJHCghhdXRoX3VybBgFIAEoCUI1ukgy2AEBci0yKF5odHRwczovL1tBLVphLXowLTkuLV0rKDpbMC05XSspPygvLiopPySIAQESSAoJdG9rZW5fdXJsGAYgASgJQjW6SDLYAQFyLTIoXmh0dHBzOi8vW0EtWmEtejAtOS4tXSsoOlswLTldKyk/KC8uKik/JIgBASItCgRUeXBlEhQKEFRZUEVfVU5TUEVDSUZJRUQQABIPCgtUWVBFX09BVVRIMhABQg8KBmNvbmZpZxIFukgCCAEi0AUKEEF1dGhPQXV0aDJDbGllbnQSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI6CgtncmFudF90eXBlcxgDIAMoDjIlLnRhaWxvci52MS5BdXRoT0F1dGgyQ2xpZW50LkdyYW50VHlwZRIVCg1yZWRpcmVjdF91cmlzGAQgAygJEhYKCWNsaWVudF9pZBgFIAEoCUID4EEDEhoKDWNsaWVudF9zZWNyZXQYBiABKAlCA+BBAxIzCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDEkoKC2NsaWVudF90eXBlGAggASgOMiYudGFpbG9yLnYxLkF1dGhPQXV0aDJDbGllbnQuQ2xpZW50VHlwZUINukgK2AEBggEEEAEgABJKChVhY2Nlc3NfdG9rZW5fbGlmZXRpbWUYCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CELpIDaoBCiIECICjBTICCDwSSwoWcmVmcmVzaF90b2tlbl9saWZldGltZRgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIQukgNqgEKIgQIgPUkMgIIPBIUCgxyZXF1aXJlX2Rwb3AYCyABKAgiaAoJR3JhbnRUeXBlEhoKFkdSQU5UX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1HUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERRABEhwKGEdSQU5UX1RZUEVfUkVGUkVTSF9UT0tFThACIngKCkNsaWVudFR5cGUSGwoXQ0xJRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIcChhDTElFTlRfVFlQRV9DT05GSURFTlRJQUwQARIWChJDTElFTlRfVFlQRV9QVUJMSUMQAhIXChNDTElFTlRfVFlQRV9CUk9XU0VSEAMitwEKF0NvbnRyb2xwbGFuZU1hY2hpbmVVc2VyEg8KAmlkGAEgASgJQgPgQQMSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIcCg9vcmdhbml6YXRpb25faWQYBCABKAlCA+BBAxIWCglmb2xkZXJfaWQYBSABKAlCA+BBAxIWCgljbGllbnRfaWQYBiABKAlCA+BBAxIaCg1jbGllbnRfc2VjcmV0GAcgASgJQgPgQQMqTgoIUEFUU2NvcGUSGQoVUEFUX1NDT1BFX1VOU1BFQ0lGSUVEEAASEgoOUEFUX1NDT1BFX1JFQUQQARITCg9QQVRfU0NPUEVfV1JJVEUQAmIGcHJvdG8z", [
305
+ const file_tailor_v1_auth_resource = /* @__PURE__ */ fileDesc("Ch10YWlsb3IvdjEvYXV0aF9yZXNvdXJjZS5wcm90bxIJdGFpbG9yLnYxIlYKC0F1dGhTZXJ2aWNlEicKCW5hbWVzcGFjZRgBIAEoCzIULnRhaWxvci52MS5OYW1lc3BhY2USHgoWcHVibGlzaF9zZXNzaW9uX2V2ZW50cxgCIAEoCCK0BgoNQXV0aElEUENvbmZpZxI2CgRuYW1lGAEgASgJQii6SCVyIzIhXlthLXowLTldW2EtejAtOS1dezEsNjF9W2EtejAtOV0kEjQKCWF1dGhfdHlwZRgCIAEoDjIhLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLkF1dGhUeXBlEi8KBmNvbmZpZxgDIAEoCzIfLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLkNvbmZpZxq4AQoGQ29uZmlnEjMKBG9pZGMYASABKAsyIy50YWlsb3IudjEuQXV0aElEUENvbmZpZy5PSURDQ29uZmlnSAASMwoEc2FtbBgCIAEoCzIjLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLlNBTUxDb25maWdIABI6CghpZF90b2tlbhgDIAEoCzImLnRhaWxvci52MS5BdXRoSURQQ29uZmlnLklEVG9rZW5Db25maWdIAEIICgZjb25maWcamAEKCk9JRENDb25maWcSFQoNY2xpZW50X2lkX2tleRgBIAEoCRIxChFjbGllbnRfc2VjcmV0X2tleRgCIAEoCzIWLnRhaWxvci52MS5TZWNyZXRWYWx1ZRIUCgxwcm92aWRlcl91cmwYAyABKAkSEgoKaXNzdWVyX3VybBgEIAEoCRIWCg51c2VybmFtZV9jbGFpbRgFIAEoCRphCgpTQU1MQ29uZmlnEhQKDG1ldGFkYXRhX3VybBgBIAEoCRIUCgxyYXdfbWV0YWRhdGEYBCABKAkSGwoTZW5hYmxlX3NpZ25fcmVxdWVzdBgFIAEoCEoECAIQA0oECAMQBBpkCg1JRFRva2VuQ29uZmlnEhQKDHByb3ZpZGVyX3VybBgBIAEoCRIRCgljbGllbnRfaWQYAiABKAkSEgoKaXNzdWVyX3VybBgDIAEoCRIWCg51c2VybmFtZV9jbGFpbRgEIAEoCSJlCghBdXRoVHlwZRIZChVBVVRIX1RZUEVfVU5TUEVDSUZJRUQQABISCg5BVVRIX1RZUEVfT0lEQxABEhIKDkFVVEhfVFlQRV9TQU1MEAISFgoSQVVUSF9UWVBFX0lEX1RPS0VOEAMirQYKGVVzZXJQcm9maWxlUHJvdmlkZXJDb25maWcSFAoIcHJvdmlkZXIYASABKAlCAhgBElMKDXByb3ZpZGVyX3R5cGUYAiABKA4yPC50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5Vc2VyUHJvZmlsZVByb3ZpZGVyVHlwZRI7CgZjb25maWcYAyABKAsyKy50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5Db25maWcaYwoGQ29uZmlnEk8KCHRhaWxvcmRiGAEgASgLMjsudGFpbG9yLnYxLlVzZXJQcm9maWxlUHJvdmlkZXJDb25maWcuVGFpbG9yREJQcm92aWRlckNvbmZpZ0gAQggKBmNvbmZpZxqSAwoWVGFpbG9yREJQcm92aWRlckNvbmZpZxI7CgluYW1lc3BhY2UYASABKAlCKLpIJXIjMiFeW2EtejAtOV1bYS16MC05LV17MSw2MX1bYS16MC05XSQSLQoEdHlwZRgCIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIWCg51c2VybmFtZV9maWVsZBgDIAEoCRIZChFhdHRyaWJ1dGVzX2ZpZWxkcxgEIAMoCRIXCg90ZW5hbnRfaWRfZmllbGQYBSABKAkSigEKDWF0dHJpYnV0ZV9tYXAYBiADKAsyTS50YWlsb3IudjEuVXNlclByb2ZpbGVQcm92aWRlckNvbmZpZy5UYWlsb3JEQlByb3ZpZGVyQ29uZmlnLkF0dHJpYnV0ZU1hcEVudHJ5QiS6SCGaAR4iHHIaMhheW2Etel1bMC05YS16QS1aXXswLDYyfSQaMwoRQXR0cmlidXRlTWFwRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJuChdVc2VyUHJvZmlsZVByb3ZpZGVyVHlwZRIqCiZVU0VSX1BST0ZJTEVfUFJPVklERVJfVFlQRV9VTlNQRUNJRklFRBAAEicKI1VTRVJfUFJPRklMRV9QUk9WSURFUl9UWVBFX1RBSUxPUkRCEAEivgMKFFRlbmFudFByb3ZpZGVyQ29uZmlnEhAKCHByb3ZpZGVyGAEgASgJEkkKDXByb3ZpZGVyX3R5cGUYAiABKA4yMi50YWlsb3IudjEuVGVuYW50UHJvdmlkZXJDb25maWcuVGVuYW50UHJvdmlkZXJUeXBlEjYKBmNvbmZpZxgDIAEoCzImLnRhaWxvci52MS5UZW5hbnRQcm92aWRlckNvbmZpZy5Db25maWcaXgoGQ29uZmlnEkoKCHRhaWxvcmRiGAEgASgLMjYudGFpbG9yLnYxLlRlbmFudFByb3ZpZGVyQ29uZmlnLlRhaWxvckRCUHJvdmlkZXJDb25maWdIAEIICgZjb25maWcaUgoWVGFpbG9yREJQcm92aWRlckNvbmZpZxIRCgluYW1lc3BhY2UYASABKAkSDAoEdHlwZRgCIAEoCRIXCg9zaWduYXR1cmVfZmllbGQYAyABKAkiXQoSVGVuYW50UHJvdmlkZXJUeXBlEiQKIFRFTkFOVF9QUk9WSURFUl9UWVBFX1VOU1BFQ0lGSUVEEAASIQodVEVOQU5UX1BST1ZJREVSX1RZUEVfVEFJTE9SREIQASI7CgtBdXRoSW52b2tlchIRCgluYW1lc3BhY2UYASABKAkSGQoRbWFjaGluZV91c2VyX25hbWUYAiABKAkiSAoTUGVyc29uYWxBY2Nlc3NUb2tlbhIMCgRuYW1lGAEgASgJEiMKBnNjb3BlcxgCIAMoDjITLnRhaWxvci52MS5QQVRTY29wZSLGAwoLTWFjaGluZVVzZXISCgoCaWQYASABKAkSNgoEbmFtZRgCIAEoCUIoukglciMyIV5bYS16MC05XVthLXowLTktXXsxLDYxfVthLXowLTldJBIWCgljbGllbnRfaWQYAyABKAlCA+BBAxIaCg1jbGllbnRfc2VjcmV0GAQgASgJQgPgQQMSIQoKYXR0cmlidXRlcxgFIAMoCUINukgKkgEHIgVyA7ABARIzCgpjcmVhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDEjMKCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgPgQQMSZQoNYXR0cmlidXRlX21hcBgIIAMoCzIoLnRhaWxvci52MS5NYWNoaW5lVXNlci5BdHRyaWJ1dGVNYXBFbnRyeUIkukghmgEeIhxyGjIYXlthLXpdWzAtOWEtekEtWl17MCw2Mn0kGksKEUF0dHJpYnV0ZU1hcEVudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi3gIKDkF1dGhTQ0lNQ29uZmlnEkMKEW1hY2hpbmVfdXNlcl9uYW1lGAEgASgJQii6SCVyIzIhXlthLXowLTldW2EtejAtOS1dezEsNjF9W2EtejAtOV0kEkcKEmF1dGhvcml6YXRpb25fdHlwZRgCIAEoDjIrLnRhaWxvci52MS5BdXRoU0NJTUNvbmZpZy5BdXRob3JpemF0aW9uVHlwZRIvCg1iZWFyZXJfc2VjcmV0GAogASgLMhYudGFpbG9yLnYxLlNlY3JldFZhbHVlSAAidQoRQXV0aG9yaXphdGlvblR5cGUSIgoeQVVUSE9SSVpBVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASHQoZQVVUSE9SSVpBVElPTl9UWVBFX0JFQVJFUhABEh0KGUFVVEhPUklaQVRJT05fVFlQRV9PQVVUSDIQAkIWChRhdXRob3JpemF0aW9uX2NvbmZpZyLDAgoQQXV0aFNDSU1SZXNvdXJjZRI/CgRuYW1lGAEgASgJQjG6SC5yLDIqXltBLVphLXowLTldW0EtWmEtejAtOS1dezEsNjF9W0EtWmEtejAtOV0kEkUKE3RhaWxvcl9kYl9uYW1lc3BhY2UYAiABKAlCKLpIJXIjMiFeW2EtejAtOV1bYS16MC05LV17MSw2MX1bYS16MC05XSQSNwoOdGFpbG9yX2RiX3R5cGUYAyABKAlCH7pIHHIaMhheW0EtWl1bYS16QS1aMC05XXswLDYyfSQSPgoRYXR0cmlidXRlX21hcHBpbmcYBCADKAsyIy50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGVNYXBwaW5nEi4KC2NvcmVfc2NoZW1hGAUgASgLMhkudGFpbG9yLnYxLkF1dGhTQ0lNU2NoZW1hIkYKGEF1dGhTQ0lNQXR0cmlidXRlTWFwcGluZxIXCg90YWlsb3JfZGJfZmllbGQYASABKAkSEQoJc2NpbV9wYXRoGAIgASgJIlAKDkF1dGhTQ0lNU2NoZW1hEgwKBG5hbWUYASABKAkSMAoKYXR0cmlidXRlcxgCIAMoCzIcLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZSLZBQoRQXV0aFNDSU1BdHRyaWJ1dGUSLwoEdHlwZRgBIAEoDjIhLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZS5UeXBlEi4KBG5hbWUYAiABKAlCILpIHXIbMhleW0EtWmEtel1bYS16QS1aMC05XyQtXSokEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjsKCm11dGFiaWxpdHkYBCABKA4yJy50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGUuTXV0YWJpbGl0eRIQCghyZXF1aXJlZBgFIAEoCBIUCgxtdWx0aV92YWx1ZWQYBiABKAgSOwoKdW5pcXVlbmVzcxgHIAEoDjInLnRhaWxvci52MS5BdXRoU0NJTUF0dHJpYnV0ZS5VbmlxdWVuZXNzEhgKEGNhbm9uaWNhbF92YWx1ZXMYCCADKAkSNAoOc3ViX2F0dHJpYnV0ZXMYCSADKAsyHC50YWlsb3IudjEuQXV0aFNDSU1BdHRyaWJ1dGUidQoEVHlwZRIUChBUWVBFX1VOU1BFQ0lGSUVEEAASEAoMVFlQRV9DT01QTEVYEAESDwoLVFlQRV9TVFJJTkcQAhIPCgtUWVBFX05VTUJFUhADEhAKDFRZUEVfQk9PTEVBThAEEhEKDVRZUEVfREFURVRJTUUQBSJ4CgpNdXRhYmlsaXR5EhoKFk1VVEFCSUxJVFlfVU5TUEVDSUZJRUQQABIYChRNVVRBQklMSVRZX1JFQURfT05MWRABEhkKFU1VVEFCSUxJVFlfUkVBRF9XUklURRACEhkKFU1VVEFCSUxJVFlfV1JJVEVfT05MWRADImsKClVuaXF1ZW5lc3MSGgoWVU5JUVVFTkVTU19VTlNQRUNJRklFRBAAEhMKD1VOSVFVRU5FU1NfTk9ORRABEhUKEVVOSVFVRU5FU1NfU0VSVkVSEAISFQoRVU5JUVVFTkVTU19HTE9CQUwQAyK+BAoOQXV0aENvbm5lY3Rpb24SNgoEbmFtZRgBIAEoCUIoukglciMyIV5bYS16MC05XVthLXowLTktXXsxLDYxfVthLXowLTldJBIsCgR0eXBlGAIgASgOMh4udGFpbG9yLnYxLkF1dGhDb25uZWN0aW9uLlR5cGUSRgoGb2F1dGgyGAMgASgLMjQudGFpbG9yLnYxLkF1dGhDb25uZWN0aW9uLkF1dGhDb25uZWN0aW9uT0F1dGgyQ29uZmlnSAASMwoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCA+BBAxqIAgoaQXV0aENvbm5lY3Rpb25PQXV0aDJDb25maWcSFAoMcHJvdmlkZXJfdXJsGAEgASgJEhIKCmlzc3Vlcl91cmwYAiABKAkSEQoJY2xpZW50X2lkGAMgASgJEhoKDWNsaWVudF9zZWNyZXQYBCABKAlCA+BBBBJHCghhdXRoX3VybBgFIAEoCUI1ukgy2AEBci0yKF5odHRwczovL1tBLVphLXowLTkuLV0rKDpbMC05XSspPygvLiopPySIAQESSAoJdG9rZW5fdXJsGAYgASgJQjW6SDLYAQFyLTIoXmh0dHBzOi8vW0EtWmEtejAtOS4tXSsoOlswLTldKyk/KC8uKik/JIgBASItCgRUeXBlEhQKEFRZUEVfVU5TUEVDSUZJRUQQABIPCgtUWVBFX09BVVRIMhABQg8KBmNvbmZpZxIFukgCCAEiowcKEEF1dGhPQXV0aDJDbGllbnQSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRI6CgtncmFudF90eXBlcxgDIAMoDjIlLnRhaWxvci52MS5BdXRoT0F1dGgyQ2xpZW50LkdyYW50VHlwZRIVCg1yZWRpcmVjdF91cmlzGAQgAygJEhYKCWNsaWVudF9pZBgFIAEoCUID4EEDEhoKDWNsaWVudF9zZWNyZXQYBiABKAlCA+BBAxIzCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEID4EEDEkoKC2NsaWVudF90eXBlGAggASgOMiYudGFpbG9yLnYxLkF1dGhPQXV0aDJDbGllbnQuQ2xpZW50VHlwZUINukgK2AEBggEEEAEgABJKChVhY2Nlc3NfdG9rZW5fbGlmZXRpbWUYCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CELpIDaoBCiIECICjBTICCDwSSwoWcmVmcmVzaF90b2tlbl9saWZldGltZRgKIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIQukgNqgEKIgQIgPUkMgIIPBIUCgxyZXF1aXJlX2Rwb3AYCyABKAgiaAoJR3JhbnRUeXBlEhoKFkdSQU5UX1RZUEVfVU5TUEVDSUZJRUQQABIhCh1HUkFOVF9UWVBFX0FVVEhPUklaQVRJT05fQ09ERRABEhwKGEdSQU5UX1RZUEVfUkVGUkVTSF9UT0tFThACIngKCkNsaWVudFR5cGUSGwoXQ0xJRU5UX1RZUEVfVU5TUEVDSUZJRUQQABIcChhDTElFTlRfVFlQRV9DT05GSURFTlRJQUwQARIWChJDTElFTlRfVFlQRV9QVUJMSUMQAhIXChNDTElFTlRfVFlQRV9CUk9XU0VSEAM60AG6SMwBGskBCiJicm93c2VyX2NsaWVudF9jYW5ub3RfcmVxdWlyZV9kcG9wEjZyZXF1aXJlX2Rwb3AgY2Fubm90IGJlIHNldCB0byB0cnVlIGZvciBicm93c2VyIGNsaWVudHMaa3RoaXMuY2xpZW50X3R5cGUgIT0gdGFpbG9yLnYxLkF1dGhPQXV0aDJDbGllbnQuQ2xpZW50VHlwZS5DTElFTlRfVFlQRV9CUk9XU0VSIHx8IHRoaXMucmVxdWlyZV9kcG9wID09IGZhbHNlIrcBChdDb250cm9scGxhbmVNYWNoaW5lVXNlchIPCgJpZBgBIAEoCUID4EEDEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSHAoPb3JnYW5pemF0aW9uX2lkGAQgASgJQgPgQQMSFgoJZm9sZGVyX2lkGAUgASgJQgPgQQMSFgoJY2xpZW50X2lkGAYgASgJQgPgQQMSGgoNY2xpZW50X3NlY3JldBgHIAEoCUID4EEDKk4KCFBBVFNjb3BlEhkKFVBBVF9TQ09QRV9VTlNQRUNJRklFRBAAEhIKDlBBVF9TQ09QRV9SRUFEEAESEwoPUEFUX1NDT1BFX1dSSVRFEAJiBnByb3RvMw", [
306
306
  file_buf_validate_validate,
307
307
  file_google_api_field_behavior,
308
308
  file_google_protobuf_duration,
@@ -666,7 +666,7 @@ const file_tailor_v1_staticwebsite = /* @__PURE__ */ fileDesc("Ch10YWlsb3IvdjEvc
666
666
  /**
667
667
  * Describes the file tailor/v1/tailordb_resource.proto.
668
668
  */
669
- const file_tailor_v1_tailordb_resource = /* @__PURE__ */ fileDesc("CiF0YWlsb3IvdjEvdGFpbG9yZGJfcmVzb3VyY2UucHJvdG8SCXRhaWxvci52MSJUCg9UYWlsb3JEQlNlcnZpY2USJwoJbmFtZXNwYWNlGAEgASgLMhQudGFpbG9yLnYxLk5hbWVzcGFjZRIYChBkZWZhdWx0X3RpbWV6b25lGAIgASgJIucmCgxUYWlsb3JEQlR5cGUSLQoEbmFtZRgBIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIyCgZzY2hlbWEYAiABKAsyIi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWca3gcKClR5cGVDb25maWcSPgoGZmllbGRzGAEgAygLMi4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlQ29uZmlnLkZpZWxkc0VudHJ5EhMKC2Rlc2NyaXB0aW9uGAIgASgJEjUKCHNldHRpbmdzGAMgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlU2V0dGluZxI/Cg90eXBlX3Blcm1pc3Npb24YBCABKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVQZXJtaXNzaW9uEg8KB2V4dGVuZHMYBSABKAgSNQoKZGlyZWN0aXZlcxgGIAMoCzIhLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlEkAKB2luZGV4ZXMYByADKAsyLy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWcuSW5kZXhlc0VudHJ5EkgKEXJlY29yZF9wZXJtaXNzaW9uGAggASgLMigudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWNvcmRQZXJtaXNzaW9uSACIAQESTAoNcmVsYXRpb25zaGlwcxgJIAMoCzI1LnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5SZWxhdGlvbnNoaXBzRW50cnkSNgoKcGVybWlzc2lvbhgKIAEoCzIiLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbhI8CgVmaWxlcxgLIAMoCzItLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5GaWxlc0VudHJ5GlIKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRmllbGRDb25maWc6AjgBGk0KDEluZGV4ZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkluZGV4OgI4ARpgChJSZWxhdGlvbnNoaXBzRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWxhdGlvbnNoaXBDb25maWc6AjgBGlAKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWxlQ29uZmlnOgI4AUIUChJfcmVjb3JkX3Blcm1pc3Npb24ahwMKC1R5cGVTZXR0aW5nEhMKC2FnZ3JlZ2F0aW9uGAIgASgIEhMKC2J1bGtfdXBzZXJ0GAMgASgIEiUKGGRlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZRgEIAEoA0gAiAEBEiEKFG1heF9idWxrX3Vwc2VydF9zaXplGAUgASgDSAGIAQESPAoLcGx1cmFsX2Zvcm0YBiABKAlCIrpIH3IdMhteJHxeW2Etel1bYS16QS1aMC05XXswLDYyfSRIAogBARIdChVwdWJsaXNoX3JlY29yZF9ldmVudHMYByABKAgSDQoFZHJhZnQYCCABKAgSTAoWZGlzYWJsZV9ncWxfb3BlcmF0aW9ucxgJIAEoCzIsLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlzYWJsZUdxbE9wZXJhdGlvbnNCGwoZX2RlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZUIXChVfbWF4X2J1bGtfdXBzZXJ0X3NpemVCDgoMX3BsdXJhbF9mb3JtSgQIARACGlQKFERpc2FibGVHcWxPcGVyYXRpb25zEg4KBmNyZWF0ZRgBIAEoCBIOCgZ1cGRhdGUYAiABKAgSDgoGZGVsZXRlGAMgASgIEgwKBHJlYWQYBCABKAgaTQoJRGlyZWN0aXZlEgwKBG5hbWUYASABKAkSMgoEYXJncxgCIAMoCzIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlQXJnGisKDERpcmVjdGl2ZUFyZxIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJGiwKBUluZGV4EhMKC2ZpZWxkX25hbWVzGAEgAygJEg4KBnVuaXF1ZRgCIAEoCBqiBQoLRmllbGRDb25maWcSDAoEdHlwZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIWCglzb3VyY2VfaWQYBCABKAlIAIgBARIQCghyZXF1aXJlZBgFIAEoCBINCgVhcnJheRgGIAEoCBI4Cgh2YWxpZGF0ZRgHIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVmFsaWRhdGVDb25maWcSPwoGZmllbGRzGAggAygLMi8udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZy5GaWVsZHNFbnRyeRINCgVpbmRleBgJIAEoCBIOCgZ1bmlxdWUYCiABKAgSEwoLZm9yZWlnbl9rZXkYCyABKAgSHQoQZm9yZWlnbl9rZXlfdHlwZRgMIAEoCUgBiAEBEh4KEWZvcmVpZ25fa2V5X2ZpZWxkGA0gASgJSAKIAQESNQoFaG9va3MYDiABKAsyIS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkZpZWxkSG9va0gDiAEBEjUKDmFsbG93ZWRfdmFsdWVzGA8gAygLMh0udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5WYWx1ZRIOCgZ2ZWN0b3IYECABKAgSLgoGc2VyaWFsGBEgASgLMh4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5TZXJpYWwaUgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZzoCOAFCDAoKX3NvdXJjZV9pZEITChFfZm9yZWlnbl9rZXlfdHlwZUIUChJfZm9yZWlnbl9rZXlfZmllbGRCCAoGX2hvb2tzSgQIAhADGnAKElJlbGF0aW9uc2hpcENvbmZpZxIQCghyZWZfdHlwZRgBIAEoCRIRCglyZWZfZmllbGQYAiABKAkSEQoJc3JjX2ZpZWxkGAMgASgJEg0KBWFycmF5GAQgASgIEhMKC2Rlc2NyaXB0aW9uGAUgASgJGiEKCkZpbGVDb25maWcSEwoLZGVzY3JpcHRpb24YASABKAkaYwoFVmFsdWUSRQoFdmFsdWUYASABKAlCNrpIM3IxMhxeW2EtekEtWl1bYS16QS1aMC05X117MCw2Mn0kWgR0cnVlWgVmYWxzZVoEbnVsbBITCgtkZXNjcmlwdGlvbhgCIAEoCRqlAQoJRmllbGRIb29rEhgKC2NyZWF0ZV9leHByGAEgASgJSACIAQESGAoLdXBkYXRlX2V4cHIYAiABKAlIAYgBARIhCgZjcmVhdGUYAyABKAsyES50YWlsb3IudjEuU2NyaXB0EiEKBnVwZGF0ZRgEIAEoCzIRLnRhaWxvci52MS5TY3JpcHRCDgoMX2NyZWF0ZV9leHByQg4KDF91cGRhdGVfZXhwchquAQoGU2VyaWFsEhYKBXN0YXJ0GAEgASgDQge6SAQiAiAAEh8KCW1heF92YWx1ZRgCIAEoA0IHukgEIgIgAEgAiAEBElIKBmZvcm1hdBgDIAEoCUI9ukg6cjgYIDI0Xig/Oig/OiUlfFteJV0pKiklKD86WzAtOV0rKT9bZG94WF0oPzooPzolJXxbXiVdKSopJEgBiAEBQgwKCl9tYXhfdmFsdWVCCQoHX2Zvcm1hdBqxAQoOVmFsaWRhdGVDb25maWcSDAoEZXhwchgBIAEoCRJACgZhY3Rpb24YAiABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQESIQoGc2NyaXB0GAQgASgLMhEudGFpbG9yLnYxLlNjcmlwdEIQCg5fZXJyb3JfbWVzc2FnZRqlAgoOVHlwZVBlcm1pc3Npb24SNgoGY3JlYXRlGAEgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI0CgRyZWFkGAIgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI2CgZ1cGRhdGUYAyADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBmRlbGV0ZRgEIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNQoFYWRtaW4YBSADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtGrgBChBSZWNvcmRQZXJtaXNzaW9uEjQKBHJlYWQYASADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBnVwZGF0ZRgCIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNgoGZGVsZXRlGAMgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRprCg5QZXJtaXNzaW9uSXRlbRJACgZwZXJtaXQYASABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIKCgJpZBgCIAEoCRILCgNpZHMYAyADKAkakAgKClBlcm1pc3Npb24SOQoGY3JlYXRlGAEgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI3CgRyZWFkGAIgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI5CgZ1cGRhdGUYAyADKAsyKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUG9saWN5EjkKBmRlbGV0ZRgEIAMoCzIpLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5Qb2xpY3kauwEKBlBvbGljeRJACgpjb25kaXRpb25zGAEgAygLMiwudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLkNvbmRpdGlvbhJFCgZwZXJtaXQYAiABKA4yKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUGVybWl0Qgq6SAeCAQQQASAAEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uGtsBCglDb25kaXRpb24SQAoEbGVmdBgBIAEoCzIqLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQESSQoIb3BlcmF0b3IYAiABKA4yKy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmF0b3JCCrpIB4IBBBABIAASQQoFcmlnaHQYAyABKAsyKi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmFuZEIGukgDyAEBGssBCgdPcGVyYW5kEh0KCnVzZXJfZmllbGQYASABKAlCB7pIBHICEAFIABIfCgxyZWNvcmRfZmllbGQYAiABKAlCB7pIBHICEAFIABIjChBvbGRfcmVjb3JkX2ZpZWxkGAMgASgJQge6SARyAhABSAASIwoQbmV3X3JlY29yZF9maWVsZBgEIAEoCUIHukgEcgIQAUgAEicKBXZhbHVlGAUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSABCDQoEa2luZBIFukgCCAEiaQoIT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIPCgtPUEVSQVRPUl9FURABEg8KC09QRVJBVE9SX05FEAISDwoLT1BFUkFUT1JfSU4QAxIQCgxPUEVSQVRPUl9OSU4QBCJDCgZQZXJtaXQSFgoSUEVSTUlUX1VOU1BFQ0lGSUVEEAASEAoMUEVSTUlUX0FMTE9XEAESDwoLUEVSTUlUX0RFTlkQAiJ6CgxQZXJtaXRBY3Rpb24SHQoZUEVSTUlUX0FDVElPTl9VTlNQRUNJRklFRBAAEhcKE1BFUk1JVF9BQ1RJT05fQUxMT1cQARIaChJQRVJNSVRfQUNUSU9OX1NLSVAQAhoCCAESFgoSUEVSTUlUX0FDVElPTl9ERU5ZEAMi/wcKFVRhaWxvckRCR1FMUGVybWlzc2lvbhIPCgJpZBgBIAEoCUID4EEDEjkKCHBvbGljaWVzGAIgAygLMicudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5Qb2xpY3kahAIKBlBvbGljeRI+Cgpjb25kaXRpb25zGAEgAygLMioudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5Db25kaXRpb24SSwoHYWN0aW9ucxgCIAMoDjInLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uQWN0aW9uQhG6SA6SAQsIASIHggEEEAEgABJDCgZwZXJtaXQYAyABKA4yJy50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLlBlcm1pdEIKukgHggEEEAEgABIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbhrVAQoJQ29uZGl0aW9uEj4KBGxlZnQYASABKAsyKC50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhbmRCBrpIA8gBARJHCghvcGVyYXRvchgCIAEoDjIpLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uT3BlcmF0b3JCCrpIB4IBBBABIAASPwoFcmlnaHQYAyABKAsyKC50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhbmRCBrpIA8gBARpgCgdPcGVyYW5kEh0KCnVzZXJfZmllbGQYASABKAlCB7pIBHICEAFIABInCgV2YWx1ZRgFIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZUgAQg0KBGtpbmQSBbpIAggBImkKCE9wZXJhdG9yEhgKFE9QRVJBVE9SX1VOU1BFQ0lGSUVEEAASDwoLT1BFUkFUT1JfRVEQARIPCgtPUEVSQVRPUl9ORRACEg8KC09QRVJBVE9SX0lOEAMSEAoMT1BFUkFUT1JfTklOEAQiqAEKBkFjdGlvbhIWChJBQ1RJT05fVU5TUEVDSUZJRUQQABIOCgpBQ1RJT05fQUxMEAESEQoNQUNUSU9OX0NSRUFURRACEg8KC0FDVElPTl9SRUFEEAMSEQoNQUNUSU9OX1VQREFURRAEEhEKDUFDVElPTl9ERUxFVEUQBRIUChBBQ1RJT05fQUdHUkVHQVRFEAYSFgoSQUNUSU9OX0JVTEtfVVBTRVJUEAciQwoGUGVybWl0EhYKElBFUk1JVF9VTlNQRUNJRklFRBAAEhAKDFBFUk1JVF9BTExPVxABEg8KC1BFUk1JVF9ERU5ZEAJiBnByb3RvMw", [
669
+ const file_tailor_v1_tailordb_resource = /* @__PURE__ */ fileDesc("CiF0YWlsb3IvdjEvdGFpbG9yZGJfcmVzb3VyY2UucHJvdG8SCXRhaWxvci52MSJUCg9UYWlsb3JEQlNlcnZpY2USJwoJbmFtZXNwYWNlGAEgASgLMhQudGFpbG9yLnYxLk5hbWVzcGFjZRIYChBkZWZhdWx0X3RpbWV6b25lGAIgASgJIpUnCgxUYWlsb3JEQlR5cGUSLQoEbmFtZRgBIAEoCUIfukgcchoyGF5bQS1aXVthLXpBLVowLTldezAsNjJ9JBIyCgZzY2hlbWEYAiABKAsyIi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWca3gcKClR5cGVDb25maWcSPgoGZmllbGRzGAEgAygLMi4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlQ29uZmlnLkZpZWxkc0VudHJ5EhMKC2Rlc2NyaXB0aW9uGAIgASgJEjUKCHNldHRpbmdzGAMgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5UeXBlU2V0dGluZxI/Cg90eXBlX3Blcm1pc3Npb24YBCABKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVQZXJtaXNzaW9uEg8KB2V4dGVuZHMYBSABKAgSNQoKZGlyZWN0aXZlcxgGIAMoCzIhLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlEkAKB2luZGV4ZXMYByADKAsyLy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlR5cGVDb25maWcuSW5kZXhlc0VudHJ5EkgKEXJlY29yZF9wZXJtaXNzaW9uGAggASgLMigudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWNvcmRQZXJtaXNzaW9uSACIAQESTAoNcmVsYXRpb25zaGlwcxgJIAMoCzI1LnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5SZWxhdGlvbnNoaXBzRW50cnkSNgoKcGVybWlzc2lvbhgKIAEoCzIiLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbhI8CgVmaWxlcxgLIAMoCzItLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVHlwZUNvbmZpZy5GaWxlc0VudHJ5GlIKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRmllbGRDb25maWc6AjgBGk0KDEluZGV4ZXNFbnRyeRILCgNrZXkYASABKAkSLAoFdmFsdWUYAiABKAsyHS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkluZGV4OgI4ARpgChJSZWxhdGlvbnNoaXBzRW50cnkSCwoDa2V5GAEgASgJEjkKBXZhbHVlGAIgASgLMioudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5SZWxhdGlvbnNoaXBDb25maWc6AjgBGlAKCkZpbGVzRW50cnkSCwoDa2V5GAEgASgJEjEKBXZhbHVlGAIgASgLMiIudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWxlQ29uZmlnOgI4AUIUChJfcmVjb3JkX3Blcm1pc3Npb24ahwMKC1R5cGVTZXR0aW5nEhMKC2FnZ3JlZ2F0aW9uGAIgASgIEhMKC2J1bGtfdXBzZXJ0GAMgASgIEiUKGGRlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZRgEIAEoA0gAiAEBEiEKFG1heF9idWxrX3Vwc2VydF9zaXplGAUgASgDSAGIAQESPAoLcGx1cmFsX2Zvcm0YBiABKAlCIrpIH3IdMhteJHxeW2Etel1bYS16QS1aMC05XXswLDYyfSRIAogBARIdChVwdWJsaXNoX3JlY29yZF9ldmVudHMYByABKAgSDQoFZHJhZnQYCCABKAgSTAoWZGlzYWJsZV9ncWxfb3BlcmF0aW9ucxgJIAEoCzIsLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlzYWJsZUdxbE9wZXJhdGlvbnNCGwoZX2RlZmF1bHRfcXVlcnlfbGltaXRfc2l6ZUIXChVfbWF4X2J1bGtfdXBzZXJ0X3NpemVCDgoMX3BsdXJhbF9mb3JtSgQIARACGlQKFERpc2FibGVHcWxPcGVyYXRpb25zEg4KBmNyZWF0ZRgBIAEoCBIOCgZ1cGRhdGUYAiABKAgSDgoGZGVsZXRlGAMgASgIEgwKBHJlYWQYBCABKAgaTQoJRGlyZWN0aXZlEgwKBG5hbWUYASABKAkSMgoEYXJncxgCIAMoCzIkLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuRGlyZWN0aXZlQXJnGisKDERpcmVjdGl2ZUFyZxIMCgRuYW1lGAEgASgJEg0KBXZhbHVlGAIgASgJGiwKBUluZGV4EhMKC2ZpZWxkX25hbWVzGAEgAygJEg4KBnVuaXF1ZRgCIAEoCBqiBQoLRmllbGRDb25maWcSDAoEdHlwZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIWCglzb3VyY2VfaWQYBCABKAlIAIgBARIQCghyZXF1aXJlZBgFIAEoCBINCgVhcnJheRgGIAEoCBI4Cgh2YWxpZGF0ZRgHIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuVmFsaWRhdGVDb25maWcSPwoGZmllbGRzGAggAygLMi8udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZy5GaWVsZHNFbnRyeRINCgVpbmRleBgJIAEoCBIOCgZ1bmlxdWUYCiABKAgSEwoLZm9yZWlnbl9rZXkYCyABKAgSHQoQZm9yZWlnbl9rZXlfdHlwZRgMIAEoCUgBiAEBEh4KEWZvcmVpZ25fa2V5X2ZpZWxkGA0gASgJSAKIAQESNQoFaG9va3MYDiABKAsyIS50YWlsb3IudjEuVGFpbG9yREJUeXBlLkZpZWxkSG9va0gDiAEBEjUKDmFsbG93ZWRfdmFsdWVzGA8gAygLMh0udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5WYWx1ZRIOCgZ2ZWN0b3IYECABKAgSLgoGc2VyaWFsGBEgASgLMh4udGFpbG9yLnYxLlRhaWxvckRCVHlwZS5TZXJpYWwaUgoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEjIKBXZhbHVlGAIgASgLMiMudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5GaWVsZENvbmZpZzoCOAFCDAoKX3NvdXJjZV9pZEITChFfZm9yZWlnbl9rZXlfdHlwZUIUChJfZm9yZWlnbl9rZXlfZmllbGRCCAoGX2hvb2tzSgQIAhADGnAKElJlbGF0aW9uc2hpcENvbmZpZxIQCghyZWZfdHlwZRgBIAEoCRIRCglyZWZfZmllbGQYAiABKAkSEQoJc3JjX2ZpZWxkGAMgASgJEg0KBWFycmF5GAQgASgIEhMKC2Rlc2NyaXB0aW9uGAUgASgJGiEKCkZpbGVDb25maWcSEwoLZGVzY3JpcHRpb24YASABKAkaYwoFVmFsdWUSRQoFdmFsdWUYASABKAlCNrpIM3IxMhxeW2EtekEtWl1bYS16QS1aMC05X117MCw2Mn0kWgR0cnVlWgVmYWxzZVoEbnVsbBITCgtkZXNjcmlwdGlvbhgCIAEoCRqlAQoJRmllbGRIb29rEhgKC2NyZWF0ZV9leHByGAEgASgJSACIAQESGAoLdXBkYXRlX2V4cHIYAiABKAlIAYgBARIhCgZjcmVhdGUYAyABKAsyES50YWlsb3IudjEuU2NyaXB0EiEKBnVwZGF0ZRgEIAEoCzIRLnRhaWxvci52MS5TY3JpcHRCDgoMX2NyZWF0ZV9leHByQg4KDF91cGRhdGVfZXhwchquAQoGU2VyaWFsEhYKBXN0YXJ0GAEgASgDQge6SAQiAiAAEh8KCW1heF92YWx1ZRgCIAEoA0IHukgEIgIgAEgAiAEBElIKBmZvcm1hdBgDIAEoCUI9ukg6cjgYIDI0Xig/Oig/OiUlfFteJV0pKiklKD86WzAtOV0rKT9bZG94WF0oPzooPzolJXxbXiVdKSopJEgBiAEBQgwKCl9tYXhfdmFsdWVCCQoHX2Zvcm1hdBqxAQoOVmFsaWRhdGVDb25maWcSDAoEZXhwchgBIAEoCRJACgZhY3Rpb24YAiABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIaCg1lcnJvcl9tZXNzYWdlGAMgASgJSACIAQESIQoGc2NyaXB0GAQgASgLMhEudGFpbG9yLnYxLlNjcmlwdEIQCg5fZXJyb3JfbWVzc2FnZRqlAgoOVHlwZVBlcm1pc3Npb24SNgoGY3JlYXRlGAEgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI0CgRyZWFkGAIgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRI2CgZ1cGRhdGUYAyADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBmRlbGV0ZRgEIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNQoFYWRtaW4YBSADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtGrgBChBSZWNvcmRQZXJtaXNzaW9uEjQKBHJlYWQYASADKAsyJi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb25JdGVtEjYKBnVwZGF0ZRgCIAMoCzImLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbkl0ZW0SNgoGZGVsZXRlGAMgAygLMiYudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uSXRlbRprCg5QZXJtaXNzaW9uSXRlbRJACgZwZXJtaXQYASABKA4yJC50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pdEFjdGlvbkIKukgHggEEEAEgABIKCgJpZBgCIAEoCRILCgNpZHMYAyADKAkavggKClBlcm1pc3Npb24SOQoGY3JlYXRlGAEgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI3CgRyZWFkGAIgAygLMikudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLlBvbGljeRI5CgZ1cGRhdGUYAyADKAsyKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUG9saWN5EjkKBmRlbGV0ZRgEIAMoCzIpLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5Qb2xpY3kauwEKBlBvbGljeRJACgpjb25kaXRpb25zGAEgAygLMiwudGFpbG9yLnYxLlRhaWxvckRCVHlwZS5QZXJtaXNzaW9uLkNvbmRpdGlvbhJFCgZwZXJtaXQYAiABKA4yKS50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uUGVybWl0Qgq6SAeCAQQQASAAEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uGtsBCglDb25kaXRpb24SQAoEbGVmdBgBIAEoCzIqLnRhaWxvci52MS5UYWlsb3JEQlR5cGUuUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQESSQoIb3BlcmF0b3IYAiABKA4yKy50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmF0b3JCCrpIB4IBBBABIAASQQoFcmlnaHQYAyABKAsyKi50YWlsb3IudjEuVGFpbG9yREJUeXBlLlBlcm1pc3Npb24uT3BlcmFuZEIGukgDyAEBGssBCgdPcGVyYW5kEh0KCnVzZXJfZmllbGQYASABKAlCB7pIBHICEAFIABIfCgxyZWNvcmRfZmllbGQYAiABKAlCB7pIBHICEAFIABIjChBvbGRfcmVjb3JkX2ZpZWxkGAMgASgJQge6SARyAhABSAASIwoQbmV3X3JlY29yZF9maWVsZBgEIAEoCUIHukgEcgIQAUgAEicKBXZhbHVlGAUgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlSABCDQoEa2luZBIFukgCCAEilgEKCE9wZXJhdG9yEhgKFE9QRVJBVE9SX1VOU1BFQ0lGSUVEEAASDwoLT1BFUkFUT1JfRVEQARIPCgtPUEVSQVRPUl9ORRACEg8KC09QRVJBVE9SX0lOEAMSEAoMT1BFUkFUT1JfTklOEAQSFAoQT1BFUkFUT1JfSEFTX0FOWRAFEhUKEU9QRVJBVE9SX05IQVNfQU5ZEAYiQwoGUGVybWl0EhYKElBFUk1JVF9VTlNQRUNJRklFRBAAEhAKDFBFUk1JVF9BTExPVxABEg8KC1BFUk1JVF9ERU5ZEAIiegoMUGVybWl0QWN0aW9uEh0KGVBFUk1JVF9BQ1RJT05fVU5TUEVDSUZJRUQQABIXChNQRVJNSVRfQUNUSU9OX0FMTE9XEAESGgoSUEVSTUlUX0FDVElPTl9TS0lQEAIaAggBEhYKElBFUk1JVF9BQ1RJT05fREVOWRADIq0IChVUYWlsb3JEQkdRTFBlcm1pc3Npb24SDwoCaWQYASABKAlCA+BBAxI5Cghwb2xpY2llcxgCIAMoCzInLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uUG9saWN5GoQCCgZQb2xpY3kSPgoKY29uZGl0aW9ucxgBIAMoCzIqLnRhaWxvci52MS5UYWlsb3JEQkdRTFBlcm1pc3Npb24uQ29uZGl0aW9uEksKB2FjdGlvbnMYAiADKA4yJy50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLkFjdGlvbkIRukgOkgELCAEiB4IBBBABIAASQwoGcGVybWl0GAMgASgOMicudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5QZXJtaXRCCrpIB4IBBBABIAASGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24a1QEKCUNvbmRpdGlvbhI+CgRsZWZ0GAEgASgLMigudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQESRwoIb3BlcmF0b3IYAiABKA4yKS50YWlsb3IudjEuVGFpbG9yREJHUUxQZXJtaXNzaW9uLk9wZXJhdG9yQgq6SAeCAQQQASAAEj8KBXJpZ2h0GAMgASgLMigudGFpbG9yLnYxLlRhaWxvckRCR1FMUGVybWlzc2lvbi5PcGVyYW5kQga6SAPIAQEaYAoHT3BlcmFuZBIdCgp1c2VyX2ZpZWxkGAEgASgJQge6SARyAhABSAASJwoFdmFsdWUYBSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWVIAEINCgRraW5kEgW6SAIIASKWAQoIT3BlcmF0b3ISGAoUT1BFUkFUT1JfVU5TUEVDSUZJRUQQABIPCgtPUEVSQVRPUl9FURABEg8KC09QRVJBVE9SX05FEAISDwoLT1BFUkFUT1JfSU4QAxIQCgxPUEVSQVRPUl9OSU4QBBIUChBPUEVSQVRPUl9IQVNfQU5ZEAUSFQoRT1BFUkFUT1JfTkhBU19BTlkQBiKoAQoGQWN0aW9uEhYKEkFDVElPTl9VTlNQRUNJRklFRBAAEg4KCkFDVElPTl9BTEwQARIRCg1BQ1RJT05fQ1JFQVRFEAISDwoLQUNUSU9OX1JFQUQQAxIRCg1BQ1RJT05fVVBEQVRFEAQSEQoNQUNUSU9OX0RFTEVURRAFEhQKEEFDVElPTl9BR0dSRUdBVEUQBhIWChJBQ1RJT05fQlVMS19VUFNFUlQQByJDCgZQZXJtaXQSFgoSUEVSTUlUX1VOU1BFQ0lGSUVEEAASEAoMUEVSTUlUX0FMTE9XEAESDwoLUEVSTUlUX0RFTlkQAmIGcHJvdG8z", [
670
670
  file_buf_validate_validate,
671
671
  file_google_api_field_behavior,
672
672
  file_google_protobuf_struct,
@@ -10123,6 +10123,12 @@ function protoCondition(condition) {
10123
10123
  case "nin":
10124
10124
  op = TailorDBType_Permission_Operator.NIN;
10125
10125
  break;
10126
+ case "hasAny":
10127
+ op = TailorDBType_Permission_Operator.HAS_ANY;
10128
+ break;
10129
+ case "nhasAny":
10130
+ op = TailorDBType_Permission_Operator.NHAS_ANY;
10131
+ break;
10126
10132
  default: throw new Error(`Unknown operator: ${operator}`);
10127
10133
  }
10128
10134
  return {
@@ -10289,6 +10295,12 @@ function protoGqlCondition(condition) {
10289
10295
  case "nin":
10290
10296
  op = TailorDBGQLPermission_Operator.NIN;
10291
10297
  break;
10298
+ case "hasAny":
10299
+ op = TailorDBGQLPermission_Operator.HAS_ANY;
10300
+ break;
10301
+ case "nhasAny":
10302
+ op = TailorDBGQLPermission_Operator.NHAS_ANY;
10303
+ break;
10292
10304
  default: throw new Error(`Unknown operator: ${operator}`);
10293
10305
  }
10294
10306
  return {
@@ -14210,7 +14222,7 @@ async function generate(options) {
14210
14222
  if (options.init) await handleInitOption(namespacesWithMigrations, options.yes);
14211
14223
  let pluginManager;
14212
14224
  if (plugins.length > 0) pluginManager = new PluginManager(plugins);
14213
- const { defineApplication: defineApplication$1 } = await import("./application-DhvHS3pX.mjs");
14225
+ const { defineApplication: defineApplication$1 } = await import("./application-CNpRSiWJ.mjs");
14214
14226
  const application = defineApplication$1({
14215
14227
  config,
14216
14228
  pluginManager
@@ -15421,4 +15433,4 @@ const updateCommand = defineCommand({
15421
15433
 
15422
15434
  //#endregion
15423
15435
  export { jobsCommand as $, fetchUserInfo as $t, generateCommand as A, getMigrationDirPath as At, getMachineUserToken as B, getNamespacesWithMigrations as Bt, resumeCommand as C, MIGRATE_FILE_NAME as Ct, truncate as D, createSnapshotFromLocalTypes as Dt, listWorkflows as E, compareSnapshots as Et, removeCommand$1 as F, loadDiff as Ft, generateCommand$1 as G, apiCall as Gt, listCommand$5 as H, generateUserTypes as Ht, listCommand$4 as I, reconstructSnapshotFromMigrations as It, triggerCommand as J, loadAccessToken as Jt, listWebhookExecutors as K, apiCommand as Kt, listOAuth2Clients as L, formatDiffSummary as Lt, show as M, getMigrationFiles as Mt, showCommand as N, getNextMigrationNumber as Nt, truncateCommand as O, formatMigrationNumber as Ot, remove as P, isValidMigrationNumber as Pt, getExecutorJob as Q, fetchAll as Qt, getCommand$1 as R, formatMigrationDiff as Rt, healthCommand as S, INITIAL_SCHEMA_NUMBER as St, listCommand$3 as T, compareLocalTypesWithSnapshot as Tt, listMachineUsers as U, loadConfig as Ut, tokenCommand as V, trnPrefix as Vt, generate$1 as W, getDistDir as Wt, listCommand$6 as X, readPlatformConfig as Xt, triggerExecutor as Y, loadWorkspaceId as Yt, listExecutors as Z, writePlatformConfig as Zt, createCommand as _, MIGRATION_LABEL_KEY as _t, listCommand as a, commonArgs as an, getWorkflow as at, listCommand$2 as b, DB_TYPES_FILE_NAME as bt, inviteUser as c, jsonArgs as cn, listWorkflowExecutions as ct, listCommand$1 as d, getCommand$3 as dt, initOAuth2Client as en, listExecutorJobs as et, listWorkspaces as f, getExecutor as ft, deleteWorkspace as g, waitForExecution$1 as gt, deleteCommand as h, executeScript as ht, removeUser as i, PATScope as in, getCommand$2 as it, logBetaWarning as j, getMigrationFilePath as jt, generate as k, getLatestMigrationNumber as kt, restoreCommand as l, withCommonArgs as ln, functionExecutionStatusToString as lt, getWorkspace as m, applyCommand as mt, updateUser as n, readPackageJson as nn, startCommand as nt, listUsers as o, confirmationArgs as on, executionsCommand as ot, getCommand as p, apply as pt, webhookCommand as q, fetchLatestToken as qt, removeCommand as r, FunctionExecution_Type as rn, startWorkflow as rt, inviteCommand as s, deploymentArgs as sn, getWorkflowExecution as st, updateCommand as t, initOperatorClient as tn, watchExecutorJob as tt, restoreWorkspace as u, workspaceArgs as un, formatKeyValueTable as ut, createWorkspace as v, parseMigrationLabelNumber as vt, resumeWorkflow as w, SCHEMA_FILE_NAME as wt, getAppHealth as x, DIFF_FILE_NAME as xt, listApps as y, bundleMigrationScript as yt, getOAuth2Client as z, hasChanges as zt };
15424
- //# sourceMappingURL=update-70uX2TDG.mjs.map
15436
+ //# sourceMappingURL=update-C5jgLxpK.mjs.map